# Валидация
Валидация дляНазваниеСимвольный кодУсловие (код)Условие (текст)СообщениеАктивность
Заказ\[Fenix\] Недозвон (клиент не выходит на связь)fenix-nedozvon-klient-ne-vihodit-na-svyazchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'no-call' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() )Изменяется статус заказа и новый статус зказаза "Недозвон (Клиент не выходит на связь)" и ( Статус оплаты заказа "Оплачен" или нет Комментарий к последнему изменению статуса )Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
КлиентBAD обязательнный комментарийbad-obyazatelnniy-kommentariycustomer.bad and (customer.getCustomField("bad\_comment") == null)Клиент плохой И в карточке клиента не заполнен коммернарий к статусу "плохой"Не заполнен комментарий BAD!Да
Заказ\[Fenix\] Адрес (в согласовано)fenix-adres-v-soglasovanochangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama')) and ( order.getDeliveryAddress().getIndex()== null or order.getDeliveryAddress().getRegion()== null or order.getDeliveryAddress().getCity()== null or order.getDeliveryAddress().getStreet()== null ) and ( order.getDeliveryAddress().getIndex()== null or order.getDeliveryAddress().getRegion()== null or order.getDeliveryAddress().getCity()== null or not order.getDeliveryAddress().getFullAddressString() ) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет and not ( user().hasGroup('director') )Изменяется статус заказа И новый статус заказа = "Согласован с клиентом" И пользователь находится в группе "Менеджер" ИЛИ "Менеджер ОПТ" или "Менеджер стажер" ИЛИ "Менеджер реклама" И ( Индекс адреса доставки - пустой ИЛИ Регион адреса доставки - пустой ИЛИ Город адреса доставки - пустой ИЛИ Улица адреса доставки - пустой ) И ( Индекс адреса доставки - пустой ИЛИ Регион адреса доставки - пустой ИЛИ Город адреса доставки - пустой ИЛИ НЕ Адрес доставки в строковом виде, собранный из полей ) И способ оформления не WB или Ozon или ЯндексМаркет или СберМегаМаркет И НЕ пользователь принадлежит к группе "Руководители" (исключение для этой группы)Проверьте заполнен ли индекс, регион, город и улица (или адрес)Да
Заказ\[Fenix\] Блогеры, обязательность заполненияblogeri-obyazatelnost-zapolneniyachangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and ( not user().hasGroup('director')) and ( order.getCustomfield('informerorder').getCode() == 'blogger' and order.getCustomfield('blogers') == null )Изменяется статус заказа И Новый статус заказа "Согласован с клиентом" И (НЕ пользователь принадлежит к группе "Руководитель" (исключение для данной группы) И ( Поле заказа "Откуда узнал о продукции" = "Блоггер" И Поле заказа "Блогер" - пустое )Выберите блогера из списка!Да
Заказ\[Fenix\] Бухгалтерfenix-buhgalteruser().hasGroup('buh') and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'garti-pr' ) and ( ( not changeSet.hasChangedField("status") and not ( changeSet.hasChangedField("payments") and changeSet.getNewValue("payments") == null and changeSet.getOldValue("payments").getStatus().getCode() == 'paid' ) and not changeSet.hasChangedField("payments") and not changeSet.hasChangedField("payments.status") and not changeSet.hasChangedField("payments.amount") and order.getStatus().getGroupCode() !== 'bukhgalteriia' ) or ( changeSet.hasChangedField("status") and ( ( changeSet.getOldValue("status").getGroupCode() !== 'bukhgalteriia' or not (changeSet.getNewValue("status").getCode() in \['chastichnyi-vozvrat-vypolnen','v-ozhidanii-vozvrata-oplaty'\]) ) or ( changeSet.getOldValue("status").getCode() !== 'received' or not (changeSet.getNewValue("status").getCode() in \['poteri'\]) ) ) ) ) Пользователь отностися к группе "Бухгалтер" И НЕ ( Пользователь отностися к группе "РОП" или Пользователь отностися к группе "Руководитель" или Магазин заказа не "Реклама" ) И ( (Не изменился статус заказа) И НЕ ( Изменились "Платежи" И Новое значение "Платежи" равно нулю И Старое значение "Платежи" = "Оплачен" И НЕ изменились "Платежи" И НЕ изменилися "Статус оплаты" И НЕ изменилась "Сумма платежа" И статус заказа не отностися к группе статусов "Бухгалерия" ИЛИ Изменился статус И Старый статус не отностися к группе статусов "Бухгалерия" ИЛИ НЕ новое значение статуса заказа не в массиве Возврат ДС выполнен/В ожидании возврата оплаты ИЛИ Старый статус заказа "Принят клиентом" ИЛИ НЕ Новый стаус закза "Потери"Вам недоступно редактирование заказа в этом статусе (Б)Нет
Заказ\[Fenix\] Бухгалтер - изменение заказаfenix-buhgalter-izmenenie-zakazauser().hasGroup('buh') and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'garti-pr' ) and ( changeSet.isCreate() or ( changeSet.isUpdate() and not changeSet.hasChangedField("status") and order.getStatus().getGroupCode() !== 'bukhgalteriia' and order.getStatus().getCode() != 'v-ozhidanii-oplaty' ) or ( changeSet.isUpdate() and order.getStatus().getGroupCode() === 'bukhgalteriia' and order.getStatus().getCode() == 'v-ozhidanii-oplaty' and not changeSet.hasChangedField("payments.status") and not changeSet.hasChangedField("payments.amount") and not changeSet.hasChangedField("payments") ) or ( changeSet.isUpdate() and ( order.getStatus().getGroupCode() === 'bukhgalteriia' or order.getStatus().getCode() == 'v-ozhidanii-oplaty' ) and changeSet.hasChangedField("payments") and changeSet.getNewValue("payments") == null and changeSet.getOldValue("payments").getStatus().getCode() == 'paid' ) ) Пользователь отностися к группе "Бухгалтер" И НЕ Пользователь отностися к группе "РОП" или Пользователь отностися к группе "Руководитель" или Магазин заказа не "Реклама"Вам недоступно данное редактирование заказа (Б)Нет
Заказ\[Fenix\] Возвратfenix-vozvratchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'vozvrat' and order.getPaymentStatus().getCode() == 'paid' and not order.customer.badИзменяется статус И Новый статус "Возврат" И Статус оплаты "Оплачен" И НЕ Клиент заказа со статусом BADНельзя перевести в статус, если: 1) платеж со статусом "Оплачено"; 2) клиент не со статусом "BAD".Да
Заказ\[Fenix\] возврат товара передан в доставкуfenix-vozvrat-tovara-peredan-v-dostavkuchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "vozvrat-peredan-v-dostavku" and order.getCustomField('srok\_vozvrata2') == null Изменяется статус И новый статус "Возврат передан в доставку" И Оплата срок возврата не заполнен Не заполнено поле "Предварительный срок возврата товара на склад"Да
Заказ\[Fenix\] время перезвонаfenix-vremya-perezvonachangeSet.hasChangedField("custom\_perezvon\_time") and not ( changeSet.getNewValue('custom\_perezvon\_time') matches('/^\[0-1\]\[0-9\]|2\[0-3\]:\[0-5\]\[0-9\]$/') ) and not ( user().hasGroup('director') ) Изменяется время перезвона И НЕ ( Новое значение времени перезвона содержит ('/^\[0-1\]\[0-9\]|2\[0-3\]:\[0-5\]\[0-9\]$/') ) И НЕ ( Пользователь относится к группе "Руководитель" ) Укажите время перезвона в формате ММ:ССДа
Заказ\[Fenix\] Доставляетсяfenix-dostavlyaetsyachangeSet.hasChangedField("status") //Изменяется статус and changeSet.getNewValue("status").getCode() == 'send-to-delivery' // И новый статус "доставляется" and ( // И order.getDeliveryType() == null // Тип доставки пустой or // Или ( order.getDeliveryType().getCode() != 'self-delivery' //Тип доставки не равен "Самовывоз" and order.getDeliveryNetCost() == null // И Себестоимость доставки пустая ) ) and not (user().hasGroup('director')) // Исключение для группы руководитель and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет Изменяется статус И И новый статус "Доставляется" И (И Тип доставки "Пустой" Или ( Тип доставки не равен "Самовывоз" И Себестоимость доставки пустая) ) И НЕ (Пользователь относится к группе "Руководитель") И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркетОбязательно заполните: тип доставки, трек номер, тариф, себестоимость доставкиДа
Заказ\[Fenix\] Доставляется 2fenix-dostavlyaetsya-2( changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'send-to-delivery' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) and order.getCustomField("planneddate") == null ) and ( changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'send-to-delivery' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop')) and order.getCustomField("neobh\_data\_dost") == null ) and not ( user().hasGroup('director') ) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market'\] //способ овормления не WB или Ozon или ЯндексМаркет ( Изменяется статус И И новый статус "Доставляется" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И Плановая дата заказа не заполнена ) И ( Изменяется статус И И новый статус "Доставляется" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП) И Необходимая дата доставки заказа пустая ) И НЕ ( Пользователь относится к группе "Руководитель" ) И способ овормления не WB или Ozon или ЯндексМаркетЗаполните поля: планируемую или необходимую дату доставкиДа
Заказ\[Fenix\] Дубльfenix-dublchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'double' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'double' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Если страна НЕ Россия, тип оплаты ТОЛЬКО: банковский перевод, PP, онлайн оплата, Robokassafenix-esli-strana-ne-rossiya-tip-oplati-tolko-bank( changeSet.isCreate() // заказ создается or // ИЛИ changeSet.isUpdate() //заказ изменяется ) and order.getCountry() != 'RU' //И ISO код страны не 'RU' (Россия) and order.getToPaySumm() == 0 //И сумма, оставшаяся к оплате = 0 and order.getPaymentType().getCode() != 'paypal' //И тип оплаты НЕ "PayPal" and order.getPaymentType().getCode() != 'bank-transfer'//И тип оплаты НЕ "Банковский перевод" and order.getPaymentType().getCode() != 'yakassa' //И тип оплаты НЕ "Онлайн оплата" and order.getPaymentType().getCode() != 'robokassa' //И тип оплаты НЕ "Robokassa" (заказ создается ИЛИ заказ изменяется) И ISO код страны не 'RU' (Россия) И сумма, оставшаяся к оплате = 0 И тип оплаты НЕ "PayPal" И И тип оплаты НЕ "Банковский перевод" И тип оплаты НЕ "Онлайн оплата" И тип оплаты НЕ "Robokassa"Если страна НЕ Россия, тип оплаты ТОЛЬКО: банковский перевод, PP, онлайн оплата, Robokassa.Да
Заказ\[Fenix\] Запрет на редактирование даты отгрузки не логистомfenix-zapret-na-redaktirovanie-dati-otgruzki-ne-lochangeSet.hasChangedField('shipment\_date') and not ( user().hasGroup('logistician') or user().hasGroup('director') or user().hasGroup('rop') ) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет Изменяется дата отгрузки И НЕ ( Пользователь в группе "Логист" ИЛИ Пользователь относится к группе "Руководитель" ИЛИ РОП ) И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркетДату отгрузки может указать только ЛогистДа
Заказ\[Fenix\] Запрет на редактирование типа доставки не логистомban-orders-managerchangeSet.hasChangedField('delivery\_type') and not ( user().hasGroup('logistician') or user().hasGroup('rop') or user().hasGroup('director') or user().getId() == 51 or order.orderMethod.code == 'wildberries' or order.orderMethod.code == 'ozon' ) Изменяется тип доставки И НЕ ( Пользователь в группе "Логист" ИЛИ РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ Идентификатор пользователя = 51 ИЛИ Способ оформления Wildberries ИЛИ Способ оформления Ozon ) У Вас недостаточно прав для редактирования поля "Тип доставки"Да
Заказ\[Fenix\] Кладовщик( обновление заказа)fenix-kladovshchik-obnovlenie-zakazauser().hasGroup('stockman') and not ( user().hasGroup('rop') or user().hasGroup('director') ) and not changeSet.hasChangedField("status") and changeSet.isUpdate() and ( order.getStatus().getGroupCode() != 'assembling' and not (order.getStatus().getCode() in \['v-ozhidanii-na-sklade','assembling'\]) ) Пользователь воходит в группу ('stockman') И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ) И НЕ Изменяется статус И заказ изменяется И ( Статус заказа не "сборочный" И НЕ (Статус заказа в ( "ожидании на складе", "сборочный" ) Вам недоступно обновление заказа в этом статусе (К)Да
Заказ\[Fenix\] Кладовщик (смена статуса)fenix-kladovshchik-smena-statusauser().hasGroup('stockman') and not ( user().hasGroup('rop') or user().hasGroup('director') ) and changeSet.hasChangedField("status") and ( ( changeSet.getOldValue("status").getCode() == 'send-to-assembling' and not (order.getStatus().getCode() in \['oshibka-v-soglasovanii','assembling'\]) ) or ( changeSet.getOldValue("status").getCode() == 'assembling' and not (order.getStatus().getCode() in \['oshibka-v-soglasovanii','waitingcourier','courier'\]) ) or ( changeSet.getOldValue("status").getCode() == 'waitingcourier' and not (order.getStatus().getCode() in \['oshibka-v-soglasovanii','delivering'\]) ) or ( changeSet.getOldValue("status").getCode() == 'garantiinyi-remont-v-rabote' and not (order.getStatus().getCode() in \['garantiinyi-remont-vypolnen'\]) ) or ( changeSet.getOldValue("status").getCode() == 'vozvrat-peredan-v-dostavku' and not (order.getStatus().getCode() in \['vozvrat-priniat'\]) ) or ( changeSet.getOldValue("status").getCode() == 'courier' and not (order.getStatus().getCode() in \['send-to-delivery'\]) ) or ( changeSet.getOldValue("status").getCode() == 'delivering' and not (order.getStatus().getCode() in \['send-to-delivery'\]) ) ) Пользователь воходит в группу ('stockman') И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ) И Изменяется статус И ( ( старое значение статуса "отправлен в сборку" И НЕ Статус заказа в ("ошибка в согласовании", "Сборочный") ) ИЛИ ( Старое значение статуса заказа "Сборочный" И НЕ (Статус заказа в ("ошибка в согласовании", "ожидание курьера", "курьер") ) ИЛИ ( Старое значение статуса = "Ожидание курьера" И НЕ (Статус заказа в ("ошибка в согласовании", "Доставки") ) ИЛИ ( Старое значение статуса = "Гарантийный ремонт в работе" И НЕ (Статус заказа = "Гарантийный ремонт выполнен" ) ИЛИ ( Изменяется статус "Возврат передан в доставку" И НЕ (Статус заказа "Возврат принят" ) ИЛИ ( Изменяется статус заказа "Курьер" И НЕ (Статус заказа "Отправка - доставка" ) ИЛИ ( Изменяется статус "доставка" И НЕ (Статус заказа "Отправка - доставка" ) ) Вам недоступна смена статуса заказа в этом статусе (К - смена статуса)Да
Заказ\[Fenix\] Комментарий к статусу "Потери"|"Купил на маркетплейсе"fenix-kommentariy-k-statusamchangeSet.hasChangedField("status") //Если изменяется статус and changeSet.getNewValue("status").getCode() in \['poteri','bought-on-marketplace'\]//новый статус "Потери" или "Купил на маркетплейсе" and not order.getStatusComment() // И нет комментария к статусу Если изменяется статус И новый статус "Потери" или "Купил на маркетплейсе" И нет комментария к статусуНе указан комментарий к статусуДа
Заказ\[Fenix\] Купил в другом местеfenix-kupil-v-drugom-mestechangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'already-buyed' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус="Уже купленный" И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Купил другой подарокfenix-kupil-drugoy-podarokchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'kupil-drugoi' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'Купил другой' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Логист (Обновление заказа)fenix-logistuser().hasGroup('logistician') and not ( user().hasGroup('rop') or user().hasGroup('director') ) and ( changeSet.isUpdate() and not changeSet.hasChangedField("status") and not changeSet.hasChangedField("courier") and ( order.getStatus().getGroupCode() != 'approval' and not (order.getStatus().getCode() in \['received','send-to-delivery','courier','delivering','send-to-assembling','complete','ozhidaetpvz','v-ozhidanii-oplaty-1'\]) ) ) Пользователь в группе "Логист" И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ) И ( заказ изменяется И НЕ Изменяется статус И НЕ Изменяется поле "Курьер" И ( Статус заказа не утвержден И НЕ (Статус заказа в ("получено", "отправить на доставку", "курьер", "доставка", "отправить на сборку", "завершить", "ожидаетпвз", "в ожидании оплаты-1") ) ) Вам недоступно редактирование заказа в этом статусе \[Логист\]Да
Заказ\[Fenix\] Менеджер (Изменение статуса)fenix-menedger-izmenenie-statusa( user().hasGroup('manager') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') ) and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'garti-pr' ) and not changeSet.isCreate() and changeSet.hasChangedField("status") and not (changeSet.getNewValue("status").getGroupCode() in \['cancel','inoe'\]) and ( ( changeSet.getOldValue("status").getGroupCode() != 'oshibka-soglasovaniia' and not ( changeSet.getOldValue("status").getCode() in \['client-confirmed','received'\]) and changeSet.getOldValue("status").getGroupCode() != 'new' ) or ( changeSet.getOldValue("status").getGroupCode() == 'oshibka-soglasovaniia' and ( not (changeSet.getNewValue("status").getCode() in \['received','v-ozhidanii-vozvrata-oplaty','garantiinyi-remont-v-rabote','waiting'\]) and not (changeSet.getNewValue("status").getGroupCode() == 'approval') ) ) or ( changeSet.getOldValue("status").getCode() in \['client-confirmed','received'\] and not (changeSet.getNewValue("status").getGroupCode() == 'oshibka-soglasovaniia') ) or ( changeSet.getOldValue("status").getGroupCode() == 'new' and ( not (changeSet.getNewValue("status").getCode() in \['no-call','nedozvon-1','nedozvon-2','nedozvon-3-sutki','client-confirmed','received'\]) and not (changeSet.getNewValue("status").getGroupCode() in \['new','oshibka-soglasovaniia'\]) ) ) ) ( пользователь менеджер ИЛИ менеджер реклама ИЛИ старший менеджер ) И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ магазин = 'garti-pr' ) И НЕ заказ создается И Изменяется статус И НЕ (получить новый статус в \['Отменен','Иное'\]) И ( ( Статус не "Ошибка в согласовании" И НЕ ( Изменяется старое значение статуса в ("Клиент подтвержден", "Получено") И Изменяется старое значение статуса не новый ) ИЛИ ( Изменяется старое значение статуса "Ошибка согласования" И ( НЕ (новый статус В \['получено", "в-ожидании-возврата-оплаты", "гарантийный ремонт-в-работе", "ожидание"\]) И НЕ (новый статус= 'Утверждение') ) ) ИЛИ ( Изменяется старое значение статуса В ("Клиент подтвердил", "Получено") И НЕ (новый статус= 'Ошибка согласования') ) ИЛИ ( Изменяется старое значение статуса "Новый" И ( НЕ (новый статус В \["нет вызова", "недозвон-1", "недозвон-2", "недозвон-3-сутки", "клиент подтвержден", "получено"\]) И НЕ (новый статус В \['Новый','Ошибка согласования'\]) ) ) ) Вам недоступна смена статуса заказа в этом статусе (М - смена статуса)Да
Заказ\[Fenix\] Менеджер (Обновление заказа)fenix-menedger( user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') ) and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'garti-pr' ) and not changeSet.isCreate() and ( changeSet.isUpdate() and not changeSet.hasChangedField("status") and not (order.getStatus().getGroupCode() in \['new','oshibka-soglasovaniia'\]) and order.getStatus().getCode() != 'ozhidaetpvz' ) ( пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер реклама ИЛИ старший менеджер ) И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ магазин = 'garti-pr' ) И НЕ заказ создается И ( заказ изменяется И НЕ Изменяется статус И НЕ (Статус Заказа В \['Новый','Ошибка согласования'\]) И Статус Заказа не "ожидает в пункте выдачи") Вам недоступно редактирование заказа в этом статусе (М - обновление)Да
Заказ\[Fenix\] Наложенный платежfenix-nalogenniy-plateg( changeSet.isCreate() or changeSet.isUpdate() ) and order.getCountry() != 'RU' and order.getCustomField("cod") and order.getToPaySumm() > 1 ( заказ создается ИЛИ заказ изменяется ) И ISO код страны не 'RU' (Россия) И Код заказа И Сумма заказа > 1 Наложенный платеж доступен только для РоссииДа
Заказ\[Fenix\] Не устроила цена доставкиfenix-ne-ustroila-tsena-dostavkichangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'delyvery-did-not-suit' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'доставка-не-устроила' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Не устроила цена товараfenix-ne-ustroila-tsena-tovarachangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'prices-did-not-suit' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'доставка-не-устроила' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Не устроили сроки доставкиfenix-ne-ustroili-sroki-dostavkichangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'delyvery-did-not-suit-srok' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'Срок доставки-не-устроил' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Номер договора опт (в статус согласовано)fenix-nomer-dogovora-opt-v-status-soglasovanochangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) and not ( user().hasGroup('director') ) and ( order.getSite().getCode() == 'opt' and order.getCustomField("contract\_order") == null ) Изменяется статус И новый статус заказа "Согласован с клиентом" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И НЕ ( Пользователь относится к группе "Руководитель" ) И ( Магазин = 'opt' И Поле контракт\_заказ пустое ) Не указан номер договораДа
Заказ\[Fenix\] Отмена по инициативе заказчика без указания причиныfenix-otmena-po-initsiative-zakazchika-bez-ukazanichangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'cancel-other' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'Отменено - другое' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено"Да
Заказ\[Fenix\] Передано в комплектациюfenix-peredano-v-komplektatsiyuchangeSet.hasChangedField("status") // Статус заказа изменяется and //И changeSet.getNewValue("status").getCode() == 'send-to-assembling' // Статус заказа стал "Передано в комплектацию" and //И ( order.getDeliveryType() == null // Поле типа доставки пустое or //ИЛИ ( order.getDeliveryType().getCode() == 'courier' //Поле тип доставки - "Доставка курьером" and //И order.getCourier() == null //Поле курьер, назначенный на заказ (если заказ доставляется соответствующим способом) пустое ) or //ИЛИ ( order.getDeliveryType().getCode() != 'self-delivery' //Тип достаки не "Самовывоз" and //И order.getDeliveryNetCost() == null //Поле Себестоимость доставки пустое ) or //ИЛИ order.getShipmentDate() == null //Поле Дата отгрузки пустое or //ИЛИ order.getDeliveryDate() == null //Поле Дата доставки пустое ) and not //Исключения: ( user().hasGroup('director') // Группа "Руководитель" ) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market'\] //способ овормления не WB или Ozon или ЯндексМаркет Статус заказа изменяется И Статус заказа стал "Передано в комплектацию" И ( Поле типа доставки пустое ИЛИ ( Поле тип доставки - "Доставка курьером" И Поле курьер, назначенный на заказ (если заказ доставляется соответствующим способом) пустое ) ИЛИ ( Тип доставки не равен "Самовывоз" И Поле Себестоимость доставки пустое ) ИЛИ Поле Дата отгрузки пустое ИЛИ Поле Дата доставки пустое ) И НЕ ( Пользователь относится к группе "Руководитель" ) И способ овормления не WB или Ozon или ЯндексМаркетОбязательно заполните: тип доставки, ФИО курьера, дата доставки, дата отгрузки, себестоимость доставкиДа
Заказ\[Fenix\] При данном типе оплаты должен быть выбран "Наложенный платеж"fenix-sposob-oplati( changeSet.isCreate() or changeSet.isUpdate() ) and ( order.getPaymentType().getCode() =='nal' and not order.getCustomField("cod") ) or ( order.getPaymentType().getCode() =='bank-card' and not order.getCustomField("cod") ) ( заказ создается ИЛИ заказ изменяется ) И ( Тип оплаты заказа "Наличные" И НЕ Код заказа ) ИЛИ ( Тип оплаты заказа "Банковская карта" И НЕ Код заказа ) При данном типе оплаты должен быть выбран "Наложенный платеж"Да
Заказ\[Fenix\] При переводе в Согласовано без оплаты указать налож платежfenix-pri-perevode-v-soglasovano-bez-oplati-ukazatchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and order.getPaymentType() == null and not order.getCustomField("cod") and order.getToPaySumm() > 1 Изменяется статус И новый статус заказа "Согласован с клиентом" И Тип оплаты заказа "Пусто" И НЕ Код заказа И Сумма заказа > 1 Не проставлена галочка "Наложенный платеж"Да
Заказ\[Fenix\] Причина к прочееfenix-prichina-k-procheechangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'other' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) Изменяется статус И новый статус = 'Другой' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) Не указан комментарий к статусу или есть платежДа
Заказ\[Fenix\] Причина к статусу возврат товара принят на складfenix-prichina-k-statusu-vozvrat-priniatchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'vozvrat-priniat' and not order.getStatusComment() Изменяется статус И новый статус = 'Возврат принят' И нет комментария к статусу Не указан комментарий к статусуДа
Заказ\[Fenix\] Причина к статусу гарантийный ремонт в работеfenix-prichina-k-statusu-garantiyniy-remont-v-rabochangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'garantiinyi-remont-v-rabote' and not order.getStatusComment() Изменяется статус И новый статус = 'Гарантийный ремонт в работе' И нет комментария к статусу Не указан комментарий к статусуДа
Заказ\[Fenix\] Причина к статусу ошибкаfenix-prichina-k-statusuchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'oshibka-v-soglasovanii' and not order.getStatusComment() Изменяется статус И новый статус = 'Ошибка в согласовании' И нет комментария к статусу Не указан комментарий к статусуДа
Заказ\[Fenix\] Причина к статусу продолжить доставкуfenix-prichina-k-statusu-prodolgit-dostavkuchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'prodolzhit-dostavku' and not order.getStatusComment() Изменяется статус И новый статус = 'Продолжить доставку' И нет комментария к статусу Не указан комментарий к статусуДа
Заказ\[Fenix\] Причина к статусу согласован антивозвратfenix-prichina-k-statusu-soglasovan-antivozvratchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'soglasovan-antivozvrat' and not order.getStatusComment() Изменяется статус И новый статус = 'Согласован антивозврат' И нет комментария к статусу Не указан комментарий к статусуДа
Заказ\[Fenix\] Согласовано с клиентомfenix-soglasovano-s-klientomchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) and ( ( not order.getCustomField("planneddate") and not order.getCustomField("neobh\_data\_dost") ) or order.getDeliveryTime() == '' ) and not ( user().hasGroup('director')) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет Изменяется статус И новый статус заказа "Согласован с клиентом" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И ( ( НЕ order.getCustomField("planneddate") И НЕ order.getCustomField("neobh\_data\_dost") ) ИЛИ Время доставки == '' ) И НЕ ( Пользователь относится к группе "Руководитель") И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет Заполните поля: планируемую или необходимую дату доставки, время доставкиДа
Заказ\[Fenix\] Согласовано с клиентом2fenix-soglasovano-s-klientom2changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) and not ( user().hasGroup('director') or user().hasGroup('buh') or order.orderMethod.code == 'wildberries' ) and ( order.getLastName()== null or order.getCustomField("informerorder") == null ) and order.orderMethod.code not in \['ozon','jandeks-market','sber-mega-market'\] //способ овормления не Ozon или ЯндексМаркет или СберМегаМаркет Изменяется статус И новый статус заказа "Согласован с клиентом" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И НЕ ( Пользователь относится к группе "Руководитель" ИЛИ Пользователь вгруппе "Бухгалтер" ИЛИ Способ оформления Wildberries ) И ( order.getLastName()== null ИЛИ order.getCustomField("informerorder") == null ) И способ овормления не Ozon или ЯндексМаркет или СберМегаМаркетПроверьте заполнено ли ФИ и откуда клиент узнал о продукции.Да
Заказ\[Fenix\] Состав заказа (в согласовано)fenix-sostav-zakaza-v-soglasovanochangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) and not ( user().hasGroup('director') ) and not order.getAvailableOrderProducts() Изменяется статус И новый статус заказа "Согласован с клиентом" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И НЕ ( Пользователь относится к группе "Руководитель" ) И нет товаров в заказеНельзя перевести в статус заказ без товаров!Да
Заказ\[Fenix\] Сохранение нового заказаsoranenie-newchangeSet.isCreate() and order.getPhone() == null or changeSet.isUpdate() and order.getPhone() == null and order.orderMethod.code not in \['ozon'\] //способ овормления не Ozon заказ создается И не указан телефон в заказе ИЛИ заказ изменяется И не указан телефон в заказе И способ оформления не OzonУкажите номер телефона клиентаДа
Заказ\[Fenix\] Срочный заказfenix-srochniy-zakazchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'client-confirmed' and order.getDeliveryType().getCode() == 'courier' and order.getDeliveryAddress().getRegion() in \['Москва город', 'Московская область'\] and order.getCustomerComment() == null and ( ( order.getCustomField("rushorder") and changeSet.isUpdate() ) or ( changeSet.hasChangedField("custom\_rushorder") and changeSet.getNewValue("custom\_rushorder") ) ) Изменяется статус И новый статус заказа "Согласован с клиентом" И Поле тип доставки - "Доставка курьером" И Адрес доставки Москва или Московская область И не заполнен комментарий клиента И ( ( это срочный заказ И заказ изменяется ) ИЛИ ( изменяется заказной срочный заказ И новый заказной срочный заказ ) ) Поле "Комментарий клиента" должно быть заполненоДа
Заказ\[Fenix\] Тип оплаты курьеруfenix-tip-oplati-kureruchangeSet.hasChangedField("status") //изменяется статус and changeSet.getNewValue("status").getCode() == 'client-confirmed' //новый статус заказа "Согласован с клиентом" and (user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('young\_manager') or user().hasGroup('manager-reklama') or user().hasGroup('rop') or user().hasGroup('star-manager')) //пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП или старший менеджер and ( not order.getCustomField('paymentcourier') // И не поле "Тип оплаты курьеру" and order.getCustomField('cod') // И галочка Наложенный платеж ) and not (user().hasGroup('director')) // исключение для Руководителя and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет and order.getPaymentType().getCode() != 'rassrochka' // Исключение Тип оплаты не "Рассрочка"Изменяется статус И новый статус заказа "Согласован с клиентом" И (пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер стажер ИЛИ менеджер реклама ИЛИ РОП ИЛИ старший менеджер) И (не поле "Тип оплаты курьеру" И галочка Наложенный платеж ) исключение для Руководителя И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет И Исключение Тип оплаты не "Рассрочка"Укажите тип оплаты курьеруДа
Заказ\[Fenix\] Тип оплаты - ручной вводfenix-tip-oplati-ruchnoy-vvodchangeSet.hasChangedField("status") // изменяется статус заказа and changeSet.getNewValue("status").getCode() == 'client-confirmed' // новый статус "Согласован с клиентом" and changeSet.hasChangedField('payments') // изменяются "Платежи" and not (changeSet.getNewValue('payments').getType().getCode() in \['paypal','ya-kassa','bank-transfer','rassrochka'\] ) // исключения типа платежа "PayPal" Или "Ю-каса" ИЛи "Банковкий перевод" или "В рассрочке" and order.orderMethod.code not in \['logistika'\] //способ овормления не Логистика изменяется статус заказа И новый статус заказа "Согласован с клиентом" И изменяются "Платежи" И НЕ (исключения типа платежа "PayPal" Или "Ю-каса" ИЛи "Банковкий перевод" или "В рассрочке" ) И способ овормления не ЛогистикаТип оплаты не доступен для ручного вводаДа
ЗаказДоставка для ОПТаdostavka-dlya-optaorder.site.getCode() != 'opt' and order.deliverytype.getCode() == 'tk-opt' Магазин не равно Оптовому И Способ доставки оптовая' Данная доставка используется только для ОПТа! Проверьте тип доставкиДа
ЗаказЗапрет изменять галочку "Не синхронизировать со службой доставки"ne-sinhronizirovat-so-sluzhboj-dostavki( changeSet.isCreate and order.site.code == 'garti' and user().hasGroup('manager') and not user().hasGroup('director') and changeSet.hasChangedField("isLocked") //and changeSet.getNewValue("isLocked") == null ) or ( changeSet.isUpdate and order.site.code == 'garti' and user().hasGroup('manager') and not user().hasGroup('director') and changeSet.hasChangedField("isLocked") //and changeSet.getNewValue("isLocked") == null ) ( Заказ создается И Магазин равен Гарти И пользователь менеджер И НЕ Пользователь относится к группе "Руководитель" И Изменяется поле Заблокировано //and changeSet.getNewValue("isLocked") == null ) ИЛИ ( Заказ обновляется И Магазин равен Гарти И пользователь менеджер И НЕ Пользователь относится к группе "Руководитель" И Изменяется поле Заблокировано //and changeSet.getNewValue("isLocked") == null ) Менеджер не может убрать галочку с поля "Не синхронизировать со службой доставки"Да
ЗаказЗапрет на изменение поля "дата изменения статуса заказ"zapret-na-izm-polja-data-izmenenija-statusa-zakazchangeSet.hasChangedField("custom\_change\_date\_status2") and (user().hasGroup('buh') or user().hasGroup('stockman') or user().hasGroup('logistician') or user().hasGroup('manager') or user().hasGroup('manager-opt') or user().hasGroup('manager-reklama') or user().hasGroup('young\_manager') or user().hasGroup('star-manager') or user().hasGroup('rop') or user().hasGroup('director')) Изменяется Пользовательское значение даты Статус2 И (Пользователь вгруппе "Бухгалтер" ИЛИ Пользователь воходит в группу ('stockman') ИЛИ Пользователь в группе "Логист" ИЛИ пользователь менеджер ИЛИ менеджер ОПТ ИЛИ менеджер реклама ИЛИ менеджер стажер ИЛИ старший менеджер ИЛИ РОП ИЛИ Пользователь относится к группе "Руководитель") Поле "дата изменения статуса заказ" недоступно для редактированияДа
ЗаказЗапрет на отправку антисептика за границуzapret-na-otpravku-antiseptika-za-granitsuchangeSet.isUpdate() and order.deliveryAddress.getRegion() == '' and order.deliveryAddress.getText() != '' and (order.orderProducts | contains(item => (item.getOffer().getArticle() == 'HS'))) заказ изменяется И Адрес доставки = '' И order.deliveryAddress.getText() != '' И (Товары в заказе содержат "HS") Отправка антисептика за пределы РФ не предусмотрена. Скорректируйте состав заказа.Да
ЗаказЗапрет на редактирование поля "Замена позиции Random" менеджерамиzapret-pozicija-random-manager( (user().hasGroup('manager') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') or user().hasGroup('young\_manager')) and order.site.code in \['garti-me','garti-eng'\] and changeSet.hasChangedField("custom\_zamena\_random") ) ( (пользователь менеджер ИЛИ менеджер реклама ИЛИ старший менеджер ИЛИ менеджер стажер) И магазин garti-me или garti-eng И изменяется поле "custom\_zamena\_random" ) Менеджерам запрещено изменять поле "Замена позиции Random"Да
ЗаказЗапрет на редактирование поля "Причина скидки"logist-zapret-prichina-skidkiuser().hasGroup('logistician') //Запрещено логисту and not ( //Исключение для групп: user().hasGroup('rop') // РОП or //ИЛИ user().hasGroup('director') //Руководитель Запрещено логисту И НЕ (Исключение для групп: РОП ИЛИ Пользователь относится к группе "Руководитель" Вам недоступно редактирование поля "Причина скидки"Да
ЗаказЗапрет на редактирование статуса оплатыredaktor-status-oplaki( (changeSet.isCreate or changeSet.isUpdate) and (user().hasGroup('marketplace-manager')) and (changeSet | contains(item => item.fieldName == "payments.status")) ) ( (Заказ создается ИЛИ Заказ обновляется) И (пользователь входит в группу 'marketplace-manager') И (изменяется значение статус платежа) ) Вам недоступно редактирование статуса оплатыДа
ЗаказЗапрет убирать галочку на "Наложенный платеж" для маркетплейсовzapret-galochka-nalozhennyj-platezh-marketplejsy( changeSet.isCreate()//Заказ создается or // или changeSet.isUpdate()//Заказ изменяется ) and order.orderMethod.code in \['wildberries','ozon','jandeks-market'\] //способ овормления WB или Ozon или ЯндексМаркет and changeSet.hasChangedField("custom\_cod") //изменяется поле "Наложенный платеж" and changeSet.getOldValue("custom\_cod") == 'true' // старое значение поля "Наложенный платеж" - галочка есть and changeSet.newValue("custom\_cod") == 'false' // новое значение поля "Наложенный платеж" - галочки нет(Заказ создается или заказ изменяется ) И способ овормления WB или Ozon или ЯндексМаркет И изменяется поле "Наложенный платеж" И старое значение поля "Наложенный платеж" - галочка есть И новое значение поля "Наложенный платеж" - галочки нетДля маркетплейсов запрещено убирать галочку "Наложенный платеж"Да
ЗаказИз "Возврат товара принят на склад" в "Возврат"iz-vozvrat-na-sklad-v-vozvratchangeSet.hasChangedField("status") //Есть изменения статуса and changeSet.getOldValue("status").code in \['vozvrat-priniat'\] //Старый статус "Возврат товара принят на склад" and changeSet.getNewValue("status").code in \['vozvrat'\] //Новый статус ""Возврат" and order.paymentStatus.code in \['paid'\] //Статус платежа "Оплачен" Есть изменения статуса И Старый статус "Возврат товара принят на склад" И Новый статус ""Возврат" И Статус платежа "Оплачен"Если заказ оплачен - перевести в "Возврат" невозможно.Да
ЗаказЛогист. Передача в комплектацию неоплаченного заказаlogist-peredacha-v-komplektatsiyu-neoplachennogo-zchangeSet.hasChangedField('status') and changeSet.getNewValue('status').getCode() == 'send-to-assembling' and order.getCustomField("cod") == false and order.toPaySumm > 0 and ( not user().hasGroup('rop') or not user().hasGroup('director')) and not order.orderMethod.code == 'wildberries' изменение статуса И изменяется поле отправка на сборку И Код заказа == false И Сумма, оставшаяся к оплате больше нуля И ( НЕ РОП ИЛИ НЕ Пользователь относится к группе "Руководитель") И НЕ Способ оформления Wildberries Заказ не оплачен. Перед передачей заказа в комплектацию дождитесь его полной оплатыДа
ЗаказЛогист (Редактирование заказа в статусе "Выполнено")logist-vipolnenouser().hasGroup('logistician') //Пользователь в группе "Логист" and order.getStatus().getCode() == 'complete' //Заказ в статуса "Выполнен" and changeSet.hasChangesExcluding(\['delivery\_net\_cost'\]) //Есть ли изменения полей за исключением указанныхПользователь в группе "Логист" И Заказ в статуса "Выполнен" И Есть ли изменения полей за исключением указанных Вам недоступно редактирование других полей заказа кроме "Себестоимость" \[Логист\]Да
ЗаказМенеджер. Запрет изменения магазина в заказеmenedger-zapret-izmeneniya-magazina-v-zakaze(changeSet.hasChangedField('site') and order.status.getCode() != 'new' and user().hasGroup('manager')) or (changeSet.hasChangedField('site') and user().hasGroup('manager-opt')) (изменяется магазин И статус заказа не новый И пользователь менеджер) ИЛИ (изменяется магазин И менеджер ОПТ) Вам запрещено менять магазин в заказе!Да
ЗаказМенеджер. Ограничение по рознице и опту на редактирование заказовmenedger-ogranichenie-po-roznitse-i-optu-na-redakt((user().hasGroup('manager') and ( not user().hasGroup('rop') or not user().hasGroup('director')) and order.status.getCode() != 'new' and order.site.getCode() == 'opt')) or ((user().hasGroup('manager-opt') and ( not user().hasGroup('rop') or not user().hasGroup('director')) and order.site.getCode() == 'garti-me')) ((пользователь менеджер И ( НЕ РОП ИЛИ НЕ Пользователь относится к группе "Руководитель") И статус заказа не новый И магазин = 'opt')) ИЛИ ((менеджер ОПТ И ( НЕ РОП ИЛИ НЕ Пользователь относится к группе "Руководитель") И магазин = 'garti-me')) Вы не можете редактировать заказы магазина {{ order.site }}Да
ЗаказМенеджер. Редактирование чужого заказаmenedger-redaktirovanie-chugogo-zakazaorder.getManager().getId() != user().getId() and ( changeSet.isUpdate() or ( changeSet.hasChangedField("status") //Изменяется статус закза and changeSet.getOldValue('status').getCode() not in \['client-confirmed'\] //Старый статус закза "Согласован с клиентом" and changeSet.getNewValue('status').getCode() not in \['oshibka-v-soglasovanii'\] //Новый статус закза "Ошибка в согласовании с клиентом" ) ) and //И ( user().hasGroup('manager') //Пользователь - менеджер or user().hasGroup('manager-opt') //Пользователь - менеджер ОПТ or user().hasGroup('young\_manager') //Пользователь - менеджер стажер or user().hasGroup('manager-reklama') //Пользователь - менеджер реклама ) and not ( //Исключения: user().hasGroup('rop') //Пользователь - РОП or user().hasGroup('director') //Пользователь - Рукуводитель or user().hasGroup('star-manager') //Пользователь - Старший менеджер ) текущий пользователь И ( заказ изменяется ИЛИ ( Изменяется статус закза И Старый статус закза "Согласован с клиентом" И Новый статус закза "Ошибка в согласовании с клиентом" ) ) И ( пользователь менеджер ИЛИ Пользователь - менеджер ОПТ ИЛИ Пользователь - менеджер стажер ИЛИ Пользователь - менеджер реклама ) И НЕ ( Исключения: РОП ИЛИ Пользователь - Рукуводитель ИЛИ Пользователь - Старший менеджер ) У Вас недостаточно прав для редактирования этого заказа (м, м-о, м рек)Да
ЗаказОбязательное поле. Способ доставкиobyazatelnoe-pole-sposob-dostavkichangeSet.isUpdate() and order.deliveryType == null and user().hasGroup('logistician')заказ изменяется И тип доставки не выбран И Пользователь в группе "Логист"Укажите способ доставки заказаДа
ЗаказОбязательное поле. Способ оформленияobyazatelnoe-pole-sposob-oformleniya(changeSet.isUpdate() and order.orderMethod == null or changeSet.isCreate() and order.orderMethod == null) and not ( user().hasGroup('rop') or user().hasGroup('director') or user().hasGroup('buh') ) (заказ изменяется И способ оформления заказа не выбран ИЛИ заказ создается И способ оформления заказа не выбран) И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ Пользователь вгруппе "Бухгалтер" ) Укажите способ оформления заказаДа
ЗаказОшибка при выборе типов оплаты АТОЛ безнал/нал для менеджеров опт, розница и рекламаoshibka-atol-beznal-nal-menedzhery(user().hasGroup('manager-reklama') or user().hasGroup('manager-opt') or user().hasGroup('manager')) and changeSet.hasChangedField("PaymentType") and changeSet.newValue("PaymentType").getCode() in \['card-atol','cash'\] (менеджер реклама ИЛИ менеджер ОПТ ИЛИ пользователь менеджер) И изменяется поле тип платежа И новое значение поле тип платежа card-atol' или'cash Для менеджеров опт, розница и реклама типы оплаты "Безналичные (АТОЛ)" и "Наличные (АТОЛ)" недоступны.Да
ЗаказПри типе оплаты “банковский перевод” нельзя поставить галочку “наложенный платеж”oplata-bank-perevod-bez-galochki-nalozh-platezh( changeSet.isCreate() and order.getPaymentType().getCode() == 'bank-transfer' and order.getCustomField('cod') == 'true' ) or ( changeSet.isUpdate() and order.getPaymentType().getCode() == 'bank-transfer' and changeSet.hasChangedField("custom\_cod") and changeSet.getOldValue("custom\_cod") == 'false' and changeSet.newValue("custom\_cod") == 'true' ) ( заказ создается И тип платежа банковский перевод И галочка Наложенный платеж == 'true' ) ИЛИ ( заказ изменяется И тип платежа банковский перевод И изменяется поле "Наложенный платеж" И старое значение пользовательский код нет И новое значение пользовательский код есть) Невозможно поставить галочку "наложенный платеж" при типе оплаты “банковский перевод”Да
ЗаказПричина к статусу ожидание клиента и дата перезвона (изначально делал \[Fenix\] )fenix-prichina-k-statusu-ogidanie-klienta( changeSet.hasChangedField("status") // Изменился статус and changeSet.getNewValue("status").code in \['waiting'\] // И новое значения статуса в "В ожидании клиента" ) and ( (order.customField('perezvon\_date') == null) or (order.customField('kommentarij\_k\_perezvonu') == null) //поля дата ИЛИ коментарий к перезвону пустые ) and not //Исключения: ( user().hasGroup('director') // Группа "Руководитель" or order.orderMethod.code == 'ozon'// Способ оформления Ozon or order.orderMethod.code == 'wildberries'// Способ оформления Wildberries ) (Изменился статус И новое значения статуса в "В ожидании клиента" ) И ( (поле дата перезвона пустое) ИЛИ (коментарий к перезвону пустой)) Исключения: ( Пользователь относится к группе "Руководитель" ИЛИ Способ оформления Ozon ИЛИ Способ оформления Wildberries) Проверьте указана ли дата перезвона и комментарий к перезвонуДа
ЗаказПроверка второго типа оплаты при частичной оплатеprov-2-tipa-oplati(changeSet.hasChangedField("status") and changeSet.getOldValue("status").code in \['new','nedozvon-1','nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-oplaty','predoplata-nedozvon-1-den'\] and changeSet.getNewValue("status").code in \['vnimanie','oshibka-v-soglasovanii','chastichnyi-vozvrat-vypolnen','vozvrat-priniat','trebuetsja-soglasovanie'\])// Изменяется статус из группы "новый" в группу "ошибка согласования" and (order.toPaySumm != 0) //И оставшееся сумма к оплате != нулю and (order.paymentType | length) == 1 //И типов оплаты в заказе один(Изменяется статус И старое значение статуса \['new','nedozvon-1','nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-oplaty','predoplata-nedozvon-1-den'\] И новый статус \['vnimanie','oshibka-v-soglasovanii','chastichnyi-vozvrat-vypolnen','vozvrat-priniat','trebuetsja-soglasovanie'\]) И оставшееся сумма к оплате != нулю И типов оплаты в заказе одинПроверьте второй способ оплатыДа
ЗаказПроверка для позиции Random (Кладовщик)pozicija-random(user().hasGroup('stockman') and order.site.code in \['garti-me','garti-eng'\] and changeSet.hasChangedField("status") and changeSet.getOldValue("status").getCode() == 'send-to-assembling' and changeSet.getNewValue("status").getCode() == 'assembling' and (order.orderProducts | contains(item => (item.getOffer().getArticle() in \['DO-RN01','DO-RN02','GR-RN01','GS-RN01','LI-RN01','LS-RN01','MI-RN01','PR-RN01','SI-RN01','SI-RN02'\])) and order.getCustomField("zamena\_random") == null and not order.getCustomField("zamena\_random") == 'Нет' )) (Пользователь воходит в группу ('stockman') И магазин garti-me или garti-eng И Изменяется статус И старое значение статуса "отправлен в сборку" И новый статус= 'assembling' И артикль продукта \['DO-RN01','DO-RN02','GR-RN01','GS-RN01','LI-RN01','LS-RN01','MI-RN01','PR-RN01','SI-RN01','SI-RN02'\] И поле случайная замена пустая И НЕ поле случайная замена = НЕТ )) Необходимо добавить в поле “название поля” что будет в позиции RandomДа
ЗаказПроверка заполненности поля "Email" при оплате онлайнpolja-email-oplate-onlajn(changeSet.isCreate and order.getPaymentType.code == 'ya-kassa' and order.getEmail() == null) or (changeSet.isUpdate and order.getPaymentType.code == 'ya-kassa' and order.getEmail() == null) (Заказ создается И Тип платежа = 'ya-kassa' И Email не заполнен) ИЛИ (Заказ обновляется И Тип платежа = 'ya-kassa' И Email не заполнен) При оплате онлайн необходимо заполнить EmailДа
ЗаказПроверка заполненности поля "Вид рекламы"proverka-zapolnennosti-polja-vid-reklamy(changeSet.isCreate and order.site.code == 'garti-pr' and order.getCustomField('vid\_reklamy') == null) or (changeSet.isUpdate and order.site.code == 'garti-pr' and order.getCustomField('vid\_reklamy') == null) (Заказ создается И магазин = 'garti-pr' И Вид рекламы не заполнен) ИЛИ (Заказ обновляется И магазин = 'garti-pr' И Вид рекламы не заполнен) Необходимо указать вид рекамы.Да
ЗаказПроверка заполненности поля "Площадка"proverka-zapolnennosti-polja-ploschadka( changeSet.isCreate and order.site.code == 'garti-pr' and order.getCustomField('ploschadka') == null ) or ( changeSet.isUpdate and order.site.code == 'garti-pr' and order.getCustomField('ploschadka') == null ) ( Заказ создается И магазин = 'garti-pr' И Площадка не заполнена ) ИЛИ ( Заказ обновляется И магазин = 'garti-pr' И Площадка не заполнена ) Необходимо указать площадку.Да
ЗаказПроверка заполненности поля "Ссылка на рекламодателя"ssylka-na-reklamodatelja(changeSet.isCreate and order.site.code == 'garti-pr' and order.getCustomField('vid\_reklamy').code == 'blogers' and order.getCustomField('ssylka\_na\_reklamodatelja') == null) or (changeSet.isUpdate and order.site.code == 'garti-pr' and order.getCustomField('vid\_reklamy').code == 'blogers' and order.getCustomField('ssylka\_na\_reklamodatelja') == null) (Заказ создается И магазин = 'garti-pr' И Вид рекламы = блогеры И Ссылка на рекламодателя не заполнена) ИЛИ (Заказ обновляется И магазин = 'garti-pr' И Вид рекламы = блогеры И Ссылка на рекламодателя не заполнена) Необходимо указать ссылку на рекламодателя.Да
ЗаказПроверка магазина (для PR менеджера )proverka-magazina(changeSet.isCreate and order.site.code != 'garti-pr' and user().hasGroup('manager-reklama') and not user().hasGroup('director') ) or (changeSet.isUpdate and order.site.code != 'garti-pr' and user().hasGroup('manager-reklama') and not user().hasGroup('director') ) (Заказ создается И магазин не равен 'garti-pr' И менеджер реклама И НЕ Пользователь относится к группе "Руководитель" ) ИЛИ (Заказ обновляется И магазин не равен 'garti-pr' И менеджер реклама И НЕ Пользователь относится к группе "Руководитель" ) Вы не можете сохранить заказ в данном магазине.Да
ЗаказПроверка магазина для пользовательских полей под рекламуproverka-magazina-dlja-polzovatelskih-polejchangeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("vid\_reklamy") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("vid\_reklamy") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("ploschadka") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("ploschadka") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("ssylka\_na\_reklamodatelja") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("ssylka\_na\_reklamodatelja") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("utm\_metka") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("utm\_metka") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("stoimost\_razmeschenija") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("stoimost\_razmeschenija") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("data\_publikacii") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("data\_publikacii") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("kolichestvo\_razmeschenij") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("kolichestvo\_razmeschenij") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("ssylka\_na\_post") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("ssylka\_na\_post") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("data\_oplaty") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("data\_oplaty") != null or changeSet.isCreate and order.site.code != 'garti-pr' and order.getCustomField("barter") != null or changeSet.isUpdate and order.site.code != 'garti-pr' and order.getCustomField("barter") != null Заказ создается И магазин не равен 'garti-pr' И вид рекламы заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И вид рекламы заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Площадка заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Площадка заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Ссылка на рекламодателя заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Ссылка на рекламодателя заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И "utm\_metka" заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И "utm\_metka" заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Стоимость размещения заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Стоимость размещения заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Дата публикации заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Дата публикации заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Количество размещения заполнено ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Количество размещения заполнено ИЛИ Заказ создается И магазин не равен 'garti-pr' И Ссылка на пост заполнена ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Ссылка на пост заполнена ИЛИ Заказ создается И магазин не равен 'garti-pr' И Дата оплаты заполнена ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Дата оплаты заполнена ИЛИ Заказ создается И магазин не равен 'garti-pr' И Бартер заполнен ИЛИ Заказ обновляется И магазин не равен 'garti-pr' И Бартер заполнен Для полей (Бартер;Вид рекламы;Площадка;Ссылка на рекламодателя;UTM-метка;Стоимость размещения;Дата публикации;Кличество размещений;Общая стоимость рекламы (в руб);Ссылка(и) на пост;Дата оплаты; ) магазин должен быть "Реклама" и пользователь PR менеджерДа
ЗаказПроверка перехода из статуса "Бартер-товар получен" ИЛИ "Реклама оплачена" в "Реклама опубликована".iz-reklama-oplachena-v-reklama-opublikovanauser().hasGroup('manager-reklama') and ( order.site.code == 'garti-pr' and changeSet.hasChangedField("status") and (changeSet.oldValue("status").code == 'reklama-oplachena' and changeSet.newValue("status").code == 'reklama-opublikovana') or (changeSet.oldValue("status").code == 'barter-tovar-poluchen' and changeSet.newValue("status").code == 'reklama-opublikovana') and order.getCustomField("data\_publikacii") == null ) менеджер реклама И ( магазин = 'garti-pr' И Изменяется статус И (Старое значение статуса = "реклама оплачена" И Новое значение статуса = "реклама опубликована") ИЛИ (Старок значение статуса = "Бартер товар получен" И Новое значение статуса = "реклама опубликована") И Дата публикации пустая ) Перехода из статуса "Бартер-товар получен" ИЛИ "Реклама оплачена" в "Реклама опубликована" из-за незаполненного поля "Дата публикации".Да
ЗаказПроверка перехода из статуса "В ожидании оплаты" в "Бартер-товар получен".proverka-statys-barterauser().hasGroup('buh') and not user().hasGroup('director') and( order.site.code == 'garti-pr' and changeSet.hasChangedField("status") and changeSet.getOldValue("status").getCode() == 'v-ozhidanii-oplaty-2' and changeSet.getNewValue("status").getCode() == 'barter-tovar-poluchen' and (order.getCustomField('barter') == null or order.getQuantity() == null) ) Пользователь вгруппе "Бухгалтер" И НЕ Пользователь относится к группе "Руководитель" and( магазин = 'garti-pr' И Изменяется статус И Старое значение статуса = "В ожидании оплаты 2" И новый статус = 'Бартер товар получен' И (Бартер не заполнен ИЛИ Количество товаров в заказе не заполнено) ) Для перехода из статуса "В ожидании оплаты" в "Бартер-товар получен" возможен только при галочке на поле "Бартер" и выбранном товаре на сам бартер.Да
ЗаказПроверка перехода из статуса "В ожидании оплаты" в "Реклама оплачена".iz-v-ozhidanii-oplaty-v-reklama-oplachenauser().hasGroup('manager-reklama') and not user().hasGroup('director') and( order.site.code == 'garti-pr' and changeSet.hasChangedField("status") and changeSet.getOldValue("status").getCode() == 'v-ozhidanii-oplaty-2' and changeSet.getNewValue("status").getCode() == 'reklama-oplachena' and order.getCustomField('data\_oplaty') == null ) менеджер реклама И НЕ Пользователь относится к группе "Руководитель" and( магазин = 'garti-pr' И Изменяется статус И Старое значение статуса = "В ожидании оплаты" И новый статус = Реклама оплачена И Дата оплаты не заполнено ) Переход из статуса "В ожидании оплаты" в "Реклама оплачена" невозможна из-за пустого поля "Дата оплаты рекламы".Да
ЗаказПроверка перехода из статуса "Условия рекламы согласованы" в "В ожидании оплаты".iz-uslovija-reklamy-v-v-ozhidanii-oplatyuser().hasGroup('manager-reklama') and not user().hasGroup('director') and( order.site.code == 'garti-pr' and changeSet.hasChangedField("status") and changeSet.oldValue("status").code == 'uslovija-reklamy-soglasovany' and changeSet.newValue("status").code == 'v-ozhidanii-oplaty-2' and order.getCustomField("stoimost\_razmeschenija") == null and order.getCustomField("kolichestvo\_razmeschenij") == null ) менеджер реклама И НЕ Пользователь относится к группе "Руководитель" and( магазин = 'garti-pr' И Изменяется статус И changeSet.oldValue("status").code == 'uslovija-reklamy-soglasovany' И changeSet.newValue("status").code == 'v-ozhidanii-oplaty-2' И order.getCustomField("stoimost\_razmeschenija") == null И order.getCustomField("kolichestvo\_razmeschenij") == null ) Перехода из статуса "Условия рекламы согласованы" в "В ожидании оплаты" невозможна из-за незаполненных полей "Стоимость размещения" и "Количество размещений".Да
ЗаказПроверка поля "Откуда узнал о продукции"istochnik-reklami-v-statusah-vishe-soglasovanoorder.getCustomField('informerorder') == null and (changeSet.hasChangedField("status") and changeSet.getOldValue("status").code in \['new','nedozvon-1','nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-oplaty','predoplata-nedozvon-1-den'\] and changeSet.getNewValue("status").code in \['client-confirmed'\]) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market','logistika', 'offline'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет или Логистика или offline Порядок информирования не заполнено И (Изменяется статус И старое значение статуса \['new','nedozvon-1','nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-oplaty','predoplata-nedozvon-1-den'\] И новый статус заказа "Согласован с клиентом") И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркет или Логистика или offlineЗаполните поле "Откуда узнал о продукции"Да
ЗаказПроверка поля "Тип рассрочки"proverka-polja-tip-rassrochkichangeSet.hasChangedField('status') // изменяетс статус заказа and changeSet.getOldValue("status").getCode() in \['new','nedozvon-1','nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-na-sklade','nalichie-na-sklade-podtverzhdeno','predoplata-nedozvon-1-den'\] //старый статус заказа в группе "новый" and changeSet.getNewValue('status').getCode() == 'client-confirmed' //новый статус заказа "Согласован с клиентом" and (order.getPaymentType().getCode() == 'rassrochka' // Тип оплаты "Рассрочка" and order.getCustomField("tip\_rassrochki") == null ) //Поле "Тип рассрочки" пустое изменяется статус заказа И старый статус заказа в группе "новый" И новый статус заказа "Согласован с клиентом" И (Тип оплаты "Рассрочка" И Поле "Тип рассрочки" пустое )Выберете тип рассрочки.Да
ЗаказПроверка "Причина скидки"proverka-prichina-skidki( ( changeSet.hasChangedField("status") //Меняется статус заказа and changeSet.getNewValue("status").code in \['client-confirmed'\] //новый статус заказа "Согласован с клиентом" ) and (order.customField('prichina\_skidki').code in \['promo'\]) //После "Причина скидки" = "Промокод" and (order.customField('promokod').code == null) //Поле "Промокод" пустое ) ( ( Меняется статус заказа И новый статус заказа "Согласован с клиентом" ) И ("Причина скидки" = "Промокод") И (Поле "Промокод" пустое) ) Выберете промокодДа
ЗаказСкидка более 50%skidka-bolee-50( ( changeSet.hasChangedField("order\_product.discount\_total") and order.getOrderProducts() | contains ( p => p.getInitialSumm() and p.getDiscountSumm() / p.getInitialSumm() > 0.50 and order.getCustomField('skidka\_comment') == null) ) or ( changeSet.isCreate() and order.getOrderProducts() | contains ( p => p.getInitialSumm() and p.getDiscountSumm() / p.getInitialSumm() > 0.50 and order.getCustomField('skidka\_comment') == null) ) ) and order.getSite().getCode() == 'garti-me' and order.orderMethod.code not in \['wildberries'\] //способ овормления не WB ( ( Изменяется поле общая скидка по заказу И Скидка больше 50% и комментарий скидки не заполнен) ИЛИ ( заказ создается И Скидка больше 50% и комментарий скидки не заполнен) ) И Магазин = 'garti-me' И способ овормления не WBДля скидок более 50% требуется заполнить поле комментария для скидки в блоке оплаты!Да
ЗаказСкидка не более 11%fenix-skidka-ne-bolee-11( ( changeSet.hasChangedField("order\_product.discount\_total") and order.discountManualPercent > 11 ) or ( changeSet.isCreate() and order.getOrderProducts() | contains ( p => p.getInitialSumm() and p.getDiscountSumm() / p.getInitialSumm() > 0.11 ) ) ) and order.getSite().getCode() == 'garti-me' and not ( user().hasGroup('rop') or user().hasGroup('director') or user().hasGroup('star-manager') or user().getId() == 29 ) and order.orderMethod.code not in \['wildberries','sber-mega-market'\] //способ овормления не WB или СберМегаМаркет ( ( Изменяется поле общая скидка по заказу И Процентная скидка на весь заказ > 11 ) ИЛИ ( заказ создается И скидка > 11 ) ) И Магазин = 'garti-me' И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ старший менеджер ИЛИ Пользователь = 29 ) И способ овормления не WB или СберМегаМаркетСкидки – не более 11% на товарДа
ЗаказСкидка не более 35%fenix-skidka-ne-bolee-35( ( changeSet.hasChangedField("order\_product.discount\_total") and order.getOrderProducts() | contains ( p => p.getInitialSumm() and p.getDiscountSumm() / p.getInitialSumm() > 0.35 ) ) or ( changeSet.isCreate() and order.getOrderProducts() | contains ( p => p.getInitialSumm() and p.getDiscountSumm() / p.getInitialSumm() > 0.35 ) ) ) and order.getSite().getCode() == 'garti-me' and user().hasGroup('star-manager') ( ( Изменяется поле общая скидка по заказу И скидка > 35 ) ИЛИ ( заказ создается И скидка > 35 ) ) И Магазин = 'garti-me' И старший менеджер Скидки – не более 35% на товарДа
ЗаказСкидка не более 5% если есть пр.лоял.skidka-ne-bolee-5-progr-loalnosti( ( changeSet.hasChangedField("total\_summ") and order.discountManualPercent > 5 and order.privilegeType not in \['none'\] ) or ( changeSet.isCreate() and order.discountManualPercent > 5 and order.privilegeType not in \['none'\] ) ) and order.getSite().getCode() == 'garti-me' and not ( user().hasGroup('rop') or user().hasGroup('director') or user().hasGroup('star-manager') or user().getId() == 29 ) and order.orderMethod.code not in \['wildberries','sber-mega-market'\] //способ овормления не WB или СберМегаМаркет ( ( Изменяется Итоговая Сумма И Процентная скидка на весь заказ > 5 И Тип привелегии заполнено ) ИЛИ ( заказ создается И Процентная скидка на весь заказ > 5 И Тип привелегии заполнено ) ) И Магазин = 'garti-me' И НЕ ( РОП ИЛИ Пользователь относится к группе "Руководитель" ИЛИ старший менеджер ИЛИ Пользователь = 29 ) И способ овормления не WB или СберМегаМаркетСкидки – не более 5% на товар при наличии скидки по программе лояльностиДа
ЗаказСтатус "Выполнен" без полной оплаты заказаstatus-vipolnen-bez-polnoy-oplati-zakaza( (changeSet.hasChangedField('status') and changeSet.getNewValue('status').getCode() == 'complete') //изменение статуса И новый статус "Выполнен" and (order.fullPaidAt == null) // И поле "Дата полной оплаты" пустое => заказ не оплачен and not // Исключения для группы "Руководитель отдела продаж" И "Руководитель" ( user().hasGroup('rop') or user().hasGroup('director') ) ) ( (изменение статуса И новый статус "Выполнен") И (поле "Дата полной оплаты" пустое => заказ не оплачен) Исключения для группы "Руководитель отдела продаж" И "Руководитель"Заказ не оплачен! Проверьте оплатуДа