|
v8: Не корректно отрабатывает .ПроверитьВывод( | ☑ | ||
---|---|---|---|---|
0
qwerty1234
17.04.13
✎
15:20
|
оставляет много свободного места листинг см .ниже
МассивВыводимыхОбластей = Новый Массив; ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ПолеСверху = 5; ТабДокумент.ПолеСлева = 5; ТабДокумент.ПолеСнизу = 5; ТабДокумент.ПолеСправа = 5; ТабДокумент.РазмерКолонтитулаСверху = 0; ТабДокумент.РазмерКолонтитулаСнизу = 0; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДокумент.АвтоМасштаб=Истина; Макет = ПолучитьМакет("Положение"); ОбластьМакета = Макет.ПолучитьОбласть("Колонтитул"); ОбластьМакета.Параметры.Организация = Организация.НаименованиеПолное; ОбластьМакета.Параметры.ДатаРаспаряжения = Формат(Дата,"ДФ=""dd.MM.yyyy 'г.'"""); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.ДатаРаспоряжения = Формат(Дата,"ДФ=""дд ММММ гггг 'г.'"""); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); МассивВыводимыхОбластей.Очистить(); ОбластьКолонтитулаМакета = Макет.ПолучитьОбласть("Колонтитул"); ОбластьКолонтитулаМакета.Параметры.Организация = Организация.НаименованиеПолное; ОбластьКолонтитулаМакета.Параметры.ДатаРаспаряжения = Формат(Дата,"ДФ=""dd.MM.yyyy 'г.'"""); ТабДокумент.Вывести(ОбластьКолонтитулаМакета); //МассивВыводимыхОбластей.Добавить(ОбластьКолонтитулаМакета); ОбластьЗаголовокМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовокМакета.Параметры.НачалоПериода = Формат(НачалоМесяца(Дата),"ДФ=""dd.MM.yyyy 'г.'"""); ОбластьЗаголовокМакета.Параметры.КонецПериода = Формат(КонецМесяца(Дата),"ДФ=""dd.MM.yyyy 'г.'"""); ТабДокумент.Вывести(ОбластьЗаголовокМакета); //МассивВыводимыхОбластей.Добавить(ОбластьЗаголовокМакета); ОбластьЗаголовокТаблицыМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Оснавная"); ТабДокумент.Вывести(ОбластьЗаголовокТаблицыМакета); //МассивВыводимыхОбластей.Добавить(ОбластьЗаголовокТаблицыМакета); ТЗВывода = ТабличнаяЧасть.Получить(); Секция = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Скидка"); Для Каждого СтрокаТЧ из ТЗВывода.Колонки цикл Если Лев(СтрокаТЧ.Имя,1) ="_" тогда Секция.Параметры.Дата = Формат(Дата(СтрокаТЧ.Заголовок),"ДФ=dd.MM.yyyy"); ТабДокумент.Присоединить(Секция); КонецЕсли; КонецЦикла; Для каждого СтрокаТЧ из ТЗВывода Цикл ОбластьСтрокиМакета = Макет.ПолучитьОбласть("СтрокаТаблицы|Оснавная"); ОбластьСтрокиМакета.Параметры.Артикул = СтрокаТЧ.Номенклатура.Артикул; ОбластьСтрокиМакета.Параметры.Номенклатура = СтрокаТЧ.Номенклатура; ОбластьСтрокиМакета.Параметры.ЦенаРозницы = СтрокаТЧ.ЦенаДоНазначенияЦен; ТабДокумент.Вывести(ОбластьСтрокиМакета); МассивВыводимыхОбластей.Добавить(ОбластьСтрокиМакета); Секция = Макет.ПолучитьОбласть("СтрокаТаблицы|Скидка"); Для каждого КолонкиТЧ из ТЗВывода.Колонки Цикл Если Лев(КолонкиТЧ.Имя,1) ="_" тогда Секция.Параметры.Скидка = ?(СтрокаТЧ.ЦенаДоНазначенияЦен <> 0 и СтрокаТЧ[КолонкиТЧ.Имя] <> 0 и Окр(100 - (100 * СтрокаТЧ[КолонкиТЧ.Имя] / СтрокаТЧ.ЦенаДоНазначенияЦен),2) <> 0 = Истина,""+ Окр(100 - (100 * СтрокаТЧ[КолонкиТЧ.Имя] / СтрокаТЧ.ЦенаДоНазначенияЦен),2) + " %","") ; ТабДокумент.Присоединить(Секция); КонецЕсли; КонецЦикла; Если НЕ ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда МассивВыводимыхОбластей.Очистить(); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОбластьКолонтитулаМакета); //МассивВыводимыхОбластей.Добавить(ОбластьКолонтитулаМакета); ТабДокумент.Вывести(ОбластьЗаголовокТаблицыМакета); //МассивВыводимыхОбластей.Добавить(ОбластьЗаголовокТаблицыМакета); Секция = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Скидка"); Для Каждого СтрокаТЧ из ТЗВывода.Колонки цикл Если Лев(СтрокаТЧ.Имя,1) ="_" тогда Секция.Параметры.Дата = Формат(Дата(СтрокаТЧ.Заголовок),"ДФ=dd.MM.yyyy"); ТабДокумент.Присоединить(Секция); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ТабДокумент.Область("C1").ШиринаКолонки = 15; ТабДокумент.Область("C6").ШиринаКолонки = 9; ТабДокумент.Показать(); УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент,,,"Положение об Акции ""Продажа товара со скидкой"""); |
|||
1
Deni7
17.04.13
✎
15:50
|
(0) А в чем трабла-то конкретно?
|
|||
2
qwerty1234
17.04.13
✎
16:07
|
в соответствии с синтаксным помошником данный метод должен вернуть Истину если переданый массив умещается на страницу
у меня е получается 1/3 листа пустая - на каждой из разрезаных старниц ТабличныйДокумент (SpreadsheetDocument) ПроверитьВывод (CheckPut) Синтаксис: ПроверитьВывод(<Таблицы>) Параметры: <Таблицы> (обязательный) Тип: Массив, ТабличныйДокумент. Массив из проверяемых таблиц или табличный документ. Возвращаемое значение: Тип: Булево. Истина - умещаются; Ложь - в противном случае. Описание: Проверяет, умещаются ли переданные табличные документы на страницу при печати. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Примечание: При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение. Пример: Т.Добавить(ШапкаДокумента); Т.Добавить(СтрокаДокумента); Т.Добавить(ПодвалДокумента); Если Не ТабДок.ПроверитьВывод(Т) Тогда Сообщить("Документ не умещается на страницу!"); КонецЕсли; См. также: ТабличныйДокумент, метод ПроверитьПрисоединение |
|||
3
qwerty1234
17.04.13
✎
18:18
|
Мужики вы где? или типа не кому не интересно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |