Валидация
Валидация для | Название | Символьный код | Условие (код) | Условие (текст) | Сообщение | Активность |
Заказ | [Fenix] Недозвон (клиент не выходит на связь) | fenix-nedozvon-klient-ne-vihodit-na-svyaz | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'no-call' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) |
Изменяется статус заказа и новый статус зказаза "Недозвон (Клиент не выходит на связь)" и ( Статус оплаты заказа "Оплачен" или нет Комментарий к последнему изменению статуса ) |
Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено" | Да |
Клиент | BAD обязательнный комментарий | bad-obyazatelnniy-kommentariy | customer.bad and (customer.getCustomField("bad_comment") == null) |
Клиент плохой И в карточке клиента не заполнен коммернарий к статусу "плохой" |
Не заполнен комментарий BAD! | Да |
Заказ | [Fenix] Адрес (в согласовано) | fenix-adres-v-soglasovano | changeSet.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-zapolneniya | changeSet.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-buhgalter | user().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-zakaza | user().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-vozvrat | changeSet.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-dostavku | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "vozvrat-peredan-v-dostavku" and order.getCustomField('srok_vozvrata2') == null |
Изменяется статус И новый статус "Возврат передан в доставку" И Оплата срок возврата не заполнен |
Не заполнено поле "Предварительный срок возврата товара на склад" | Да |
Заказ | [Fenix] время перезвона | fenix-vremya-perezvona | changeSet.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-dostavlyaetsya | changeSet.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] Доставляется 2 | fenix-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-dubl | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'double' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) | Изменяется статус И новый статус = 'double' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) | Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено" | Да |
Заказ | [Fenix] Если страна НЕ Россия, тип оплаты ТОЛЬКО: банковский перевод, PP, онлайн оплата, Robokassa | fenix-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-lo | changeSet.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-manager | changeSet.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-zakaza | user().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-statusa | user().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-statusam | changeSet.hasChangedField("status") //Если изменяется статус and changeSet.getNewValue("status").getCode() in ['poteri','bought-on-marketplace']//новый статус "Потери" или "Купил на маркетплейсе" and not order.getStatusComment() // И нет комментария к статусу | Если изменяется статус И новый статус "Потери" или "Купил на маркетплейсе" И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Купил в другом месте | fenix-kupil-v-drugom-meste | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'already-buyed' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) | Изменяется статус И новый статус="Уже купленный" И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) | Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено" | Да |
Заказ | [Fenix] Купил другой подарок | fenix-kupil-drugoy-podarok | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'kupil-drugoi' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) | Изменяется статус И новый статус = 'Купил другой' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) | Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено" | Да |
Заказ | [Fenix] Логист (Обновление заказа) | fenix-logist | user().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-dostavki | changeSet.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-tovara | changeSet.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-dostavki | changeSet.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-soglasovano | changeSet.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-ukazani | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'cancel-other' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) | Изменяется статус И новый статус = 'Отменено - другое' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) | Нельзя переводить в статус без комментария или с платежом со статусом "Оплачено" | Да |
Заказ | [Fenix] Передано в комплектацию | fenix-peredano-v-komplektatsiyu | changeSet.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-ukazat | changeSet.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-prochee | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'other' and ( order.getPaymentStatus().getCode() == 'paid' or not order.getStatusComment() ) | Изменяется статус И новый статус = 'Другой' И ( Статус оплаты = оплачено ИЛИ НЕ комментарий к статусу ) | Не указан комментарий к статусу или есть платеж | Да |
Заказ | [Fenix] Причина к статусу возврат товара принят на склад | fenix-prichina-k-statusu-vozvrat-priniat | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'vozvrat-priniat' and not order.getStatusComment() | Изменяется статус И новый статус = 'Возврат принят' И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Причина к статусу гарантийный ремонт в работе | fenix-prichina-k-statusu-garantiyniy-remont-v-rabo | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'garantiinyi-remont-v-rabote' and not order.getStatusComment() | Изменяется статус И новый статус = 'Гарантийный ремонт в работе' И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Причина к статусу ошибка | fenix-prichina-k-statusu | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'oshibka-v-soglasovanii' and not order.getStatusComment() | Изменяется статус И новый статус = 'Ошибка в согласовании' И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Причина к статусу продолжить доставку | fenix-prichina-k-statusu-prodolgit-dostavku | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'prodolzhit-dostavku' and not order.getStatusComment() | Изменяется статус И новый статус = 'Продолжить доставку' И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Причина к статусу согласован антивозврат | fenix-prichina-k-statusu-soglasovan-antivozvrat | changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == 'soglasovan-antivozvrat' and not order.getStatusComment() | Изменяется статус И новый статус = 'Согласован антивозврат' И нет комментария к статусу | Не указан комментарий к статусу | Да |
Заказ | [Fenix] Согласовано с клиентом | fenix-soglasovano-s-klientom | changeSet.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] Согласовано с клиентом2 | fenix-soglasovano-s-klientom2 | changeSet.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-soglasovano | changeSet.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-new | changeSet.isCreate() and order.getPhone() == null or changeSet.isUpdate() and order.getPhone() == null and order.orderMethod.code not in ['ozon'] //способ овормления не Ozon | заказ создается И не указан телефон в заказе ИЛИ заказ изменяется И не указан телефон в заказе И способ оформления не Ozon | Укажите номер телефона клиента | Да |
Заказ | [Fenix] Срочный заказ | fenix-srochniy-zakaz | changeSet.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-kureru | changeSet.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-vvod | changeSet.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-opta | order.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-zakaz | changeSet.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-granitsu | changeSet.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-skidki | user().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-vozvrat | changeSet.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-z | changeSet.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-vipolneno | user().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-zakaza | order.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-dostavki | changeSet.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-polej | 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 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-opublikovana | user().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-bartera | user().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-oplachena | user().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-oplaty | user().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-soglasovano | order.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-rassrochki | changeSet.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') ) ) | ( (изменение статуса И новый статус "Выполнен") И (поле "Дата полной оплаты" пустое => заказ не оплачен) Исключения для группы "Руководитель отдела продаж" И "Руководитель" | Заказ не оплачен! Проверьте оплату | Да |
No Comments