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