Всем доброго дня. Не уверен , что получится описать проблему так, чтоб все поняли, но попробую.
Есть обработка. В событии при создании формы обработки на сервере происходит следующее:
1. Качается xml
2. Из него формируется массив структур. Каждая структура эти данные документа заказ.
3. У каждого заказа есть уникальный Ид.
4. Далее циклом обходится массив. Далее условие - если Нет заказа с таким Ид в базе, тогда создаём заказ, заполняем его данными и производим его запись.
5. После обработки xml в файл лога пишется строка: дата, и сколько заказов создано
6. Эта обработка вызывается через планировщик задач винды раз в пол часа.
Теперь о проблеме:
Как то раз заметил, что создалось при при импорте 2 заказа с одинаковым Ид. ( Несмотря на проверку)
Но у них в реквизите ДАТА - одно и тоже время.
Анализировал лог - в течении дня часто бывают ситуации, когда в логах появляются 2 строчки с одинаковой датой и количеством созданных заказов.
Почему это случается? Прошу подсказать.
Есть обработка. В событии при создании формы обработки на сервере происходит следующее:
1. Качается xml
2. Из него формируется массив структур. Каждая структура эти данные документа заказ.
3. У каждого заказа есть уникальный Ид.
4. Далее циклом обходится массив. Далее условие - если Нет заказа с таким Ид в базе, тогда создаём заказ, заполняем его данными и производим его запись.
5. После обработки xml в файл лога пишется строка: дата, и сколько заказов создано
6. Эта обработка вызывается через планировщик задач винды раз в пол часа.
Теперь о проблеме:
Как то раз заметил, что создалось при при импорте 2 заказа с одинаковым Ид. ( Несмотря на проверку)
Но у них в реквизите ДАТА - одно и тоже время.
Анализировал лог - в течении дня часто бывают ситуации, когда в логах появляются 2 строчки с одинаковой датой и количеством созданных заказов.
Почему это случается? Прошу подсказать.
По теме из базы знаний
- Разработка и сценарное тестирование с Vanessa-ADD. Установка инструментов. Запись действий пользователя и выполнение сценариев
- Выгрузка заказов из 1С в MEASOFT (ранее "Курьерская служба 2008") [РАСШИРЕНИЕ]
- Перенос резервов по заказам клиентов 1С:УПП -> ERP 2.5.7
- Загрузка данных в документ Заказ клиента из Microsoft Excel (ERP 2, КА 2, УТ 11)
- Отгрузка заказа клиента в 1 клик для УТ 11.5, КА 2.5, ERP 2.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) проверьте на соответствие ид из файла xml и ид в вашем реквизите, возможно у вас несоответствуют длина строки в реквизите с длиной в файле и строка записывается в реквизит не вся. Также интересует каким образом происходит поиск ранее сформированного документа - запросом по реквизиту или через НайтиПоРеквизиту? если запросом - используется ли конструкция Подобно или просто проверка на равенство?
(7)в xml Ид трёхзначные. В базе этот реквизит Число длиной 15.
Поиск по реквизиту идёт запросом.
И ещё - всегда, когда руками синкаю- проблем нет.это происходит только когда синк происходит путем запуска скрипта ( запуск обработки) через планировщик задач.
Тут же понимаете такое ощущение, что происходит 2 одновременные записи.
Поиск по реквизиту идёт запросом.
И ещё - всегда, когда руками синкаю- проблем нет.это происходит только когда синк происходит путем запуска скрипта ( запуск обработки) через планировщик задач.
Тут же понимаете такое ощущение, что происходит 2 одновременные записи.
Что в логах? Журнал регистрации, можно технологический журнал еще подключить. Возможно, два разных сеанса, например пользователь и фоновое задание читают один источник. Возможно, информация приходит повторно. Вообще поиск по реквизиту не так надежен как по номеру или коду.
Возможно есть смысл сделать технический справочник или регистр сведений с номерами заказов и ссылкой на объект. А запись в него данных и само создание заказов разнести на разные фоновые задания.
Возможно есть смысл сделать технический справочник или регистр сведений с номерами заказов и ссылкой на объект. А запись в него данных и само создание заказов разнести на разные фоновые задания.
В конфигураторе можно включить режим максимальной детализации журнала регистрации. Два объекта создаются с одним номером всегда подряд или между ними что то есть.
В обработку можно добавить записи в журнал регистрации для отладки.
В обработку можно добавить записи в журнал регистрации для отладки.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот