Имя: Пароль:
1C
1C 7.7
v7: Выводится пробел вместо пустой строки в макете
0 Chai Nic
 
30.08.21
15:30
В исходной таблице в ячейке подставляется значение из переменной. Соответственно, тип заполнения ячейки "Выражение". В определенных условиях переменная имеет значение "" (пустая строка). Но в ячейке, после вывода секции, оказывается " " (пробел). Так то фиг с ним, но эта ячейка выводится специальным шрифтом штрих-кода, где пробел имеет своё штриховое обозначение. В результате выводятся полоски штрихкода, где это не требуется. Пробовал тип ячейки "Выражение" заменить на "Шаблон" и переменную в квадратных скобках - та же фигня.

Как-то это можно победить без создания отдельной секции?
1 Ёпрст
 
30.08.21
15:31
(0) [:]|||||||||||||||||||||||||||[:]
2 Ёпрст
 
30.08.21
15:33
Если че, это штатный баг платформы.
3 Chai Nic
 
30.08.21
15:33
(2) Понял, будем костыли лепить
4 Ёпрст
 
30.08.21
15:40
(3) Как убрать пробел из ячейки таблицы

Попробовать tabledoc, может, там это исправлено
5 серый КТУЛХУ
 
30.08.21
15:55
выводи не "" а ПлучитьПустоеЗначение()
6 серый КТУЛХУ
 
30.08.21
15:55
* ПолучитьПустоеЗначение()
7 Ёпрст
 
30.08.21
15:56
(5) там это не влияет. Если есть параметр, то будет всегда пробел.
Тут только или чистить потом, или выводить пустую ячейку без параметра.
8 Chai Nic
 
30.08.21
15:57
(6) Та же фигня
(4) Я сделал через прямое присвоение Область(<имя области>).Текст после вывода секции, не используя механизмы заполнения ячейки.
9 lodger
 
30.08.21
16:02
(8) дешевле был 2 одинаковых области, одна с кодом, другая без.
10 Злопчинский
 
30.08.21
16:03
хм, не знал про такой глюк
11 Ёпрст
 
30.08.21
16:04
(8) а чем вариант из (4) не покатил ? Тогда б и код не надо переписывать бы.. воткнул в конец и забыл

  
Для х = 1 по Таб.ШиринаТаблицы() Цикл
        Для у = 1 по Таб.ВысотаТаблицы() Цикл
            Таб.Область(х,у,х,у).Текст = СокрЛП(Таб.Область(х,у,х,у).Текст);
        КонецЦикла;
    КонецЦикла;
12 Ёпрст
 
30.08.21
16:07
(10) много будешь знать, скоро состаришься )
13 серый КТУЛХУ
 
30.08.21
16:08
ну тогда тупо в одну строку: Для ТекСтр = 1 По ПечТаб.ВысотаТаблицы() Цикл Для ТекКол = 1 По ПечТаб.ШиринаТаблицы() Цикл Если ПечТаб.Область(ТекСтр,ТекКол).Текст=" " Тогда ПечТаб.Область(ТекСтр,ТекКол).Текст="" КонецЕсли КонецЦикла КонецЦикла;
14 Chai Nic
 
30.08.21
16:12
(11) Можно и так.
15 victuan1
 
31.08.21
04:22
(11) А тормоза, если таблица большая?
16 Ёпрст
 
31.08.21
09:54
(15) да нет там тормозов особо. У него все тормоза при выводе - это картинки.