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

Дублируется номер заказа при назначении переменной workflow.number - порядковый номер заказа

Добрый день!
Есть такая проблема, в процессе на этапе В работе настроено действие назначения Номера процесса скрин 1 (доп поля процесса), где переменная [workflow.number] - порядковый номер заказ в текущем бизнес-процессе скрин 2 http://joxi.ru/DrlWGzVuGJVkwA, то есть номер должен быть уникален. Но возникают ситуации, когда один номер назначается нескольким заказам, это тянет за собой проблему связки с 1с (передаем по апи данные, а 1с блокирует заказы с одним номером).
Примеры
https://crm.ohrana.ua/admin/customorder/zakaz-klienta/943316/edit/
https://crm.ohrana.ua/admin/customorder/zakaz-klienta/943379/edit/
Как видно разница во времени перехода на этап В работе 4 секунды

еще пример
https://crm.ohrana.ua/admin/customorder/zakaz-klienta/567635/edit/
https://crm.ohrana.ua/admin/customorder/zakaz-klienta/567620/edit/ тут такжен взят в работу с разницей в 5 секунд

Действия этапа не меняем уже давно, просьба проверить в чем причина и поправить. Заранее спасибо

Ответы:

дописывайте еще id процесса и этой проблемы не будет , да и не проблема это в целом как бы

суть в том что пока процесс не будет полностью сохранен в БД номер не считается уникальным поэтому когда у вас настроена пачка действий и операций на этапах и переключение идет несколько секунд вы будете и дальше натыкаться на подобное

поэтому мой вам совет добавить id
25.06.2021, 10:24

Добый день.
Для меня это проблемма критичная. Ид процесса слишком длинное и использовать не удобно.
Классное действие для генерации уникального номера. Игорь, давайте придумаем такую же классную реализацию. Ведь, наверняка, можно поменять логику, чтоб не генерирровались одинаковые уникальные номера.
01.07.2021, 09:41


Устименко Игорь

OneBox production писал/а:
дописывайте еще id процесса и этой проблемы не будет , да и не проблема это в целом как бы

суть в том что пока процесс не будет полностью сохранен в БД номер не считается уникальным поэтому когда у вас настроена пачка действий и операций на этапах и переключение идет несколько секунд вы будете и дальше натыкаться на подобное

поэтому мой вам совет добавить id

Игорь, прошу найти решение. Готовы на платную доработку
07.07.2021, 11:02


Пташкин Сергей писал/а:
Добый день.
Для меня это проблемма критичная. Ид процесса слишком длинное и использовать не удобно.
Классное действие для генерации уникального номера. Игорь, давайте придумаем такую же классную реализацию. Ведь, наверняка, можно поменять логику, чтоб не генерирровались одинаковые уникальные номера.

да классное решение это:

Перейти на Onebox OS
и увеличить мощность сервера

там обработка данных ускорена в разы - поэтому шанс попасть на одновременное срабатывание практически нулевой
13.07.2021, 17:58

Спасибо. Обязательно воспользуемся. Но этот метод улучшает, но не решает полностью проблемму. Ид процесса у вас же не задваевается. Значит можно придумать и генерацию уникального кода по шаблону.
19.07.2021, 09:41

Игорь, но неужели нельзя сделать нормальную генерацию УНИКАЛЬНОГО номера? Даже если нельзя - напишите об этом прямо и закроем тему.
04.08.2021, 15:30


Пташкин Сергей писал/а:
Игорь, но неужели нельзя сделать нормальную генерацию УНИКАЛЬНОГО номера? Даже если нельзя - напишите об этом прямо и закроем тему.

я же выше ответил

у вас варианты либо использовать id

либо переходить на OS
05.08.2021, 11:09

Задача - генерировать уникальный номер.
Использовать ид - не подходит. И это не решение задачи
Использование ОС не решает проблему, а снижает вероятность, но не исключает ее.
Поэтому ответа выше нет. Если бы вы написали "задача не решаема, ищите альтернативы." я бы не задавал ещ 10 вопросов.
А выходит так, что у вас действие "генерации порядкового номера" глючит, но в Ваших ответах я слышу, мол в Боксе все правильно, это я дурак.
Извините, Игорь.
Мы можем на следующем этапе проверять уникальность действием "Проверить наличие значения дополнительного поля текущего процесса в других процессах"
и в случае дубля выдвавать ошибку. Может можно его доработать, чтоб в случая дубля генерировать повторно значение?
И, случайно, если для доп поля, в котором мы генерируем уникальный номер, включить настройку "только уникальные значения" - это нам не поможет?
05.08.2021, 13:37


Пташкин Сергей писал/а:
Задача - генерировать уникальный номер.
Использовать ид - не подходит. И это не решение задачи
Использование ОС не решает проблему, а снижает вероятность, но не исключает ее.
Поэтому ответа выше нет. Если бы вы написали "задача не решаема, ищите альтернативы." я бы не задавал ещ 10 вопросов.
А выходит так, что у вас действие "генерации порядкового номера" глючит, но в Ваших ответах я слышу, мол в Боксе все правильно, это я дурак.
Извините, Игорь.
Мы можем на следующем этапе проверять уникальность действием "Проверить наличие значения дополнительного поля текущего процесса в других процессах"
и в случае дубля выдвавать ошибку. Может можно его доработать, чтоб в случая дубля генерировать повторно значение?
И, случайно, если для доп поля, в котором мы генерируем уникальный номер, включить настройку "только уникальные значения" - это нам не поможет?

нет вам это не поможет

если вас не устраивает id - то можете доработать переменную текущего времени в миллисекундах еще либо любой другой уникальный идентификатор
15.08.2021, 20:09

Спасибо, Игорь. Пока остановились на проверке уникальности, и в случае наличия процесса с таким же номером - генерим повторно. Такой метод полностью не исключает вероятность дубля, но снижает в разы. Наблюдаем.
18.08.2021, 18:57

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