| 
    
        
     
     | 
    
  | 
сделать ширину колонки в размер текста в ее заголовке, обычные формы | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        novichok79    
     05.06.18 
            ✎
    16:24 
 | 
         
        доброго времени суток, уважаемые коллеги.
 
        есть поехавший клиент с неадекватной хотелкой. так вот, он интересуется - есть ли возможность, обозначенная в сабже в табличном поле на обычной форме? я предполагаю, что нет. а как думаете вы? шрифт заголовка не моноширинный. заранее благодарю за помощь.  | 
|||
| 
    1
    
        novichok79    
     05.06.18 
            ✎
    16:31 
 | 
         
        знает только Нуралиев?     
         | 
|||
| 
    2
    
        МихаилМ    
     05.06.18 
            ✎
    16:44 
 | 
         
        сайт avb закрылся . но идея такая: рассчитывать ширину (и высоту) по заранее составленной базе данных ширин и высот символов.     
         | 
|||
| 
    3
    
        novichok79    
     05.06.18 
            ✎
    16:48 
 | 
         
        (2) да... тяжелый вариант. а чем измерять ширину в таком случае? в 1С нету метода УстановитьРазмерПоЗаголовкамКолонок?     
         | 
|||
| 
    4
    
        novichok79    
     05.06.18 
            ✎
    16:51 
 | 
         
        КолонкаТаблицыЗначений.Ширина (ValueTableColumn.Width)
 
        КолонкаТаблицыЗначений (ValueTableColumn) Ширина (Width) Использование: Чтение и запись. Описание: Тип: Число. Содержит ширину колонки в символах. Используется при визуальном отображении таблицы значений. В СИМВОЛАХ, КАРЛ!!!! ЧТО ЭТО ЗА ЧЕРТОВЩИНА??!!!!  | 
|||
| 
    5
    
        novichok79    
     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 
 | 
         
        хотя нет, это для табличного документа было     
         | 
|||
| 
    9
    
        novichok79    
     05.06.18 
            ✎
    16:57 
 | 
         
        (6) да, выполнение универсального отчета, это тоже идея. но там как раз считается ширина для табличного документа, а тут дерево значений на форме, да еще и динамически заполняемое, с разным количеством колонок в зависимости от количества заказов покупателей и заказов поставщику.     
         | 
|||
| 
    10
    
        Вафель    
     05.06.18 
            ✎
    16:58 
 | 
             | 
|||
| 
    11
    
        DrShad    
     05.06.18 
            ✎
    16:59 
 | 
         
        (9) https://www.translatorscafe.com/unit-converter/ru/typography/13-4/пункт%20(компьютерный)-миллиметр/
 
        тут есть алгоритм расчета  | 
|||
| 
    12
    
        novichok79    
     05.06.18 
            ✎
    17:00 
 | 
         
        (11) то есть "символ" из дефиниции свойства "Ширина" табличного поля в справке = "пункт"? так?     
         | 
|||
| 
    13
    
        DrShad    
     05.06.18 
            ✎
    17:01 
 | 
         
        (12) тебе нужен "пункт (компьютерный)"     
         | 
|||
| 
    14
    
        DrShad    
     05.06.18 
            ✎
    17:03 
 | 
         
        через таб док можно легко вычислить ширину каждого символа из алфавита
 
        ну а дальше уже дело техники  | 
|||
| 
    15
    
        DrShad    
     05.06.18 
            ✎
    17:03 
 | 
         
        хотя задание конечно странное     
         | 
|||
| 
    16
    
        novichok79    
     05.06.18 
            ✎
    17:26 
 | 
         
        Ширина колонки табличного поля измеряется в символах. Символы это пункты?     
         | 
|||
| 
    17
    
        novichok79    
     06.06.18 
            ✎
    08:21 
 | 
         
        собственно, продолжаем нераскрытую тему. зазываю знатоков 1С и специалистов по удалению гланд ректально в 1С в эту тему.     
         | 
|||
| 
    18
    
        МихаилМ    
     06.06.18 
            ✎
    08:40 
 | 
         
        (16) нет . но в заголовке тз обычной формы используется моноширинный шрифт.     
         | 
|||
| 
    19
    
        novichok79    
     06.06.18 
            ✎
    08:47 
 | 
         
        Осталось узнать сколько пунктов занимает 1 символ моноширинного шрифта. Как же это сделать новичку в 1с программировании?     
         | 
|||
| 
    20
    
        mistеr    
     06.06.18 
            ✎
    09:57 
 | 
         
        Идея такая. Помещаем текст заголовка в ячейку табдока с РазмещениеТекста=Переносить. Меняем ширину ячейки (она задается в символах), определяем момент, когда текст начинает/перестает переноситься. Выставляем эту ширину в колонке.     
         | 
|||
| 
    21
    
        novichok79    
     06.06.18 
            ✎
    10:04 
 | 
         
        (20) по-моему ширина ячейки в пунктах в табл. документе. и по-моему если переносится текст, то надо устанавливать свойство строки автовысота, которое не дает узнать точную высоту ячейки в пунктах в данный момент. только если невидимую линию сделать в ячейке, где текст, и при изменении ширины ячейки проверять когда высота или длина линии изменится.     
         | 
|||
| 
    22
    
        hhhh    
     06.06.18 
            ✎
    10:12 
 | 
         
        (21) если моно ширинный, то пункты нахрен не нужны, делайте в символах.     
         | 
|||
| 
    23
    
        novichok79    
     06.06.18 
            ✎
    10:20 
 | 
         
        (21) а как узнать что шрифт в заголовке колонки на форме именно моноширинный?     
         | 
|||
| 
    24
    
        novichok79    
     06.06.18 
            ✎
    10:20 
 | 
         
        (23) --> (22)     
         | 
|||
| 
    25
    
        Вафель    
     06.06.18 
            ✎
    10:23 
 | 
         
        (23) сделать его таким     
         | 
|||
| 
    26
    
        novichok79    
     06.06.18 
            ✎
    10:25 
 | 
         
        (25) ну... это упрощает задачу.     
         | 
|||
| 
    27
    
        mistеr    
     06.06.18 
            ✎
    10:42 
 | 
         
        (21) ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
 
        ШиринаКолонки (ColumnWidth) Использование: Чтение и запись. Описание: Тип: Число. Содержит ширину колонок в области (в так называемых средних символах шрифта). ------------------------------- Определить перенос можно, разместив рисунок по границам ячейки (метод Расположить()), и считав его высоту (в миллиметрах).  | 
|||
| 
    28
    
        novichok79    
     06.06.18 
            ✎
    10:44 
 | 
         
        (27) я линии использовал, когда надо было в макете высоту определить. рисунок в этом случае подойдет, т. к. макет не на печать выводится.     
         | 
|||
| 
    29
    
        novichok79    
     06.06.18 
            ✎
    10:44 
 | 
         
        (27) ну и вопрос тогда. what is "средний символ шрифта", и сколько это в миллиметрах или пунктах?     
         | 
|||
| 
    30
    
        mistеr    
     06.06.18 
            ✎
    11:39 
 | 
         
        (29) Неважно, сколько именно. Главное, что это те же "символы", в которых устанавливается ширина колонки.
 
        Но если интересно, можно узнать в миллиметрах через рисунок.  | 
|||
| 
    31
    
        novichok79    
     07.06.18 
            ✎
    10:35 
 | 
         
        ахахха, ну что знатоки и знатушечки 1С, найдено довольно рукожопное решение:
 
        сделал поле HTML документа, там на JS скрипт, который использует тэг canvas HTML5, а конкретно его функцию measureText() для измерения каждого символа шрифта. это дело я сохранил в соответствие, по которому определяет размер среднего символа конкретного шрифта в пикселях. затем размер текста надписи посимвольно вычисляется в пикселях по забитому соответствию, полученный результат делится на размер среднего символа и таким образом имеем количество средних символов, которое необходимо для текста надписи. шах и мат, Борис Нуралиев! и главное - оно работает!  | 
|||
| 
    32
    
        novichok79    
     07.06.18 
            ✎
    10:37 
 | 
         
        работает не так медленно как ожидалось... мы сделаем ход конем, чтобы не покупать большие мониторы манагерам (с) из кодекса нищеброда.     
         | 
|||
| 
    33
    
        Вафель    
     07.06.18 
            ✎
    10:46 
 | 
         
        (31) может проще было таблицу сразу на хтмл нарисовать?     
         | 
|||
| 
    34
    
        novichok79    
     07.06.18 
            ✎
    10:47 
 | 
         
        (33) дык ведь надо знать ширину каждого символа, чтобы вычислить сферический "средний символ".     
         | 
|||
| 
    35
    
        novichok79    
     07.06.18 
            ✎
    10:50 
 | 
         
        (33) дерево значений на хтмл? интересно...     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |