Имя: Пароль:
1C
1C 7.7
v7: Автоподбор шрифта
0 Злопчинский
 
22.05.12
19:03
Ценник, есть ячейка фиксированной высоты, пихаем туда Товар.Наименование - как узнать сколько переносов (строк) получилось в ячейке..? чтобы если допустим получилось 4 строки - то уменьшаем шрифт...
.
???
1 zak555
 
22.05.12
19:04
только опытным путём
2 BlackSeaCat
 
22.05.12
19:13
Либо не совсем достоверно - подсчитывая длину каждой подстроки как сумму ширин символов, либо точно, но через ж... -  создав вторую таблицу с одной колонкой таких же ценников, но со строками авто-высоты, заполняем ее нужным наименованием и играемся с размером шрифта, пока КоличествоСтраниц() не увеличится до 2-х. После чего откатываемся на предыдущий размер шрифта.
3 GreyK
 
22.05.12
19:27
(0) 8ка имеется?
4 Злопчинский
 
22.05.12
19:51
(2) вот так и я думаю.. но как-то это хитро вымученно... ;-)
( 3) нету.. не нужна она пока... вернее нужна.. наверное.. на зтарта по переводу сильно много предвидится...
5 aleks-id
 
22.05.12
19:54
пиши ВК которая будет принимать текст а на выходе генерить битмап. и через стретчдрав его на макет.
6 GreyK
 
22.05.12
19:54
(4) А я хотел тебе про com-объект напомнить. Не судьба :)
7 Злопчинский
 
22.05.12
19:58
(6) не пугай меня такими словами!
8 Злопчинский
 
22.05.12
19:59
Короче, с интересом ожидаю интересных предложений!
а пока пойду погуляю над озером книжку поштырю..
9 Voronve
 
22.05.12
20:00
http://avb1c.narod.ru/?=a24 приспособишь ?
10 BlackSeaCat
 
22.05.12
22:27
(9) О! Знакомая вещь, уже сталкивался с ее реализацией в печатной форме ТОРГ-12 с переменной высотой строки, для номенклатуры с длинным наименованием.

Это я и подразумевал в первом варианте (2) - бывает, что этот метод ошибается из-за того, что в нем не учитывается кернинг TTF-шрифта.
11 Злопчинский
 
22.05.12
22:40
(9) идея базироваться на ширине символов - хорошая, но порочная по сути.. этак надо все шрифты обмерить...
.
комары возле озера зажрали
12 Злопчинский
 
23.05.12
18:23
Сделал по типу (2), пихаю наименование - если колвостраниц >1 - Шрифт=Шрифт-1 до тех пор (гламурно рекурсией) пока не станет 1 страница. Все работает зашибись...
18:20:34: автоподбор размера шрифта для арт.380230
   |_ исходный шрифт: 11
   |_ выбран шрифт, размер: 10
18:20:34: автоподбор размера шрифта для арт.380234
   |_ исходный шрифт: 11
   |_ выбран шрифт, размер: 10
18:20:46: автоподбор размера шрифта для арт.420778
   |_ исходный шрифт: 11
   |_ выбран шрифт, размер: 10
18:20:57: автоподбор размера шрифта для арт.622022
   |_ исходный шрифт: 11
   |_ подгонка шрифта, размер: 10
   |_ выбран шрифт, размер: 9
18:20:57: автоподбор размера шрифта для арт.622060
   |_ исходный шрифт: 11
   |_ подгонка шрифта, размер: 10
   |_ выбран шрифт, размер: 9
13 Злопчинский
 
23.05.12
18:26
Заодно получилась такая бяка: Много-много раз создаю
ТабПодгонка=СоздатьОбъект("Таблица");
...
ТабПодгонка="";
- 1Сина валится, несмотря на то что объект уничтожается каждый раз...
Пришлось вынести в область видимости модуля и вместо создания/удаления
ТабПодгонка.Очистить();
- перестало валиться...
14 Ёпрст
 
гуру
23.05.12
18:26
(12)решение с типовым методом  КоличествоСтраниц() - самое тормозное, если че..
15 Злопчинский
 
23.05.12
18:28
(14) про производительность буду задумываться когда риалтайм нужен или регулярное использование с высокой интенсивностью... а печать ценников - пусть и 100 страниц - оно "раз в сто лет" - подождут 20-40 сек....
16 Ёпрст
 
гуру
23.05.12
18:32
Т.е у тебя все ценники будут с разной высотой шрифта ?
Не комильфо
17 Эльниньо
 
23.05.12
18:43
моноширинный. не?
18 Злопчинский
 
23.05.12
18:48
(16) нет, подавляющее большинство = вписывается нормально в шаблон. процента 2 ценников - не влазят. ну будет вместо 11 шрифта 10 или даже 9 - ну и нормуль...