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