Имя: Пароль:
1C
1С v8
Макет внешней печатной формы
0 reznik911
 
12.02.14
14:57
добрый день! Конфигурация: УТП для Казахстана 2.0.2.5.
В 1с предприятие есть возможность вывести дополнительные кнопки (Артикул,Код) .если один из них выбрать то в типовой печатной форме появляется эта колонка, вернее в макетах он есть только становится видимым.
http://radikal.ru/f/s020.radikal.ru/i718/1402/95/2e7a9a6d937c.jpg.html

Если не выводить доп колонки то конечно же
http://radikal.ru/f/s018.radikal.ru/i524/1402/83/cc01fcce1f01.jpg.html

Есть внешняя печатная форма. отредактировал ее под типовую чтоб он тоже выводил колонку артикул.

http://radikal.ru/f/s002.radikal.ru/i200/1402/22/f081d518a81a.jpg.html

если не выводить то получается так
http://radikal.ru/f/i016.radikal.ru/1402/83/b356d75452d1.jpg.html

в запросе есть текст где если доп. колонка не выводится то остальные колонки +Эта колонка(артикул), т.е. ширина этой колонки плюсуется к другим. но увы он у меня не плюсует, а просто не выводит колонку артикул. Не подскажете как привести мою таблицу
http://radikal.ru/f/i016.radikal.ru/1402/83/b356d75452d1.jpg.html

к этой
http://radikal.ru/f/s018.radikal.ru/i524/1402/83/cc01fcce1f01.jpg.html

текст в типовой печатной форме
Функция ПечатьДокумента()

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

    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();

    ТекстКурс = "";

    СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");

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

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

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

    // Выводим шапку накладной

    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Расходная накладная");
    ТабДокумент.Вывести(ОбластьМакета);

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

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

    Если (Шапка.Получатель <> Шапка.Грузополучатель) И ЗначениеЗаполнено(Шапка.Грузополучатель) Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("Грузополучатель");
        ПредставлениеГрузополучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.Дата), "ПолноеНаименование,", Ложь);
        ОбластьМакета.Параметры.ПредставлениеГрузополучателя = СокрЛП(ПредставлениеГрузополучателя);
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Шапка.Доверенность) Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("Доверенность");
        ДанныеДляДоверенности = СокрЛП(Шапка.Доверенность);
        Если ЗначениеЗаполнено(Шапка.ДоверенностьЧерезКого) Тогда
            ДанныеДляДоверенности = ДанныеДляДоверенности + " выданной, "  + СокрЛП(Шапка.ДоверенностьЧерезКого);
        КонецЕсли;    
        ОбластьМакета.Параметры.Доверенность = ДанныеДляДоверенности;
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Шапка.ДоговорКонтрагента) Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("Основание");
        ОбластьМакета.Параметры.Основание = Шапка.ДоговорКонтрагента;
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
    
    Если Товары.Количество() + ВозвратнаяТара.Количество()<> 0 Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("Склад");
        ОбластьМакета.Параметры.Склад = Шапка.Склад;
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЕсли;    
    
    ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0;

    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ВыводитьКоды = Истина;
        Колонка = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ВыводитьКоды = Истина;
        Колонка = "Код";
    Иначе
        ВыводитьКоды = Ложь;
    КонецЕсли;
    
    ВыводитьГТД = Ложь;

    //Проверим нужно ли выводить страну происхождения и ГТД
    Для Каждого Товар ИЗ ЗапросТовары Цикл
        Если ЗначениеЗаполнено(Товар.НомерГТД) Или ЗначениеЗаполнено(Товар.СтранаПроисхождения) Тогда
            ВыводитьГТД = Истина;
            Прервать;
        КонецЕсли;        
    КонецЦикла;
                      
    ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
    ОбластьТовар   = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
    ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|КоличествоЦена");
    ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
    ОбластьГТД  = Макет.ПолучитьОбласть("ШапкаТаблицы|ГТД");

    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    ТабДокумент.Присоединить(ОбластьТовар);
    
    ТабДокумент.Присоединить(ОбластьДанных);
    Если ЕстьСкидки Тогда
        ТабДокумент.Присоединить(ОбластьСкидок);
    КонецЕсли;
    
    ТабДокумент.Присоединить(ОбластьСуммы);
    
    Если ВыводитьГТД Тогда
        ТабДокумент.Присоединить(ОбластьГТД);
    КонецЕсли;
    
    ОбластьКолонкаТовар = Макет.Область("Товар");
    Если Не ВыводитьКоды Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
        Макет.Область("КолонкаКодов").ШиринаКолонки;
    КонецЕсли;
    Если НЕ ЕстьСкидки Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
        Макет.Область("СуммаБезСкидки").ШиринаКолонки +
        Макет.Область("СуммаСкидки").ШиринаКолонки;
    КонецЕсли;
    
    Если НЕ ВыводитьГТД Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
        Макет.Область("ГТД").ШиринаКолонки;
    КонецЕсли;

    ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
    ОбластьТовар  = Макет.ПолучитьОбласть("Строка|Товар");
    ОбластьДанных = Макет.ПолучитьОбласть("Строка|КоличествоЦена");
    ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");
    ОбластьГТД  = Макет.ПолучитьОбласть("Строка|ГТД");

    Сумма    = 0;
    СуммаНДС = 0;
    ВсегоСкидок    = 0;
    ВсегоБезСкидок = 0;
    
    Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл

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

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

        // Скидка может быть NULL
        ПроцентСкидки = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),ВыборкаСтрокТовары.Скидка,0)
        + ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),ВыборкаСтрокТовары.АвтоматическаяСкидка,0);

        Если ПроцентСкидки = 100 Тогда
            СуммаДляСкидки = Окр(ВыборкаСтрокТовары.Цена * ВыборкаСтрокТовары.Количество,2,1);
        Иначе
            СуммаДляСкидки = ВыборкаСтрокТовары.Сумма;
        КонецЕсли;
        
        Скидка = УправлениеЦенообразованием.ПолучитьСуммуСкидки(СуммаДляСкидки, ПроцентСкидки);    

        Если ЕстьСкидки Тогда
            ОбластьСкидок.Параметры.Скидка         = Скидка;
            ОбластьСкидок.Параметры.СуммаБезСкидки =  ВыборкаСтрокТовары.Сумма + Скидка;
            ТабДокумент.Присоединить(ОбластьСкидок);
        КонецЕсли;

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

        Если ВыводитьГТД Тогда
            ОбластьГТД.Параметры.НомерГТДСтранаПроисхождения = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.НомерГТД),
            СокрЛП(ВыборкаСтрокТовары.НомерГТД.Код)+",", "") + Символы.ПС + ВыборкаСтрокТовары.СтранаПроисхождения;        
            
            ТабДокумент.Присоединить(ОбластьГТД);
            
        КонецЕсли;
        
        Сумма          = Сумма       + ВыборкаСтрокТовары.Сумма +  ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0);
        СуммаНДС       = СуммаНДС    + ВыборкаСтрокТовары.СуммаНДС;
        
        ВсегоСкидок    = ВсегоСкидок + Скидка;
        ВсегоБезСкидок = Сумма       + ВсегоСкидок;
        
        //прибавим к сумме акциз, если он не включен в стоимость
        ВсегоБезСкидок = ВсегоБезСкидок + ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0);        
    КонецЦикла;

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

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

        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьТовар);
        
        ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:");
        ТабДокумент.Присоединить(ОбластьДанных);
        Если ЕстьСкидки Тогда
            ТабДокумент.Присоединить(ОбластьСкидок);
        КонецЕсли;
        ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
        ТабДокумент.Присоединить(ОбластьСуммы);
        
        Если ВыводитьГТД Тогда
            ТабДокумент.Присоединить(ОбластьГТД);
        КонецЕсли;
        
        Если НЕ Шапка.СуммаВключаетНДС ТОгда
        ОбластьНомера = Макет.ПолучитьОбласть("ИтогоСНДС|НомерСтроки");
        ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоСНДС|КолонкаКодов");
        ОбластьТовар  = Макет.ПолучитьОбласть("ИтогоСНДС|Товар");
        ОбластьДанных = Макет.ПолучитьОбласть("ИтогоСНДС|КоличествоЦена");
        ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоСНДС|Скидка");
        ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоСНДС|Сумма");
        ОбластьГТД    = Макет.ПолучитьОбласть("ИтогоСНДС|ГТД");
        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьТовар);
        ТабДокумент.Присоединить(ОбластьДанных);
        Если ЕстьСкидки Тогда
            ТабДокумент.Присоединить(ОбластьСкидок);
        КонецЕсли;
        ОбластьСуммы.Параметры.ВсегоСНДС = Сумма+СуммаНДС;
        ТабДокумент.Присоединить(ОбластьСуммы);
        
        Если ВыводитьГТД Тогда
            ТабДокумент.Присоединить(ОбластьГТД);
        КонецЕсли;
        
        КонецЕсли;

    КонецЕсли;

    // Вывести Сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);

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

    // Вывести подписи
    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");

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

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

КонецФункции // ПечатьДокумента()

текст внешней печатной формы
Функция ПечатьРеализацияТоваровУслуг()

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

    ЗапросПоТоварам = Новый Запрос();
    ЗапросПоТоварам.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект);
    ЗапросПоТоварам.Текст =
    "ВЫБРАТЬ
    |    РеализацияТоваровУслугТовары.НомерСтроки,
    |    РеализацияТоваровУслугТовары.Номенклатура,
    |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
    |    РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод,
    |    СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
    |    РеализацияТоваровУслугТовары.Цена,
    |    СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма,
    |    СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
    |    СУММА(Реализация
1 palpetrovich
 
12.02.14
15:05
спасибо, будем знать
2 reznik911
 
12.02.14
15:08
(1) всмысле?))) я спрашиваю а не показываю как))) чет я вас не понял
3 mehfk
 
12.02.14
15:10
(2)
Вопроси?тельный знак (?) — знак препинания, ставится обычно в конце предложения для выражения вопроса или сомнения. Например: «Значит, пройти мимо, не ввязываться, не тратить времени, сил, „меня это не касается“ стало чувством привычным?» — Даниил Гранин.
4 reznik911
 
12.02.14
15:11
5 reznik911
 
12.02.14
15:12
(3) ииии?
6 reznik911
 
12.02.14
15:12
(3) как это поможет решить задачу. вроде все описал до мелочей
7 mehfk
 
12.02.14
15:21
(5) Ответом на вопрос "ииии?" можете считать "ъъъъ!".
8 reznik911
 
12.02.14
15:21
можно и через тим вивер если есть время конечно
9 reznik911
 
12.02.14
15:22
так видимо я не смог объяснить
10 mehfk
 
12.02.14
15:22
1500р
11 palpetrovich
 
12.02.14
15:25
(10) и это правильно! :)
12 reznik911
 
12.02.14
15:25
обойдусь
13 palpetrovich
 
12.02.14
15:28
(12) и это правильно!
создать внешнюю печатную форму с нужными полями можно и самостоятельно
14 reznik911
 
12.02.14
15:31
(13) вы че то не поняли о чем я спрашивал
15 reznik911
 
12.02.14
15:32
(13) у меня есть внешняя печатная форма. все пашет. кроме того что я написал
16 mehfk
 
12.02.14
15:35
Если не выбрана доп.колонка, выводи ее ПОСЛЕ колонки с номенклатурой и объединяй.
17 reznik911
 
12.02.14
15:42
(16) ОбластьКолонкаДанные = Макет.Область("Данные");
    Если Не ВыводитьКоды Тогда
        ОбластьКолонкаДанные.ШиринаКолонки = ОбластьКолонкаДанные.ШиринаКолонки +
        Макет.Область("КолонкаКодов").ШиринаКолонки;
    КонецЕсли;

http://s018.radikal.ru/i507/1402/5f/2741a6447c4e.png
18 reznik911
 
12.02.14
15:42
19 reznik911
 
12.02.14
15:47
Функция ПечатьРеализацияТоваровУслуг()

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

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

    СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение);

    Макет = ПолучитьМакет("З2");

    ТабДокумент = Новый ТабличныйДокумент;
    
    // Зададим параметры макета
    ТабДокумент.ПолеСверху         = 0;
    ТабДокумент.ПолеСлева          = 10;
    ТабДокумент.ПолеСнизу          = 0;
    ТабДокумент.ПолеСправа         = 0;
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПередачаТоваров_З2";

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

    // Выводим заголовок таблицы
    Если УчитыватьАкциз_ Тогда
        ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицыАкциз");
    Иначе
        //ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
    //Сухраб от    
    ОбластьНомера = Макет.ПолучитьОбласть("ЗаголовокТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("ЗаголовокТаблицы|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Данные");
    
    КонецЕсли;

    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ОбластьКодов.Параметры.Колонка = Колонка;
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    
    ОбластьДанных.Параметры.Валюта = Шапка.ВалютаПредставление;
        
    ТабДокумент.Присоединить(ОбластьДанных);
    
    
    ОбластьКолонкаДанные = Макет.Область("Данные");
    Если Не ВыводитьКоды Тогда
        ОбластьКолонкаДанные.ШиринаКолонки = ОбластьКолонкаДанные.ШиринаКолонки +
        Макет.Область("КолонкаКодов").ШиринаКолонки;
    КонецЕсли;
    
    
    //Сухраб до

    //ЗаголовокТаблицы.Параметры.Валюта = Шапка.ВалютаПредставление;
    //ЗаголовокТаблицы.Параметры.Колонка = Колонка;
    //ТабДокумент.Вывести(ЗаголовокТаблицы);

    КоличествоСтрок = ВыборкаСтрокТовары.Количество();
    ИтогоКоличество=0;
    // Выводим многострочную часть документа
    Если УчитыватьАкциз_ Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыАкциз");
    Иначе
        //ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
        
        //Сухраб от
    ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
        
    КонецЕсли;
       //Сухраб до
    
    Пока ВыборкаСтрокТовары.Следующий() Цикл

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

      
        //Сухраб до

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

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

    КонецЦикла;

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

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

    КонецЕсли;    

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

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

КонецФункции // Печать()
20 mehfk
 
12.02.14
15:54
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");

переделай аналогично вот этому

    ОбластьНомера = Макет.ПолучитьОбласть("ЗаголовокТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("ЗаголовокТаблицы|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Данные");
21 reznik911
 
12.02.14
15:59
(20) ОбластьНомера = Макет.ПолучитьОбласть("Шапка|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Шапка|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("Шапка|Данные");

так? но мне нужно чтоб только для области строк ЗаголовокТаблицы,СтрокаТаблицы и Итого. для других строк не должно влиять
22 reznik911
 
13.02.14
08:53
(20) что еще можете посоветовать
23 reznik911
 
13.02.14
09:07
...
24 DrZombi
 
гуру
13.02.14
09:21
(12) Ты не задал вопрос.
Телепатирую... Допили конфигуратор, где будет твой Блэкджек и Шлюхи :)
25 DrZombi
 
гуру
13.02.14
09:21
(22) Иди в дворники, если нет желание программировать :)
26 reznik911
 
13.02.14
09:38
(24) а то что (0) это не вопрос?
27 reznik911
 
13.02.14
09:40
(25) вообще то многое сам написал остряк! а вот это мелочь не могу сделать вроде написал те же строчки а резльтат другой. просмотрел весь модуль нигде ниче не написано. должно сработать также , но увы. вот поэтому умники советы идти в дворники самому написать внешнюю печатную форму придержите при себе.
Независимо от того, куда вы едете — это в гору и против ветра!