Здравствуйте! Такой вопрос, создал ВПФ для конфигурации Розница 2.2 для Заказа Покупателя. В том случае если в заказе я указываю в ТЧ единицу измерения в упаковках, он мне пересчитывает в базовую единицу измерения, а в том случае если ставлю базовую то пересчета в упаковки не происходит. Не могу понять в чем проблема, подскажите...

Модуль ВПФ

```1c
    &НаСервере
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.ЗаказПокупателя"); //Указываем документ к которому делаем внешнюю печ. форму
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "ЗаказПокупателяСПечатьюШтукИКубов"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "Печатная форма заказа покупателя в разных единицах измерения ");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, "Заказ Покупателя в разных единицах измерения", "ПФ_MXL_ЗаказПокупателя", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;
    КонецФункции

    &НаСервере
    Функция ПолучитьТаблицуКоманд() Экспорт
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
    КонецФункции

    &НаСервере
    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = ") Экспорт

    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

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

    &НаСервере
    Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ЗаказПокупателя") Тогда

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_ЗаказПокупателя",
    НСтр("ru = 'Заказ покупателя'"),
    ПечатьЗаказаПокупателя(МассивОбъектов, ОбъектыПечати));

    КонецЕсли;

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

    &НаСервере
    Функция ПечатьЗаказаПокупателя(МассивОбъектов, ОбъектыПечати)

    КолонкаКодов = ФормированиеПечатныхФормСервер.ИмяДополнительнойКолонки();
    ВыводитьКоды = НЕ ПустаяСтрока(КолонкаКодов);
    ВыводитьУпаковки = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
    ТабличныйДокумент = Новый ТабличныйДокумент;
    РеквизитыДокумента = Новый Структура("Номер, Дата, Префикс");
    СинонимДокумента = НСтр("ru='Заказ поставщику'");

    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_ЗаказПокупателя";

    Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | Документ.Ссылка КАК Ссылка,
    | Документ.Номер КАК Номер,
    | Документ.Дата КАК Дата,
    | Документ.Организация КАК Покупатель,
    | Документ.Контрагент КАК Поставщик,
    | Документ.Ответственный.ФизическоеЛицо КАК Ответственный,
    | Документ.Организация.Префикс КАК Префикс,
    | Документ.УчитыватьНДС КАК УчитыватьНДС,
    | Документ.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
    | ПРЕДСТАВЛЕНИЕ(Документ.Контрагент) КАК ПоставщикПредставление,
    | ПРЕДСТАВЛЕНИЕ(Документ.Организация) КАК ПокупательПредставление,
    | ПРЕДСТАВЛЕНИЕ(Документ.Ответственный.ФизическоеЛицо) КАК ОтветственныйПредставление
    |ИЗ
    | Документ.ЗаказПокупателя КАК Документ
    |ГДЕ
    | Документ.Ссылка В(&МассивОбъектов)
    | И Документ.Проведен
    |УПОРЯДОЧИТЬ ПО
    | Ссылка
    |;
    |
    |ВЫБРАТЬ
    | ТаблицаТовары.НомерСтроки КАК НомерСтроки,
    | ТаблицаТовары.Номенклатура КАК Номенклатура,
    | " + ?(ВыводитьКоды, "ТаблицаТовары.Номенклатура." + КолонкаКодов +" КАК КолонкаКодов,", ") + "
    | ТаблицаТовары.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
    | ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Характеристика) КАК ХарактеристикаПредставление,
    | ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
    | ВЫБОР
    | КОГДА ТаблицаТовары.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
    | ТОГДА ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Упаковка.ЕдиницаИзмерения)
    | ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения)
    | КОНЕЦ КАК ПредставлениеЕдиницыИзмеренияУпаковки,
    | ТаблицаТовары.Количество КАК Количество,
    | ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
    | ТаблицаТовары.Цена КАК Цена,
    | ТаблицаТовары.Сумма КАК Сумма,
    | ТаблицаТовары.СуммаНДС КАК СуммаНДС,
    | ТаблицаТовары.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ЗаказПокупателя.Товары КАК ТаблицаТовары
    |ГДЕ
    | ТаблицаТовары.Ссылка В(&МассивОбъектов)
    | И ТаблицаТовары.Ссылка.Проведен
    |
    |УПОРЯДОЧИТЬ ПО
    | Ссылка,
    | НомерСтроки
    |ИТОГИ ПО
    | Ссылка");

    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

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

    //Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаказПоставщику.ПФ_MXL_ЗаказПоставщику");
    Макет = ПолучитьМакет("ПФ_MXL_ЗаказПокупателя");

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");

    ОбластьШапкаТаблицыНачало = Макет.ПолучитьОбласть("ШапкаТаблицы|НачалоСтроки");
    ОбластьСтрокаТаблицыНачало = Макет.ПолучитьОбласть("СтрокаТаблицы|НачалоСтроки");
    ОбластьПодвалТаблицыНачало = Макет.ПолучитьОбласть("ПодвалТаблицы|НачалоСтроки");

    ОбластьШапкаТаблицыКолонкаКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
    ОбластьСтрокаТаблицыКолонкаКодов = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
    ОбластьПодвалТаблицыКолонкаКодов = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");

    ОбластьШапкаТаблицыКолонкаКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;

    ОбластьШапкаТаблицыКолонкаУпаковок = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаУпаковок");
    ОбластьСтрокаТаблицыКолонкаУпаковок = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаУпаковок");
    ОбластьПодвалТаблицыКолонкаУпаковок = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаУпаковок");

    ОбластьКолонкаТоваров = Макет.Область("КолонкаТоваров");

    Если НЕ ВыводитьКоды Тогда

    ОбластьКолонкаТоваров.ШиринаКолонки = ОбластьКолонкаТоваров.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки;

    КонецЕсли;

    Если НЕ ВыводитьУпаковки Тогда

    ОбластьКолонкаТоваров.ШиринаКолонки = ОбластьКолонкаТоваров.ШиринаКолонки + Макет.Область("КолонкаУпаковокКоличество").ШиринаКолонки
    + Макет.Область("КолонкаУпаковокПредставление").ШиринаКолонки;

    КонецЕсли;

    ОбластьШапкаТаблицыКолонкаТоваров = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаТоваров");
    ОбластьСтрокаТаблицыКолонкаТоваров = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаТоваров");
    ОбластьПодвалТаблицыКолонкаТоваров = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаТоваров");

    ОбластьШапкаТаблицыКонец = Макет.ПолучитьОбласть("ШапкаТаблицы|КонецСтроки");
    ОбластьСтрокаТаблицыКонец = Макет.ПолучитьОбласть("СтрокаТаблицы|КонецСтроки");
    ОбластьПодвалТаблицыКонец = Макет.ПолучитьОбласть("ПодвалТаблицы|КонецСтроки");

    ОбластьПодписей = Макет.ПолучитьОбласть("Подписи");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьИтогоНДС = Макет.ПолучитьОбласть("ИтогоНДС");
    ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");

    ВыборкаПоДокументам = Результаты[0].Выбрать();

    ВыборкаПоТабличнымЧастям = Результаты[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    ПервыйДокумент = Истина;

    Пока ВыборкаПоДокументам.Следующий() Цикл

    Если НЕ ВыборкаПоТабличнымЧастям.НайтиСледующий(Новый Структура("Ссылка",ВыборкаПоДокументам.Ссылка)) Тогда

    Продолжить;

    КонецЕсли;

    ВыборкаПоСтрокамТЧ = ВыборкаПоТабличнымЧастям.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Если НЕ ПервыйДокумент Тогда

    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

    КонецЕсли;

    ПервыйДокумент = Ложь;
    НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

    // ЗАГОЛОВОК
    ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ВыборкаПоДокументам);
    ОбластьЗаголовок.Параметры.Заполнить(ВыборкаПоДокументам);
    ОбластьЗаголовок.Параметры.ТекстЗаголовка = ФормированиеПечатныхФормСервер.СформироватьЗаголовокДокумента(РеквизитыДокумента, СинонимДокумента);
    ТабличныйДокумент.Вывести(ОбластьЗаголовок);

    // ШАПКА
    ОбластьШапка.Параметры.Заполнить(ВыборкаПоДокументам);
    ТабличныйДокумент.Вывести(ОбластьШапка);
    ТабличныйДокумент.Вывести(ОбластьШапкаТаблицыНачало);

    Если ВыводитьКоды Тогда

    ТабличныйДокумент.Присоединить(ОбластьШапкаТаблицыКолонкаКодов);

    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьШапкаТаблицыКолонкаТоваров);

    Если ВыводитьУпаковки Тогда

    ТабличныйДокумент.Присоединить(ОбластьШапкаТаблицыКолонкаУпаковок);

    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьШапкаТаблицыКонец);
    ВсегоНаименований = 0;
    Итого = 0;
    ИтогоНДС = 0;

    // СТРОКИ ТЧ
    Пока ВыборкаПоСтрокамТЧ.Следующий() Цикл

    ОбластьСтрокаТаблицыНачало.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
    ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицыНачало);

    Если ВыводитьКоды Тогда

    ОбластьСтрокаТаблицыКолонкаКодов.Параметры.Артикул = ВыборкаПоСтрокамТЧ["КолонкаКодов"];
    ТабличныйДокумент.Присоединить(ОбластьСтрокаТаблицыКолонкаКодов);

    КонецЕсли;

    ОбластьСтрокаТаблицыКолонкаТоваров.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
    ОбластьСтрокаТаблицыКолонкаТоваров.Параметры.Товар = ФормированиеПечатныхФормСервер.ПолучитьПредставлениеНоменклатурыДляПечати(ВыборкаПоСтрокамТЧ.НоменклатураПредставление,ВыборкаПоСтрокамТЧ.ХарактеристикаПредставление);
    ТабличныйДокумент.Присоединить(ОбластьСтрокаТаблицыКолонкаТоваров);

    Если ВыводитьУпаковки Тогда

    ОбластьСтрокаТаблицыКолонкаУпаковок.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
    ТабличныйДокумент.Присоединить(ОбластьСтрокаТаблицыКолонкаУпаковок);

    КонецЕсли;

    ОбластьСтрокаТаблицыКонец.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
    ТабличныйДокумент.Присоединить(ОбластьСтрокаТаблицыКонец);

    ВсегоНаименований = ВсегоНаименований + 1;
    Итого = Итого + ВыборкаПоСтрокамТЧ.Сумма;
    ИтогоНДС = ИтогоНДС + ВыборкаПоСтрокамТЧ.СуммаНДС;

    КонецЦикла;

    ТабличныйДокумент.Вывести(ОбластьПодвалТаблицыНачало);

    Если ВыводитьКоды Тогда

    ТабличныйДокумент.Присоединить(ОбластьПодвалТаблицыКолонкаКодов);

    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьПодвалТаблицыКолонкаТоваров);

    Если ВыводитьУпаковки Тогда

    ТабличныйДокумент.Присоединить(ОбластьПодвалТаблицыКолонкаУпаковок);

    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьПодвалТаблицыКонец);

    // ИТОГО
    ТекстИтоговойСтроки = НСтр("ru = '%Итого%'");
    ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%Итого%",ФормированиеПечатныхФормСервер.ФорматСумм(Итого));
    ОбластьИтого.Параметры.Итого = ТекстИтоговойСтроки;

    ТекстИтоговойСтроки = НСтр("ru = '%Итого%'");
    ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%Итого%",ФормированиеПечатныхФормСервер.ФорматСумм(ИтогоНДС));

    Если НЕ ВыборкаПоДокументам.УчитыватьНДС Тогда
    ТекстИтоговойСтроки = НСтр("ru = 'Без НДС'");
    КонецЕсли;

    ОбластьИтогоНДС.Параметры.ИтогоНДС = ТекстИтоговойСтроки;
    ОбластьИтогоНДС.Параметры.НДС = ?(ВыборкаПоДокументам.ЦенаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'"));

    ТабличныйДокумент.Вывести(ОбластьИтого);
    ТабличныйДокумент.Вывести(ОбластьИтогоНДС);

    // СУММА ПРОПИСЬЮ

    ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований%, на сумму %Итого%'");
    СуммаКПрописи = Итого + ?(ВыборкаПоДокументам.ЦенаВключаетНДС, 0, ИтогоНДС);

    ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", ВсегоНаименований);
    ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%Итого%", ФормированиеПечатныхФормСервер.ФорматСумм(СуммаКПрописи));

    ОбластьСуммаПрописью.Параметры.ИтоговаяСтрока = ТекстИтоговойСтроки;
    ОбластьСуммаПрописью.Параметры.СуммаПрописью = ФормированиеПечатныхФормСервер.СформироватьСуммуПрописью(СуммаКПрописи);

    ТабличныйДокумент.Вывести(ОбластьСуммаПрописью);

    // ПОДПИСИ
    ОбластьПодписей.Параметры.Заполнить(ВыборкаПоДокументам);
    ОбластьПодписей.Параметры.ОтветственныйПредставление = ФормированиеПечатныхФормСервер.ФамилияИнициалыФизЛица(ВыборкаПоДокументам.Ответственный);
    ТабличныйДокумент.Вывести(ОбластьПодписей);

    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);

    КонецЦикла;

    ТабличныйДокумент.АвтоМасштаб = Истина;

    Возврат ТабличныйДокумент;

    КонецФункции
```
---
вопрос снят, разобрался сам.
---
вопрос снят, разобрался сам.
---
Где в коде пересчет упаковок?