Для нераспределенной я знаю как делать, вот так:
Попытка
НачатьТранзакцию();
Счетчик=0;
ВыборкаИзменений=ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель,ЗаписьСообщения.НомерСообщения);
Пока ВыборкаИзменений.Следующий() Цикл
Данные=ВыборкаИзменений.Получить();
Если НЕ НуженПереносДанных(Данные) Тогда
УдалениеДанных(Данные);
КонецЕсли;
ЗаписатьXML(ЗаписьXML,Данные);
Счетчик=Счетчик+1;
Если Счетчик % 500=0 Тогда
ЗафиксироватьТранзакцию();
НачатьТранзакцию();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
КонецПопытки;
А для распределнной не знаю как сделать: если объектов передавать 1000, а в команде ставить нужно меньше, чтобы оперативной памяти хватило для нормальной работы.
Вот в команде ставлю например 500, а как эта команда сделает передачу объектов за несколько транзакций?
НачатьТранзакцию();
Попытка
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения,500);
Исключение
ОтменитьТранзакцию();
КонецПопытки;
ЗафиксироватьТранзакцию();
Никак не пойму как сделать несколько транзакций для этой команды : ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения,500);
Сообщение отредактировал Vofka - 21.04.15, 10:07