Имя: Пароль:
1C
1С v8
Печать этикеток не умещается на одной бирке
, ,
0 R0mbes
 
25.11.14
18:34
Добрый день всем форумчанам.
Платформа 1С 8.3
Подскажите что можно сделать.
Задача такая: есть формат этикетки: данные, данные, данные и снизу штрихкод. Так вот есть одна ячейка, в которую не всегда влезает текст. Нужно напечатать часть текста из ячейки, а часть перенести на другую бирку, но штрихкод нужно напечатать на обоих этикетках.
Может кто сталкивался, может есть какие-нибудь функции,проверяющие влезает ли весь тест в ячейку или что-то подобное.
1 Paul_1C
 
25.11.14
19:01
(0)         СтрокаСРазделителем = Новый Массив;
        СтрокаСРазделителем.Добавить(ОбластьСтроки);
        СтрокаСРазделителем.Добавить(РазделительСтраниц);
Если НЕ ТабДокумент.ПроверитьВывод(СтрокаСРазделителем) Тогда
            ТабДокумент.Вывести(РазделительСтраниц);
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
        ТабДокумент.Вывести(ОбластьСтроки);
2 R0mbes
 
25.11.14
19:03
(1)
Спасибо, сейчас проверю!
3 R0mbes
 
25.11.14
19:09
(1) Ошибка, не понимает что такое "РазделительСтраниц"
4 R0mbes
 
25.11.14
19:27
Как вообще можно заранее проверить сколько будет строк в ячейке занимать входящий текст?
5 КонецЕсли
 
25.11.14
19:39
"Нужно напечатать часть текста из ячейки, а часть перенести на другую бирку" - вот это так просто не сделаешь. Придется делить текст на слова и выводить в область по-словно, проверяя при этом вывод.
6 Garykom
 
гуру
25.11.14
22:36
(5) неа не нужно, простая проверка на длину текста (с неким запасом) легко решает проблему скоко этикеток печатать 1, 2 или 1000

подразумевается что шрифт этой ячейки известен заранее
7 Garykom
 
гуру
25.11.14
22:40
(6) т.е. делаем 2 шаблона, точнее даже 3

1. Обычная этикетка на 1

2. Двойная этикетка - первая страница
3. Двойная этикетка - вторая и последующие страницы


Т.е. если СтрДлина(ТекстПроблеммнойЯчейки)>100
тогда ТекстПроблеммной1 = Лев(ТекстПроблеммнойЯчейки, 100)
(тут конечно желательно разделение не посередине слова или числа)
печатаем этикетку №2 и затем в цикле берем куски текста остльные и печатает в №3
8 Злопчинский
 
26.11.14
02:20
Фигня какая
1. Ограничиваемся минимально разумным размером шрифта например 4пт читается вполне нормально
2. Штатно бирка печатается шрифтом 10пт
3. Печатаем бирку и смотрим сколько получилось страниц одна страница значит ок. Если получилось две страницы - уменьшаем шрифт на олин пукт, повторяем пробу печати
4. Если достигли минимально возможного размера шрифта и все равно получаем две страницы - забиваем болт на печать этикеток
9 Злопчинский
 
26.11.14
02:33
Во может видео доступно будет
http://my.mail.ru/mail/tomba/video/_myvideo/2.html
10 R0mbes
 
26.11.14
09:58
(5) Сделал как ты посоветовал, вроде работает
(7)(9) Тоже хорошие методы, привезут новые бирки буду делать поумнее =))
Спасибо !
11 Paul_1C
 
26.11.14
10:35
(1) Разделитель для примера был, показать как метод проверить вывод работает.
2 + 2 = 3.9999999999999999999999999999999...