Имя: Пароль:
1C
1С v8
Как вывести печатную форму документа по родителю Номенклатуры???
, ,
0 yariksuray
 
26.12.11
14:36
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    РеализацияТоваровУслугТовары.Номенклатура КАК Товары,
   |    РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК Характеристики,
   |    СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
   |    РеализацияТоваровУслугТовары.Цена КАК Цена,
   |    РеализацияТоваровУслугТовары.Ссылка.ТипЦен,
   |    ЦеныНоменклатуры.ТипЦен КАК ИзмТипЦен,
   |    ЦеныНоменклатуры.Номенклатура КАК ИзмНоменклатура,
   |    ЦеныНоменклатуры.ХарактеристикаНоменклатуры КАК ИзмХарактеристикаНоменклатуры,
   |    ЦеныНоменклатуры.Цена КАК РесЦена,
   |    РеализацияТоваровУслугТовары.Номенклатура.Родитель КАК Родитель
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
   |        ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
   |            И РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
   |            И РеализацияТоваровУслугТовары.Ссылка.ТипЦен = ЦеныНоменклатуры.ТипЦен
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Ссылка = &ТекущийДокумент
   |
   |СГРУППИРОВАТЬ ПО
   |    РеализацияТоваровУслугТовары.Номенклатура.Родитель,
   |    РеализацияТоваровУслугТовары.Номенклатура,
   |    РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры,
   |    РеализацияТоваровУслугТовары.Цена,
   |    РеализацияТоваровУслугТовары.Ссылка.ТипЦен,
   |    ЦеныНоменклатуры.ТипЦен,
   |    ЦеныНоменклатуры.Номенклатура,
   |    ЦеныНоменклатуры.ХарактеристикаНоменклатуры,
   |    ЦеныНоменклатуры.Цена
   |ИТОГИ ПО
   |    Родитель КАК Родитель";
   Выборка = Запрос.Выполнить();
   Выборка = Выборка.Выбрать();
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная";

   Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("Накладная");

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

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

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

   
   МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров);
   ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
   Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
       ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
       ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;        
   
       
   ОбластьМакета = Макет.ПолучитьОбласть("Таблица");
   ТабДокумент.Вывести(ОбластьМакета);
1 Axel2009
 
26.12.11
14:40
вот как сделал так и вывести
2 vmv
 
26.12.11
14:41
(0) надо уменьшить код на 90%
3 Галахад
 
гуру
26.12.11
14:48
(0) Чо сделать-то?
4 yariksuray
 
26.12.11
14:52
Хочу, чтобы был вид печатной формы иерхаический, но как-то не получается!!!
5 yariksuray
 
26.12.11
14:53
понимаю, что номенклатура должна быть помещена в Цикл родителя, но не получается!
6 Галахад
 
гуру
26.12.11
14:57
Чо-та не понял как связаны запрос и код внизу. :-(
7 Axel2009
 
26.12.11
14:57
в какой цикл родителя?
8 Reset
 
26.12.11
14:58
(4) Покури СП на тему второго параметра метода Вывести()
ЗЫ. Код не смотрел
9 Reset
 
26.12.11
14:59
+(8) и не буду
10 Axel2009
 
26.12.11
15:16
(9) да ты ваще телепат!!