#0
by selenat
Задача такая. Имеем 6 колонок. В 3 из них строки должны иметь свою высоту (которая определяется автоматически по содержимому ячеек), в других 3 строки имеют свою высоту (тоже определяется независимо по содержимому своих ячеек). Кто-нибудь делал такое? Попробовал формировать разные наборы колонок в разных табличных документах, а потом выводить в итоговый табл. док. сначала готовый вариант из первого таб. дока, потом присоединять к нему готовый вариант из второго таб дока. Ничего хорошего не вышло - 1С выравнивает всю строку по содержимому ячеек во всех 6 колонках. Вот код: Ном1 = 0; Что можно доработать в этом коде для получения результата? Или какой есть еще вариант?
#4
by Mitriy
я делал этикетку, где надо было выводить в разных местах разными шрифтами разные вещи, да чтобы еще и красиво было... разбиваешь табдок на мелкие строки и стобцы, из расчета, например, 10 на обычную строку и объединяешь как хочешь...
#6
by selenat
насколько я понимаю, так ты можешь получать области неправильной формы. Но чем это поможет мне? Мне нужно, чтобы в зависимости от количества инфы в ячейках срабатывала автовысота строк (у ячеек свойство "размещение" ставлю "переносить"). Но нужно, чтобы эта автовысота работала только в пределах определенных колонок. По другим колонкам тоже работает автовысота, но в пределах этого другого набора колонок. Т.е. подчеркивание строк в разных колонках идет на разном уровне...
#7
by Mitriy
ну не могут быть строки в табдоке быть разной высоты в разных колонках... поэтому только извращаться... еще можно попробовать выводить горизонтально ))
#10
by selenat
тогда скажи еще раз про свой вариант. Он пока до меня не дошел. Как в твоем случае можно регулировать высоту строк по каждой колонке?
#11
by Mitriy
это только идея... реализации в динамике я не делал, у меня был готовый макет с разными областями, в крайнем случае я что-то объединял, но тоже в определенных пределах и все области были поименованы, поэтому проще. А вот как выводить динамически, рассчитывая, что объединять и как будет себя вести Присоединить и вывести, это надо пытать...
#12
by Mitriy
могу предложить собирать сначала первую колонку, выводить ее, а потом последовательно присоединять следующие колонки... целиком...
#13
by Mitriy
но с таким расчетом, что высота строк во всех колонках будет одинаковой, а уж по сколько ты их будешь объединять, тебе решать :)
#14
by selenat
херово. У меня именно динамический вариант. И количество строк, и объем инфы в каждой ячейки может быть каким угодно. Разбивать содержимое ячейки на строки вручную (чтоб переносы целых слов были правильными), чтобы для каждой ячейки расчитать необходимую высоту - это закат солнца вручную...
#15
by selenat
так я ж так и делаю в . Это была первая же идея, которая в голову пришла. Но одинесина автоматически перевыравнивает высоты строк...
#16
by Mitriy
можно предварительно выводить в область с автовысотой и переносом и измерять высоту строки, которую потом использовать...
#18
by selenat
Тут два момента. Во-первых, я не нашел свойств, из которых можно считать получившуюся высоту строки. Второе - 1С все равно перевыравнивает высоту, несмотря на попытки запрета этого:
#19
by Mitriy
кстати, если заменить Высота на Ширина, то ширина тоже будет в миллиметрах, что иногда дюже радует ))
#22
by Mitriy
строки используй одинаковой высоты, заданной в макете... или приводи их к такой высоте перед выводом... будешь всегда знать, на какую высоту сколько строк надо...
#23
by selenat
т.е. получается, что зная высоты всех строк в двух разных таб доках (каждый таб. док со своим набором колонок), я могу конструировать строку с единой высотой в результирующем документе, выводя где нужно пустые места и т.д. Так?
#24
by Mitriy
в идеале можно иметь одну область в виде ячейки с высотой строки в один миллиметр и шириной в одну колонку, и с помощью нее лепить все, что угодно ))
#25
by selenat
И все равно пока не догоняю. Если мне нужно провести подчеркивание строки в одной колонке выше, чем в другой. В этом случае мне видимо придется выводить 2 строки, искусственно разбив содержимое колонки с бОльшей высотой на 2 строки. Как в этом случае текст разбивать? фигасе О-0. А с текстом динамическим что делать?
#26
by Mitriy
можно собирать область каждой ячейки столбца из мелких областей, в количестве, рассчитанном по нужной высоте, которую можно рассчитать предварительным выводом в обычную строку с автовысотой, а потом объединять и туда вставлять текст... где-то так ))
#27
by Mitriy
в общем, конструктор покруче лего... все я ушел, если что, можно завтра по экспериментировать...
#28
by selenat
Из каких бы кусочков мы ни собирали ячейки, вывод всегда происходит с единой высотой строки. Давай на примере. Вот предположим, у нас высота строки по одному набору столбцов равна 15. По другому - 25. Какой высоты строку мы будем собирать для вывода в результирующем таб доке? Поскольку мне нужно отчеркнуть строку меньшей высоты, то наверное придется выводить 2 строки, одну высотой 15, другую - 10. Как в этом случае разбивать текст по этим строкам?
#30
by Mitriy
пока теория и вкратце: 1. Берем чистый макет - табдок. Чтобы не париться с границами, в первом столбце выделяем подряд сверху n ячеек и указываем границу везде. 2. Когда узнаем, какой высоты h должна быть ячейка, получаем Область(1, 1, h/К, 1), где К - коэффициент = стандартной высоте строки (если стандарт выбираем = 1мм, тогда и К = 1 мм) объединяем, присваиваем нужный текст, устанавливаем стандартную высоту строки и выводим в формируемую колонку... то бишь, строки всегда будут иметь одинаковую высоту, просто количество объединенных по вертикали ячеек будет отличаться... примерно так я себе это представляю...
#34
by selenat
все равно не понятно. Мы выводим целиком строку или только область в одной колонке, к которой потом присоединяем области в других колонках? Если второй вариант, то что будет если высота присоединяемой секции будет больше высоты в прошлой колонке? Скорее всего в этом случае 1С все равно приведет все области в разных колонках к одной высоте. А если нет, то вообще неясно, как будет осуществляться вывод следующих строк...
#35
by Mitriy
собираем полностью колонку первую, выводим ее, потом полностью собираем колонку вторую, присоединяем, третью присоединяем и т.д.
#36
by selenat
ну дык я ж говорил, что при таком подходе 1С выравнивает все. Вряд ли есть разница - собирали мы ячейки объединением секций или нет...
#38
by Mitriy
если все правильно делать, то строки будут одинаковой высоты, что там выравнивать еще?
#39
by Mitriy
млин... может и правда чо не так... надо самому попытать, а то я все на словах тут умничаю...
#40
by selenat
как это одинаковой высоты? Ты ведь собираешь ячейку из строк одинаковой высоты до вывода ее в таб док. А выводишь в таб док уже целиком область с какой-то неизвестной заранее высотой. И какая тогда разница - как ты собирал эту область? Высота выводимой области каждый раз разная...
#49
by selenat
Митрий, спасибо большое! Твой метод действительно работает. Сейчас буду приспосабливать его к своей задаче.
#51
by selenat
Еще вопросик. А почему не работает вот такая конструкция для объединения ячеек, в каждой из которых заполнен свой параметр? Вроде как если делаешь то же самое в конфигураторе интерактивно, ячейки объединяются, оставляя в качестве содержимого то, что было в первой (верхней или левой) ячейке области...
#53
by selenat
не, не то. Область и Область в данном случае имеют разный тип. Одно - табличный документ, другое - облясть ячеек табличного документа. Тут все правильно, это совершенно рабочая конструкция. Но работает почем-то только объединяя с пустыми ячейками...
#56
by selenat
Что-то я не догнал. Вот этот алгоритм из у меня на копии работает нормально. А на реальной базе выдает для каждой области одинаковую высоту. При том, что объем текста у разных ячеек разный. Соотвтетсвенно на копии высота разная. И структура инфы, и сама инфа одинакова. В чем может быть трабла?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v8: Табличный документ
- Табличный документ: авто высота строки и картинка в ячейке
- Табличный документ в ПолеТабличногоДокумента
- Возможно ли перенести макет таблицы Excel в Табличный документ 1С
- Разная ширина одной и той же колонки в разных строках табличного документа
- Табличный документ. Не могу присвоит значение к свойству "Текст"
- СКД вывод штрих-кодов в одной строке, но в разных колонках
- Подксажите, как открыть 2 разных документа в разных вкладках (Excel 2010) ?
- Обновление списка документов - разная скорость у разных пользователей
- Табличный документ. Вывод в табличный документ со смещением.
В этой группе 1С
- Чем отличается развернутое сальдо от обычного?
- Алгоритм работы Распределение материалов на выпуск
- Самые основы партионного учёта и переоценки
- Редактирование колонки в форме списка
- Как из файла cfu сделать чистую базу?
- Типовой договор на обслуживание и доработку 1С
- Тормозит 7.7 на win server 2008
- Проблема работы с Excel. В ячейке отображается сама функция
- Бывают ли USB-хабы на 16, а лучше 20 или 32 порта?
- UChoice.ert
- СКД: v8: Работа с системой компоновки средствами встроенного языка
- Где можно скачать cfник УТ 10.3.1.17?
- БП 1.6 Акт и счет-фактура на отрицательную сумму
- в выборку не попадают элементы из вложенных групп
- Консоль построителя отчетов
- СКД: v8: СКД – размер диаграммы
- Ошибка: Соединение с сервером баз данных разорвано администратором
- Запрет выписки счета на конкретную партию товара в УТ
- Неправильно считается НДС с выданных авансов
- Утилита для запуска 1С