Цитата: baggio ➤ 1. остатки принимаются более 10 минут если стоит запраштвать А и Б
2. Если в этот момент сделать перемещение - то перемещаются только позиции по которым получены А и Б.
3. Прием справок А и Б у меня вчера на одном объекте занял 1.5 часа.
Описываю логику приёма остатков, все остатки пишутся в базу, если стоит галка запроса справок, то формируется список идентификаторов справок в обычном массиве в оперативной памяти без обращения к базе для ускорения работы. После того, как остатки записаны в базу, а это 10-30 секунд в зависимости от размера файла (можно узнать точное время, если снять галку запрос справок А/Б) начинается запрос справок из этого массива, только тех, которых нет в базе, вот эта операция идёт долго, если база пустая, т.к. УТМ один запрос обрабатывает 1-3 секунды, а справок много.
Перемещение делается обычным insert в таблицу перемещения данных по select из таблицы остатков. В таблице остатков уже есть все данные через 10-30 секунд. Запрос справок в момент создания перемещения может идти, это не мешает процессу создания перемещения, есть ли ответ на справки А/Б наплевать, при перемещении мне не нужны справки, нужны только идентификаторы, которые и так уже есть в данных об остатках
Сделай принятие остатков и через 30 секунд начни делать перемещение, покажи какие алккоды не добавились в перемещение из этих остатков.