|
Использование метода "Вставить область". | ☑ | ||
---|---|---|---|---|
0
Iceman_2008
01.01.12
✎
17:37
|
Добрый вечер уважаемые знатоки 1С. Задался задачей сделать групповую печать Торг-12 не путем цикличного вывода областей, а за счет получения табличных документов и с использованием метода "Вставить область". Но вот затык получился. Получаешь область, вставляешь область из табличного документа с вертикальным смещением, а сдвига не происходит. Предлагаю кусок кода:
ВремОбласть = НоваяСтрока.ВремТаблица.Область(1,1,ТабДокумент.ВысотаТаблицы,ТабДокумент.ШиринаТаблицы); НоваяСтрока.ВремТаблица.ВставитьОбласть(Табдокумент.Область(1,1,ТабДокумент.ВысотаТаблицы,ТабДокумент.ШиринаТаблицы),ВремОбласть,ТипСмещенияТабличногоДокумента.ПоВертикали); НоваяСтрока.ВремТаблица.ВывестиГоризонтальныйРазделительСтраниц(); если кто сталкивался с проблемой, поделитесь что я не правильно делаю |
|||
1
Amiralnar
01.01.12
✎
17:39
|
У меня сдвигалось. Как-то, я уже не помню.
А какую проблему вы решаете? |
|||
2
Amiralnar
01.01.12
✎
17:40
|
К стати, попробуйте убрать правую и нижнюю границу:
...ВставитьОбласть(Табдокумент.Область(1,1,1,1... |
|||
3
Iceman_2008
01.01.12
✎
17:44
|
ну я просто делаю групповую печать разных печатных форм, могу полный кусок модуля показать
|
|||
4
Iceman_2008
01.01.12
✎
17:44
|
пробовал одну внешнюю печатную форму, все нормально, но там расположение портрет а не ландшафт как у торг-12
|
|||
5
Amiralnar
01.01.12
✎
17:45
|
Для каких целей делается групповая печать в табдок? Почему не выводить на принтер?
|
|||
6
Iceman_2008
01.01.12
✎
17:50
|
ну привычка, всегда просматривать то что сформировалось
|
|||
7
Iceman_2008
01.01.12
✎
17:51
|
вся процедура так выглядит:
ТабПечФорм = Новый ТаблицаЗначений; ТабПечФорм.Колонки.Добавить("ПечатнаяФорма"); ТабПечФорм.Колонки.Добавить("ВремТаблица"); ОтборПоВиду = Новый Структура; Для Каждого СтрокаДокумента ИЗ ПечатныеФормы Цикл ОтборПоВиду.Вставить("ВидДокумента",СтрокаДокумента.ВидДокумента); НайденныеСтроки = ТабДокументов.НайтиСтроки(ОтборПоВиду); Если НайденныеСтроки.Количество() <> 0 Тогда НоваяСтрока = ТабПечФорм.Добавить(); НоваяСтрока.ПечатнаяФорма = СтрокаДокумента.ПечатнаяФорма; НоваяСтрока.ВремТаблица = Новый ТабличныйДокумент; Счетчик = 0; Для Каждого НайденнаяСтрока ИЗ НайденныеСтроки Цикл Счетчик = Счетчик +1;ТабДокумент = Новый ТабличныйДокумент; Если ТипЗнч(СтрокаДокумента.ПечатнаяФорма) = Тип("Строка") Тогда КлючУникальности = НайденнаяСтрока.Ссылка.ПолучитьОбъект(); КлючУникальности.Печать(?(ТипЗнч(СтрокаДокумента.ПечатнаяФорма) = Тип("Строка"),СокрЛП(СтрокаДокумента.ПечатнаяФорма),СтрокаДокумента.ПечатнаяФорма),СтрокаДокумента.КоличествоЭкземпляров,Ложь); ТабДокумент = КлючУникальности.ТекТабДокумент; Иначе Расшифровка = Новый Структура; Расшифровка.Вставить("ВидПечатнойФормы", СтрокаДокумента.ПечатнаяФорма.ВидОбработки); Расшифровка.Вставить("ЗаменяемаяПечатнаяФорма", Неопределено); Расшифровка.Вставить("НомерСтроки", 1); Расшифровка.Вставить("СсылкаНаВнешнююОбработку",СтрокаДокумента.ПечатнаяФорма); ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(НайденнаяСтрока.Ссылка, Расшифровка); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДокумент.Скрыть(); Если Счетчик = 1 Тогда НоваяСтрока.ВремТаблица = ТабДокумент; Иначе //ВремОбласть = НоваяСтрока.ВремТаблица.Область(1,1,НоваяСтрока.ВремТаблица.ВысотаТаблицы,НоваяСтрока.ВремТаблица.ШиринаТаблицы); ВремОбласть = НоваяСтрока.ВремТаблица.Область(1,1,ТабДокумент.ВысотаТаблицы,ТабДокумент.ШиринаТаблицы); НоваяСтрока.ВремТаблица.ВставитьОбласть(Табдокумент.Область(1,1,ТабДокумент.ВысотаТаблицы,ТабДокумент.ШиринаТаблицы),ВремОбласть,ТипСмещенияТабличногоДокумента.ПоВертикали); НоваяСтрока.ВремТаблица.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; КонецЦикла; НоваяСтрока.ВремТаблица.ОтображатьЗаголовки = Ложь; НоваяСтрока.ВремТаблица.ОтображатьСетку = Ложь; КонецЕсли; КонецЦикла; Для Каждого СтрокаТаблицы ИЗ ТабПечФорм Цикл Если ТипЗнч(СтрокаТаблицы.ПечатнаяФорма) = Тип("Строка") Тогда СтрокаТаблицы.ВремТаблица.Показать(СокрЛП(СтрокаТаблицы.ПечатнаяФорма)); Иначе СтрокаТаблицы.ВремТаблица.Показать(СокрЛП(СтрокаТаблицы.ПечатнаяФорма.Наименование)); КонецЕсли; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |