0
Franchiser
гуру
25.09.18
✎
15:23
|
Могут ли быть проблемы, описанные ниже, в случае когда нужно обойти выборку, при этом если значение 1 поле (например, Контрагент) не заполнено, то в коде происходит создание нового Контрагента.
"Следует учитывать, что если в процессе обхода выборки данные изменяются (в данной сессии, или другими сессиями), то могут возникать такие ситуации, как получение данных удаленного объекта, получение в выборке одного объекта два раза, не попадание некоторых записей в выборку и т.д.
Это объясняется описанными выше технологическими особенностями работы динамической выборки. Например, после считывания первого блока записей выполнено изменение одного из объектов и в результате значения полей по которым упорядочена выборка изменились. Тогда эта запись может попасть в выборку повторно, если в результате изменения она стала в порядке следования позже, чем была раньше. Если в процессе выборки выполняемой одной сессией в другой сессии объект изменился и в результате изменений в порядке выборки он стал раньше, чем был до изменения, то при определенном совпадении по времени этих процессов, объект вообще не попадет в выборку. Например, пока выборка обходила товары на букву "А", товар "Бета" переименовали в "Альфа". В этом случае, он может не "успеть" попасть в часть выборки на букву "Б" и "опоздать" попасть в часть выборки на букву "А"."
|
|
3
Franchiser
гуру
25.09.18
✎
15:30
|
Ну что продолжать
Есть выборка:
Документ, Код Контрагента, ИНН, СсылкаНаКонтрагента
СсылкаНаКонтрагента может быть заполненная или нет, В процессе обхода выборки я создаю контрагентов, которые остутствуют.
Может быть в результате такой операции произойти что-то с выборкой: одна строка, которая уже была в выборке попасться повторно, или же какая-то строка вообще пропуститься? Существующие объекты я не меняю, но создаю новые.
|
|