|
v8: Как выбрать только измененные данные, а не полные данные по узлу |
☑ |
0
Mystical
09.04.13
✎
12:33
|
Пишу так, но все равно выгрушаются все((((
+ Code
Состав = Узел.Метаданные().Состав;
Для каждого ЭлементаСостава Из Состав Цикл
ПланыОбмена.ЗарегистрироватьИзменения(Узел, ЭлементаСостава.Метаданные);
КонецЦикла;
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(Узел,Узел.НомерОтправленного);
Пока ВыборкаИзменений.Следующий() Цикл
Данные = ВыборкаИзменений.Получить();
Если ТипЗнч(Данные) = Тип("СправочникОбъект.Контрагенты") Тогда
Сч1=Сч1+1;
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.ДоговорыКонтрагентов") Тогда
Сч2=Сч2+1;
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.БанковскиеСчета") Тогда
Сч3=Сч3+1;
Иначе
Сч4=Сч4+1
КонецЕсли;
КонецЦикла;
ПланыОбмена.УдалитьРегистрациюИзменений(Узел,Узел.НомерОтправленного);
УзелОбъект = Узел.ПолучитьОбъект();
//УзелОбъект.НомерОтправленного =УзелОбъект.НомерОтправленного+1;
УзелОбъект.НомерОтправленного =УзелОбъект.НомерОтправленного+1;
УзелОбъект.Записать();
|
|
1
Mystical
09.04.13
✎
12:39
|
помогите плиз
|
|
2
Serg_1960
09.04.13
✎
12:46
|
А чем именно тебе помочь? Ты ведь сам регистрируешь изменения для всех данных, входящих в состав обмена.
"ПланыОбмена.ЗарегистрироватьИзменения(Узел, ЭлементаСостава.Метаданные)" - читаю СП:
"...Если указан объект метаданных, то регистрация изменений будет произведена для всех элементов данных, относящихся к указанному объекту метаданных..."
|
|
3
Mystical
09.04.13
✎
12:51
|
(2) огрромное пасибо... туплю
|
|
4
Serg_1960
09.04.13
✎
13:04
|
Ммм... кажется я понял.
Перед выборкой изменений не нужно делать каких-либо "специальных" действий. И изменения, если они есть, уже "сами собой" зарегистрировались везде где нужно - платформа и типовая конфигурация зарегистрировали изменения в момент записи объектов, входящих в состав плана обмена.
|
|