Запрос к регистру накопления при проведении документа

  • Автор темы Marija
  • Дата начала
D

Darlock

Код:
Процедура ОбработкаПроведения(Отказ, Режим)
НаборДвижений = Движения.РеализацияУслуг;
Движение = НаборДвижений.Добавить();
Движение.Период = Дата;
Движение.Организация = Организация;
Движение.Сумма = 1000;
НаборДвижений.Записать();

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|	РеализацияУслуг.Организация
|ИЗ
|	РегистрНакопления.РеализацияУслуг КАК РеализацияУслуг
|ГДЕ
|	РеализацияУслуг.Регистратор = &Регистратор";

Запрос.УстановитьПараметр("Регистратор",Ссылка );

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Сообщить(ВЫборка.Организация);

КонецЦикла;


Отказ = Истина;
Возврат;
КонецПроцедуры


Пишет "операция не выполнена", движений не создается.

Код:
Возврат
писать не надо, достаточно
Код:
Отказ = Истина;
 
H

HUNTER424

Ребята, не надо мудрить :) , потому как если записывать движения принудительно, то будет явный "плевок" касательно производительности, т.к. в конце транзакции документ опять будет записывать движение, а если они у вас еще и записаны, то он будет их сначала очищать.

Получися следущее: Запись движений - Очистка - Запись
вместо стандартного: Запись

А посему данную задачу правильнее всего решить с помощью подписки на событие - "ОбработкаПроведения", для данного документа(если ее вообще нужно так решать, честно говоря мне вообще кажется что такие методы излишние).

Обработка проведения в подписке выполняется уже после стандартной обработки проведени, следовательно мы уже будем видеть коллекцию движений документа
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!