пересчитать цены в отчете производства за смену

Новая тема
"Бухгалтерия 2.0 Платформа 8.2

Ситуация такая:
С начала года по текущий день в учетной политике стояла не та плановая цена. в документах отчет производства за смену, которых набралось достаточно, соответственно указана не та цена. В каждом документе около 50 наименований.

Как массово пересчитать цену?

В документе реализация товаров и услуг, есть кнопка "Изменить", которая вызывает обработку "ОбработкаТабличнойЧастиТовары". Там как раз есть позможность установить цену по типу.

Попытался сделать такую же в документе "отчет производства за смену"


В документе "Реализация Товаров и услуг" было так:

Процедура КоманднаяПанельТоварыДействиеИзменить(Кнопка)

// Получим контекст обработки
ИзменениеТабличнойЧастиТовары = Обработки.ОбработкаТабличнойЧастиТовары.Создать();
ФормаИзменениеТабличнойЧастиТовары = ИзменениеТабличнойЧастиТовары.ПолучитьФорму(,ЭтаФорма);

//Установим реквизиты и переменные формы.
ФормаИзменениеТабличнойЧастиТовары.ДокументОбъект = ЭтотОбъект;
ФормаИзменениеТабличнойЧастиТовары.мФормаДокумента = ЭтаФорма;
ФормаИзменениеТабличнойЧастиТовары.мЕстьНДС = УчитыватьНДС;
ФормаИзменениеТабличнойЧастиТовары.мЕстьЦенаВРознице = Ложь;
ФормаИзменениеТабличнойЧастиТовары.мСпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры;

//Перенесем табличную часть
ИзменениеТабличнойЧастиТовары.Товары.Загрузить(Товары.Выгрузить());

// Открываем форму обработки
ФормаИзменениеТабличнойЧастиТовары.Открыть();

КонецПроцедуры




При этом все работало.

В Отчете производства за смену, сделал так:



Процедура КоманднаяПанельТоварыДействиеИзменить(Кнопка)

ИзменениеТабличнойЧастиТовары = Обработки.ОбработкаТабличнойЧастиТовары.Создать();
ФормаИзменениеТабличнойЧастиТовары = ИзменениеТабличнойЧастиТовары.ПолучитьФорму(,ЭтаФорма);

//Установим реквизиты и переменные формы.
ФормаИзменениеТабличнойЧастиТовары.ДокументОбъект = ДокументОбъект;
ФормаИзменениеТабличнойЧастиТовары.мФормаДокумента = ЭтаФорма;

ФормаИзменениеТабличнойЧастиТовары.мЕстьНДС = Ложь;
ФормаИзменениеТабличнойЧастиТовары.мЕстьЦенаВРознице = Ложь;
ФормаИзменениеТабличнойЧастиТовары.мСпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры;

//Перенесем табличную часть
ИзменениеТабличнойЧастиТовары.Товары.Загрузить(Продукция.Выгрузить());

// Открываем форму обработки
ФормаИзменениеТабличнойЧастиТовары.Открыть();

КонецПроцедуры



Выдает ошибку "Не задан документ для обработки. Эта обработка может вызывается только из формы документа."

Вот процедура, из модуля формы обработки:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

// Если не установлено значения объекта редактируемого документа,
// то форму обработки открывать не нужно.
Если ДокументОбъект = Неопределено Тогда

Отказ = Истина;
Предупреждение("Не задан документ для обработки!
|Эта обработка может вызывается только из формы документа.", , Заголовок);
Возврат;

КонецЕсли;

//Товары.ЗагрузитьКолонку(Товары.ВыгрузитьКолонку("НомерСтроки"), "НомерСтрокиДокумента");

КонецПроцедуры // ПередОткрытием()

Не пойму, почему в реализации оно работает, а в отчета производмтва нет(((

Еще есть вариант написать внешнюю обработку. с двумя формами, в одной задается документ для обработки, затем открывается основная форма обработки, но опять та же ошибка(("
У этой обработки есть реквизит "ДокументОбъект", видимо у него тип - только документ "Реализация товаров услуг", если есть такое горячее желание использовать эту обработку в Акте, нужно Акт добавить в список типов реквизита "ДокументОбъект" обработки "ОбработкаТабличнойЧастиТовары"

А вообще, для чего изменять плановую стоимоть? Она же все равно при закрытии месяца откорректируется до фактической, какая бы ни была задана.
Читают тему
(гостей: 1)

Быстрый переход