Вывод QR-кода типовыми средствами.

Публикация № 1142804 21.10.19

Интеграция и обмен данными - Сканер штрих-кода

QR-код QR QRКод

Вывод QR-кода типовыми средствами. На данный момент очень часто нужно вывести в печатную форму QR-код. Показываю как на примере типового кода из УТ11 это сделать. Можно использовать в любых конфигурациях с обычными формами.

На данный момент очень часто нужно вывести в печатную форму QR-код.
Показываю как на примере типового кода из УТ11 это сделать.

 

Шаг 1
Для этого нужно скопировать из УТ11 ОбщийМакет.КомпонентаПечатиQRКода.

Я брал из УТ 11.4

Если по каким то причинам не можете скопировать макет из УТ, то данный макет прилагаю ниже в обработке "КомпонентаПечатиQRКода.epf".

Так же в обработке ""КомпонентаПечатиQRКода.epf" есть кнопка "Пример печати".

Шаг 2

Скопировать себе в модуль 5 процедур:

/////////////////////////////////////////////////////////////////////////////
// Вывод QR-кода

    
    Функция КомпонентаФормированияQRКода()
        
        ТекстОшибки = НСтр("ru = 'Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.'");
        
        QRCodeGenerator = ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");
        Если QRCodeGenerator = Неопределено Тогда
            #Если Клиент Тогда
                Сообщить(ТекстОшибки);
            #КонецЕсли
        КонецЕсли;
        
        Возврат QRCodeGenerator;
        
    КонецФункции
    
    Функция ПодключитьКомпонентуИзМакета(Идентификатор, ПолноеИмяМакета) Экспорт
        
        ПодключаемыйМодуль = Неопределено;
        
        Местоположение = ПолноеИмяМакета;
        СимволическоеИмя = Идентификатор + "SymbolicName";
        
        Если ПодключитьВнешнююКомпоненту(Местоположение, СимволическоеИмя) Тогда
            
            Попытка
                ПодключаемыйМодуль = Новый("AddIn." + СимволическоеИмя + "." + Идентификатор);
                Если ПодключаемыйМодуль = Неопределено Тогда
                    ВызватьИсключение НСтр("ru = 'Оператор Новый вернул Неопределено'");
                КонецЕсли;
            Исключение
                ПодключаемыйМодуль = Неопределено;
                ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
            КонецПопытки;
            
            Если ПодключаемыйМодуль = Неопределено Тогда
                
                ТекстОшибки = НСтр("ru = 'Не удалось создать объект внешней компоненты ""%1"", подключенной на сервере
                |из макета ""%2"",
                |по причине:
                |%3'");
                
                ЗаписьЖурналаРегистрации(
                НСтр("ru = 'Подключение внешней компоненты на сервере'",
                КодОсновногоЯзыка()),
                УровеньЖурналаРегистрации.Ошибка,,,
                ТекстОшибки);
                
            КонецЕсли;
            
        Иначе
            
            ТекстОшибки = НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на сервере
            |из макета ""%2""
            |по причине:
            |Метод ПодключитьВнешнююКомпоненту вернул Ложь.'");
            
            ЗаписьЖурналаРегистрации(
            НСтр("ru = 'Подключение внешней компоненты на сервере'",
            КодОсновногоЯзыка()),
            УровеньЖурналаРегистрации.Ошибка,,,
            ТекстОшибки);
            
        КонецЕсли;
        
        Возврат ПодключаемыйМодуль;
        
    КонецФункции
    
    Функция КодОсновногоЯзыка() Экспорт
        
        Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
        
    КонецФункции
    
    // Возвращает двоичные данные для формирования QR-кода.
    //
    // Параметры:
    //  QRСтрока         - Строка - данные, которые необходимо разместить в QR-коде.
    //
    //  УровеньКоррекции - Число - уровень погрешности изображения, при котором данный QR-код все еще возможно 100 %
    //                             распознать.
    //                     Параметр должен иметь тип целого и принимать одно из 4 допустимых значений:
    //                     0 (7 % погрешности), 1 (15 % погрешности), 2(25 % погрешности), 3(35 % погрешности).
    //
    //  Размер           - Число - определяет длину стороны выходного изображения в пикселях.
    //                     Если минимально возможный размер изображения больше этого параметра - код сформирован не будет.
    //
    // Возвращаемое значение:
    //  ДвоичныеДанные  - буфер, содержащий байты PNG-изображения QR-кода.
    //
    // Пример:
    //  
    //  // Выводим на печать QR-код, содержащий в себе информацию зашифрованную по УФЭБС.
    //
    //  QRСтрока = УправлениеПечатью.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
    //  ТекстОшибки = "";
    //  ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);
    //  Если Не ПустаяСтрока(ТекстОшибки)
    //      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки);
    //  КонецЕсли;
    //
    //  КартинкаQRКода = Новый Картинка(ДанныеQRКода);
    //  ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;
    //
    Функция ДанныеQRКода(QRСтрока, УровеньКоррекции, Размер) Экспорт
        
        //УстановитьОтключениеБезопасногоРежима(Истина);
        ГенераторQRКода = КомпонентаФормированияQRКода();
        Если ГенераторQRКода = Неопределено Тогда
            Возврат Неопределено;
        КонецЕсли;
        
        Попытка
            ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode(QRСтрока, УровеньКоррекции, Размер);
        Исключение
            ЗаписьЖурналаРегистрации(НСтр("ru = 'Формирование QR-кода'", КодОсновногоЯзыка()),
            УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
        КонецПопытки;
        
        Возврат ДвоичныеДанныеКартинки;
        
    КонецФункции
    
    Процедура ВывестиQRКод(ДанныеПечати, ОбластьМакета)
        
        QRСтрока = ДанныеПечати;
        
        Если Не ПустаяСтрока(QRСтрока) Тогда
            
            ДанныеQRКода = ДанныеQRКода(QRСтрока, 0, 190);
            
            Если ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда
                КартинкаQRКода = Новый Картинка(ДанныеQRКода);
                ОбластьМакета.Рисунки["QRКод"].Картинка = КартинкаQRКода;
            Иначе
                ТекстСообщения = "Не удалось сформировать QR-код для документа";
                #Если Клиент Тогда
                    Сообщить(ТекстСообщения);
                #КонецЕсли
            КонецЕсли;
            
        КонецЕсли;
        
    КонецПроцедуры
    

// Вывод QR-кода
/////////////////////////////////////////////////////////////////////////////

 

Шаг 3

В макет, в котором вам нужен QR-код вставляете пустую картинку и называете ее QRКод (название может быть любым, но в примере кода используется это название).

 

Шаг 4

Печатаете QR-код

Процедура КнопкаПечатьНажатие(Кнопка)
    
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("ВыводQR");
    


    ОблQRКод = Макет.ПолучитьОбласть("ОбластьQRКод");
    
    ТекстСсылки = "dobromir.kz"; //Ваша ссылка, можно передавать все что хотите
    ВывестиQRКод(ТекстСсылки ,ОблQRКод);
    ТабДок.Вывести(ОблQRКод);
    
    ТабДок.Показать();
    
КонецПроцедуры

Пример области макета:

Пример результата работы:

Итог

Обработка "КомпонентаПечатиQRКода.epf" идет в качестве примера, так же в ней есть макет "КомпонентаПечатиQRКода".

Все что написано, можно реализовать самостоятельно, описания выше достаточно.

 

Можно использовать в любых конфигурациях с обычными формами. Код никуда не обращается.

Тестировалась на:

Конфигурации для Казахстана

Зарплата и Управление Персоналом для Казахстана, редакция 2.0, разработка для Казахстана: «1С-Рейтинг» (2.0.17.7)

"Управление торговлей для Казахстана", редакция 2.2,  локализация для Казахстана: "1С-Рейтинг",  "1С-Сапа" (2.2.17.4)

Бухгалтерия для Казахстана, редакция 2.0, разработка для Казахстана: «1С-Рейтинг» (2.0.29.3)

Управление торговым предприятием для Казахстана, редакция 2.0, разработка для Казахстана: «1С-Рейтинг» (2.0.18.1)

Для РФ

"Управление торговлей", редакция 10.3 (10.3.48.2) 

Управление производственным предприятием, редакция 1.3 (1.3.113.4)

 

Скачать файлы

Наименование Файл Версия Размер
КомпонентаПечатиQRКода.epf

.epf 425,73Kb
110
.epf 1 425,73Kb 110 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rusmm93 28 21.10.19 14:39 Сейчас в теме
Какое максимальное количество символов можно зашифровать в QR-коде таким образом?
3. Емельянов Алексей 150 21.10.19 14:54 Сейчас в теме
(1) Не нашел такой информации, мне для работы сейчас хватает 100-200 символов, судя по QR-коду еще много войдет.
46. pvl_mksv 20 22.07.20 11:42 Сейчас в теме
(3)712 символов - штрих код не распознался
18. Xershi 957 11.01.20 15:40 Сейчас в теме
(1) в полнофункциональной версии есть описание. Ответ в (14).
21. viplelik 28 26.01.20 14:43 Сейчас в теме
(1) Хочу заметить, при применении данного кода, компонента печати будет браться из Общего модуля текущий конфигурации, а не из внешней обработки.
QRCodeGenerator = ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");

Выкладываю QR генератор без БСП. (код выдернут из 1С. Розница 2.3.2.28)
Прикрепленные файлы:
ГенераторQRбезБСП.epf
God_loki; Михаська; Garik8866; It-developer; Pavel_Vladivostok; Goggy; dr2c; +7 Ответить
51. Светлый ум 277 12.07.21 10:50 Сейчас в теме
(21) Прикрепите в статью - версию для управляемого приложения, раз она в комментариях и так лежит
22. viplelik 28 26.01.20 14:51 Сейчас в теме
2. Senator_I 13 21.10.19 14:44 Сейчас в теме
А компонента эта в платформу вшита? Не так как с штрихкодами?
4. Емельянов Алексей 150 21.10.19 14:54 Сейчас в теме
(2) Да вшита в УТ11, можете оттуда взять.
user761278; Senator_I; +2 Ответить
5. Емельянов Алексей 150 21.10.19 14:57 Сейчас в теме
(2) Мне тем этот метод и понравился. Что нужно всего 5 процедур и компонента, все в платформе, никуда обращаться не нужно.
А то нужно было в фискальный чек QR-код вывести, что только не предлагают и dll и java-скрипты и онлайн сервисы.
Хорошо люди подсказали взять из типовой, я вот оттуда все и собрал в свою конфигурацию.
Senator_I; +1 Ответить
6. dandykry 7 22.10.19 07:38 Сейчас в теме
	
ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(Штрихкод, 2, 100);
		
Если ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда
	КартинкаQRКода = Новый Картинка(ДанныеQRКода);
	ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка= КартинкаQRКода;
КонецЕсли;
7. dandykry 7 22.10.19 07:41 Сейчас в теме
Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон");
КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100;
	
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Ширина",          Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе));
ПараметрыШтрихкода.Вставить("Высота",          Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе));
ПараметрыШтрихкода.Вставить("Штрихкод",        Штрихкод);
ПараметрыШтрихкода.Вставить("ТипКода",         16); // QR
ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь);
ПараметрыШтрихкода.Вставить("РазмерШрифта",    6);
	
ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
	
Показать
8. Емельянов Алексей 150 22.10.19 11:21 Сейчас в теме
(7) Это доя какой конфигурации код?
9. dandykry 7 22.10.19 12:32 Сейчас в теме
(8) ДанныеQRКода из БСП
МенеджерОборудованияВызовСервера - скорее всего из БПО. Вообще скопировал из ЕРП, но думаю в большинстве конфигураций с БСП + БПО или по отдельности хотя бы 1 из них. (Типовых не знаю таких, только старые)

UP:
http://prntscr.com/pmmxbe
https://its.1c.ru/db/bsp311doc#content:1358:hdoc

http://prntscr.com/pmmxwd
https://its.1c.ru/db/metod8dev#content:5963:hdoc
10. dandykry 7 22.10.19 12:59 Сейчас в теме
(8) Если грубенько, то вы просто скопировали типовой код. Это наверное полезно для старых и самописных конфигураций. Для свежих типовых столько кода копировать бессмысленно.
Когда я пытался в прошлый раз выложить на инфостарт разработку с использованием материалов типовых конфигураций и материалов с ИТС, меня послали. (сказали нельзя выкладывать консоль запросов с диска ИТС, хоть она у вас и дописана)
Вас почему-то нет) А у вас и код, и компонента. Я не против, но удивляет политика ресурса.
11. Емельянов Алексей 150 22.10.19 14:57 Сейчас в теме
(10) Понятно, что те у кого новые УТ11 или ЕРП им не нужно.
Но полно людей которые работают на УТ10 и других старых конфигурациях, там этого нет.

Когда я выкладывал данную работу, я помнил правило о котором вы упомянули.
Я понимаю почему так, если бы каждый выложил свою консоль запросов, тут бы все было в этих конослях. Я тоже свою консоль запросов под себя написал.

А тут я обработку приложил как пример, в описание указал как реализовать самостоятельно. Подобных тем тут я не нашел.
lost-s0u1; +1 Ответить
12. dandykry 7 22.10.19 15:22 Сейчас в теме
(11) Я не осуждаю. Хороший полноценный код. Я просто привел примеры, как это сделать в БСП в 2х вариантах. 1 из них у вас в разобранном виде в публикации.
По поводу правила - я удивлен, что некоторые публикации заворачивают по причине того, что нарушаются правила, а некоторые нет. Лично мне без разницы. Логика модерации непонятна.

2.1.1. Вы должны иметь право на публикацию материала, то есть, являться автором, обладателем исключительных прав на произведение или иметь разрешение на публикацию.


2.2.5. Запрещается размещать материалы с диска ИТС фирмы “1С”.
23. angeliccare 96 28.01.20 20:16 Сейчас в теме
(10) Компонента не работает на 8.2.
Емельянов Алексей; +1 Ответить
24. Емельянов Алексей 150 29.01.20 04:47 Сейчас в теме
(23) Спасибо. Поправлю описание.
25. dandykry 7 29.01.20 09:11 Сейчас в теме
(23) Я тут причем?)) Автор статьи использовал компоненты из типовых конфигураций.
Обращайтесь в 1с или к автору и описывайте ситуацию.

И возможно она работает в 8.2, просто вы что-то не так делаете. Просто написать "не работает" и не указать даже приблизительного текста ошибки, не говоря уже о коде, всякий может.
50. user1147041 16.02.21 11:30 Сейчас в теме
(23) Я взял обработку ГенераторQRбезБСП.epf из (21) и "КомпонентаПечатиQRКода" действительно не работает. Выгрузил из конфы "Бухгалтерия предприятия, редакция 3.0 (3.0.83.25)" - КомпонентаПечатиQRКода
Загрузил в конфу "Бухгалтерия предприятия, редакция 1.6 (1.6.8.3)" (1С:Предприятие 8.2 (8.2.19.130))
Весь код разместил на форме... Работает.
13. AlxNel 3 22.10.19 21:29 Сейчас в теме
Спасибо!
Емельянов Алексей; +1 Ответить
14. Xershi 957 10.01.20 10:05 Сейчас в теме
Уже давно есть более универсальное решение QR-код 2 в 1 (обычная и управляемая форма)
akmurepus; +1 3 Ответить
15. Емельянов Алексей 150 10.01.20 14:11 Сейчас в теме
(14) У меня решение бесплатное и используется в БСП, а у вас требует 1 стартмани.
В чём плюс я не увидел?
Но спасибо за пример рекламы, у вас в коментах тоже отпишусь ))
16. Xershi 957 10.01.20 18:05 Сейчас в теме
(15) ваша обработка точно также требует 1 стартмани!
Плюс вы даже публикацию не прочитали, что вообще нонсенс!
Поэтому напишу для вас повторно, компоненту при наличии типовой конфигурации можно взять бесплатно.
А вот использовать БСП совершенно не нужно!
Чем вы к сожалению похвастаться не можете, а в решении из (14) такой проблемы нет!
17. Емельянов Алексей 150 11.01.20 08:44 Сейчас в теме
(16) Еще раз повторю. У меня бесплатная обработка.
Я написал что используется в БСП, то есть я взял готовые процедуры и макет из БСП, а сама БСП не требуется для работы.
Далее за 1 стартмани можно скачать готовую обработку.
Но я выложил по шагам как её сделать за 5 минут самостоятельно, выложив 5 этих процедур.
Создать обработку, вставить туда 5 процедур и макет из БСП и вот вам бесплатная обработка готова.
Использовать можно в любой конфигурации.
Terabaytus; mark_oilbass; +2 1 Ответить
19. user754217 16.01.20 12:11 Сейчас в теме
Спасибо! Очень помогло. Использовал в управляемых формах с минимальными доработками.
Емельянов Алексей; +1 Ответить
20. viplelik 28 26.01.20 02:05 Сейчас в теме
Написал обработку из 2 процедур. Требуется БСП. На Розница 2.3.2.28 работает.
Файл во вложении.
Прикрепленные файлы:
ГенераторQR.epf
alo2012; Zenum; py3uk; +3 Ответить
26. Nysha1210 28.02.20 16:48 Сейчас в теме
У меня 1С 8.3.15, самописная конфа. Всё сделала, как здесь описано. Не работает:

Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.
Не удалось сформировать QR-код для документа

Что-то видимо недопоняла. Поможете? Спасибо.
27. Емельянов Алексей 150 02.03.20 09:24 Сейчас в теме
(26) Добрый день.
Скопируйте себе макет "КомпонентаПечатиQRКода" из обработки в общие макеты, думаю из-за этого не работает.
28. Емельянов Алексей 150 03.03.20 12:11 Сейчас в теме
(26) Здравствуйте. Получилось?
29. Nysha1210 03.03.20 17:46 Сейчас в теме
(28){Обработка.КомпонентаПечатиQRКода1.Форма.Форма.Форма(152)}: Поле об`єкту недоступне для запису (Картинка)
ОбластьМакета.Рисунки["QRКод"].Картинка = КартинкаQRКода;
30. Емельянов Алексей 150 04.03.20 06:12 Сейчас в теме
(29) Что-то видимо изменили в моей обработке.
Скачал её сейчас, в строке 152 нет кода.
Попробуйте запустить оригинал обработки.
31. Nysha1210 04.03.20 18:49 Сейчас в теме
(30) Ничего не меняла. Взяла так как у вас. У меня в Картинку макета не передаются данные сформированного Двоичного кода. Уже всё просмотрела. На картине защиты и запрета нет. Данные формируются, но вот в картинку не передаются и всё тут((((
33. Емельянов Алексей 150 05.03.20 07:14 Сейчас в теме
(31) Скачал обработку которую прикрепили.
Вы зачем-то вместо обычной картинки вставили элемент ActivX.
Удалите и вставьте обычное изображение в макет и будет работать.
Прикрепленные файлы:
34. Nysha1210 05.03.20 10:12 Сейчас в теме
(33) Спасибо. Всё щас сделаю.
35. Nysha1210 05.03.20 10:22 Сейчас в теме
(34) Уря - всё получилось. Спасибо!!!
36. Емельянов Алексей 150 05.03.20 12:04 Сейчас в теме
32. Nysha1210 04.03.20 18:52 Сейчас в теме
37. SanchoD 236 23.03.20 11:46 Сейчас в теме
В тонком клиенте работает нормально, а в web-клиенте не отображает QR-код, показывает вместо него крест.
В чем может быть проблема?
(БП 3.0.76.67)
Прикрепленные файлы:
38. tistt 15.04.20 12:52 Сейчас в теме
Спасибище Вам огромное!!!!! Пробовала другие обработки , кучу времени потратила зря...А с вашей обработкой получилось!!!! Ура! Спасибо 100 раз!!
39. Емельянов Алексей 150 15.04.20 17:49 Сейчас в теме
40. zav-777 27 09.06.20 16:35 Сейчас в теме
Спасибо. Сильно помогло.
Осталось, чтобы сбер одобрил)))
Емельянов Алексей; +1 Ответить
41. amazonka 25 15.06.20 20:23 Сейчас в теме
у меня тоже взлетело.... большое человеческое спасибо..... особенно когда счас делаеш для обычных форм.... ничего не найти... а тут.... супер!!!
42. LineykaSBK 4 21.06.20 05:49 Сейчас в теме
Вопрос околотемный.
Есть ли готовые решения по считыванию QR кода в 1С, с целью занесения в базу 1С?.
Логически, это был бы очень и очень востребованный инструмент.
Подрубаем сканер штрих кода к компу, или же через вэб сервисы мобильный с установленными QR сканером, настраиваем подключение к базе, и вперед например счета или чеки шлепать и создавать первичку путем считывания штрихкода, а там уже на основании них делать остальные - вытекающие из логики документы.
На данный момент времени я видел в сети решения только для сканера, простого компьютерного сканера, но не для штрих кодов.
43. SanchoD 236 22.06.20 09:39 Сейчас в теме
(42) Так кто мешает сейчас отсканированный QR-код - фактически строку, пропарсить и создать документ/элемент справочника?
Другое дело, что эта строка может быть составлена как угодно и в каждом отдельном случае надо настраивать соответствия между инфой в коде и метаданными базы.
44. LineykaSBK 4 22.06.20 13:21 Сейчас в теме
Я задал уточняющий вопрос "не про кто мешает" а "про кто нибудь уже разрабатывал такой механизм для 1С"
Если такого механизма нет, то и вопросов больше не имеется.
45. user785225 17 02.07.20 18:38 Сейчас в теме
47. 21stas 99 08.09.20 15:01 Сейчас в теме
Много лет использовал эту компоненту.
И недавно QR-код стал генерироваться так, что вместо русских букв считываются вопросики.
Что может быть причиной?
48. AnryMc 836 10.01.21 19:02 Сейчас в теме
(47)
что вместо русских букв считываются вопросики

Есть предположение (вовсе не утверждение) если windows 10 то возможно влияет: "язык по умолчанию"

Попробуйте запустить при раскладке "русская" и "английская" - есть разница?

З.ы. Я кстати тоже писал свой QR генератор, но снабдил его шаблонами: Визитка, Контакт, Wi-Fi подключение... что бы не искать каждый раз https://infostart.ru/public/1352267/
49. 21stas 99 11.01.21 19:08 Сейчас в теме
Мы разобрались - оказывается, приложение на некоторых телефонах неправильно считывало русские буквы из QR-кода.
53. madonov 156 21.10.21 08:25 Сейчас в теме
54. madonov 156 22.10.21 02:16 Сейчас в теме
(53) Сам спросил - сам отвечу.

ST00011 - Кодировка Win 1251
ST00012 - Кодировка UTF-8

Поменял 1 на 2 и проблема ушла.
52. fixin 4122 13.07.21 19:52 Сейчас в теме
Спасибо, использовал это как заготовку для вывода в счет покупателя в Альфа-авто QR-кода для оплаты этого счета.
Правда, пришлось еще повозиться, чтобы сформировать строку для оплаты. Но с точки зрения части, отвечающей за формирование QR-кода, использовал этот код.
55. user1270445 28.10.21 15:08 Сейчас в теме
(21) Спасибо. Прямо по статье запустил, но компоненту в макет обработки добавил. ПодключитьКомпонентуИзМакета("QRCodeExtension", "ВнешняяОбработка.ГенераторQRКода.Макет.КомпонентаПечатиQRКода");
56. mrsmrv 101 11.01.22 20:22 Сейчас в теме
Не подскажете с чем связано то, что код формируемый внешней компонентой из типовой конфигурации генерируется иногда разный. Точнее чаще он отличается от "канонического". Я понимаю там происходит выбор наиболее подходящей маски. Но всё же. Странный там алгоритм. Пример на видео. Тот что справа формируется внешней компонентой. Тот что слева обработкой на 1С без внешних компонент.
И отличается он на один пиксель. Что очень странно.
Прикрепленные файлы:
VID_20220111_234944.avi
Оставьте свое сообщение

См. также

Сканер штрихкодов на Андроид 1С 8.3, 8.2 (Терминал сбора данных Android 1C) (ЕГАИС коды, Честный знак) Промо

Сканер штрих-кода Розничная торговля v8 1cv8.cf Абонемент ($m)

Драйвер сканера штрих кодов на Андроид для 1С 8.3, (1С 8.2 - должен работать) Терминал сбора данных на Андроид. Проверена работа на платформе: 1С 8.3.20.1674 (конфигурациях УТ 11, БП 3.0, УНФ 1.6), на версии 8.2 не проверялась (но ввиду незначительных изменений должна работать и на 8.2

1 стартмани

05.10.2018    34198    109    Grigoriy251    46    

Подсистема регулярных заданий

Универсальные функции БСП (Библиотека стандартных подсистем) v8 Абонемент ($m)

Подсистема регулярных заданий предназначена для выполнения произвольных алгоритмов (задач) по заранее сформированным графикам с учетом производственного календаря.

1 стартмани

23.05.2022    1604    7    Sirruf    13    

Добавление электронной подписи в документ PDF

Универсальные функции v8 БП3.0 Абонемент ($m)

Как добавить подпись прямо в файл PDF, чтобы не нужно было файлы подписи передавать отдельно.

1 стартмани

26.08.2021    8167    21    fotov    17    

Поиск корректной кодировки текста

Универсальные функции v8 1cv8.cf Абонемент ($m)

Обработка для поиска корректной кодировки текста.

1 стартмани

12.10.2020    4680    11    Jokemas    7    

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом Промо

Печатные формы Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    35570    24    stvorl    1    

Парсинг Excel-файла

Загрузка и выгрузка в Excel Универсальные функции v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Шаблон внешней обработки для парсинга Excel без использования COM-объектов, с учетом клиент-серверного взаимодействия, на толстом, тонком и веб-клиенте. С учетом требований безопасности и отображением длительных операций.

1 стартмани

15.09.2020    12615    33    LamerSoft    0    

Таблица значений в табличный документ (СКД)

Универсальные функции v8 Абонемент ($m)

Иногда бывает необходимость получить табличный документ по какому то набору данных. Например, требуется вывести какие то проверочные таблички пользователям или отправить результат запроса почтой. Для таких надобностей создавать специальные отчеты, хранить где-то схему, настройки, не имеет смысла. Получить табличный документ с группировкой из таблицы значений с помощью механизма СКД можно применив эту функцию.

1 стартмани

12.08.2020    27630    10    markivkin    4    

Нормализация адреса с помощью API Почты России

WEB Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Почта России предоставляет доступ к сервису нормализации адресов по API. Данная обработка, используя сервис Почты России, демонстрирует возможность нормализации адреса из произвольной строки. Предназначена в большей степени для программистов, т.к. не связана ни с какой конфигурацией.

2 стартмани

11.08.2020    8512    17    Cerberdm    7    

Android беспроводной Bluetooth сканер 1D/2D штрихкода и терминал сбора данных для 1С Промо

Сканер штрих-кода Оптовая торговля Розничная торговля v8 1cv8.cf УУ Абонемент ($m)

Бесплатное приложение, превращающее Android-смартфон в беспроводной 1D/2D Bluetooth сканер и терминал сбора данных для 1С и прочих POS систем. Не требует драйверов и доработки конфигураций.

1 стартмани

12.09.2017    53929    29    kuld    45    

Универсальное хранилище настроек

Универсальные функции v8 Абонемент ($m)

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без "ломания" выполнения кода в модулях.

1 стартмани

10.03.2020    10935    1    v.krivenko    17    

Дополнительные функции для 1С:Документооборот

Универсальные функции v8 ДО УУ Абонемент ($m)

В данной публикации я хочу поделиться расширением, которое содержит дополнительные функции (доработки) для 1С:Документооборот.

1 стартмани

24.01.2020    23324    180    pavelpribytkin96    43    

Подпись PDF в новой версии 8.3.16

Универсальные функции v8 1cv8.cf Абонемент ($m)

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

1 стартмани

23.12.2019    13436    44    kolya_tlt    15    

Лучшие методы сравнения таблиц значений Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Задача сравнения таблиц значений встречается на практике довольно часто и может решаться по-разному. Недавняя дискуссия на форуме показала, что до сих пор не сложилось единого мнения о том, какой метод сравнения лучше. В этой статье описываются поиски ответа на данный вопрос, и делается субъективная попытка обобщить и подвести итоги дискуссии.

1 стартмани

02.02.2015    145856    70    ildarovich    67    

Простой способ загрузить файл Excel на тонком клиенте.

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

Самый простой способ загрузить файл Excel на тонком клиенте - это скопировать лист Excel в "табличный документ" на форме обработки и обрабатывать уже поля "табличного документа".

1 стартмани

30.10.2019    14472    5    John_d    16    

Картинка вместо кнопки без html

Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

Вариант замены стандартных кнопок на форме для тех, кого не устраивают кнопки 1С и нет особых возможностей делать все с использованием html. Тестировал работу на платформах 8.3.10, 8.3.13, 8.3.14

1 стартмани

23.10.2019    12376    12    papa_harlo    6    

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы)

Универсальные обработки Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    37486    198    dm1try    0    

Маркировка: 2D Android Штрихкод сканер + драйвер устройства для 1С Промо

Сканер штрих-кода Розничная торговля v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Драйвер торгового оборудования и приложение для Android, телефон или планшет в качестве стандартного штрихкод сканера для платформы 1С.

3 стартмани

29.11.2016    58755    203    dreamadv    118    

Универсальное удаление движений регистров накопления по всем непроведенным документам

Универсальные функции Чистка данных v8 1cv8.cf Абонемент ($m)

Попалась база КА 2.4 с движениями по регистрам, у которых регистратор был непроведен или помечен на удаление. Написал небольшую обработку по удалению таких записей из регистров.

1 стартмани

27.09.2019    22377    33    John_d    20    

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API

Универсальные обработки WEB Универсальные функции Оптовая торговля Розничная торговля v8 1cv8.cf УУ Абонемент ($m)

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    18119    17    osivv    15    

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    16489    31    SanchoD    33    

Компоненты распознавания и печати штрих-кодов Промо

Разработка внешних компонент Сканер штрих-кода v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах. Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA. P.S. Добавлена новая версия программы распознавания. Новые функции: обработка видео в реальном режиме (а не по таймеру, как раньше), добавлена возможность распознавания штрих-кодов из графических файлов JPEG, PNG, GIF, BMP, а также передавать для распознавания картинки из 1С, теперь можно получить в 1С захваченное с камеры или файла изображение, как с выделением мест, содержащих коды, так и без, а также отдельные фрагменты изображений, содержащие код. Добавлены новые свойства и методы для программирования. Обновлена документация.

10 стартмани

10.07.2015    82682    94    igorberezhnov    121    

[Расширение] для подключения мобильного устройства к УТ11.4/ КА 2/ERP 2 для работы с ордерным складом на базе Simple WMS. UPD Устарело (см. Simple UI)

Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Розничная торговля Склад и ТМЦ v8 ERP2 УТ11 КА2 УУ Абонемент ($m)

Представляю готовое решение для работы с ордерами и проведения инвентаризаций в виде расширения на базе конструктора Simple WMS. Не требует доработки конфигурации, подключается как обычное расширение. Работать может с обычного телефона на Андроид либо с ТСД либо через RDP. Расширение содержит справочники, поэтому режим совместимости конфигурации должен быть не меньше 8.3.11. Расширение написано для конфигурации Управление торговлей 11.4.7 и тестировалось на Комплексная автоматизация 2.4.7.151.

5 стартмани

27.05.2019    24271    46    informa1555    41    

Сканирование документов и штрихкодов через мобильное приложение в информационную базу. Заменяем сканеры на смартфон

Сканер штрих-кода v8 1cv8.cf Абонемент ($m)

Реализация сканера штрихкода и изображений на мобильном устройстве с передачей данных в информационную базу.

5 стартмани

04.10.2018    12360    25    Agregadus    0    

Кое-что простое о сложных штрих-кодах

Сканер штрих-кода Розничная торговля v8 1cv8.cf УУ Абонемент ($m)

На просторах и-нета часто встречаю публикации, в которых авторы с энтузиазмом рассказывают о том, как в штрих-код внести информацию о нескольких сущностях: например, как сделать, чтобы при сканировании одного штрих-кода на ярлыке товара, 1С определяла что это за товар, его качество и приходную накладную по которой этот товар поступил. Увы, но делается это "в лоб". Я предлагаю более разумный способ. Он очевиден - так что не претендую на лавры первооткрывателя.

1 стартмани

28.09.2018    24559    10    torch    15    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API) Промо

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    61114    190    TuneSoft    30    

QR-code полная версия (без шрифта и внешней компоненты для 8.2, 8.3 и любого типа клиента)

Разработка внешних компонент Сканер штрих-кода v8 1cv8.cf Абонемент ($m)

Предназначена для создания QR-code с указанием процента восстановления потерянных данных. Строка кодирования может содержать все печатаемые символы, в том числе и кириллические. Для работы не требуется внешняя компонента или шрифт.

2 стартмани

10.07.2018    17934    16    bobank    6    

Даты пересечения двух периодов

Универсальные функции v8 1cv8.cf Абонемент ($m)

Для вычисления дат пересечения двух периодов многие зачастую используют довольно сложные наборы условий, не дающих нужный результат, или достигающих его излишне сложным путем.

1 стартмани

01.03.2018    14533    1    yojeeg    0    

Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

Внешние источники данных Универсальные функции v8 1cv8.cf Абонемент ($m)

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

1 стартмани

26.02.2018    18226    24    yaxinr    7    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Универсальные функции v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    35339    4    Serginio    1    

Количество рабочих и выходных дней в месяце с сайта its.1c.ru

Учет рабочего времени Универсальные функции v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Простенькая функция, которая обращается к сайту ИТС и возвращает оттуда сведения о количестве рабочих дней в указанном месяце. Платформа 8.3.10, УФ.

1 стартмани

22.11.2017    15132    1    simplysimply    5    

Цвет индикатора в зависимости от значения

Работа с интерфейсом Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Функция, которая выдает значение цвета, в зависимости от передаваемого значения и максимально возможного значения.

1 стартмани

29.08.2017    14594    6    kc-ropa    12    

Программное создание элементов графической схемы (через XSLT)

Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

Встала как-то передо мной задача визуализировать определенный прикладной процесс, лучше всего для этого подходит графическая схема. Так уж вышло, что 1С по не понятным мне причинам не предоставила возможность программно работать с элементами графической схемы. Пришлось импровизировать.....

1 стартмани

20.07.2017    29279    82    lazarenko    20    

Автоматическая подстановка уничтожений временных таблиц в текст запроса Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    25127    0    SeiOkami    3    

Генератор штрихкода SSСС или GS1 для типовых конфигурация на управляемом приложении

Универсальные обработки Сканер штрих-кода Розничная торговля v8 ERP2 ЗКГУ3.0 БП3.0 Россия Абонемент ($m)

Обработка формирует и печатает штрих код SSCC. Обработка будет работать в любой типовой конфигурации под управляемым приложением. Для печати используются стандартные средства типовых конфигураций. Подключение внешних библиотек не требуется.

1 стартмани

20.07.2017    28705    108    DimonYarkin    8    

Универсальная процедура по загрузке файла из интернета

WEB Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Передаем в процедуру всего два параметра: откуда взять и куда положить. Остальное она сделает сама

1 стартмани

17.05.2017    23274    17    json    5    

Правильный вопрос

Универсальные функции v8 1cv8.cf Абонемент ($m)

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    15567    0    SvoyakMartin    15    

Библиотека математических функций 1.1 Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Привожу тексты различных математических функций, которыми периодически пользуюсь. Основной акцент ставится на функции работы с матрицами (в 1С в качестве матриц использовались двумерные массивы). В версии 1.1 функции работы с матрицами немного переписаны для улучшения производительности.

1 стартмани

18.12.2014    31802    43    alex271    68    

Набор математических функций

Универсальные функции Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    19814    7    SvoyakMartin    23    

Работа с двоичными данными на примере чтения файлов изображений. Новые возможности 8.3.9

Универсальные функции Механизмы платформы 1С v8 1cv8.cf Россия Абонемент ($m)

В статье приводятся новые функции по работе с двоичными данными, появившимися в версии платформы 8.3.9 , на примере анализа формата и размера изображений. А также пример отправки изображения через API ВКонтакте с помощью новых объектов (без использования ОбъединитьФайлы())

1 стартмани

14.11.2016    41588    19    Anton64    25    

Работа с промышленными сканерами штрихкодов Symbol из 1С по протоколу SNAPI через Zebra Scanner SDK

Сканер штрих-кода v8 1cv8.cf Абонемент ($m)

Промышленные сканеры Symbol - штука недешевая. Зато имеют надежное исполнение, абсолютно всеядные и универсальные, беспроводные, а самое интересное - имеют расширенные возможности управления через собственный протокол SNAPI (ну, есть и попроще у них сканеры, но я про самые вкусные - беспроводные и со SNAPI). Эти возможности позволяют реализовать эффективные сценарии работы. Одна проблема - нигде не смог найти примеры для работы из 1С по этому протоколу. Все стандартные протоколы поддерживаются, но ведь смак именно в расширенных возможностях! Поэтому пришлось копаться самому...

10 стартмани

26.10.2016    16047    7    herfis    30    

Полезные функции БСП Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    89366    52    spec8s    31    

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы

Универсальные функции v8 1cv8.cf Абонемент ($m)

Примеры взаимных преобразований Таблицы значения в Дерево значений или Табличный документ с использованием универсальных функций и макетов Системы компоновки данных. Примеры представлены в форме удобной для копирования в разработку.

1 стартмани

13.09.2016    50983    57    pavley2002    12    

7 правил RFC 4180

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    26135    28    kuzyara    7    

Пример работы с реестром Windows

Универсальные функции v8 1cv8.cf Абонемент ($m)

Пример обработок и функций, демонстрирующих работу с реестром Windows с помощью COM-объекта WScript.Shell

1 стартмани

17.08.2016    11675    5    frkbvfnjh    3    

Регулярные выражения без COM объектов и внешних компонент Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Платформа до сих пор не поддерживает регулярные выражения, хотя они уже стали довольно востребованной возможностью в разных языках программирования. Использование COM объектов и внешних компонент имеет ограничения, поэтому предлагается вариант реализации ограниченного функционала на встроенном языке 1С.

1 стартмани

09.02.2015    30735    25    boogie    42    

Простой способ убрать префикс и лидирующие нули из номера.

Универсальные функции v8 1cv8.cf Абонемент ($m)

Статья в которой описан, простой способ убрать префикс и лидирующие нули из номера документа.

1 стартмани

22.06.2016    57915    21    bad_boys    44    

Пара универсальных веб-функций для получения данных из 1С

Универсальные функции v8 1cv8.cf Абонемент ($m)

Две универсальные веб-функции, позволяющие получить данные через веб-сервис в виде таблицы значений или массив таблиц значений.

1 стартмани

19.04.2016    8108    4    Evilgrym    1    

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция предназначена для склонения выражений, которые часто требуется при формировании печатных форм договоров и прочих печатных форм. Функция склоняет по падежам ФИО, должности, числительные, валюты, единицы измерения, предметы. Также функция склоняет глаголы и прилагательные по числам и родам и существительные по числам. Имеется режим определения рода переданного выражения. Поддержка форматной строки для вывода результата. Функция не использует внешние библиотеки и веб-сервисы, написана на чистом языке 1С, и поэтому легко встраивается в любую конфигурацию или внешнюю обработку. Правила склонения оформлены в виде таблицы и могут быть легко изменены при необходимости.

1 стартмани

14.02.2015    119973    119    daMaster    91