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

Не корректно генерятся значения по формуле [cdatetime|y]-[workflow.number]

Есть вопросы по работе системы?
Создайте топик на форуме и вам помогут в решении! Создать топик на форуме
Добрый день. Появилась проблема с генерацией значение в доп поле, генерим по переменной [cdatetime|y]-[workflow.number], действием Заполнить поле процесса или контакта , то есть номера должны формироваться подряд в пределах одного процесса, и совсем недавно так и было, вот список заказов недельной давности http://joxi.ru/Q2KZbe7HyZ7Ram, а сейчас генерятся с пропусками значений http://joxi.ru/YmE5byDuB5kxBm. Прошу проверить и поправить

Ответы:

проект https://crm.ohrana.ua/
19.10.2021, 11:48

Случайно процессы эти не удалены, которые пропущены?
Ибо такое возможно когда номер по [workflow.number] уже был назначен процессу и дальше использовался следующий (а процессы был удалён/откатило из-за ошибки, которая была не в рамках назначения номера).
19.10.2021, 18:30

точечно процессы могут удаляться, но не в таком количестве, удаляется 1 из десяти, а тут пробелы везде. Вот только что созданные заказы удалить в это время не мог никто
19.10.2021, 23:16


Шатохіна Ірина писал/а:
точечно процессы могут удаляться, но не в таком количестве, удаляется 1 из десяти, а тут пробелы везде. Вот только что созданные заказы удалить в это время не мог никто

повторные переходы на этап с настроенным действием?
20.10.2021, 17:48


Тындык Максим Вадимович

OneBox production

Администратор писал/а:

Шатохіна Ірина писал/а:
точечно процессы могут удаляться, но не в таком количестве, удаляется 1 из десяти, а тут пробелы везде. Вот только что созданные заказы удалить в это время не мог никто

повторные переходы на этап с настроенным действием?

Доброе утро. Значение назначаем и больше не перетираем. Единственный момент, где можем изменить номер заказа, если это значение задублировалось, вот настройки , то есть если номер заказа дважды сгенерился с одним значением мы его меняем.
Вот утренние http://joxi.ru/12MRbejTw54XMA, их пока никто не трогал, создались по апи и все, по истории заказа после которого пропуск в 10 значений номер назначился и не менялся. Следующий заказ тоже назначилось значение и не менялось
21.10.2021, 09:12

Суханіцький Андрій OneBox CORP
OneBox Corp - Інтегратор
Именная лицензия
Я думаю, проблема в том, что при когда создаётся процесс, если в ответе ошибка по первому действию, то номер всё равно генерится, но никуда не аписывается. Из-за этого и пропуски. Или даже если жто не стартовый, то всё равно при переходе если получаете ошибку, номер генерируется, а не записывается.

Такая же проблема наблюдается в других функциях
21.10.2021, 11:43


Суханицкий Андрей

Интегратор

Integrator CRM писал/а:
Я думаю, проблема в том, что при когда создаётся процесс, если в ответе ошибка по первому действию, то номер всё равно генерится, но никуда не аписывается. Из-за этого и пропуски. Или даже если жто не стартовый, то всё равно при переходе если получаете ошибку, номер генерируется, а не записывается.

Такая же проблема наблюдается в других функциях

Андрей, согласна что это может быть так, но почему пропуски в 10 значений? Не думаю что возможны 10 ошибок апи подряд или при замене дубля 10 раз перегенерить номер
Если дубль - перегенерили и пропуск в одну цифру - что есть ок. Так же при создании по апи, есть попытка создания - ошибка, пропуск в один/два номера, но не в 10
21.10.2021, 12:25

Суханіцький Андрій OneBox CORP
OneBox Corp - Інтегратор
Именная лицензия

Шатохіна Ірина писал/а:

Суханицкий Андрей

Интегратор

Integrator CRM писал/а:
Я думаю, проблема в том, что при когда создаётся процесс, если в ответе ошибка по первому действию, то номер всё равно генерится, но никуда не аписывается. Из-за этого и пропуски. Или даже если жто не стартовый, то всё равно при переходе если получаете ошибку, номер генерируется, а не записывается.

Такая же проблема наблюдается в других функциях

Андрей, согласна что это может быть так, но почему пропуски в 10 значений? Не думаю что возможны 10 ошибок апи подряд или при замене дубля 10 раз перегенерить номер
Если дубль - перегенерили и пропуск в одну цифру - что есть ок. Так же при создании по апи, есть попытка создания - ошибка, пропуск в один/два номера, но не в 10

Может, ещё как, вот как раз когда у вас заказ загружается с какого-нибудь сайта или по апи.

Попробуйте разделить эти действия, отдельно проверку, и отдельно генерацию номера
21.10.2021, 12:49


Суханицкий Андрей

Интегратор

Integrator CRM писал/а:
Попробуйте разделить эти действия, отдельно проверку, и отдельно генерацию номера

не поняла про какую проверку речь? Если Вы про проверку на дубли так она на ручном этапе, то есть на стартовом только генерация номера, а далее когда заказ берут в работу (руками кликает сотрудник) идет проверка на дубли и обновление, если дубль найден

Кроме того настройки такие (генерация номера и проверка на дубли) выполнены давно, а проблема с пробелами в номерации появилась только сейчас

Касательно отправки апи запросов и что там с ответами у админа запросила, пока жду
21.10.2021, 13:18

Суханіцький Андрій OneBox CORP
OneBox Corp - Інтегратор
Именная лицензия
там разница в 100+ процессов между этими заказами
Если посмотреть, то предыдущие идут по порядку, то есть это не закономерность.
А темперь просто отфильтруйте удаленные заказы и посмотрите сколько их между этими значениями кода.
21.10.2021, 16:13

Суханіцький Андрій OneBox CORP
OneBox Corp - Інтегратор
Именная лицензия
Вот ещё одна мысль для размышлений. У вас отключена предварительная страница создания заказа? Если да, то даже когда вы случайно открыли страницу создания заказа, то он уже создан, но пока вы ео не сохраните, он будет удалён.
21.10.2021, 16:14


Суханицкий Андрей

Интегратор

Integrator CRM писал/а:
А темперь просто отфильтруйте удаленные заказы и посмотрите сколько их между этими значениями кода.


среди удаленных нету ни одного между этими ид процессов

а при создании процесса и блокировке создания (к примеру, ошибка апи) сам процесс не созздается, а действия стартового успевают отработать?
21.10.2021, 16:26

Суханіцький Андрій OneBox CORP
OneBox Corp - Інтегратор
Именная лицензия

Шатохіна Ірина писал/а:
а при создании процесса и блокировке создания (к примеру, ошибка апи) сам процесс не созздается, а действия стартового успевают отработать?

под него просто может зарезервировать номер, так часто бывает с импортом заказов с других сервисов, если при создании возникает ошибка. Я думаю, что здесь так же.
21.10.2021, 16:38


Шатохіна Ірина писал/а:
а при создании процесса и блокировке создания (к примеру, ошибка апи) сам процесс не созздается, а действия стартового успевают отработать?

если в REST API будет ошибка - результаты действий откатит (кроме физических манипуляций с файловой системой)
хотя могут быть исключения из-за конфликтов действий

на самом деле вариантов может быть несколько:
1. повторные формирования номера
2. смена БП с дальнейшей сменой номера
3. удаленные процессы
и т.п.

В данном случае хотелось бы понять после выполнения каких действий номер уже использован в системе, но процесса с ним нет (кудой создается процесс).
21.10.2021, 16:42

Максим, вышеуказанные процессы созданы ночью/утром только по АПИ, руками с ними не успели ничего сделать. Настройки выполнены так. Методом order add создаем процесс на этапе Заполняется https://crm.ohrana.ua/admin/shop/workflowstatus/367/action/new/, тут действием назначается номер. Далее два варианта событий, или заказ дозаполняется клиентом на сайте и в бокс приходит апдейт процесса со сменой этапа на Заказ с сайта (номер заказа при этом не меняется, действий на этапе связанных с этим полем нету), или через 5 мин этап процесса в Боксе переключается на этап Заказ с сайта (тот же этап, то есть действия с доп полем Номер заказа нету).
То есть, при создании по апи значения уже с пробелами, есть предположение, что при попытке создания по апи и получения ошибки (не получения ответа) действия стартового отрабатывают и из-за этого пробелы
21.10.2021, 17:00


Шатохіна Ірина писал/а:
То есть, при создании по апи значения уже с пробелами, есть предположение, что при попытке создания по апи и получения ошибки (не получения ответа) действия стартового отрабатывают и из-за этого пробелы

Есть примеры запросов, по которым возникает ошибка и номер итерируется безвозвратно?
22.10.2021, 16:01

Доброе утро. Все таки при отправке запроса на создание заказа и получении ошибки номер генерится, проверено так:
Созданы заказы через сайт, то есть в бокс пришли по апи. После создания первого 21-107352 заказа с сайта, отправляю запрос на создание заказа
https://crm.ohrana.ua/api/orders/add/?login=ЛОГ&password=ПАР&clientphone...
Учитывая, что такой внешний ид уже есть в боксе - получаю ошибку http://joxi.ru/eAOObe1f6B0yKA. Создаю второй заказ с сайта - в бокс приходит заказ с номером 21-107354, то есть один номер пропущен.
Опять отправляю вышеуказанный запрос на создание заказа с тем же внешним ид три раза подряд, после опять создаю заказ с сайта и в Боксе создается 21-107357, то есть три пропуска
Просьба поправить это
26.10.2021, 09:57


Шатохіна Ірина писал/а:
Учитывая, что такой внешний ид уже есть в боксе - получаю ошибку http://joxi.ru/eAOObe1f6B0yKA.

Эту ошибку выбрасывает ещё до попытки создания процесса, собственно там нет запуска действий...
Даже если бы ошибка была во время создания процесса - всё это происходит в рамках транзакции, данные бы откатило...

Дайте пожалуйста ссылку на контакт, под чьи-ми доступами к REST API отправляете запрос - я проверю лично и попробую разобраться откуда проблема.
26.10.2021, 17:03


Тындык Максим Вадимович

OneBox production

Администратор писал/а:
Эту ошибку выбрасывает ещё до попытки создания процесса, собственно там нет запуска действий...
Даже если бы ошибка была во время создания процесса - всё это происходит в рамках транзакции, данные бы откатило...

это и пугает


Тындык Максим Вадимович

OneBox production

Администратор писал/а:
Дайте пожалуйста ссылку на контакт, под чьи-ми доступами к REST API отправляете запрос - я проверю лично и попробую разобраться откуда проблема.

под доступами этого сотрудника запускаем https://crm.ohrana.ua/admin/shop/users/75068/
Спасибо
26.10.2021, 17:22


Шатохіна Ірина писал/а:
под доступами этого сотрудника запускаем https://crm.ohrana.ua/admin/shop/users/75068/

Исходный номер 108750
Делаю 10 запросов (указанных выше), на каждый получаю ошибку {"result":"fail","errors":["Order is already!"],"errorText":false}
Номер остается 108750

Давайте поступим иначе - я добавил логирование в указанном действии в месте перезаписи номера - укажите начиная с текущего момента какой номер будет пропущен - я проверю по какому процессу и кудой он записывался.
На момент добавления логов номер был 108757 по БП=16
27.10.2021, 17:16

Доброе утро. Пропуски между всеми значениями после указанного Вами , к примеру, заказ 21-108764 и за ним 21-108770
28.10.2021, 09:22


Шатохіна Ірина писал/а:
Доброе утро. Пропуски между всеми значениями после указанного Вами , к примеру, заказ 21-108764 и за ним 21-108770

Вроде как обнаружил причину ошибки.
Протестируйте, всё ли ОК?
28.10.2021, 17:03

спасибо отслеживаем, отпишу
28.10.2021, 17:14

Спасайте, теперь такое и перевыдать номер я не могу, он не меняется
28.10.2021, 17:20

в процедуре при клике действие https://crm.ohrana.ua/admin/shop/workflow/16/procedure/619/?status=0
процес https://crm.ohrana.ua/admin/customorder/zakaz-klienta/2361886/edit/ даже очистила поле но
теперь я не могу вообще никакое значение в это поле записать, просьба поправить работа остановилась
28.10.2021, 17:23

Переделал логику работы действия - теперь проверка заполненности полей происходит до замены переменных в формуле.
Проверьте, решилась ваша проблема?
01.11.2021, 14:46

Максим, добрый день
Все равно пробелы повторяются ,
02.11.2021, 13:10

Всё, отловил конфликт в логике этого действия полностью.
Проверил, повторяться не должно с данным действием.
02.11.2021, 17:02

Пока все отлично, сегодня отслеживаю до конца дня, и если все ок - закрою
04.11.2021, 10:14

все отлично, закрываю
08.11.2021, 16:27

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