Имя: Пароль:
1C
1C 7.7
v7: Сохранить таблицу в BMP формат
0 kupec
 
15.02.16
12:14
День добрый...вообщем такое дело, есть ККМ СП 101 ФР-К старого образца, на ней нужно печатать QR штрих код, но на аппаратном уровне это не поддерживается, но есть возможность напечатать растровое изображение, так вот....можно ли как то сформировать из 7.7 штрих код (QR) сохранить его в bmp и послать на ККМ. Или сформировать в таблице этот код, а потом таблицу сохранить в BMP ну и отправить на кассу....Может кто сталкивался с таким??? С сохранением штрих кода (таблицы) в рисунок.
1 Tatitutu
 
15.02.16
12:33
2 Builder
 
15.02.16
12:38
Bullzip PDF принтер умеет сохранять в BMP.
Поддерживает управление командами.
3 kupec
 
15.02.16
12:47
(2) но он сохранит в формате А4...соответственно рисунок будет большой
4 kupec
 
15.02.16
13:05
(2) пытаюсь напечатать через булзип...как там указать что формат BMP настройки принтера изменил, а он все равно в PDF сохраняет
5 arsik
 
гуру
15.02.16
13:27
6 Garykom
 
гуру
15.02.16
13:34
(5) не стоит острить если не разобрались полностью в вопросе, задача состоит в выведении двумерного ШК на фискальник

а фискальник только bmp формат походу понимает, на него низзя просто как на win принтер отправлять

ЗЫ когда то создавал тему "Кому драйвер для ФР как win принтер?" но снесли ее сразу
7 Злопчинский
 
15.02.16
13:37
да, в 7.7 есть возможность сформировать бмп, если надо - то даже с нужными размерами.
8 vde69
 
15.02.16
13:43
вообще штатная компонента печати ШК умеет сохранять в виде картинки...
9 arsik
 
гуру
15.02.16
13:47
(6) Посмотри внимательно. Практически все компоненты которые могут отправлять на печать двумерный штрих код, так же могут сохранять его в файл.
10 Builder
 
15.02.16
13:49
(4) Параметры принтера посмотри тут, вроде это они.
http://www.biopdf.com/guide/settings.php
Но мне кажется есть какие то внешние компоненты спецом для этого.
11 kupec
 
15.02.16
13:52
(10) с параметрами разобрался, но сохраняет в А4...
12 kupec
 
15.02.16
13:53
(8) что за штатная компонента печати ШК?
(7) каким образом?
13 vde69
 
15.02.16
13:55
(12) 1C Barcode scanner
14 vde69
 
15.02.16
13:55
ScanOPOS
15 kupec
 
15.02.16
13:57
(8) это случайно не вот эта ?
1cbarcod.dll 1cbarcod.cnt 1cbarcod.hlp
16 Ёпрст
 
15.02.16
13:57
(0)
используй это
http://ocvita.ru/content/view/89/1/
17 kupec
 
15.02.16
13:58
(13,14) это разьве  не компонента для работы со сканером ШК
18 Ёпрст
 
15.02.16
13:58
(13) она умеет печатать QR код ?
19 vde69
 
15.02.16
14:00
(18) вроде умела, я правда юзал не QR а "азен" (как он там правильно - не помню)
20 Ёпрст
 
15.02.16
14:02
(19) не, не умеет :)

+18 http://catalog.mista.ru/public/138263/
смотри в каментах, 33 пост - пример.
21 trdm
 
15.02.16
14:04
(16) Мощная штучка.
22 vde69
 
15.02.16
14:05
из реад.ме:

Внешняя компонента "1С: Сканер штрихкода" v 8.0.16.1

8.0.14.1 - Добавлена поддержка QR-кодов с русскими буквами в кодировке UTF-8
23 arsik
 
гуру
15.02.16
14:07
(22) Она сохранять не умеет.
24 Ёпрст
 
15.02.16
14:07
25 Serginio1
 
15.02.16
14:26
26 kupec
 
15.02.16
14:26
регистрирую библиотеку ocvitabarcode в таблице при вставке объекта не появляется данная компонента. ЧЯДНТ?
27 kupec
 
15.02.16
14:29
+(26) пробовал на двух разных компьютерах
28 kupec
 
15.02.16
14:31
(16) и как через неё сохранять в BMP ?
29 kupec
 
15.02.16
14:41
(27) понял сам, но не понимаю как в BMP сохранить?
30 arsik
 
гуру
15.02.16
14:45
Читай документацию.
5.2 Кодирование и сохранение в файл
Чтобы закодировать данные в штрих-код, используется функция ZBarcode_Encode(). Чтобы записать
штрих-код в файл, используется функция ZBarcode_Print(). К примеру, данный код берет параметр из
командной строки и выводит штрихкод в формате Code 128 в файл out.png (формат, соответственно,
PNG) в текущем рабочем каталоге:
#include <stdio.h>
#include <zint.h>
int main(int argc, char **argv)
{
struct zint_symbol *my_symbol;
my_symbol = ZBarcode_Create();
ZBarcode_Encode(my_symbol, argv[1], 0);
ZBarcode_Print(my_symbol, 0);
ZBarcode_Delete(my_symbol);
return 0;
}
Это также может быть сделано в один этап с использованием функции ZBarcode_Encode_and_Print(),
как показано в следующем примере:
#include <stdio.h>
#include <zint.h>
int main(int argc, char **argv)
{
struct zint_symbol *my_symbol;
my_symbol = ZBarcode_Create();
ZBarcode_Encode_and_Print(my_symbol, argv[1], 0, 0);
ZBarcode_Delete(my_symbol);
return 0;
}
Строка на входе должна быть в кодировкеUnicode.
31 arsik
 
гуру
15.02.16
14:46
Тут самое сложное вот в чем.
>>Строка на входе должна быть в кодировкеUnicode.
32 arsik
 
гуру
15.02.16
14:49
+ (31) Хотя нет. Вроде как добавили возможность указывать кодировку - http://ocvita.ru/content/view/111
33 Garykom
 
гуру
15.02.16
14:51
это все бесполезно если ФР не сможет напечатать картинку с нужным качеством

ТС плиз проверь, возьми готовый QR код в BMP и попробуй его из 1С вывести в чек

если выйдет тогда уже дальше думать как и в каком формате/качестве
34 kupec
 
15.02.16
14:54
(33) техподдержка сказала что напечатается нормально, в данный момент напечатать пробный вариант возможности нет, так как ККМ необходимо сначала перепрошить
35 Garykom
 
гуру
15.02.16
15:04
(34) вы техподдержке меньше верьте в след раз

они может речь про картинку типа логотип статическую в шапке/подвале чека говорят

а не про динамическую на ходу сформированную
36 arsik
 
гуру
15.02.16
15:33
Можно еще проще. Вот библbотека zint
https://sourceforge.net/projects/zint/files/zint/test/zint_cmdline_2016-01-12.exe/download
Обернутая в командный файл с параметрами. Качаете, и запускаете. Примерно так.
>zint.exe -b 58 -o "d:\test.png" -d "hren vam a ne shtrihkod"
37 kupec
 
15.02.16
15:53
(35) как раз таки про неё речь и шла
38 kupec
 
15.02.16
15:53
(36) пробовал так, все получается, только сохраняет в ПНГ а надо БМП
39 arsik
 
гуру
15.02.16
15:59
(38) Ну так сконверти. Есть (вроде) в винде встроенная библиотека.
40 kupec
 
15.02.16
16:04
а можно по поводу (30) объяснить каким образом в 1С это можно реализовать?
41 Garykom
 
гуру
15.02.16
16:11
(40) ВК можно используя это наваять, которая будет по переданным данным писать QR штрих код в bmp
в примере пример на C++
42 kupec
 
15.02.16
16:12
(41) я такого не умею....
43 Garykom
 
гуру
15.02.16
16:15
(42) тогда любой способ создания QR в табличный документ и далее http://yoksel.net.ru/GraficheskijjKonverter
44 kupec
 
15.02.16
16:17
а что по поводу (7) сказали что можно создать БМП а как не сказали...может еще кто-то значент?
45 kupec
 
15.02.16
16:18
*знает
46 Злопчинский
 
15.02.16
16:26
(44) bmp создать проблем нет. хоть поточечно заполняй картинку.
47 kupec
 
16.02.16
08:36
(46) ну дык а куда смотреть то??? Как это делается?
48 Mikeware
 
16.02.16
09:04
(47) BinFiles.dll - внешняя компонента для работы с бинарными файлами из встроенного языка 1С Предприятие.
Поддерживает чтение/запись строк, целых и вещественных чисел, значений типа Currency (число с фиксированной точкой) и шестнадцатеричных строк.
Поддерживает последовательный и произвольный доступ к файлу.
Компонента содержит функции компрессии и декомпрессии для реализации хранения
больших объемов двоичных данных в длинных строках 1С Предприятие 7.7

ну и https://ru.wikipedia.org/wiki/BMP
49 Garykom
 
гуру
16.02.16
10:24
(48) ну вы добрые блин...
ладно у меня опыт через binfiles написания "драйвера" dbf-формата, чтобы символы (с кодами до 0-32) из character полей прочитать
50 Mikeware
 
16.02.16
10:33
(49) ну, я тоже писал, чтоб "из кусков" битого файла собирать. не суть важно.
важно то, что если задачу захотеть решить - ее можно решить почти всегда.
51 Serginio1
 
16.02.16
10:35
(47) 25 не смотрел. Могу написать если нужно
52 Serginio1
 
16.02.16
10:52
А насчет печати то все зависит от принтера. У них есть команды для печати в том числе и для ШК правда в режиме CPL обычного текстового вывода
53 Serginio1
 
16.02.16
10:54
54 Serginio1
 
16.02.16
10:57
Например
public void Print2DBarCode(string Rotation, string BarCodeType, int PrintX, int PrintY, Int32 UnitWidth, Int32 UnitHeight, Int32 Column, Int32 SecurityLevel, string data)
        {
    //    VB PDF-417 0 1 XD 1 YD 12 C 3 S 1
            sb.AppendFormat("{0}B {1} {2} {3} XD {4} YD {5} C {6} S {7}\r\n{8}\r\nENDPDF\r\n", Rotation, BarCodeType, PrintX, PrintY, UnitWidth, UnitHeight, Column, SecurityLevel, data);
        
        }

        public void PrintPDF217BarCode(string Rotation, int PrintX, int PrintY, string data)
        {
        //    VB PDF-417 0 1 XD 1 YD 12 C 3 S 1
            Print2DBarCode(Rotation, "PDF-417", PrintX, PrintY, 2, 8, 3, 1, data);
        }
        public void PrintBarCode(Int32 Rotation, Int32 BarCodeType, Int32 NB, Int32 Ratio, Int32 BarHeight, string PrintX, string PrintY, string data)
    {
    //T 0 3 80 40 Дата
            //B 128 1 0 30 3 208 12345678945612
        sb.AppendFormat("{0}B {1} {2} {3} {4} {5} {6} {7}\r\n", Rotation, BarCodeType, NB, Ratio, BarHeight, PrintX, PrintY, data);
    }

public void PrintPage()
        {
            sb.Append("FORM\r\n");
            sb.Append("PRINT\r\n");
            using (Printer p = new Printer(printerName))
            {
                p.Open();
                p.Write(sb.ToString());
            
            }

            init();
        
        }
55 Serginio1
 
16.02.16
10:58
И пришлось картинки тоже в текст переводить
56 Злопчинский
 
16.02.16
17:41
(47) например http://catalog.mista.ru/public/138263/
или пользуй ВК GFLax - для работы с графикой, на ИС можно посмотреть у Маляева
57 Garykom
 
гуру
16.02.16
18:07
Кстати ТС заново наваял Elisy .Net Bridge
v8: v8: Elisy .Net Bridge 4 для 1С:Предприятие 8.2 (платное ПО)

И бесплатно раздает то что они продавать пытаются
58 Garykom
 
гуру
16.02.16
18:07
(57)+ А люди еще и кушать не хотят заляву...
59 Garykom
 
гуру
16.02.16
18:08
(57) сорри веткой ошибся, это для Использование классов .Net в 1С для новичков
Программист всегда исправляет последнюю ошибку.