|
Вывод дополнительного таб. документа с сохранением его форматирования | ☑ | ||
|---|---|---|---|---|
|
0
slafor
02.03.26
✎
15:19
|
Есть основной табличный документ, к нему присоединяется другой - Приложение. Если Приложение выводить отдельно - все нормально, но когда оно выводится в основном таб документе, то возникает ощущение, что оно "переформатируется", т.е. его формат меняется и становится, как в основном - то есть ширина колонок меняется, в результате количество строк на странице Приложения становится другим. Это важно, потому что деление строк на страницу делается программно, в зависимости от их содержания.
Можно ли сделать так, чтобы при выводе дополнительного табличного документа его форматирование полностью сохранялось? |
|||
|
1
Garykom
гуру
02.03.26
✎
15:20
|
И разделитель страниц не помогает?
|
|||
|
2
slafor
02.03.26
✎
15:28
|
(1) Неа, разделитель там конечно ставится, но все равно вид Приложения уже другой.
|
|||
|
3
maxab72
02.03.26
✎
15:29
|
(0) макеты Документа и Приложения это разные табличные документы или один общий?
|
|||
|
4
Мультук
гуру
02.03.26
✎
15:41
|
(3)
Был бы один макет, у него не было бы проблем. P.S. Имхо это неисправимо |
|||
|
5
maxar
02.03.26
✎
15:53
|
(0)СоздатьФорматСтрок - тоже не помогает?
|
|||
|
6
maxab72
02.03.26
✎
15:56
|
(4) ну, при должном уровне извращенчества, и это решаемо. Например если все макеты делать на сетке с полями шириной 2.5
|
|||
|
7
mikecool
02.03.26
✎
16:03
|
(5) +1 уже 20 лет прошло, и снова вспомнили ))
|
|||
|
8
Мультук
гуру
02.03.26
✎
16:05
|
(6)
Вот интересно, 1С же даёт возможность в одном макете делать строки с разной шириной столбцов. И если я правильно помню - с этим всё ок. Когда же делаешь таб.Вывести(ДругойТаб); Почему 1С не может "сказать" таб -- слушай, вот этот "другойТаб" он на самом деле из того же самого макета, что и ты, ну подумаешь, немного другая ширина столбцов. Вы братья! Мамой клянусь! (с) |
|||
|
9
maxab72
02.03.26
✎
16:42
|
(8) у меня такое впечатление, что 1с хранит в макете не абсолютные, а относительные ширины столбцов относительно первого блока. И когда вставляешь область из другого макета, она берет ширины из самой первой области и по ним пересчитывает все.
|
|||
|
10
Fedor-1971
02.03.26
✎
17:24
|
(8) не, так не пойдёт. Похоже, 1С не может отличить выводим мы область или другой табДок
На "мамой клянус" не пойдёт, надо на СоздатьФорматСтрок, как в (5), пробовать камлать т.к. при указании ширины колонки в области макета сразу вываливается сообщение "Надо создать формат строк" (9) Правильное впечатление, вывели табДок, фиксировались ширины колонок, дальше добавляем другой табДок с другими ширинами колонок и имеем сюрприз |
|||
|
11
slafor
02.03.26
✎
19:04
|
Нашел решение, как раз с использованием метода СоздатьФорматСтрок. Вот процедура, если кому интересно:
Процедура ПрисоединитьТабличныйДокумент(ПриемникТаблДок, Знач ПередатчикТаблДок, Знач СоздатьФорматСтрок = Ложь)
ВременныйТаблДок = Новый ТабличныйДокумент; ОбластьЯчеек = ВременныйТаблДок.Вывести(ПередатчикТаблДок); Если СоздатьФорматСтрок Тогда ОбластьЯчеек.СоздатьФорматСтрок(); КонецЕсли; ПриемникТаблДок.Вывести(ВременныйТаблДок); КонецПроцедуры |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |