@ITF

Как пересчитать массово табличные части прошлых периодов?

Поменяли тип плановых цен с 1 апреля.
Теперь нужно в апрельских документах перевыбрать всю номенклатуру, т.к. подтягивает цены он по событию "ПриИзменении()".

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

Дата = Объект.Дата;
    ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Плановые_2)");

	Для каждого Элемент из Объект.Продукция Цикл
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен=&ТипЦен)
    |КАК 
    |    ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
                   
     Запрос.УстановитьПараметр("Номенклатура", Элемент.Номенклатура);
	 Запрос.УстановитьПараметр("Дата", Дата);
	 Запрос.УстановитьПараметр("ТипЦен", ТипЦен);

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

		Если Выборка.Следующий() тогда
  	 		 Элемент.ПлановаяСтоимость = Выборка.Цена;
  	 		// ФормаДок = Объект.Ссылка.ПолучитьФорму("ФормаДокумента"); 
			// ФормаДок.ПродукцияНоменклатураПриИзменении(Элемент); 	 		 
		КонецЕсли;
КонецЦикла;

Пытался вызвать процедуру ПриИзменении, но ругается что интерактивные операции не доступны.
На сколько понял из-за тонкого клиента.

Вопрос: как можно подобное реализовать, что бы не перебивать табличные части за 4 месяца в ручную?
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы