Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

сделать ширину колонки в размер текста в ее заголовке, обычные формы

сделать ширину колонки в размер текста в ее заголовке, обычные формы
Я
   novichok79
 
05.06.18 - 16:24
доброго времени суток, уважаемые коллеги.
есть поехавший клиент с неадекватной хотелкой. так вот, он интересуется - есть ли возможность, обозначенная в сабже в табличном поле на обычной форме? я предполагаю, что нет. а как думаете вы? шрифт заголовка не моноширинный. заранее благодарю за помощь.
 
 
   novichok79
 
1 - 05.06.18 - 16:31
знает только Нуралиев?
   МихаилМ
 
2 - 05.06.18 - 16:44
сайт avb закрылся . но идея такая: рассчитывать ширину (и высоту) по заранее составленной базе данных ширин и высот символов.
   novichok79
 
3 - 05.06.18 - 16:48
(2) да... тяжелый вариант. а чем измерять ширину в таком случае? в 1С нету метода УстановитьРазмерПоЗаголовкамКолонок?
   novichok79
 
4 - 05.06.18 - 16:51
КолонкаТаблицыЗначений.Ширина (ValueTableColumn.Width)
КолонкаТаблицыЗначений (ValueTableColumn)
Ширина (Width)
Использование:
Чтение и запись.
Описание:
Тип: Число.
Содержит ширину колонки в символах. Используется при визуальном отображении таблицы значений.

В СИМВОЛАХ, КАРЛ!!!! ЧТО ЭТО ЗА ЧЕРТОВЩИНА??!!!!
   novichok79
 
5 - 05.06.18 - 16:53
есть еще вариант - создать табличный документ, правда не знаю как там автоматом рассчитать ширину колонок программно. по-моему тоже никак. ну допустим рассчитали ширину, она в пунктах, а теперь, внимание - как пункты перевести в СИМВОЛЫ?
IT IS IMPOSSIBRU!
   Вафель
 
6 - 05.06.18 - 16:55
давным давно такое было раеализавно для построителя
   Вафель
 
7 - 05.06.18 - 16:55
нужно старый релиз поднять и посмотреть как это так
   Вафель
 
8 - 05.06.18 - 16:56
хотя нет, это для табличного документа было
   novichok79
 
9 - 05.06.18 - 16:57
(6) да, выполнение универсального отчета, это тоже идея. но там как раз считается ширина для табличного документа, а тут дерево значений на форме, да еще и динамически заполняемое, с разным количеством колонок в зависимости от количества заказов покупателей и заказов поставщику.
   Вафель
 
10 - 05.06.18 - 16:58
Колонка.Ширина = СтрДлина(Колонка.Заголовок)

 
 Рекламное место пустует
   DrShad
 
11 - 05.06.18 - 16:59
   novichok79
 
12 - 05.06.18 - 17:00
(11) то есть "символ" из дефиниции свойства "Ширина" табличного поля в справке = "пункт"? так?
   DrShad
 
13 - 05.06.18 - 17:01
(12) тебе нужен "пункт (компьютерный)"
   DrShad
 
14 - 05.06.18 - 17:03
через таб док можно легко вычислить ширину каждого символа из алфавита
ну а дальше уже дело техники
   DrShad
 
15 - 05.06.18 - 17:03
хотя задание конечно странное
   novichok79
 
16 - 05.06.18 - 17:26
Ширина колонки табличного поля измеряется в символах. Символы это пункты?
   novichok79
 
17 - 06.06.18 - 08:21
собственно, продолжаем нераскрытую тему. зазываю знатоков 1С и специалистов по удалению гланд ректально в 1С в эту тему.
   МихаилМ
 
18 - 06.06.18 - 08:40
(16) нет . но в заголовке тз обычной формы используется моноширинный шрифт.
   novichok79
 
19 - 06.06.18 - 08:47
Осталось узнать сколько пунктов занимает 1 символ моноширинного шрифта. Как же это сделать новичку в 1с программировании?
   mistеr
 
20 - 06.06.18 - 09:57
Идея такая. Помещаем текст заголовка в ячейку табдока с РазмещениеТекста=Переносить. Меняем ширину ячейки (она задается в символах), определяем момент, когда текст начинает/перестает переноситься. Выставляем эту ширину в колонке.
   novichok79
 
21 - 06.06.18 - 10:04
(20) по-моему ширина ячейки в пунктах в табл. документе. и по-моему если переносится текст, то надо устанавливать свойство строки автовысота, которое не дает узнать точную высоту ячейки в пунктах в данный момент. только если невидимую линию сделать в ячейке, где текст, и при изменении ширины ячейки проверять когда высота или длина линии изменится.
   hhhh
 
22 - 06.06.18 - 10:12
(21) если моно ширинный, то пункты нахрен не нужны, делайте в символах.
   novichok79
 
23 - 06.06.18 - 10:20
(21) а как узнать что шрифт в заголовке колонки на форме именно моноширинный?
   novichok79
 
24 - 06.06.18 - 10:20
(23) --> (22)
   Вафель
 
25 - 06.06.18 - 10:23
(23) сделать его таким
   novichok79
 
26 - 06.06.18 - 10:25
(25) ну... это упрощает задачу.
   mistеr
 
27 - 06.06.18 - 10:42
(21) ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
ШиринаКолонки (ColumnWidth)
Использование:

Чтение и запись.
Описание:

Тип: Число. Содержит ширину колонок в области (в так называемых средних символах шрифта).

-------------------------------

Определить перенос можно, разместив рисунок по границам ячейки (метод Расположить()), и считав его высоту (в миллиметрах).
   novichok79
 
28 - 06.06.18 - 10:44
(27) я линии использовал, когда надо было в макете высоту определить. рисунок в этом случае подойдет, т. к. макет не на печать выводится.
   novichok79
 
29 - 06.06.18 - 10:44
(27) ну и вопрос тогда. what is "средний символ шрифта", и сколько это в миллиметрах или пунктах?
   mistеr
 
30 - 06.06.18 - 11:39
(29) Неважно, сколько именно. Главное, что это те же "символы", в которых устанавливается ширина колонки.

Но если интересно, можно узнать в миллиметрах через рисунок.
   novichok79
 
31 - 07.06.18 - 10:35
ахахха, ну что знатоки и знатушечки 1С, найдено довольно рукожопное решение:
сделал поле HTML документа, там на JS скрипт, который использует тэг canvas HTML5, а конкретно его функцию measureText() для измерения каждого символа шрифта. это дело я сохранил в соответствие, по которому определяет размер среднего символа конкретного шрифта в пикселях.
затем размер текста надписи посимвольно вычисляется в пикселях по забитому соответствию, полученный результат делится на размер среднего символа и таким образом имеем количество средних символов, которое необходимо для текста надписи. шах и мат, Борис Нуралиев! и главное - оно работает!
   novichok79
 
32 - 07.06.18 - 10:37
работает не так медленно как ожидалось... мы сделаем ход конем, чтобы не покупать большие мониторы манагерам (с) из кодекса нищеброда.
   Вафель
 
33 - 07.06.18 - 10:46
(31) может проще было таблицу сразу на хтмл нарисовать?
 
 
   novichok79
 
34 - 07.06.18 - 10:47
(33) дык ведь надо знать ширину каждого символа, чтобы вычислить сферический "средний символ".
   novichok79
 
35 - 07.06.18 - 10:50
(33) дерево значений на хтмл? интересно...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует