Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:42

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

Автор Vseslovur, 26 апр 2011, 21:04

0 Пользователей и 1 гость просматривают эту тему.

Vseslovur

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

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

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

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

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


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

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

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

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

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

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

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




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

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



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

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

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

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

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

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

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



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

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

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

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

КонецЕсли;

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

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

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

Еще есть вариант написать внешнюю обработку. с двумя формами, в одной задается документ для обработки, затем открывается основная форма обработки, но опять та же ошибка((

cubase


Vseslovur

Цитата: cubase от 26 апр 2011, 21:40
"Групповая обработка справочников и документов" перкарсно справляется с такой задачей
Допустим. Отбираем документы и табличную часть Продукция, дальше что? Какое действие выбрать?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск