Имя: Пароль:
1C
1С v8
Параметры печати
0 Kucha88
 
08.04.13
08:54
Всем доброго дня, возник вопрос как сделать ВПФ макета на одной странице по ширине листа, пробовал выставлял параметры в коде. ничего не получается, нужна ваша помощь, вот код:
Функция ПечатьПриказНакладная()

   ПараметрыПечати = СформироватьДанныеДляПечати(СсылкаНаОбъект);

   ТабДокумент  = Новый ТабличныйДокумент;
   // Зададим параметры печатной формы по умолчанию
   ТабДокумент.РазмерКолонтитулаСверху = 0;
   ТабДокумент.РазмерКолонтитулаСнизу  = 0;
   ТабДокумент.АвтоМасштаб             = Истина;
   ТабДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Портрет;
   
   Макет = ПолучитьМакет("ПриказНакладная");
   
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
   ТабДокумент.Вывести(ОбластьМакета);
   
   НомерСтраницы   = 1;
       
   Товары = ПараметрыПечати.Товары;
   КоличествоСтрок = Товары.Количество();
   
   // инициализация итогов по странице
       ИтогоКоличествоНаСтранице  = 0;
   ИтогоСуммаНаСтранице       = 0;
   ИтогоНДСНаСтранице         = 0;
   ИтогоСуммаСНДСНаСтранице   = 0;
   
   // инициализация итогов по документу
   ИтогоКоличество  = 0;
   ИтогоСуммаСНДС   = 0;
   ИтогоСумма       = 0;
   ИтогоНДС         = 0;
   НомерСтроки      = 0;
   
   // Создаем массив для проверки вывода
   МассивВыводимыхОбластей = Новый Массив;
   
   // Выводим многострочную часть докмента
   ЗаголовокТаблицы        = Макет.ПолучитьОбласть("ЗаголовокТаб");
   ОбластьМакета           = Макет.ПолучитьОбласть("Строка");
       ОбластьПодвала          = Макет.ПолучитьОбласть("Подвал");
       ОбластьМакетаВсего      = Макет.ПолучитьОбласть("Итого");
   
   Для Каждого ВыборкаСтрок Из Товары Цикл
       
           
       НомерСтроки = НомерСтроки + 1;
       
       ОбластьМакета.Параметры.Заполнить(ВыборкаСтрок);
       ОбластьМакета.Параметры.НомерСтроки = Товары.Индекс(ВыборкаСтрок) + 1;
               Если НаЭкспорт Тогда
           
           ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование)
           + ПредставлениеСерий(ВыборкаСтрок)
           + ?(ВыборкаСтрок.Метка = 2, " (возвратная тара)", "");
           
       Иначе
           
           ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование)
           + ПредставлениеСерий(ВыборкаСтрок)
           + ?(ВыборкаСтрок.Метка = 2, " (возвратная тара)", "")
           + ?(ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура.Артикул), " арт."+СокрЛП(ВыборкаСтрок.Номенклатура.Артикул), "");
           
       КонецЕсли;
               
       Количество  = ВыборкаСтрок.Количество;
       СуммаСНДС   = Окр((ВыборкаСтрок.Сумма + ?(ПараметрыПечати.Шапка.СуммаВключаетНДС, 0, ВыборкаСтрок.СуммаНДС)), 2);
       СуммаНДС    = Окр(ВыборкаСтрок.СуммаНДС, 2);
       СуммаБезНДС = СуммаСНДС  - СуммаНДС;
       
               ОбластьМакета.Параметры.СуммаСНДС   = СуммаСНДС;
       ОбластьМакета.Параметры.СуммаНДС    = СуммаНДС;
               ОбластьМакета.Параметры.СуммаБезНДС = СуммаБезНДС;
       
       Если ПараметрыПечати.Шапка.СуммаВключаетНДС
           Или ВыборкаСтрок.ЕстьСкидкиПоСтроке Тогда
           ОбластьМакета.Параметры.Цена = ?(Количество = 0, 0, СуммаБезНДС / Количество);
       Иначе
           ОбластьМакета.Параметры.Цена = ВыборкаСтрок.Цена;
       КонецЕсли;
       
       Если НомерСтроки = 1 Тогда // первая срока
           
           ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;
           ТабДокумент.Вывести(ЗаголовокТаблицы);
           
       Иначе
           
           МассивВыводимыхОбластей.Очистить();
           МассивВыводимыхОбластей.Добавить(ОбластьМакета);
                       Если НомерСтроки = КоличествоСтрок Тогда
               МассивВыводимыхОбластей.Добавить(ОбластьПодвала);
                           КонецЕсли;        
           
           Если НомерСтроки <> 1 И НЕ ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивВыводимыхОбластей) Тогда
               
                               
               НомерСтраницы = НомерСтраницы + 1;
               ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
               
               ЗаголовокТаблицы.Параметры.НомерСтраницы = "Приказ-накладная № "+ПараметрыПечати.НомерДокумента
                                   +" от "+Формат(ПараметрыПечати.ДатаДокумента,"ДФ=dd.MM.yyyy")+" Страница " + НомерСтраницы;
                               ТабДокумент.Вывести(ЗаголовокТаблицы);
               
           КонецЕсли;
           
       КонецЕсли;
       
       ТабДокумент.Вывести(ОбластьМакета);
       
       ИтогоКоличество  = ИтогоКоличество  + Количество;
       ИтогоСумма       = ИтогоСумма       + СуммаБезНДС;
       ИтогоНДС         = ИтогоНДС         + СуммаНДС;
       ИтогоСуммаСНДС   = ИтогоСуммаСНДС   + СуммаСНДС;
       
   КонецЦикла;
   
       ОбластьМакетаВсего.Параметры.ИтогКоличество  = ИтогоКоличество;
   ОбластьМакетаВсего.Параметры.ИтогСуммы       = ИтогоСумма;
   ОбластьМакетаВсего.Параметры.ИтогНДС         = ИтогоНДС;
   ОбластьМакетаВсего.Параметры.ИтогСуммыСНДС   = ИтогоСуммаСНДС;
   
   ТабДокумент.Вывести(ОбластьМакетаВсего);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
   ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего наименований "+Товары.Количество()+", на сумму "+Формат(ИтогоСуммаСНДС, "ЧДЦ=2; ЧРД=.; ЧРГ='");
   ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(ИтогоСуммаСНДС, мВалютаРегламентированногоУчета);
   ТабДокумент.Вывести(ОбластьМакета);
       
   Возврат ТабДокумент;
   
КонецФункции


Функция Печать() Экспорт
   ТабличныйДокумент = ПечатьПриказНакладная();
   
   Возврат ТабличныйДокумент;

КонецФункции // Печать()
1 Kucha88
 
08.04.13
13:31
и что никто мне не скажет в чем проблема, что я не так делаю?