|
Подскажите почему портретом печатается,хотя вроде стоит ланшафт? | ☑ | ||
---|---|---|---|---|
0
tg30000
04.08.11
✎
11:46
|
Подскажите почему портретом печатается,хотя вроде стоит ланшафт?
Функция СформироватьОтчет(Документ) ТабДокумент = Новый ТабличныйДокумент; //Получаем области макета Макет = ПолучитьМакет("М11"); Шапка = Макет.ПолучитьОбласть("Шапка"); ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); Итого = Макет.ПолучитьОбласть("Итого"); Подвал = Макет.ПолучитьОбласть("Подвал"); // Зададим параметры макета ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 0; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; //ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТребованиеНакладная_М11"; //ШАПКА // СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(глЗначениеПеременной("Организация"), Документ.Дата); Шапка.Параметры.Заголовок = "ТРЕБОВАНИЕ-НАКЛАДНАЯ № " + Строка(Документ.Номер); //Шапка.Параметры.КодОКПО = СведенияОбОрганизации.КодПоОКПО; //Шапка.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); Шапка.Параметры.ДатаСоставления = Формат(Документ.Дата, "ДФ=dd.MM.yy"); Шапка.Параметры.Склад = СокрЛП(Документ.СкладОтправитель); Шапка.Параметры.ПредставлениеПодразделения = СокрЛП(Документ.СкладПолучатель); Шапка.Параметры.а1 = СокрЛП(Документ.а1 ); Шапка.Параметры.а2 = СокрЛП(Документ.а2); ТабДокумент.Вывести(Шапка); //ОСНОВНЫЕ ДАННЫЕ Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПеремещениеТоваров.СчетУчетаБУ КАК Счет, | ПеремещениеТоваров.Ссылка, | ПеремещениеТоваров.Номенклатура КАК Наименование, | ПеремещениеТоваров.Номенклатура.Код КАК НоменклатурныйНомер, | ПеремещениеТоваров.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ПеремещениеТоваров.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | ПеремещениеТоваров.Количество КАК Количество, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма, | ХозрасчетныйОборотыДтКт.КоличествоОборотДт КАК КоличествоЗапрос, | ХозрасчетныйОборотыДтКт.СчетДт, | ХозрасчетныйОборотыДтКт.СчетКт, | ПеремещениеТоваров1.а1, | ПеремещениеТоваров1.а2, | ПеремещениеТоваров1.а3, | ПеремещениеТоваров1.а4 |ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваров | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(, , Регистратор, , , , , ) КАК ХозрасчетныйОборотыДтКт | ПО ПеремещениеТоваров.Ссылка = ХозрасчетныйОборотыДтКт.Регистратор | И ПеремещениеТоваров.Номенклатура = ХозрасчетныйОборотыДтКт.СубконтоДт1 | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров1 | ПО ПеремещениеТоваров.Ссылка = ПеремещениеТоваров1.Ссылка |ГДЕ | ПеремещениеТоваров.Ссылка = &СсылкаНаДокумент"; Запрос.УстановитьПараметр("СсылкаНаДокумент", Документ); //Документ ссылка: Перемещение товаров ВыборкаСтрокТовары = Запрос.Выполнить().Выгрузить(); // Выводим заголовок таблицы ТабДокумент.Вывести(ЗаголовокТаблицы); // Инициализация номера страницы НомерСтраницы = 1; // Инициализация итогов в документе ИтогоКоличество = 0; СуммаПоСтранице = 0; СуммаПоДокументу = 0; НомерСтроки = 0; // Выводим многострочную часть докмента Строка = Макет.ПолучитьОбласть("Строка"); ПоследняяСтрока = Макет.ПолучитьОбласть("ПоследняяСтрока"); // Выводим многострочную часть докмента Строка = Макет.ПолучитьОбласть("Строка"); ПоследняяСтрока = Макет.ПолучитьОбласть("ПоследняяСтрока"); Для Счетчик = 0 По ВыборкаСтрокТовары.Количество()-1 Цикл СтрокаТовар = ВыборкаСтрокТовары[Счетчик]; НомерСтроки = НомерСтроки + 1; // Проверим, помещается ли строка с данными и последняя строка (или итоги) на странице. СтрокаТаблицы = Новый Массив; СтрокаТаблицы.Добавить(Строка); Если НЕ (НомерСтроки = ВыборкаСтрокТовары.Количество()) Тогда СтрокаТаблицы.Добавить(ПоследняяСтрока); Иначе СтрокаТаблицы.Добавить(Итого); КонецЕсли; Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаТаблицы) Тогда НомерСтраницы = НомерСтраницы + 1; //Выводим итоги по странице, если более одной страницы ПоследняяСтрока.Параметры.СуммаПоСтранице = Формат(СуммаПоСтранице, "ЧДЦ=2"); СуммаПоСтранице = 0; ТабДокумент.Вывести(ПоследняяСтрока); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы+ " к требованию-накладной №"+Строка(Документ.Номер); ТабДокумент.Вывести(ЗаголовокТаблицы); КонецЕсли; Строка.Параметры.Заполнить(СтрокаТовар); НужноЛиСчитатьСумму = Истина; ЕстьЛиДубликаты = Ложь; //Проверяем на наличие дубликатов в табличной части //Если не первая строка - проверяем предыдующую строку на дубликаты Если Счетчик <> 0 Тогда Если ВыборкаСтрокТовары[Счетчик].Наименование = ВыборкаСтрокТовары[Счетчик-1].Наименование Тогда Цена = ВыборкаСтрокТовары[Счетчик].Сумма / ВыборкаСтрокТовары[Счетчик].КоличествоЗапрос; Строка.Параметры.Цена = Цена; Сумма = ВыборкаСтрокТовары[Счетчик].Количество * Цена; Строка.Параметры.Сумма = Сумма; ЕстьЛиДубликаты = Истина; НужноЛиСчитатьСумму = Ложь; КонецЕсли; КонецЕсли; //Если не последняя строка - проверяем следующую строку на дубликаты Если Счетчик <> ВыборкаСтрокТовары.Количество()-1 Тогда Если ВыборкаСтрокТовары[Счетчик].Наименование = ВыборкаСтрокТовары[Счетчик+1].Наименование Тогда Цена = ВыборкаСтрокТовары[Счетчик].Сумма / ВыборкаСтрокТовары[Счетчик].КоличествоЗапрос; Строка.Параметры.Цена = Цена; Сумма = ВыборкаСтрокТовары[Счетчик].Количество * Цена; Строка.Параметры.Сумма = Сумма; ЕстьЛиДубликаты = Истина; НужноЛиСчитатьСумму = Ложь; КонецЕсли; КонецЕсли; //Пересчитываем сумму в случае с дубликатами Если ЕстьЛиДубликаты Тогда СуммаПоДокументу = СуммаПоДокументу + Сумма; СуммаПоСтранице = СуммаПоСтранице + Сумма; КонецЕсли; //Считаем суммы Если НужноЛиСчитатьСумму Тогда СуммаПоДокументу = СуммаПоДокументу + СтрокаТовар.Сумма; СуммаПоСтранице = СуммаПоСтранице + СтрокаТовар.Сумма; КонецЕсли; Строка.Параметры.Наименование = СокрЛП(СтрокаТовар.Наименование); Строка.Параметры.Цена = ?(СтрокаТовар.Количество = 0, 0, СтрокаТовар.Сумма / СтрокаТовар.Количество); ТабДокумент.Вывести(Строка); КонецЦикла; //Выводим итоги по странице на последней странице Если НомерСтраницы > 1 Тогда ПоследняяСтрока.Параметры.СуммаПоСтранице = Формат(СуммаПоСтранице, "ЧДЦ=2"); ТабДокумент.Вывести(ПоследняяСтрока); КонецЕсли; //Выводим итоги по документу Итого.Параметры.СуммаПоДокументу = Формат(СуммаПоДокументу, "ЧДЦ=2"); ТабДокумент.Вывести(Итого); // Проверим, помещается ли подвал Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, Подвал) Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; // Выводим подвал //Подвал.Параметры.Склад = СокрЛП(Документ.СкладОтправитель); //Подвал.Параметры.ПредставлениеПодразделения = СокрЛП(Документ.СкладПолучатель); Подвал.Параметры.а3 = СокрЛП(Документ.а3); Подвал.Параметры.а4 = СокрЛП(Документ.а4); ТабДокумент.Вывести(Подвал); Возврат ТабДокумент; КонецФункции |
|||
1
Axel2009
04.08.11
✎
11:46
|
потому что дальше идет общая процедура напечатать, которая не копирует по табличному документу ландшафт или портрет и выводит портрет.
|
|||
2
tg30000
04.08.11
✎
11:47
|
а как можно изменить?
|
|||
3
Axel2009
04.08.11
✎
11:51
|
изменив общую процедуру
|
|||
4
tg30000
04.08.11
✎
11:52
|
это логично, знал бы как то конечно бы изменил...к сожалению не пойму как менять..
|
|||
5
butterbean
04.08.11
✎
11:53
|
ТабДокумент.ИмяПараметровПечати задай
|
|||
6
tg30000
04.08.11
✎
11:59
|
что-то не въеду что кому присваивать... ерунда выходит
|
|||
7
butterbean
04.08.11
✎
12:01
|
(6) что значит "ерунда выходит"?? ты где щас??
|
|||
8
tg30000
04.08.11
✎
12:03
|
не печатает ланшафт
|
|||
9
tg30000
04.08.11
✎
12:03
|
сейчас попробую еще..
|
|||
10
dimaldinho
04.08.11
✎
12:15
|
раскомментируй строку
//ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТребованиеНакладная_М11"; |
|||
11
байт
04.08.11
✎
12:20
|
(0) я внешней печатной формой обошелся
|
|||
12
tg30000
04.08.11
✎
12:22
|
у меня и так это внешняя обработка сам писал, но не все получается тут только ланшавт не получилось сделать , но сейчай попробую
раскомментируй строку //ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТребованиеНакладная_М11"; |
|||
13
Axel2009
04.08.11
✎
12:31
|
(12) заходишь в общую форму ПечатьДокументов
там в приоткрытии после ВставитьОбласть(ПечатныйДокумент.Область()); добавляешь строчку ЭлементыФормы.ПолеТабличногоДокумента.ОриентацияСтраницы = ПечатныйДокумент.ОриентацияСтраницы; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |