"Бухгалтерия 2.0 Платформа 8.2<br><br> Ситуация такая:<br> С начала года по текущий день в учетной политике стояла не та плановая цена. в документах отчет производства за смену, которых набралось достаточно, соответственно указана не та цена. В каждом документе около 50 наименований.<br><br> Как массово пересчитать цену?<br><br> В документе реализация товаров и услуг, есть кнопка "Изменить", которая вызывает обработку "ОбработкаТабличнойЧастиТовары". Там как раз есть позможность установить цену по типу.<br><br> Попытался сделать такую же в документе "отчет производства за смену"<br><br><br> В документе "Реализация Товаров и услуг" было так:<br><br> Процедура КоманднаяПанельТоварыДействиеИзменить(Кнопка)<br><br> // Получим контекст обработки<br> ИзменениеТабличнойЧастиТовары = Обработки.ОбработкаТабличнойЧастиТовары.Создать();<br> ФормаИзменениеТабличнойЧастиТовары = ИзменениеТабличнойЧастиТовары.ПолучитьФорму(,ЭтаФорма);<br><br> //Установим реквизиты и переменные формы.<br> ФормаИзменениеТабличнойЧастиТовары.ДокументОбъект = ЭтотОбъект;<br> ФормаИзменениеТабличнойЧастиТовары.мФормаДокумента = ЭтаФорма;<br> ФормаИзменениеТабличнойЧастиТовары.мЕстьНДС = УчитыватьНДС; <br> ФормаИзменениеТабличнойЧастиТовары.мЕстьЦенаВРознице = Ложь;<br> ФормаИзменениеТабличнойЧастиТовары.мСпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры;<br><br> //Перенесем табличную часть<br> ИзменениеТабличнойЧастиТовары.Товары.Загрузить(Товары.Выгрузить());<br><br> // Открываем форму обработки<br> ФормаИзменениеТабличнойЧастиТовары.Открыть();<br><br> КонецПроцедуры<br><br><br><br><br> При этом все работало.<br><br> В Отчете производства за смену, сделал так:<br><br><br><br> Процедура КоманднаяПанельТоварыДействиеИзменить(Кнопка)<br><br> ИзменениеТабличнойЧастиТовары = Обработки.ОбработкаТабличнойЧастиТовары.Создать();<br> ФормаИзменениеТабличнойЧастиТовары = ИзменениеТабличнойЧастиТовары.ПолучитьФорму(,ЭтаФорма);<br><br> //Установим реквизиты и переменные формы.<br> ФормаИзменениеТабличнойЧастиТовары.ДокументОбъект = ДокументОбъект;<br> ФормаИзменениеТабличнойЧастиТовары.мФормаДокумента = ЭтаФорма;<br><br> ФормаИзменениеТабличнойЧастиТовары.мЕстьНДС = Ложь; <br> ФормаИзменениеТабличнойЧастиТовары.мЕстьЦенаВРознице = Ложь;<br> ФормаИзменениеТабличнойЧастиТовары.мСпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры;<br><br> //Перенесем табличную часть<br> ИзменениеТабличнойЧастиТовары.Товары.Загрузить(Продукция.Выгрузить());<br><br> // Открываем форму обработки<br> ФормаИзменениеТабличнойЧастиТовары.Открыть();<br><br> КонецПроцедуры<br><br><br><br> Выдает ошибку "Не задан документ для обработки. Эта обработка может вызывается только из формы документа."<br><br> Вот процедура, из модуля формы обработки:<br> Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)<br><br> // Если не установлено значения объекта редактируемого документа,<br> // то форму обработки открывать не нужно.<br> Если ДокументОбъект = Неопределено Тогда<br><br> Отказ = Истина;<br> Предупреждение("Не задан документ для обработки! <br> |Эта обработка может вызывается только из формы документа.", , Заголовок);<br> Возврат;<br><br> КонецЕсли;<br><br> //Товары.ЗагрузитьКолонку(Товары.ВыгрузитьКолонку("НомерСтроки"), "НомерСтрокиДокумента");<br><br> КонецПроцедуры // ПередОткрытием()<br><br> Не пойму, почему в реализации оно работает, а в отчета производмтва нет(((<br><br> Еще есть вариант написать внешнюю обработку. с двумя формами, в одной задается документ для обработки, затем открывается основная форма обработки, но опять та же ошибка(("