Доброго дня, разрабатываю ВнешнююПечатнуюФорму для СчетНаОплатуПокупателю. создал макет вывел все нужные данные кроме Единиц измерения. В табличной части Счета единиц измерения нету, а вытянуть из справочника не получается. смотрел другие макеты, там через запрос выводится:

```1c
    | ЕСТЬNULL(СчетНаОплату.Номенклатура.ЕдиницаИзмерения, ЗНАЧЕНИЕ(Справочник.КлассификаторЕдиницИзмерения.ПустаяСсылка)) КАК ЕдиницаИзмерения,
    | ЕСТЬNULL(СчетНаОплату.Номенклатура.ЕдиницаИзмерения.Код, "") КАК ЕдиницаИзмеренияКод,
    | ЕСТЬNULL(СчетНаОплату.Номенклатура.ЕдиницаИзмерения.Наименование, "") КАК ЕдиницаИзмеренияНаименование,
    | ЕСТЬNULL(СчетНаОплату.Номенклатура.ЕдиницаИзмерения.НаименованиеПолное, "") КАК ЕдиницаИзмеренияНаименованиеПолное,
```

с запросами я не очень дружу, помогите плиз переделать это в Нормальный вид)
---
Спасибо, но у меня не получается присвоить данные, полученные функцией, переменной.

```1c
    Функция ПолучитьЕдиницуИзм(Номенклатура)
    Если Номенклатура.Пустая() Тогда
    Возврат Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка();
    Иначе
    Возврат Номенклатура.ЕдиницаИзмерения;
    КонецЕсли;
    КонецФункции

    Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектПечати)

    ******************************************************************

    ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
    ОбластьСтроки.Параметры.НомерПП = 0;
    Для Каждого ТекущаяСтрока из СсылкаНаОбъект.Товары Цикл

    ОбластьСтроки.Параметры.НомерПП = ОбластьСтроки.Параметры.НомерПП + 1 ;
    ОбластьСтроки.Параметры.Товары = ТекущаяСтрока.Номенклатура;
    ОбластьСтроки.Параметры.КолВо = ТекущаяСтрока.Количество;
    ОбластьСтроки.Параметры.Ед = ПРИСВОИТЬ ДАННЫЕ ФУНКЦИИ;
    ОбластьСтроки.Параметры.Цена = ТекущаяСтрока.Цена;
    ОбластьСтроки.Параметры.Сумма = ТекущаяСтрока.Сумма;

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

    КонецЦикла;
    ********************************************

    КонецФункции
```
---
если без запроса, то
ОбластьСтроки.Параметры.Ед = ТекущаяСтрока.Номенклатура.ЕдиницаИзмерения;
---
Если не хочешь через запрос можешь создать функцию:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьЕдиницуИзм(Номенклатура)
    Если Номенклатура.Пустая() Тогда
    Возврат СправочникСсылка.КлассификаторЕдиницИзмерения.ПустаяСсылка;
    Иначе
    Возврат Номенклатура.ЕдиницаИзмерения;
    КонецЕсли;
    КонецФункции
```
---
Спасибо, но у меня не получается присвоить данные, полученные функцией, переменной.

```1c
    Функция ПолучитьЕдиницуИзм(Номенклатура)
    Если Номенклатура.Пустая() Тогда
    Возврат Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка();
    Иначе
    Возврат Номенклатура.ЕдиницаИзмерения;
    КонецЕсли;
    КонецФункции

    Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектПечати)

    ******************************************************************

    ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
    ОбластьСтроки.Параметры.НомерПП = 0;
    Для Каждого ТекущаяСтрока из СсылкаНаОбъект.Товары Цикл

    ОбластьСтроки.Параметры.НомерПП = ОбластьСтроки.Параметры.НомерПП + 1 ;
    ОбластьСтроки.Параметры.Товары = ТекущаяСтрока.Номенклатура;
    ОбластьСтроки.Параметры.КолВо = ТекущаяСтрока.Количество;
    ОбластьСтроки.Параметры.Ед = ПРИСВОИТЬ ДАННЫЕ ФУНКЦИИ;
    ОбластьСтроки.Параметры.Цена = ТекущаяСтрока.Цена;
    ОбластьСтроки.Параметры.Сумма = ТекущаяСтрока.Сумма;

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

    КонецЦикла;
    ********************************************

    КонецФункции
```
---
пробую выводить так, но не выходит:

```1c
    ОбластьСтроки.Параметры.Ед = ПолучитьЕдиницуИзм(Справочники.Номенклатура.ЕдиницаИзмерения);
```
---
для чего тут функция?
у тебя есть ссылка на номенклатуру из запроса, на ней есть реквизит ЕдиницаИзмерения, его и выводи
ОбластьСтроки.Параметры.Ед = Выборка.Номенклатура.ЕдиницаИзмерения;
---
если без запроса, то
ОбластьСтроки.Параметры.Ед = ТекущаяСтрока.Номенклатура.ЕдиницаИзмерения;
---
понял свою ошибку. спасибо.