Имя: Пароль:
1C
1С v8
Требование накладная
0 NovichokAlena
 
15.06.15
06:39
Здравствуйте, подскажите,как для внешней печатной формы "Акт на списание" для требования накладной вывести графу "код номенклатуры" со справочника "номенклатура"?
1С:Предприятие 8.3 (8.3.6.1977) УПП, редакция 1.3 (1.3.24.2)

Функция Печать() Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ТребованиеНакладная.Номенклатура,
    |    ТребованиеНакладная.Номенклатура.Родитель КАК Родитель,
    |    ТребованиеНакладная.Номенклатура.НаименованиеПолное КАК Имя,
    |    ТребованиеНакладная.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм,
    |    ТребованиеНакладная.Количество КАК Количество,
    |    ТребованиеНакладная.ЕдиницаИзмерения КАК ЕдИзмМест,
    |    ТребованиеНакладная.КоличествоМест,
    |    ТребованиеНакладная.Счет,
    //|    ТребованиеНакладная.Себестоимость,
    |    ТребованиеНакладная.СчетЗатрат,
    //|    ТребованиеНакладная.СчетЗатратНУ,
    |    ТребованиеНакладная.Ссылка.СчетЗатрат КАК СчетЗатратСсылка,
    |    ТребованиеНакладная.НоменклатурнаяГруппа,
    |    ТребованиеНакладная.Номенклатура.Код
    |ИЗ
    |    Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладная";

    

    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.Очистить();
    ТабДокумент.Автомасштаб = Истина;
    Макет = ПолучитьМакет("Акт");
    ОбластьШапка               = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрока              = Макет.ПолучитьОбласть("Строка");
    ОбластьПодвал              = Макет.ПолучитьОбласть("Подвал");
    
    //Шапка
    ЗаполнитьЗначенияСвойств(ОбластьШапка.Параметры, СсылкаНаОбъект);
    ОбластьШапка.Параметры.Дата             = Формат(СсылкаНаОбъект.Дата, "ДЛФ=DD");            
    ТабДокумент.Вывести(ОбластьШапка);
    МетаданныеОбъекта = СсылкаНаОбъект.Метаданные();
    

    
    ОбластьСтрока              = Макет.ПолучитьОбласть("Строка");
    
    Номер = 0;
    
    Для каждого Строка из СсылкаНаОбъект.Материалы Цикл
        Номер = Номер + 1;
        ОбластьСтрока.Параметры.Имя = Строка.Номенклатура;
        ОбластьСтрока.Параметры.НоменклатурнаяГруппа = Строка.НоменклатурнаяГруппа;
        ОбластьСтрока.Параметры.ЕдИзм = Строка.ЕдиницаИзмерения;
        ОбластьСтрока.Параметры.Номер = Номер;
        ОбластьСтрока.Параметры.Заполнить(Строка);
        //Если НЕ МетаданныеОбъекта.Реквизиты.Найти("Сумма") = Неопределено Тогда
        //    ОбластьСтрока.Параметры.Всего = Формат(?(СсылкаНаОбъект.СуммаВключаетНДС, Строка.Сумма, (Строка.Сумма * 0.18) + Строка.Сумма), "ЧДЦ=2");
        //КОнецЕсли;
        ТабДокумент.Вывести(ОбластьСтрока);
    КонецЦикла;
    
        
    ТабДокумент.Вывести(ОбластьПодвал);
    
    ТабДокумент.АвтоМасштаб = Истина;

    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект), Ложь);
    
КонецФункции
1 Фокусник
 
15.06.15
07:12
(0) Смотри как выводится, например, "НаименованиеПолное", сделай аналогично.
2 NovichokAlena
 
15.06.15
07:18
(1)просто делаю для документа "ТН",а данные нужны из справочника,с этим проблемы
3 Фокусник
 
15.06.15
07:24
(2) НаименованиеПолное выводится тоже "из справочника номенклатура"...

PS Вам нужно чтобы СДЕЛАЛИ или самой РАЗОБРАТЬСЯ? ;)
4 NovichokAlena
 
15.06.15
07:26
(1) предполагаю,что также нужно сделать запрос и выбирать нужные реквизиты из справочника, а как их вывести, здесь так: ОбластьСтрока.Параметры.НоменклатурнаяГруппа = Строка.НоменклатурнаяГруппа;

а если берем из справочника, то как то ведь по другому?
5 Фокусник
 
15.06.15
07:37
(4) "а если берем из справочника"
Обычно, это решается в запросе, например НаименованиеПолное:

|ТребованиеНакладная.Номенклатура.НаименованиеПолное КАК Имя,


Но... данная внешняя печатная форма сделана "криво", сначала есть запрос на получение данных, а потом этот запрос НЕ используется ;)

Если продолжить "в том же духе", то в макет добавляем новую колонку с параметром, например: КодНоменклатуры

Перед строкой:

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

Добавляем:

ОбластьСтрока.Параметры.КодНоменклатуры= Строка.Номенклатура.Код;
6 NovichokAlena
 
15.06.15
08:39
(5)да,спасибо,разобралась
Ошибка? Это не ошибка, это системная функция.