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