Добрый вечер, помогите начинающему в такой проблеме. Есть конфигурация УТП ,требуется в печатных формах вывести дополнительную колонку со штрих-кодом, только цифры. С чего можно начать???
---
нашел простенькое решение ,может кому пригодится

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Штрихкоды.Штрихкод
    |ИЗ
    | РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    | Штрихкоды.Владелец = &Владелец";
    Запрос.УстановитьПараметр("Владелец", ВыборкаСтрокТовары.Номенклатура);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    ОбластьМакета.Параметры.Штрихкод = Выборка.ШтрихКод;
    КонецЦикла;

    ТабДокумент.Вывести(ОбластьМакета);
```
---
Начните с редактирования макета, добавьте в нем колонку.
Далее проблема со штрих кодом, в теории к одной номенклатуре может быть привязано более одного штрих кода.
Если штрих код всегда один, то получить запросом штрих коды и при выводе строки, подставлять штрих код.
---
Начните с редактирования макета, добавьте в нем колонку.
это сделал, не можете пример запроса написать ?
---
```1c
    ВЫБРАТЬ
    СправочникНоменклатура.Ссылка КАК Ссылка,
    СправочникНоменклатура.Код КАК Код,
    СправочникНоменклатура.Наименование КАК Наименование,
    СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
    СправочникНоменклатура.Марка КАК Марка,
    ВЫБОР
    КОГДА СправочникНоменклатура.ЭтоГруппа
    ТОГДА ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 7
    ИНАЧЕ 6
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
    ТОГДА 0
    ИНАЧЕ 2
    КОНЕЦ
    КОНЕЦ КАК ИндексКартинки,
    СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СправочникНоменклатура.Артикул КАК Артикул,
    СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
    СправочникНоменклатура.Вес КАК Вес,
    СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
    СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено
    ТОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &НеСопоставлено
    И СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0
    ТОГДА &СтрокаНайденыВарианты
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено)
    ТОГДА &СтрокаНайдено + СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса
    ИНАЧЕ &СтрокаСопоставить
    КОНЕЦ КАК НоменклатураРаботаСНоменклатурой,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0
    ИЛИ СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено)
    ТОГДА 1
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено
    ТОГДА ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.РежимЗагрузкиХарактеристик = &Сопоставление
    ТОГДА 3
    ИНАЧЕ 2
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ КАК КодСтатусаСопоставленияРаботаСНоменклатурой,
    СоответствиеНоменклатурыРаботаСНоменклатурой.ИдентификаторНоменклатурыСервиса КАК ИдентификаторНоменклатурыРаботаСНоменклатурой,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ОбновляетсяАвтоматически
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ КАК КартинкаРежимаОбновленияРаботаСНоменклатурой,
    МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод,
    Штрихкоды.Владелец КАК Владелец,
    Штрихкоды.Характеристика КАК Характеристика,
    Штрихкоды.Упаковка КАК Упаковка,
    Штрихкоды.ТипШтрихкода КАК ТипШтрихкода,
    Штрихкоды.ПредставлениеШтрихкода КАК ПредставлениеШтрихкода
    ИЗ
    РегистрСведений.Штрихкоды КАК Штрихкоды
    ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыРаботаСНоменклатурой КАК СоответствиеНоменклатурыРаботаСНоменклатурой
    ПО СправочникНоменклатура.Ссылка = СоответствиеНоменклатурыРаботаСНоменклатурой.Номенклатура
    И (СоответствиеНоменклатурыРаботаСНоменклатурой.Характеристика = &ПустаяХарактеристика)
    ПО (Штрихкоды.Владелец = СправочникНоменклатура.Ссылка)

    СГРУППИРОВАТЬ ПО
    СправочникНоменклатура.Ссылка,
    СправочникНоменклатура.Код,
    СправочникНоменклатура.Наименование,
    СправочникНоменклатура.ВидНоменклатуры,
    СправочникНоменклатура.ТоварнаяКатегория,
    СправочникНоменклатура.Марка,
    СправочникНоменклатура.ЕдиницаИзмерения,
    СправочникНоменклатура.Артикул,
    СправочникНоменклатура.НаименованиеПолное,
    СправочникНоменклатура.Вес,
    СправочникНоменклатура.СтавкаНДС,
    СправочникНоменклатура.ТипНоменклатуры,
    СоответствиеНоменклатурыРаботаСНоменклатурой.ИдентификаторНоменклатурыСервиса,
    Штрихкоды.Владелец,
    Штрихкоды.Характеристика,
    Штрихкоды.Упаковка,
    Штрихкоды.ТипШтрихкода,
    Штрихкоды.ПредставлениеШтрихкода,
    ВЫБОР
    КОГДА СправочникНоменклатура.ЭтоГруппа
    ТОГДА ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 7
    ИНАЧЕ 6
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
    ТОГДА 0
    ИНАЧЕ 2
    КОНЕЦ
    КОНЕЦ,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено
    ТОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &НеСопоставлено
    И СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0
    ТОГДА &СтрокаНайденыВарианты
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено)
    ТОГДА &СтрокаНайдено + СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса
    ИНАЧЕ &СтрокаСопоставить
    КОНЕЦ,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0
    ИЛИ СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено)
    ТОГДА 1
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено
    ТОГДА ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.РежимЗагрузкиХарактеристик = &Сопоставление
    ТОГДА 3
    ИНАЧЕ 2
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
    КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ОбновляетсяАвтоматически
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ
```
---
Динамический список справочника Номенклатура, вывод штрихкода запросом!!!
---
Конфигурация 1С: Розница 8, редакция 2.3 - Это пример, у меня нету Вашей конфигурации!!!
---
Для печатной формы, тоже пример!!!

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

    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод,
    | Штрихкоды.Владелец КАК Владелец,
    | Штрихкоды.Характеристика КАК Характеристика,
    | Штрихкоды.Упаковка КАК Упаковка,
    | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода,
    | Штрихкоды.ПредставлениеШтрихкода КАК ПредставлениеШтрихкода
    |ИЗ
    | РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    | Штрихкоды.Штрихкод = &Штрихкод
    |
    |СГРУППИРОВАТЬ ПО
    | Штрихкоды.Владелец,
    | Штрихкоды.Характеристика,
    | Штрихкоды.Упаковка,
    | Штрихкоды.ТипШтрихкода,
    | Штрихкоды.ПредставлениеШтрихкода";

    Запрос.УстановитьПараметр("Штрихкод", СсылкаНаОбъект.Штрихкод);

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Макет.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод;
    КонецЦикла;

    ТабДок.Вывести(Макет);

    Возврат ТабДок;

    КонецФункции //СформироватьПечатнуюФорму
```
---
```1c
    Функция Печать() Экспорт
    Док = ЭтотОбъект.СсылкаНаОбъект;

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ДокСсылка", Док);
    Запрос.УстановитьПараметр("Склад", Док.Склад);
    Запрос.УстановитьПараметр("СписокНоменклатуры", Док.Товары.ВыгрузитьКолонку("Номенклатура"));
    Запрос.УстановитьПараметр("СписокХарактеристик", Док.Товары.ВыгрузитьКолонку("ХарактеристикаНоменклатуры"));
    Запрос.УстановитьПараметр("Дата", Док.Дата);

    ТекстЗапроса = "
    |ВЫБРАТЬ
    | Док.Ссылка.Номер,
    | Док.Ссылка.Дата,
    | Док.Ссылка.Организация,
    | Док.Ссылка.Организация КАК Поставщик,
    | Док.Ссылка.Склад КАК Получатель,
    | Док.Ссылка.Склад.Представление КАК ПредставлениеПолучателя,
    | ТоварыВРознице.НомерСтроки,
    | Остатки.КоличествоОстаток КАК Количество,
    | ТоварыВРознице.Номенклатура,
    | ТоварыВРознице.Номенклатура.НаименованиеПолное КАК Товар,
    | ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
    | ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
    | ВЫБОР КОГДА Остатки.КоличествоОстаток = 0 ТОГДА
    | 0
    | ИНАЧЕ
    | Остатки.СуммаПродажнаяОстаток / Остатки.КоличествоОстаток
    | КОНЕЦ КАК ЦенаВРозницеСтарая,
    | Док.ЦенаВРознице,
    | ТоварыВРознице.СуммаПродажная КАК ОтклонениеСтоимости,
    | ТоварыВРознице.ХарактеристикаНоменклатуры КАК Характеристика,
    | ТоварыВРознице.СерияНоменклатуры КАК Серия
    |ИЗ
    | Документ.ПереоценкаТоваровВРознице.Товары КАК Док
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | (ВЫБРАТЬ
    | Характеристики.Ссылка КАК Ссылка,
    | Характеристики.Владелец КАК Владелец
    | ИЗ
    | Справочник.ХарактеристикиНоменклатуры КАК Характеристики
    | ГДЕ
    | Характеристики.Владелец В (&СписокНоменклатуры)
    | И Характеристики.Ссылка НЕ В (&СписокХарактеристик)
    | И Характеристики.Ссылка НЕ В (
    | ВЫБРАТЬ
    | ЦеныПродажные.ХарактеристикаНоменклатуры
    | ИЗ
    | РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата,
    | Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные
    | )
    | ОБЪЕДИНИТЬ ВСЕ
    | ВЫБРАТЬ
    | ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка,
    | Номенклатура.Ссылка КАК Владелец
    | ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    | ГДЕ
    | Номенклатура.Ссылка В (&СписокНоменклатуры)
    | ) КАК Характеристики
    |ПО
    | Док.Номенклатура = Характеристики.Владелец
    | И Док.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
    |СОЕДИНЕНИЕ
    | РегистрНакопления.ТоварыВРознице.Остатки(&Дата, Склад = &Склад И Номенклатура В (&СписокНоменклатуры)) КАК Остатки
    |ПО
    | Док.Номенклатура = Остатки.Номенклатура
    | И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = Остатки.ХарактеристикаНоменклатуры
    |СОЕДИНЕНИЕ
    | РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
    |ПО
    | Док.Ссылка = ТоварыВРознице.Регистратор
    | И Док.Номенклатура = ТоварыВРознице.Номенклатура
    | И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = ТоварыВРознице.ХарактеристикаНоменклатуры
    |ГДЕ
    | Док.Ссылка = &ДокСсылка
    |УПОРЯДОЧИТЬ ПО
    | ТоварыВРознице.НомерСтроки
    |";

    Запрос.Текст = ТекстЗапроса;

    Шапка = Запрос.Выполнить().Выбрать();
    Если Не Шапка.Следующий() Тогда
    Предупреждение("Ни один товар не был переоценен.");
    Возврат Неопределено;
    КонецЕсли;

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПереоценкаТоваровВРознице_ПереоценкаТоваро­вВРознице";
    Макет = ПолучитьМакет("ПереоценкаТоваровВРознице");

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

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

    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Строка");

    ИтогОтклонениеСтоимости = 0;
    ВыборкаСтрокТовары = Шапка;
    ВыборкаСтрокТовары.Сбросить();
    Пока ВыборкаСтрокТовары.Следующий() Цикл
    Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Товар) Тогда
    Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
    Продолжить;
    КонецЕсли;

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

    ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости + ВыборкаСтрокТовары.ОтклонениеСтоимости;
    КонецЦикла;

    ОбластьМакета = Макет.ПолучитьОбласть("Итог");
    ОбластьМакета.Параметры.ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости;
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ТабДокумент.Вывести(ОбластьМакета);

    Возврат ТабДокумент;

    КонецФункции // ПечатьПереоценки
```
---
Вот моя функция, она все выводит кроме штрихкода
---
пытаюсь сделать через внешнюю печатную форму
---
нашел простенькое решение ,может кому пригодится

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Штрихкоды.Штрихкод
    |ИЗ
    | РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    | Штрихкоды.Владелец = &Владелец";
    Запрос.УстановитьПараметр("Владелец", ВыборкаСтрокТовары.Номенклатура);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    ОбластьМакета.Параметры.Штрихкод = Выборка.ШтрихКод;
    КонецЦикла;

    ТабДокумент.Вывести(ОбластьМакета);
```