Имя: Пароль:
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.Записать(Объект);
КонецЦикла;

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