Имя: Пароль:
1C
1С v8
Пожалуйста, помогите с заполнением печатной формы реквизитами
0 Vit4567
 
19.10.20
06:58
Ребята, прошу помощи.
Требуется вывести в виде таблицы значения всех реквизитов документа.
В документе есть табличная часть со ссылочными реквизитами.
Пытался сделать конструктором, не получилось.
Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.СписокОтгрузки.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СписокОтгрузки.Дата,
    |    СписокОтгрузки.Номер,
    |    СписокОтгрузки.ПолучательАгент,
    |    СписокОтгрузки.ТабличнаяЧасть1.(
    |        НомерСтроки,
    |        Номенклатура,
    |        Количество,
    |        ТипПарфюмерии,
    |        СодержаниеСпирта,
    |        ТорговаяМарка,
    |        Артикул,
    |        Производитель,
    |        СтранаПроизводителя,
    |        ОбъемЕдиницы,
    |        ДополнительнаяИнформация
    |    )
    |ИЗ
    |    Документ.СписокОтгрузки КАК СписокОтгрузки
    |ГДЕ
    |    СписокОтгрузки.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТабличнаяЧасть1Шапка = Макет.ПолучитьОбласть("ТабличнаяЧасть1Шапка");
    ОбластьТабличнаяЧасть1 = Макет.ПолучитьОбласть("ТабличнаяЧасть1");
    ТабДок.Очистить();
    ВставлятьРазделительСтраниц = Ложь;
    
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

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

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
1 Vit4567
 
19.10.20
07:02
В табличной части
Артикул и ДополнительнаяИнформация
Строковые значения остальные ссылочные на справочник
2 Chameleon1980
 
19.10.20
07:03
а что не получилось то?
3 Vit4567
 
19.10.20
07:04
Не выводится таблица
4 Vit4567
 
19.10.20
07:06
Номер строки и Количество это тоже строковые реквизиты
5 Vit4567
 
19.10.20
07:07
Для спецов думаю задача минутная.
6 SleepyHead
 
гуру
19.10.20
07:11
(5) Дешевая манипуляция.
7 Vit4567
 
19.10.20
07:14
В выборке присутствуют только три значения почему нет остальных, мне не понятно.
8 Vit4567
 
19.10.20
07:14
ВыборкаТабличнаяЧасть1    содержит только три значения.
9 Галахад
 
гуру
19.10.20
07:17
ВыборкаТабличнаяЧасть1 = Выборка.ТабличнаяЧасть1.Выбрать();
Заменить на:
ВыборкаТабличнаяЧасть1 = Выборка.Выбрать();
10 Vit4567
 
19.10.20
07:18
Из значений табличной части есть только НомерСтроки, Название и Количество
11 Vit4567
 
19.10.20
07:20
ВыборкаТабличнаяЧасть1 = Выборка.ТабличнаяЧасть1.Выбрать();
Заменить на:
ВыборкаТабличнаяЧасть1 = Выборка.Выбрать();

Тогда выводятся только заголовки колонок
12 Vit4567
 
19.10.20
07:27
Проблема в том что
ОбластьТабличнаяЧасть1.Параметры.Заполнить(ВыборкаТабличнаяЧасть1);
выводит циклом всего три значения, хотя в  ВыборкаТабличнаяЧасть1 присутствуют все нужные.
13 Vit4567
 
19.10.20
07:29
Как извлечь эти значения не догоняю просто.
14 hhhh
 
19.10.20
08:11
(13) наверно в ОбластьТабличнаяЧасть1.Параметры забыл остальные параметры включить.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс