Жутко туплю, подскажите в какую сторону еще копать...
Есть РС "СписанныеТовары" подчиненный регистратору с периодичностью по его позиции.
В обработке проведения документа есть код:
НаборДвижений = Движения.СписанныеТовары;
// Получим таблицу значений, совпадающую со струкутрой набора записей регистра.
ТаблицаДвижений = НаборДвижений.Выгрузить();
ТаблицаДвижений.Очистить();
// Заполним таблицу движений.
ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам, ТаблицаДвижений);
// Недостающие поля.
Инд = 0;
Для каждого Строка Из ТаблицаДвижений Цикл
Инд = Инд+1;
Строка.НомерСтрокиДокумента = Инд;
КонецЦикла;
ТаблицаДвижений.ЗаполнитьЗначения(Дата, "Период");
ТаблицаДвижений.ЗаполнитьЗначения(Ссылка, "Регистратор");
ТаблицаДвижений.ЗаполнитьЗначения(Истина, "Активность");
НаборДвижений.мПериод = Дата;
НаборДвижений.мТаблицаДвижений = ТаблицаДвижений;
Если Не Отказ Тогда
Движения.СписанныеТовары.ВыполнитьДвижения();
КонецЕсли;
ВыполнитьДвижения() - экспортная процедура в модуле набора записей РС где происходит заполнение ресурсов.
Этот код работает и при проведении документа запись в РС делается.
Теперь беру другой документ, отмечаю, что он тоже теперь делает движения по этому РС. Копирую вышеуказанный код в ОбработкуПроведения, документ проводиться, но запись в РС не появляется. Ошибок не выскакивает. Отладчиком все проходится и показывает, что все ресурсы заполняются.
Если же в конце вышеуказанного кода дописать
НаборДвижений.Записать();
то и для второго документа запись в РС делается.
Почему для первого документа запись записывается сама, а для второго нужно принудительно записывать? Где то какую то галочку забыл поставить? Направьте на светлую сторону. Спс.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший