|
v8: Печать этикеток. Убрать границу справа. | ☑ | ||
---|---|---|---|---|
0
Rumpil
21.09.11
✎
10:19
|
При формировании макета с этикетками у меня справа остается какой то непонятный отступ:
http://saveimg.ru/show-image.php?id=9308179ebce3565c63bf8c98124efbe2 Залез в макет и удали ОбластьГраницаСправа, но и это не помогло. http://saveimg.ru/show-image.php?id=3b7917a717a1c1b314130bd3761353d7 В коде менял цифры, на кот. умножается ОбластьГРаницыСправа, но и это не помогло. Может еще че посоветуете ? Таб = Новый ТабличныйДокумент; Таб.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка"+СокрЛП(ИмяКомпьютера()); Макет = ПолучитьОбщийМакет("Этикетка"); ЭтикеткаОбласть = Макет.ПолучитьОбласть(1,1,4,2); ОбластьНоменклатура = ЭтикеткаОбласть.Области.Номенклатура; ОбластьШтрихкод = ЭтикеткаОбласть.Области.ОбластьШтрихкод; РисунокШтрихкод = ЭтикеткаОбласть.Рисунки.Штрихкод; ОбластьЦена = ЭтикеткаОбласть.Области.Цена; ОбластьНоменклатура.ВысотаСтроки = ВысотаЭтикетки * 2.65 * 0.3; ОбластьШтрихкод.ВысотаСтроки = ВысотаЭтикетки * 2.65 * 0.35; РисунокШтрихкод.Расположить(ОбластьШтрихкод); ОбластьЦена.ВысотаСтроки = ВысотаЭтикетки * 2.65 * 0.3; ЭтикеткаОбласть.Область(2,2,2,2).ШиринаКолонки = ШиринаЭтикетки*0.53; Если ФорматЭтикетки = 1 Тогда //принтер этикеток. ВсегоСтрок = 1; КоличествоКолонок=1; ИначеЕсли ФорматЭтикетки = 2 Тогда //А4 по колонкам. ОбластьГраницаСправа = Макет.ПолучитьОбласть(2,4,4,4); ОбластьНизГраницыСправа = Макет.ПолучитьОбласть(5,4,5,4); ОбластьГраницаСнизу = Макет.ПолучитьОбласть(6,2,6,2); ОбластьНачалоГраницыСнизу = Макет.ПолучитьОбласть(6,1,6,1); //ОбластьГраницаСправа.Рисунки.ГраницаСправа.Высота = ВысотаЭтикетки*1.09; ОбластьГраницаСнизу.Рисунки.ГраницаСнизу.Ширина = ШиринаЭтикетки; //ОбластьГраницаСправа.Область(1,1,1,1).ВысотаСтроки = ВысотаЭтикетки*0.05; ОбластьГраницаСнизу.Область(1,1,1,1).ШиринаКолонки = ШиринаЭтикетки*0.93; |
|||
1
pers200590
21.09.11
✎
10:23
|
(0) скажи какая конфигурация
|
|||
2
Rumpil
21.09.11
✎
10:24
|
УТ 10.3
|
|||
3
Rumpil
21.09.11
✎
10:26
|
Хм, при увеличении ОбластьГраницаСправа расстояние между этикетками увеличилось, но отступ справа в конце листа остался тот же ((
|
|||
4
Alex S D
21.09.11
✎
10:31
|
Ну наверное надо проверять, что это последняя колонка и не выводить эту область..
|
|||
5
Ткачев
21.09.11
✎
10:31
|
Все правильно, пятая этикетка туда не влезет.
|
|||
6
Rumpil
21.09.11
✎
10:32
|
Ну так и количество колонок я изменил на 4:
ВсегоСтрок = 19; КоличествоКолонок = 4; |
|||
7
Rumpil
21.09.11
✎
10:33
|
То есть 5 колонка и не выходит
|
|||
8
Rumpil
21.09.11
✎
10:33
|
Хотя может область 5 колонки как то задействована в этих цифрах ?
ОбластьГраницаСправа = Макет.ПолучитьОбласть(2,4,4,4); ОбластьНизГраницыСправа = Макет.ПолучитьОбласть(5,4,5,4); ОбластьГраницаСнизу = Макет.ПолучитьОбласть(6,2,6,2); ОбластьНачалоГраницыСнизу = Макет.ПолучитьОбласть(6,1,6,1); Просто я не очень понимаю что они значат |
|||
9
Alex S D
21.09.11
✎
10:34
|
покажи цикл вывода областей
|
|||
10
Ткачев
21.09.11
✎
10:34
|
А что ты хочешь вместо отступа ?
|
|||
11
Rumpil
21.09.11
✎
10:35
|
(9) Вот:
ВсегоКолонок = КоличествоКолонок; Если ВсегоКолонок > 1 Тогда ВсегоКолонок = ВсегоКолонок+ВсегоКолонок - 1; //добавляем разделители колонок. КонецЕсли; ВывелиХотяБыОдинШтрихКод = Ложь; Для Каждого СтрокаИзСписка Из ТаблицаТоваров Цикл Если ПечататьЦену И СтрокаИзСписка.Цена = 0 И Не ПечататьБезЦены Тогда Продолжить; КонецЕсли; ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(СтрокаИзСписка.ТипШтрихкода); Если ТипКода = -1 Тогда ОбщегоНазначения.СообщитьОбОшибке("Для штрихкода формата """ + СтрокаИзСписка.ТипШтрихкода + """ не существует соответствующего типа в ЭУ ""1С:Печать штрихкодов"". | Позиция будет пропущена"); Продолжить; КонецЕсли; Если УправлениеРозничнойТорговлей.ПроверитьШтрихКод(СтрокаИзСписка.ШтрихКод, СтрокаИзСписка.ТипШтрихкода) Тогда ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.ТипКода = ТипКода; ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.Сообщение = СтрокаИзСписка.ШтрихКод; ОбластьНоменклатура.Текст = СокрЛП(СтрокаИзСписка.Номенклатура.Наименование) + СокрЛП(СтрокаИзСписка.Номенклатура.Артикул) + ФормированиеПечатныхФорм.ПредставлениеСерий(СтрокаИзСписка); Если ПечататьЦену И СтрокаИзСписка.Цена <> 0 Тогда ОбластьЦена.Текст = "Цена: " + ОбщегоНазначения.ФорматСумм(СтрокаИзСписка.Цена,СтрокаИзСписка.Валюта) + " за " + СтрокаИзСписка.ЕдиницаИзмерения; КонецЕсли; Для Копий = 1 По СтрокаИзСписка.Количество Цикл Если ТекКолонка > ВсегоКолонок Тогда //новая строка. Если ВсегоСтрок <> 1 Тогда //выведем разделитель. Для Сч = 1 по ВсегоКолонок Цикл Если Сч = 1 Тогда Таб.Вывести(ОбластьНачалоГраницыСнизу); Иначе Таб.Присоединить(ОбластьНачалоГраницыСнизу); КонецЕсли; Таб.Присоединить(ОбластьГраницаСнизу); Таб.Присоединить(ОбластьНизГраницыСправа); Сч = Сч + 1; КонецЦикла; ТекСтрока = ТекСтрока + 1; КонецЕсли; Если ТекСтрока/ВсегоСтрок = Цел(ТекСтрока/ВсегоСтрок) Тогда Таб.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТекСтрока = ТекСтрока + 1; ТекКолонка=1; КонецЕсли; Если ТекКолонка<>1 Тогда //выведем разделитель. Таб.Присоединить(ОбластьГраницаСправа); ТекКолонка = ТекКолонка + 1; Таб.Присоединить(ЭтикеткаОбласть); ТекКолонка = ТекКолонка + 1; Иначе Таб.Вывести(ЭтикеткаОбласть); ТекКолонка = ТекКолонка + 1; КонецЕсли; ВывелиХотяБыОдинШтрихКод = Истина; КонецЦикла; Иначе ТекстСообщения = "У товара """ + СтрокаИзСписка.Номенклатура + """ штрихкод не задан или имеет неверный формат!"; Если КолвоПереданныхТоваров = 1 Тогда Предупреждение(ТекстСообщения); Иначе Сообщить(ТекстСообщения,СтатусСообщения.БезСтатуса); КонецЕсли; КонецЕсли; КонецЦикла; Если ВывелиХотяБыОдинШтрихКод Тогда УниверсальныеМеханизмы.НапечататьДокумент(Таб, 1, СразуНаПринтер, "Этикетки"); Иначе Сообщить("На печать не выведено ни одной этикетки!"); КонецЕсли; |
|||
12
Rumpil
21.09.11
✎
10:36
|
(10) я хочу чтобы отступа не было и они бы равномерно распределились по листу, а то при печати на этикеточную бумагу они не попадают в квадраты наклеек из за отступа справа
|
|||
13
Rumpil
21.09.11
✎
10:38
|
Играться с параметрами страницы не помогает. ПОхоже есть что то что выводит этот отступ. ПРосто я коде не могу разобраться
|
|||
14
Alex S D
21.09.11
✎
10:39
|
Перед строкой "Если ВсегоСтрок <> 1 Тогда //выведем разделитель."
Попробуй Вставить проверку на посл. колонку Если ТекКолонка < ВсегоКолонок Тогда ... |
|||
15
Адинэснег
21.09.11
✎
10:39
|
||||
16
Rumpil
21.09.11
✎
10:42
|
(14) проверка на последнюю колонку - это ты что имеешь в виду ?
|
|||
17
Alex S D
21.09.11
✎
10:46
|
(16) это и имею ввиду.. проверять , чтобы при выводе посл. колонки разделитель после нее не выводился, или я что-то не так понял?
|
|||
18
Rumpil
21.09.11
✎
10:47
|
(17) щас попробую
|
|||
19
Rumpil
21.09.11
✎
10:50
|
Убрал, похоже дело не в разделителях, отступ справа все тот же
|
|||
20
Rumpil
21.09.11
✎
10:58
|
Хм, решил вроде проблему сделав масштаб страницы 114, вроде нормально распечаталось
|
|||
21
Jaffar
21.09.11
✎
11:02
|
(20)плохое решение (временное).
|
|||
22
Rumpil
21.09.11
✎
11:10
|
(20) Знаю, но пока для того чтобы печатать хватит, потом покапаюсь еще в коде
|
|||
23
Jaffar
21.09.11
✎
15:07
|
http://infostart.ru/public/90785/ смотрел?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |