I
I
ITF2019-07-21 13:25:23
1C
ITF, 2019-07-21 13:25:23

How to recalculate massive tabular parts of past periods?

Changed the type of planned prices from April 1.
Now we need to re-select the entire nomenclature in the April documents, because it pulls prices up by the "OnChange()" event.
Tried through a group change of details, but after it turned out that he changes the details, but the call of the necessary procedures does not pull for him, i.e. The nomenclature will be rearranged, but the prices will not be raised.
Of course, it does not perform calculations if you change the price itself.

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

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

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

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

I tried to call the procedure OnChange, but it swears that interactive operations are not available.
As far as I understood because of the thin client.
Question: how can this be implemented, so as not to interrupt the tabular parts for 4 months manually?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question