|
Как программно задать нестандартный размер страницы ТД? | ☑ | ||
---|---|---|---|---|
0
Prog_man
20.06.24
✎
10:10
|
Добрый день,
делаю этикетку, нужен нестандартный размер страницы указал размер, но на просмотр все равно показывает А4. делал так ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ПолеСверху = 0; ТабличныйДокумент.ПолеСлева = 0; ТабличныйДокумент.ПолеСнизу = 0; ТабличныйДокумент.ПолеСправа = 0; ТабличныйДокумент.ПолеСправа = 0; ТабличныйДокумент.РазмерКолонтитулаСверху = 0; ТабличныйДокумент.РазмерКолонтитулаСнизу = 0; ТабличныйДокумент.РазмерСтраницы="Custom";//нестандартный размер ТабличныйДокумент.ВысотаСтраницы = 40; ТабличныйДокумент.ШиринаСтраницы = 58; |
|||
1
Волшебник
20.06.24
✎
10:10
|
Задайте КлючПараметровПечати
|
|||
2
Prog_man
20.06.24
✎
11:09
|
(1) ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка";
так не получилось |
|||
3
Волшебник
20.06.24
✎
11:12
|
Теперь задайте размер бумаги в свойствах принтера (окно предварительного просмотра / Параметры страницы)
|
|||
4
Prog_man
20.06.24
✎
11:15
|
(3) там только А4, А5 и др. произвольного размера нет
|
|||
5
Kongo2019
20.06.24
✎
11:18
|
(4) Значит принтер другие размеры не поддерживает. Эти данные берутся из драйвера принтера.
|
|||
6
Garykom
20.06.24
✎
11:40
|
(0) Надо поставить драйвера принтера который умеет "Custom"
|
|||
7
Prog_man
20.06.24
✎
11:50
|
(6) не знаю какой у клиента принтер этикеток, подключусь проверю.
|
|||
8
Kongo2019
20.06.24
✎
11:52
|
(7) На принтер этикеток обычно напрямую печатают, они все ZPL поддерживают, или аналог.
|
|||
9
Garykom
20.06.24
✎
12:10
|
(8) Макеты в ZPL рисовать "сложно"
Почти везде через винпринтер обычно |
|||
10
Kongo2019
20.06.24
✎
12:15
|
(9) Фигли его там рисовать, в инете конструкторов валом.
У нас прямо с принтерами ПО нужное идет. Рисуешь этикетку, оно тебе код ZPL |
|||
11
DJ Anthon
20.06.24
✎
12:16
|
(7) размер и прочие настройки устанавливаются на параметрах страницы макета прямо на самом принтере. заранее их не подготовишь.
|
|||
12
Prog_man
20.06.24
✎
13:39
|
(9) а обычный макет из 1с, разве не получится отправить на принтер этикеток?
|
|||
13
Kongo2019
20.06.24
✎
13:43
|
(12) Получится. Принтер этикеток с точки зрения 1С такой же принтер как и любой другой. Он даже пробную страницу печатает.
|
|||
14
Garykom
20.06.24
✎
13:43
|
(12) Получится
Но результат придется подгонять для каждого принтера этикеток, его настроек, размера бумаги и даже компьютера/драйвера |
|||
15
Garykom
20.06.24
✎
13:44
|
(14)+ Это стандартная проблема когда шаблон макета на компе/сервере разработчика нормально
А при переносе на комп/сервер прода все уезжает |
|||
16
Kongo2019
20.06.24
✎
13:45
|
(15) Поэтому я гоняю на них через ZPL. На COMпортовские даже дрова ставить не надо. прямо в порт пишу.
|
|||
17
Garykom
20.06.24
✎
13:49
|
(16) USB/LAN тоже самое
Как сетевой принтер и просто на него копировать файлик |
|||
18
Kongo2019
20.06.24
✎
14:02
|
(17) У меня по постах POS терминалы стоят. Там COM портов хоть попой ешь.
|
|||
19
Prog_man
20.06.24
✎
15:05
|
подключился, проверил печатает норм. но возникла проблемка,
у клиента штрихкод OZN1566917233, и такой штрихкод не печатается, 1с кроме EAN-13, другие форматы не использует? если генерирую EAN-13, все норм. |
|||
20
Kongo2019
20.06.24
✎
15:08
|
(19) Эти все знает.
Формат EAN13 Формат EAN8 Формат Code 39 Формат Code 93 Industrial 2 of 5 Interleaved 2 of 5 Codabar Code 128 EAN128 RSS 14 Code 16k PDF-417 |
|||
21
lEvGl
20.06.24
✎
15:08
|
(19) использует, тип задается в настройках штрихкода. можно мышой, можно кодом
|
|||
22
Prog_man
20.06.24
✎
15:14
|
сейчас такой код
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода(); ПараметрыШтрихкода.Ширина = 300; ПараметрыШтрихкода.Высота = 100; ПараметрыШтрихкода.ТипКода = 1; ПараметрыШтрихкода.ОтображатьТекст = Истина; ПараметрыШтрихкода.РазмерШрифта = 0; ПараметрыШтрихкода.УголПоворота = 0; ПараметрыШтрихкода.Штрихкод = Штрихкод; ПараметрыШтрихкода.ПрозрачныйФон = Ложь; ПараметрыШтрихкода.Масштабировать = Истина; ИзображениеШтрихкода = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); рис=ОбластьМакета.Рисунки.РисунокШтрихкод; рис.РазмерКартинки=РазмерКартинки.Пропорционально; рис.Линия = Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии); //Вокруг штрихкода не должно быть рамки рис.Картинка = ИзображениеШтрихкода.Картинка; |
|||
23
Prog_man
20.06.24
✎
15:15
|
какой тип кода указать? чтобы норм печатался
|
|||
24
lEvGl
20.06.24
✎
15:20
|
(23)в описании к компоненте
https://its.1c.ru/db/metod8dev/content/1838/hdoc Из плоских Code128 самый вместительный Свойство содержит идентификатор типа штрихкода. Может принимать одно из следующих значений: 0 (тип кода - EAN8) 1 (тип кода - EAN13) 2 (тип кода - EAN128) 3 (тип кода - CODE39) 4 (тип кода - CODE128) 5 (тип кода - CODE16K) 6 (тип кода - PDF417) 7 (тип кода - Industrial2of5) 8 (тип кода - Interleaved2of5) 9 (тип кода - Code39FullASCII) 10 (тип кода - CODE93) 11 (тип кода - ITF14) 12 (тип кода - RSS14) 13 (тип кода - CodaBar) 14 (тип кода - EAN13 AddOn 2) 15 (тип кода - EAN13 AddOn 5) Но, вы точно уверены, что EAN не нужен? |
|||
25
Prog_man
20.06.24
✎
15:19
|
(24) а без компоненты не получится?
|
|||
26
Kongo2019
20.06.24
✎
15:20
|
(25) через ZPL
|
|||
27
lEvGl
20.06.24
✎
15:22
|
(25) как без компоненты, зачем без компоненты? она у вас уже работает, это
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода(); ИзображениеШтрихкода = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); только тип кода поменять надо, если не ЕАН нужен |
|||
28
Prog_man
20.06.24
✎
15:30
|
получилось вот так
ПараметрыШтрихкода.ТипКода = 99; // авто тип нашел по конфигурации ШтрихкодАвтоТип = (ПараметрыШтрихкода.ТипКода = 99); |
|||
29
Prog_man
20.06.24
✎
16:21
|
одну проблемку решил, появилась другая, где то с десяток этикеток печатает норм. потом начинает "съезжать" как это побороть? клиенту нужно эти этикетки тысячами шт. печатать
|
|||
30
Garykom
20.06.24
✎
16:22
|
(29) На принтере датчик этикетки проверь
|
|||
31
Garykom
20.06.24
✎
16:24
|
(29) И покажи как выглядит это "съезжать"
Постепенно все последующие сползают или редкие только и последующие нормально |
|||
32
Prog_man
20.06.24
✎
16:29
|
(31) постепенно сползают, принтер проверить не могу в другом регионе. но из другой программы печатает норм
|
|||
33
Prog_man
20.06.24
✎
16:30
|
разделитель страниц есть, т.е каждая этикетка на отдельной странице
|
|||
34
Kongo2019
20.06.24
✎
16:31
|
(29) Запусти калибровку принтера. Он под бумагу станет.
|
|||
35
lEvGl
20.06.24
✎
16:33
|
(32) драйвера сбросьте на дефолтные настройки, они всегда такими должны быть, управление бумагой и т д из 1с. Умелые пользователи всегда лезут в настройки и что то там делают, сброс помогает.
Либо да, аппаратный косяк с датчиком разрыва |
|||
36
Prog_man
20.06.24
✎
16:38
|
(34) (35) принтер трогать пока не буду, а то могут быть глюки в программе из которой сейчас печатают
|
|||
37
Garykom
20.06.24
✎
16:39
|
(32) возможно параметры страницы с отключенным датчиком этикеток каким то образом используются из 1С
|
|||
38
Garykom
20.06.24
✎
16:45
|
(37)+ ИмяПараметровПечати (КлючПараметровПечати) задать уникальное
Вывести в режиме предприятия на том компе где драйвер принтера табдок (с этикетками) на просмотр И глянуть параметры/настройка принтера через Печать |
|||
39
Prog_man
20.06.24
✎
16:46
|
(37) вот и пытаюсь понять почему датчик не срабатывает. может им можно как то из 1с управлять программно ?
|
|||
40
Prog_man
20.06.24
✎
16:47
|
(38) у принтера этикеток предварительный просмотр не работает и параметры там не доступны, ну или я не нашел.
|
|||
41
Garykom
20.06.24
✎
16:49
|
(39) из 1С фактически через ИмяПараметровПечати используется заданные в интерфейсном режиме настройки
(40) не в предварительном просмотре, просто Параметры страницы или Печать и там Настройки принтера искать |
|||
42
Prog_man
20.06.24
✎
16:56
|
(41) добавить в код ?
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка1"; читал что в таком случае слетают остальные параметры Ширина и Высота страницы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |