1b.app
Скопирована ссылка -

Не срабатывает действие "Вычислить и записать значение в дополнительное поле" в некоторых случаях

Добрый вечер.
Обнаружили один крайне непрятный баг.
Если из хорошопа адрес клиента пришел с указанием пункта приема-выдачи и сам этот пункт не прописался в отделение (в настройках новой почты), то действие не срабатывает. Из-за этого у нас несколько посылок ушли без наложенного платежа.

Вот пример https://knz.market/admin/customorder/order/19649/edit/

В процедуре "Просчет наложки", в действиях при редактировании процесса стоит действие по просчету значения поля "Контроль оплаты"
В заказе (импортированном из хорошопа интеграцией) стоит адрес клиента "Горностайполь, Пункт приема-выдачи (до 30 кг): ул. Чернобыльская, 16г", при этом сам пункт не прописан в отделение
Поле "Контроль оплаты" при сохранении и смене этапов не заполняется

Считаю что проблема именно в том что не заполнен нормально адрес в настройках НП, т.к. в другом таком же заказе я руками выбрала тот же город в поле города и тот же пункт приема-выдачи в поле отделение и сразу после этого в этом заказе поле контроля оплаты заполнилось. Можете попробовать на заказе в примере выше или на вот этом https://knz.market/admin/customorder/order/19636/edit/

Просьба исправить баг как можно скорее!!!

Ответы:

Здравствуйте.
Уточните пожалуйста - ваша проблема в том, что у вас при импорте заказов с Хорошоп не заполнились данные для создания ТТН Новой почты? Если да - уточните где именно у вас реализован такой функционал (как минимум в действии импорта заказов с Хорошоп я таковых настроек/базового функционала не наблюдаю)
03.09.2021, 16:35

Проблема в том, что в тех заказах (где не заполняются нормально данные для ТТН при импорте) не срабатывает процедура с действиями просчета наложки.

Проверьте по моим ссылкам. При сохранении должно заполняться поле "Контроль оплаты", нужное действие стоит на процедуре срабатывающей при каждом редактировании, я описала это в первом посте.
В заказах где данные заполнились верно, т.е. город и отделение прописались в свои поля, поле заполняется. Если попробуете его стереть и сохранить, оно заполнится заново (как и должно быть). Вот пример нормального заказа https://i.imgur.com/6ltwkiT/ https://knz.market/admin/customorder/order/20050/edit/
В заказах, где адрес не распарсился на город и отделение просчет не срабатывает. Вот пример такого заказа https://i.imgur.com/Xcaqd03/ https://knz.market/admin/customorder/order/19649/edit/

Данные адреса для ТТН заполняются автоматически, по крайней мере отдельно мы это не настраивали. Подозреваю у вас это происходит при импорте заказов. Парсер разбирает адрес на город и отделение, а в случае с пунктами приема-выдачи (это не совсем отделения) разбивка не происходит (возможно не хватает регулярок). Для создания самой ТТН это не суть важно, ТТН-ки и так нормально создаются, а вот процедуры БП не работают и это очень плохо.
Как оно связано хз. Могу только предположить, что это из-за того что в поле города в настройках новой почты указан полный адрес. Поле города это выпадающий список с городами и такого города, как например "Горностайполь, Пункт приема-выдачи (до 30 кг): ул. Чернобыльская, 16г", там нет. Из-за того что в поле записано значение не соответствующее ни одному из значений выпадающего списка, сыпется ошибка и она же не дает сработать действиям следующим по очереди. Но это только предположения.
Как я писала выше, если прописать нормально в заказе город и отделение (выбрать из списка) просчет начинает работать, т.е. причина точно в том, что в поле города указан полный адрес.
03.09.2021, 17:38


Парсер разбирает адрес на город и отделение, а в случае с пунктами приема-выдачи (это не совсем отделения) разбивка не происходит (возможно не хватает регулярок).

Тут вы правы. Мы год назад просили НП стандартизировать к единому формату их адреса - ну собственно как есть - так и осталось.
Мы можем доработать регулярные выражения под данный формат адресов (пунктов выдачи) по всей системе - это займёт порядка 2 часов.
06.09.2021, 14:16


Тындык Максим Вадимович OneBox production
Администратор писал/а:

Мы можем доработать регулярные выражения под данный формат адресов (пунктов выдачи) по всей системе - это займёт порядка 2 часов.


Это не самое важное, и можно вообще не трогать. Исправьте лучше баг из-за которого в заказах с такими адресами не срабатывает процедура с действием "Вычислить и записать значение в дополнительное поле".
06.09.2021, 14:30


Исправьте лучше баг из-за которого в заказах с такими адресами не срабатывает процедура с действием "Вычислить и записать значение в дополнительное поле".

Там нет никакого бага - у вас первое действие "Посчитать стоимость доставки ТТН Новая почта " на процедуре https://knz.market/admin/shop/workflow/8/procedure/395/?status=2 выбрасывает ошибку "Не удалось найти город получателя. Заполните блок параметров Новой почты в процессе", то есть следующие действия не запускаются.
Но так как не указано в процедуре выкидывать ошибку в интерфейс - просто вы видите что ничего не посчитало.

Решение довольно простое - поставить действие просчета вашего дополнительного поля выше действия НП.
06.09.2021, 14:38

Ого, новенькое в опциях. Спасибо!
Уточните еще пожалуйста такой нюанс. При включении опции в процедуре выкидывать ошибку в интерфейс бокс не будет переводить этапы (при ручном переключении) или выкинет ошибку и все-равно переведет?
06.09.2021, 14:50


При включении опции в процедуре выкидывать ошибку в интерфейс бокс не будет переводить этапы (при ручном переключении) или выкинет ошибку и все-равно переведет?

При переключении этапа запустятся процедуры - выкинет ошибку - статус не переключиться.
06.09.2021, 15:13

Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации. Войти и написать комментарий