• Страница 1 из 1
  • 1
Форум » Валидация, триггеры и шаблоны » Примеры триггеров, обязательные триггеры, секретные разработки » Статус оплаты меняется не корректно
Статус оплаты меняется не корректно
Vladimir
#1
Понедельник, 18.12.2017, 12:40
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Здравствуйте!

Если стоял статус оплаты "отсрочка" и поступает оплата из 1с, то нужно, чтобы статус оплаты поменялся на "оплачено", а сейчас встает "предоплата".

Подскажите, пожалуйста, что не так? 

https://uni-tool.retailcrm.ru/admin/communications/rules/5/edit

Заказ: https://uni-tool.retailcrm.ru/orders/8230/edit
 
Вячеслав
#2
Вторник, 19.12.2017, 11:34
Группа: Модераторы
Сообщений: 36
Статус: Оффлайн
Цитата Vladimir ()
Если стоял статус оплаты "отсрочка" и поступает оплата из 1с, то нужно, чтобы статус оплаты поменялся на "оплачено", а сейчас встает "предоплата".Подскажите, пожалуйста, что не так? 

https://uni-tool.retailcrm.ru/admin/communications/rules/5/edit

Заказ: https://uni-tool.retailcrm.ru/orders/8230/edit
Изменение от 18.12.2017 12:20:30 кроме суммы оплаты меняет статус. В триггере указано условие на статус, который был до того, как в заказ была передана сумма оплаты, в результатам статус на "Оплачено" не был изменён. Возможно было бы более рационально передавать конечный статус оплаты вместе с суммой?
 
Vladimir
#3
Вторник, 19.12.2017, 13:02
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Конечный статус не получится ставить. От этого зависит какое письмо уходит клиенту.

1) Если это была отсрочка и мы отвезли, то нужен статус "Оплачено" (письмо не уходит)

2) Если это новый заказ (с пустым статусом оплаты), то нужен статус "Предоплата" и тогда уходит письмо о доставке.

Сейчас по триггеру срабатывает второй сценарий, а должен-первый, но я не могу понять почему так.
 
Вячеслав
#4
Вторник, 19.12.2017, 16:13
Группа: Модераторы
Сообщений: 36
Статус: Оффлайн
Цитата Vladimir ()
1) Если это была отсрочка и мы отвезли, то нужен статус "Оплачено" (письмо не уходит)
Под "отвезли" имеется ввиду поступление оплаты (changeSet.hasChangedField('custom_paidsumm'))? 

В описанном случае, на примере заказа 8230, необходимо в тригере поменять статус "Отсрочка" на "Предоплата" (payment-start), так как вместе с оплаченной суммой в API меняется статус. Фактически сейчас  оплата в заказе не находится одновременно в статусе "Отсрочка" и с оплаченной суммой.
Цитата Vladimir ()
2) Если это новый заказ (с пустым статусом оплаты), то нужен статус "Предоплата" и тогда уходит письмо о доставке.
Имеется ввиду другой триггер?
 
Vladimir
#5
Вторник, 19.12.2017, 20:06
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Если заказ по отсрочке, то из 1с, в момент оформления заказа, прилетает статус оплата "Отсрочка" (без оплаченной суммы), срабатывает триггер "Отсрочка" и клиенту уходит письмо "Оформлена отсрочка, завтра привезем"

Если бы не было отсрочки, то из 1с прилетела оплата (оплаченная сумма) и статус "Предоплата", а клиенту письмо "Поступила оплата, завтра привезем"

Например мы доставили заказ клиенту по отсрочке 1 декабря. Он оплатил 15 декабря, и когда оплата поступила в 1с, то нужно чтобы вставал статус "Оплачено", а сейчас встает статус "Предоплата" и клиенту приходит письмо "поступила оплата, привезем 1 декабря".

А реально заказ уже давно отвезли и не нужно сообщать о поступлении оплаты, т.е. нужен статус "Оплачено", а не "Предоплата".
 
Вячеслав
#6
Среда, 20.12.2017, 10:06
Группа: Модераторы
Сообщений: 36
Статус: Оффлайн
Цитата Vladimir ()
Например мы доставили заказ клиенту по отсрочке 1 декабря. Он оплатил 15 декабря, и когда оплата поступила в 1с, то нужно чтобы вставал статус "Оплачено", а сейчас встает статус "Предоплата" и клиенту приходит письмо "поступила оплата, привезем 1 декабря". А реально заказ уже давно отвезли и не нужно сообщать о поступлении оплаты, т.е. нужен статус "Оплачено", а не "Предоплата".
Статус на "Предоплата" меняется в рамках интеграции. То есть из 1С по заказу, вместо статуса "Оплачено" приходит статус "Предоплата", после статуса "Отсрочка". Исправлять это необходимо в рамках интеграции, а не триггера.
 
Vladimir
#7
Среда, 20.12.2017, 15:02
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Хорошо. Изменить статус, который приходит из 1с нельзя. Можно создать триггер: "Если статус "Отсрочка" меняется на "Предоплата" (из 1с), то менять статус на "Оплачено"? Или не отправлять письмо по триггеру "Предоплата".

Т.е. нужно, чтобы после оплаты отсрочки никаких писем клиент не получил или получил письмо отличное от того, которое он получает во время предоплаты (без отсрочки).
 
Вячеслав
#8
Среда, 20.12.2017, 17:42
Группа: Модераторы
Сообщений: 36
Статус: Оффлайн
В этом случае можно использовать параметр getOldValue(). 

changeSet.getOldValue("status").getCode() == "some-code"

some-code - символьный код статуса "Отсрочка". В условии проверяется что значение меняется с указанного статуса.
 
Vladimir
#9
Вторник, 26.12.2017, 15:00
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Не помогло. Мы там накрутили, наверное, когда поддержка нормально работала. Придется обратиться к интеграторам. Спасибо, Вячеслав.
 
Вячеслав
Вторник, 26.12.2017, 17:30
Группа: Модераторы
Сообщений: 36
Статус: Оффлайн
Цитата Vladimir ()
Не помогло. Мы там накрутили, наверное, когда поддержка нормально работала. Придется обратиться к интеграторам. Спасибо, Вячеслав.
Напишите на support@retailcrm.ru , возможно нам всё же удастся помочь Вам в разрешении данного вопроса.
 
Vladimir
Четверг, 28.12.2017, 15:45
Группа: Пользователи
Сообщений: 14
Статус: Оффлайн
Я уже писал. Теперь такие вопросы решаются за деньги.
 
stalno
Пятница, 29.12.2017, 15:47
Группа: Пользователи
Сообщений: 12
Статус: Оффлайн
Цитата Vladimir ()
Я уже писал. Теперь такие вопросы решаются за деньги.
    
Владимир добрый день.
Если останутся вопросы, пишите на artem@radis.by , решим любые проблемы с триггерами и прочим.
 
Форум » Валидация, триггеры и шаблоны » Примеры триггеров, обязательные триггеры, секретные разработки » Статус оплаты меняется не корректно
  • Страница 1 из 1
  • 1
Поиск: