Имя: Пароль:
1C
1С v8
ПланыОбмена.ВыбратьИзменения с передачей массива объектов, порядок их следования
0 TormozIT
 
гуру
06.03.12
13:05
Потребовалось выгружать изменения в строго определенном порядке.

Готовлю массив объектов и передаю его в 3-й параметр метода ПланыОбмена.ВыбратьИзменения. Но в документации не нашел упоминания, в каком порядке будут выбираться объекты. Эксперименты показали, что вроде бы он совпадает с порядком объектов в массиве. Но мне нужна уверенность.
1 Maxus43
 
06.03.12
13:09
уверенность даст только Нуралиев, раз не описано в документации... тут никто платформу изнутри не ковырял
2 TormozIT
 
гуру
07.03.12
11:08
1С сообщил

"Совпадение порядка следует считать случайностью. В общем случае ничего не гарантируется. Да и при разработке задача обеспечения заданного извне порядка в выборке не ставилась."

Еще варианты будут?
3 TormozIT
 
гуру
07.03.12
18:38
На партнерском форуме предложили следующее решение.

ПланыОбмена.ВыбратьИзменения(Узел, МассивКлючейОбъектов);
Для каждого КлючОбъекта Из МассивКлючейОбъектов Цикл
   Объект = ПолучитьОбъектПоКлючуДляВыгрузки(КлючОбъекта, Узел);
   ЗаписьXML.Записать(Объект);
КонецЦикла;

Правда тут есть тонкий момент с возможностью отсутствия изменения по какому то объекту. Если на вход подаются только объекты, по которым гарантировано есть изменения или наличие изменения объекта не важно, то способ полностью решает задачу.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.