Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Выводится пробел вместо пустой строки в макете

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

Как-то это можно победить без создания отдельной секции?
   Ёпрст
 
1 - 30.08.21 - 15:31
(0) [:]|||||||||||||||||||||||||||[:]
   Ёпрст
 
2 - 30.08.21 - 15:33
Если че, это штатный баг платформы.
   Chai Nic
 
3 - 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) там это не влияет. Если есть параметр, то будет всегда пробел.
Тут только или чистить потом, или выводить пустую ячейку без параметра.
   Chai Nic
 
8 - 30.08.21 - 15:57
(6) Та же фигня
(4) Я сделал через прямое присвоение Область(<имя области>).Текст после вывода секции, не используя механизмы заполнения ячейки.
   lodger
 
9 - 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 По ПечТаб.ШиринаТаблицы() Цикл Если ПечТаб.Область(ТекСтр,ТекКол).Текст=" " Тогда ПечТаб.Область(ТекСтр,ТекКол).Текст="" КонецЕсли КонецЦикла КонецЦикла;
   Chai Nic
 
14 - 30.08.21 - 16:12
(11) Можно и так.
   victuan1
 
15 - 31.08.21 - 04:22
(11) А тормоза, если таблица большая?
   Ёпрст
 
16 - 31.08.21 - 09:54
(15) да нет там тормозов особо. У него все тормоза при выводе - это картинки.

Список тем форума
 
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.