Имя: Пароль:
1C
1C 7.7
v7: QR код В 1С 7.7 (2)
,
0 OnePrg
 
03.03.20
09:41
Продолжение темы QR код В 1С 7.7

Помогите разобраться с компонентой OcvitaBarcode. Когда выводимых символов больше некоторого порога, то QR код не выводится

http://imagizer.imageshack.com/img923/1466/DiFUuN.png

Как настроить компоненту? Как получить сообщение от компоненты с кодом возврата?
1 mishaPH
 
модератор
03.03.20
09:43
вы в код запихиваете всю накладную?
зачем
2 Aleksey
 
03.03.20
09:43
вы туда главы войны и мир пишите? Учтите что потом будут проблемы с чиением, или ваше дело напечатать?
3 OnePrg
 
03.03.20
09:52
Зачем: У заказчика такая система, что все документы, что печатает по складу за день оператор в 1С вторые копии получает МОЛ. На следующий день, когда документы в 1С закрыты для редактирования, МОЛ с оператором 1С сидят и сверяют бумажные документы с документами в 1С. Стоит задача этот процесс автоматизировать.

Вот этот текст выводится в QR код

ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

а вот этот уже нет

dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
4 mishaPH
 
модератор
03.03.20
09:54
(3) а вы знаете толк в изврате....

а не проще при выводе накладной запоминать ее состояние где-то. на накл только ссылку на нее
5 mishaPH
 
модератор
03.03.20
09:56
(3) ну так посчитай сколько символов он выводит. и возьми за аксиому. Далее при попытке вывести проверяй.

самое главное ну убедился что не влезет что делать собираешся? накладную не печатать в принципе и ругатся сократите?
6 OnePrg
 
03.03.20
09:57
если не прокатит с QR кодом, то будем делать по другом

сам QR код на сколько я знаю позволяет выводить что-то около 2 тыс знаков, почему же он здесь выводит значительно меньше?
7 Aleksey
 
03.03.20
10:11
(6) откуда фантазия о 2 тысячах?
Зависит от версии, может быть и 27 цифр максимум (с) https://creambee.ru/blog/post/qr-specification/
8 Kigo_Kigo
 
03.03.20
10:12
(6) потому что создатели OcvitaBarcode не думали, что из 1с будут печатать код на всю страницу А4
9 Aleksey
 
03.03.20
10:14
(3) а не проще ли при печати сохрантья ТЧ в файл, а потом нажатием одной кнопки сравнивать версию в файле и в базе? Представь какая экономия на оборудовании и людях
10 Aleksey
 
03.03.20
10:16
У меня так был организован отчет по вычеркам. Т.е. на склад печатали бумажку, которая сохранялась в файле, далее склад что то не нашел и оператор удалил эту позицию из накладной. Потом отчет сравнивал то что было и то что стало - и готово отчет по вычеркам.
11 victuan1
 
03.03.20
10:19
(0) А если распечатать через formex.dll?
12 OnePrg
 
03.03.20
10:29
(11) дай пожалуйста пример

вот та обработка, которую я взял за пример http://mzxxe5ln.nfxgm33torqxe5booj2q.nblu.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=388754&action=download
13 NorthWind
 
03.03.20
10:32
(3) я не советовал бы использовать ШК для хранения больших объемов инфы. Недоследят за картриджем, начнет полосить - и вся эта система ляжет. Лучше всего использовать 1D код, который позволит тупо считывать метку-ссылку,
по которой уже искать данные в других источниках. И обязательно предусмотреть ручной ввод метки на случай если чего-то не считается.
14 NorthWind
 
03.03.20
10:34
складская специфика - она такая - там чем проще и надежнее, тем лучше.
15 victuan1
 
03.03.20
11:25
(12) Кладешь в макет объект Картинка, прописываешь ей формулу:
[url=https://ibb.co/C8gwd2S][img]https://i.ibb.co/C8gwd2S/image.png[/img][/url]

//------------------------------------------------------------------------------
Процедура ВыводШтрихкодаВТаблицу(Картинка,ТипЧислом,ТекстШтрихкода)

Сервис.НарисоватьШтрихкод(Картинка,ТипЧислом,ТекстШтрихкода,0);
Картинка.РежимРисования(3);

КонецПроцедуры //ВыводШтрихкодаВТаблицу

//------------------------------------------------------------------------------
Процедура Сформировать()
  Т = СоздатьОбъект("Таблица");
   Попытка
    Сервис = СоздатьОбъект("Сервис");
   Исключение
    сообщить("Неудачная попытка создания объекта Сервис. Возможно, нужно установить более новую версию formex.dll");
    Возврат
   КонецПопытки;
  стрВерсия = ""; нВерсия = Сервис.Версия(стрВерсия);
  Если нВерсия < 33555843 Тогда //проверяем чтобы версия была не не ниже 2.0.5.131 иначе напечатанный QR-код будет нечитаем сканером
   сообщить("Установлена версия Formex.dll "+стрВерсия+". Для печати QR-кода версия должна быть не ниже 2.0.5.131.","!!");
   Возврат
  КонецЕсли;

..
     Т.ВывестиСекцию("Строка");
..

КонецПроцедуры
16 victuan1
 
03.03.20
11:25
17 OnePrg
 
03.03.20
14:30
Всем спасибо за участие.
Пока решил вопрос тем, что убрал из QR кода наименование номенклатуры, оставил только код. Теперь в QR код попадают только цифры и точки с запятыми. В таком режиме QR код легко вмещает информацию из документа в 10 строк (более не проверял). Этого пока достаточно.
18 АЛьФ
 
03.03.20
14:55
Если я правильно понимаю, то это проверка неизменности накладной (непонятно почему нельзя запретить редактировать распечатанные документы, но пусть). Для такой проверки достаточно сформировать хэш типа MD5, его и печатать.
19 arsik
 
гуру
03.03.20
15:00
(18) Такая проверка не покажет что изменилось. Придется снова руками по накладной пробегать. Предлагали уже историю хранить - не хотят :)
20 mishaPH
 
модератор
03.03.20
15:00
(17) а вы туду и наиманование пихали???? ну вы даете.. а если наим поменяли весь контроль уже распечатанных идет лесом?
21 АЛьФ
 
03.03.20
15:50
2(19) Так проще и быстрей сначала выявить измененные, а потом уже найти изменения.
22 user100000
 
08.03.20
01:36
размер квадратика увеличьте
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.