|
2 табличных документа на 1 странице | ☑ | ||
---|---|---|---|---|
0
sooo_ez
28.03.19
✎
10:09
|
Привет всем!
8.3.13.1513. История такая. Нужно распечатать 2 разных табличных документа на листе а4. Ещё раз, нужно - а4 ландшафт, визуально делим листок посередине: справа и слева разные а5 ориентации портрет. Проблемы с которыми столкнулся: 1. Экземпляров на странице: бесполезная нерабочая штука. С настройками принтера ок (там есть не то бага, не то фича, что экземляры должны быть указаны только в одном месте: 1С или принтер). Всё равно - бесполезная нерабочая штука, мб работает только с копиями, не проверял, мне копии и не надо. Да и бьется она только по горизонтали, что не ок, т.к. нужно разбиение по вертикали как описано выше. 2. При выводе 2 табличных документов (метод Присоединить()) в 1 табличный документ - высота всей строки сквозь оба документа а5 определяется по максимально заполненной ячейке, что не ок, потому что одна ячейка документа слева плотно заполненав несколько строк, а ячейка этой же строки второго документа - просто пустая и растянутая по высоте ячейки левого документа. Т.к. строка одна и таже, т.к. табличный документ один и тот же по сути. В целом, если бы не эта проблема меня бы все устроило, т.к. в остальном всё +- получилось. 3. Печать отдельными страницами (ака "Печать комплекта") тоже не увенчалась успехом. Не удалось скомпоновать отдельные табличные документы, чтобы они выводились на одном листе а4. Тут я может что-то неправильно делаю? Есть примеры рабочих решений или советы/подсказки/лайфхаки? Мб можно получить независимую разрисовку ячеек на одном табличном документе? (по моему раньше как то получалось в макете и меня это бесило, а теперь это и нужно по сути, но как - я хз) |
|||
1
Ёпрст
28.03.19
✎
11:17
|
||||
2
sooo_ez
28.03.19
✎
11:47
|
(1) Не видел этой темы, попробую. Спасибо!
|
|||
3
Ёпрст
28.03.19
✎
11:48
|
в поиске поройся, таких тем много и с решениями есть
|
|||
4
sooo_ez
28.03.19
✎
11:50
|
(3) Да начитался я уже, но ниче не сработало. Про СоздатьФорматСтрок() не знал, вот впервые увидел. Наверно, плохо ищу =)
|
|||
5
sooo_ez
28.03.19
✎
12:46
|
Собственно, не работает.
Синтаксис: СоздатьФорматСтрок() Описание: Создает у области новый формат строк. В новом формате строк размеры колонок будут соответствовать размерам колонок, которые были установлены в области. Ключевое слово "колонок". Мне нужно провернуть такую же дичь, только со строками. Опять же, иначе можно как то выводить 2 листа разделенных ВывестиГоризонтальныйРазделительСтраниц() на одном. Но это тоже не получается средствами 1С. &НаСервереБезКонтекста Процедура ДобавитьОтчет(ТДПриемник, Отчет) // Здесь вставляем область справа. НачалоНовогоФорматаСтрок = ТДПриемник.ШиринаТаблицы + 1; ОбластьПрямоугольная = Отчет.Область(, 1, , Отчет.ШиринаТаблицы); ТДПриемник.ВставитьОбласть(ОбластьПрямоугольная, ТДПриемник.Область(1, НачалоНовогоФорматаСтрок)); ТДПриемник.Область(, НачалоНовогоФорматаСтрок, , НачалоНовогоФорматаСтрок + Отчет.ШиринаТаблицы - 1).СоздатьФорматСтрок(); // назначим высоту строк у новой области формата строк (???) Для Счетчик = 1 По Отчет.ВысотаТаблицы Цикл ТДПриемник.Область(Счетчик, НачалоНовогоФорматаСтрок).АвтоВысотаСтроки = Ложь; ТДПриемник.Область(Счетчик, НачалоНовогоФорматаСтрок).ВысотаСтроки = Отчет.Область(Счетчик, 1).ВысотаСтроки; КонецЦикла; КонецПроцедуры Это такая же фигня из СП, но "типа для строк", конечно же, не работает. Но стоило попробовать) |
|||
6
sooo_ez
28.03.19
✎
12:48
|
По результату получилось тоже самое что и Присоединить(), т.е. часть с установкой высоты не отработала по факту. Без ошибок, просто ничего не изменилось после прогонки
|
|||
7
1Сергей
28.03.19
✎
12:49
|
можно попробовать скопировать колонки (область) из одного мокселя в другой.
СоздатьФорматСтрок здесь не подойдёт. Тебе же надо справа присоединить |
|||
8
1Сергей
28.03.19
✎
12:51
|
(6) а... так у тебя по высоте разьезжается. Нельзя ли макеты унифицировать по высоте?
|
|||
9
sooo_ez
28.03.19
✎
13:41
|
(7) Не понял, что Вы имеете ввиду. Либо копировать область в "первый" макет - это сделано процедурой выше, не сработало. Либо же использовать 2 разных табличных документа, но их на одном листе вывести у меня не получилось. Не важно даже это ВывестиГоризонтальныйРазделительСтраниц() в одном макете или действительно 2 разных макета ака "Печать комплекта", я только "за", но у меня правда не получилось. Пробовал экспериментировать с параметрами "Автомастаб", "ОриентацияСтраницы", "РазмерСтраницы" и "ЭкземпляровНаСтранице". Ни одного успешного вывода. Получилось только с пом. Присоединить(), но появилась проблема, которую я описал. В этом случае, проблема одна.
(8) С унификацией скорее всего не получится. Слишком они разные. Вот скрин, дабы визуализировать трабл. https://cdn1.savepice.ru/uploads/2019/3/28/999894ab47c8ae83947371fc9a53e5fd-full.jpg |
|||
10
sooo_ez
28.03.19
✎
13:44
|
(9) В скрине поле "Номер" наследует ширину поля "Текст" (т.е. её области, где стоит параметр заполнения данных). В идеале бы сделать их независимыми, но чет 1С не могёт.
|
|||
11
1Сергей
28.03.19
✎
13:45
|
(10) не могёт
|
|||
12
sooo_ez
28.03.19
✎
13:49
|
(11) Обида =) Есть мб альтернативы какие?
То что "не могёт" - морально допустимо, но 2 таб. дока разных тоже нельзя распечатать на одной странице через настройки 1С? И тут, как понимаю, нужно отстраивать эту ситуацию в настройках принтера. Для меня - это не варик, принтеры разные бывают, а конфа одна и хотелось бы в ней это сделать. Может костыли есть? Я готов к ним, к сожалению. |
|||
13
sooo_ez
28.03.19
✎
14:09
|
(12) Можно выводить в ворд или эксель.
В эксель +- тоже самое, как понимаю. Ворд - вариант, но как только там начнется проблема с избытком текста и макет станет выпирать по вертикали за низ страницы, как это проконтролировать я хз, тьма. Уменьшение шрифта, мастаб, аналог "ПроверитьВывод", есть ли механизмы типа "умещать на 1 листе"? Просто, если это в теории возможно, отпишите плз, я уж разберусь. На шару писать печатную форму в ворде до такой же или аналогичной проблемы и терять 2 дня - глупо. Если ничего нового не узнаю, рискну, конечно =) |
|||
14
1Сергей
28.03.19
✎
14:10
|
Не, ничего в голову не приходит
|
|||
15
sooo_ez
28.03.19
✎
14:11
|
(14) В любом случае спасибо!
Если будут идеи - пишите, если у меня будет результат - я поделюсь. |
|||
16
Ёпрст
28.03.19
✎
14:11
|
это еще посмотри, не проверял
https://www.sql.ru/forum/925898/vyvod-raznyh-otchetov-v-odin-tablichnyy-dokument-reshenie |
|||
17
Ёпрст
28.03.19
✎
14:12
|
(13) в эксель не выведешь, даже разные ширины колонки (вложенные )- там этого вообще нет
|
|||
18
Ёпрст
28.03.19
✎
14:18
|
И.. для строк врят ли что-то придумаешь, проще выводить через горизонтальный разделитель страниц и играться с количеством экземпляров на странице
|
|||
19
sooo_ez
28.03.19
✎
14:24
|
(16) Ок, я посмотрю, но вангую, это аналог СоздатьФорматСтрок(). Т.е. ориентирован на работу с колонками. Я думаю не умеет 1С со строками вытворять подобное. Как и сказал, я протестирую.
(18) К сожалению, пока без результатов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |