Запись документа заказ клиента

1. ks8585 3 23.01.20 23:15 Сейчас в теме
Всем доброго дня. Не уверен , что получится описать проблему так, чтоб все поняли, но попробую.
Есть обработка. В событии при создании формы обработки на сервере происходит следующее:
1. Качается xml
2. Из него формируется массив структур. Каждая структура эти данные документа заказ.
3. У каждого заказа есть уникальный Ид.
4. Далее циклом обходится массив. Далее условие - если Нет заказа с таким Ид в базе, тогда создаём заказ, заполняем его данными и производим его запись.
5. После обработки xml в файл лога пишется строка: дата, и сколько заказов создано
6. Эта обработка вызывается через планировщик задач винды раз в пол часа.

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

Почему это случается? Прошу подсказать.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ks8585 3 23.01.20 23:20 Сейчас в теме
Реально не пойму почему такое может бвть, ведь по идее заказ может создаваться только один раз
3. acanta 23.01.20 23:22 Сейчас в теме
Рпхост не перезапускается случайно?
4. ks8585 3 24.01.20 07:26 Сейчас в теме
(3) пожалуйста, а поподробнее можешь написать?
5. maks_20 164 24.01.20 09:26 Сейчас в теме
В данном случае в качестве ИД выступает гуид объекта или у вас это какой-то отдельный реквизит в заказе?
vadim.semyonov.rzn; +1 Ответить
6. ks8585 3 24.01.20 14:19 Сейчас в теме
(5)в заказе добавил отдельный реквизит. Его использую в качестве ГУИДА.
7. maks_20 164 24.01.20 14:33 Сейчас в теме
(6) проверьте на соответствие ид из файла xml и ид в вашем реквизите, возможно у вас несоответствуют длина строки в реквизите с длиной в файле и строка записывается в реквизит не вся. Также интересует каким образом происходит поиск ранее сформированного документа - запросом по реквизиту или через НайтиПоРеквизиту? если запросом - используется ли конструкция Подобно или просто проверка на равенство?
8. ks8585 3 24.01.20 17:37 Сейчас в теме
(7)в xml Ид трёхзначные. В базе этот реквизит Число длиной 15.
Поиск по реквизиту идёт запросом.
И ещё - всегда, когда руками синкаю- проблем нет.это происходит только когда синк происходит путем запуска скрипта ( запуск обработки) через планировщик задач.
Тут же понимаете такое ощущение, что происходит 2 одновременные записи.
9. acanta 24.01.20 17:51 Сейчас в теме
Что в логах? Журнал регистрации, можно технологический журнал еще подключить. Возможно, два разных сеанса, например пользователь и фоновое задание читают один источник. Возможно, информация приходит повторно. Вообще поиск по реквизиту не так надежен как по номеру или коду.
Возможно есть смысл сделать технический справочник или регистр сведений с номерами заказов и ссылкой на объект. А запись в него данных и само создание заказов разнести на разные фоновые задания.
10. ks8585 3 24.01.20 17:57 Сейчас в теме
(9)можно попросить поподробнее по поводу журналов объяснить?
Ну обработка запускается всегда под одним и тем же пользователям.и это происходит не всегда. В рандомные моменты
11. acanta 24.01.20 17:59 Сейчас в теме
В конфигураторе можно включить режим максимальной детализации журнала регистрации. Два объекта создаются с одним номером всегда подряд или между ними что то есть.
В обработку можно добавить записи в журнал регистрации для отладки.
13. ks8585 3 24.01.20 23:39 Сейчас в теме
(11)с одним Ид. Стандартный реквизит номер документа у них разный
17. ks8585 3 25.01.20 18:39 Сейчас в теме
(11)посмотрел по журналу регистрации. Проверил то время, когда как раз и создалось 2 документа. В журнале регистрации 2 записи о начале сеанса ( 2 разных ID сеанса)
18. acanta 25.01.20 18:49 Сейчас в теме
(17) в таком случае почему только один раз дубль создается, в источнике загрузки всего один документ?
19. ks8585 3 25.01.20 20:48 Сейчас в теме
(18)нет нет.когда происходит такая ситуация - дублируются все документы, имеющиеся в источнике загрузки.
20. acanta 25.01.20 20:59 Сейчас в теме
(19) можно программно переименовать файл-источник перед загрузкой и после нее или использовать разные каталоги.
21. ks8585 3 25.01.20 21:49 Сейчас в теме
(20)вот тут поподробнее пожалуйста
12. acanta 24.01.20 21:07 Сейчас в теме
Кроме того, возможно две записи одного документа заказ в журнале-регистре сведений, если это он.
15. ks8585 3 25.01.20 09:31 Сейчас в теме
(12)вот тут к сожалению тоже не понял
14. пользователь 25.01.20 00:15
Сообщение было скрыто модератором.
...
16. пользователь 25.01.20 09:32
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот