Имя: Пароль:
1C
1С v8
Корректность обхода выборки с созданием недостающих элементов справочника
0 Franchiser
 
гуру
25.09.18
15:23
Могут ли быть проблемы, описанные ниже, в случае когда нужно обойти выборку, при этом если значение 1 поле (например, Контрагент) не заполнено, то в коде происходит создание нового Контрагента.

"Следует учитывать, что если в процессе обхода выборки данные изменяются (в данной сессии, или другими сессиями), то могут возникать такие ситуации, как получение данных удаленного объекта, получение в выборке одного объекта два раза, не попадание некоторых записей в выборку и т.д.

Это объясняется описанными выше технологическими особенностями работы динамической выборки. Например, после считывания первого блока записей выполнено изменение одного из объектов и в результате значения полей по которым упорядочена выборка изменились. Тогда эта запись может попасть в выборку повторно, если в результате изменения она стала в порядке следования позже, чем была раньше. Если в процессе выборки выполняемой одной сессией в другой сессии объект изменился и в результате изменений в порядке выборки он стал раньше, чем был до изменения, то при определенном совпадении по времени этих процессов, объект вообще не попадет в выборку. Например, пока выборка обходила товары на букву "А", товар "Бета" переименовали в "Альфа". В этом случае, он может не "успеть" попасть в часть выборки на букву "Б" и "опоздать" попасть в часть выборки на букву "А"." https://its.1c.ru/db/metod8dev#content:2703:hdoc
1 PR
 
25.09.18
15:25
Заинтриговал
Продолжай
2 dmt
 
25.09.18
15:26
(0) обходи выборку из результатов запроса
3 Franchiser
 
гуру
25.09.18
15:30
Ну что продолжать
Есть выборка:
Документ, Код Контрагента,  ИНН, СсылкаНаКонтрагента

СсылкаНаКонтрагента может быть заполненная или нет, В процессе обхода выборки я создаю контрагентов, которые остутствуют.

Может быть в результате такой операции произойти что-то с выборкой: одна строка, которая уже была в выборке попасться повторно, или же какая-то строка вообще пропуститься? Существующие объекты я не меняю, но создаю новые.
4 Franchiser
 
гуру
25.09.18
15:32
(2) а я что делаю? обхожу выборку из результатов запроса.
5 Franchiser
 
гуру
25.09.18
15:33
Правильно я понимаю, что к запросам это отношение не имеет, а только к менеджерам прикладных объектов?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший