| 
    
            
         
         | 
    
    
  | 
Как программно задать нестандартный размер страницы ТД? | ☑ | ||
|---|---|---|---|---|
| 
    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"; читал что в таком случае слетают остальные параметры Ширина и Высота страницы  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |