0
- 14.10.2012 - 22:14
|
Есть ТЗ с произвольным количеством столбцов и строк, которую надо показывать в таблице В исходной таблице соответственно одна горизонтальная и одна вертикальная секции. Авто ширина столбца не работает, как сделать? Вывожу так: http://prntscr.com/hg0s6 ПРичем попробовал в режиме 1С:Предприятия (не когфигураторе) выставит в готовой таблице ширину столбца Авто - не работает. Если высоту строки так же задать - работает... Я прям теряюсь... | |
1
- 14.10.2012 - 22:16
| | |
2
- 15.10.2012 - 01:50
| Полагаю, "авто" работает для первой строки. | |
3
- 15.10.2012 - 02:43
| посмотри в йокселе - там вроде есть установа автоширины | |
4
- 15.10.2012 - 10:34
|
(0) из прошлого т1с: http://www.forum.mista.ru/topic.php?id=126832 ширину столбца задавай сам через область таблицы аля ОблТаб.ШиринаСтолбца(...) | |
5
- 15.10.2012 - 10:40
| 4-user1C > это я знаю. но это что-же, максимальное количество символов считать в каждой колонке? да и символы разной ширины, не говоря о смене шрифта. | |
6
- 15.10.2012 - 10:54
|
(5) знаешь что? что ширина авто это не есть так, как тебе бы хотелось?)) не надо счситать макс. ширину в каждой колонке, оно само выстроится как надо, просто увеличивай ширину при необходимости, аля НужнаяШирина = СтрДлина(СокрЛП(Значен))+3; Если НужнаяШирина > ОблТаб.ШиринаСтолбца() Тогда ОблТаб.ШиринаСтолбца(НужнаяШирина); КонецЕсли; | |
7
- 15.10.2012 - 10:54
| (5) да, как-то вот так... | |
8
- 15.10.2012 - 11:31
|
6-user1C > ыыыыыыыыы.... в ТЗ могёт быть очччень прилично строк, и столбцов. это у меня типа такой отбор по текущему значению в журналах документов будет (в принципе первый блин уже готов, по значениям в графах отбирает. уже знаю что именно перепишу, и что добавить надо) - в самом журнале нельзя, так я в печатную форму отбор выводить буду. вот и хочу автоширину. | |
9
- 15.10.2012 - 11:47
| http://1c.proclub.ru/modules/mydownl...cid=5&lid=5104 | |
10
- 15.10.2012 - 11:56
| 9-v_id > оно в (6) слово в слово. ну ща затестю, раз уж полный код дали. | |
11
- 15.10.2012 - 12:12
|
я не очень то в замерах разбираюсь... вроде как 14% на обращение к процедуре и 10% на получение текста из ячейки в процедуре. 140 строк и 18 столбцов. естественно рекорды бьёт третий вложенный цикл 35%. пожало не особо то ровно (где-то не влезло, где-то место на треть колонки почти), но лучше чем ничего, конечно. спасибо. | |
12
- 15.10.2012 - 13:10
|
(8) используя (6) и еще десяток строк кода получишь желаемое) | |
13
- 15.10.2012 - 13:27
| 12-user1C > у меня больше десятка выходит, в разы. | |
14
- 15.10.2012 - 13:59
|
Формула идеального решения: 0) выводить только ариалом. ну тем, который по дефолту. просто потому, что практической необходимости менять его на что-то другое - почти не бывает, за исключением и так обмериваемых с линейкой "документов, нужных в твердом виде" да с вожжой под самизнаетегде. 1) собрать ширину ариал-символов (посимвольно, в "попугаях" - сиречь единицах измерения ширины колоки). 2) в процессе вывода парсить выводимый текст, собирая посимвольно его "вычисленную" с помощью п.1. длину - с вычислением максимальной; 3) по окончании вывода - установить полученную в п.2 ширину нужной колонки. вперьод! | |
15
- 15.10.2012 - 16:39
| Затык. Стандартными методами как-то можно получить Форумулу элемента диалога открытой формы? | |
16
- 15.10.2012 - 18:06
|
15-Зелёный тролль > Что такое "элемент диалога открытой формы" - я понимаю. А что такое его "формула"? | |
17
- 15.10.2012 - 21:20
|
(16) | |
18
- 15.10.2012 - 21:51
| (14) Неточный метод: кернинг не учитывается, так что иногда будет глючить. | |
19
- 16.10.2012 - 02:08
|
дарю даром то есть безвазмезна . локРасширениеФормы = СоздатьОбъект("РасширениеФормы"); локРасширениеФормы.УстановитьФорму(Форма); ТипаКрутойАтрибутФормы = локРасширениеФормы.ПолучитьАтрибут("ТипаКрутойАтри бутФормы"); ТипаСтрокаКотораяФормула = ТипаКрутойАтрибутФормы.Формула; | |
20
- 16.10.2012 - 02:11
|
НР тут подкинул... как руководитель ИТ-отдела наказывает программиста 1С за использование нетиповых возможностей... http://youtu.be/s73GjbSw5xY | |
21
- 16.10.2012 - 02:21
|
альтернатива-направление-01 . имеем столбец. . знаем колво строк в этом столбце. . считаем скольо должно получиться страниц при выводе всего столбца в одинарнуую строку - N страниц . столбец, ячейки = переносить. . выплевываем столбец. . больше N страниц - значит есть переносы, ширины столбца недостаточно. увеличиваем ширину столбца на "шаг", повторяем. методом половинного деления быстро приходим к консенсусу. . аналогичным образом я нарисовал вывод наименования практически любой длины в ценник фиксированного размера - в жопу все поделки на Исе, ни одна так не умеет. | |
22
- 16.10.2012 - 02:23
|
альтернатива-направление-02 программно копипастим столбец из 1С в эксель. в экселе устанавливаем ширину авто программно копипастим из экселя в новую таблицу1С, считываем ширину, применяем к исхолдной таблице | |
23
- 16.10.2012 - 02:24
|
альтернатива-направление-03 разновидност АТ-01 - программно модифицируем текст ячейки до такого размера, чтобы влазил в ширину без переноса | |
24
- 16.10.2012 - 02:25
|
альтернатива-направление-04 выводиме с столбец инфу "идентифицируем" в начале строки содержательным идентификатором (артикул/прочее). ячейка = обрезать. | |
| Интернет-форум Краснодарского края и Краснодара |