Версия для печати темы (https://pro1c.org.ua/index.php?s=08768bc9668c526e1bfafb8b1253a159&showtopic=58174)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Ocvita Barcode запуск на сервере
Автор: cao0603 04.04.20, 23:47
Добрый день коллеги, была установлена ocvita Barcode и была выполнена регистрация на сервере ее компоненты
Помоги пожалуйста с кодом запуска из под клиента функции вывода qr кода
Или подскажите более простое решение печати qr кода на кириллице с документацией по 1с 8.2
Автор: Vofka 05.04.20, 10:45
cao0603, https://pro1c.org.ua/redirect.php?http://www.ocvita.ru/downloads/ocvitabarcode.php архив, в котором есть обработки для 1С, можете там глянуть.
Есть разные бесплатные сервисы, которые генерируют qr коды. https://pro1c.org.ua/redirect.php?https://developers.google.com/chart/infographics/docs/qr_codes, например от Гугла, я его когда-то использовал и проблем не помню. Но у использования внешних сервисов есть один недостаток: что бы их использовать, должен быть более-менее стабильный интернет.
Автор: cao0603 05.04.20, 17:01
Vofka @ Сегодня, 11:45
,
Такой архив я скачивал с официального сайта, да ,там есть обработка , но она работает на том компе на котором установил ocvita
А мне нужен запуск с сервера
Автор: sava1 05.04.20, 17:32
Цитата(cao0603 @ 05.04.20, 18:01)
А мне нужен запуск с сервера
это как ?
Автор: cao0603 06.04.20, 8:06
sava1 @ Вчера, 18:32
,
Чтобы на сервере был установлена ocvita , а на клиенте мог работать код генерации qr кода
Автор: Vofka 06.04.20, 8:11
cao0603, если сделать серверную процедуру и вызывать её с клиента, так не работает?
Автор: cao0603 06.04.20, 9:11
Vofka @ Сегодня, 9:11
,
Вот об этом и прошу коллеги сделать серверную функцию и вызывать ее с клиента
Автор: sava1 06.04.20, 9:24
Цитата(cao0603 @ 06.04.20, 10:11)
делать серверную функцию и вызывать ее с клиента
а смысл такого изврата ? формы - то обычные (насколько я понял) и компилируются на клиенте ?....
Автор: cao0603 06.04.20, 9:34
sava1 @ Сегодня, 10:24
,
А какой тогда вы предложите вариант запуска внешней компоненты с сервера на клиенте,формы обычные
Автор: sava1 06.04.20, 9:38
Почему у Вас везде фигурирует сервер. Установить/зарегить АктивХ на пользовательском компе запрещено?
Автор: cao0603 06.04.20, 9:40
sava1 @ Сегодня, 10:38
,
Не запрещено,но когда очень много пользователей это затруднительно
Автор: sava1 06.04.20, 9:42
варианты
- терминальная работа пользователей
- установка компоненты на локальных рабочих станциях
- зарегистрировать компоненту через ДКОМ (если там есть интерфейсы)
Серверная процедура - это не та , что выполняется/компилируется на удаленном сервере, а та, которая выполняется на сервере 1С
Автор: cao0603 06.04.20, 9:45
sava1 @ Сегодня, 10:42
,
Подходит вариант через серверную процедуру
Автор: sava1 06.04.20, 9:45
по баркоду - попробуйте серверную процедуру, которая возвращает адрес во временном хранилище (передавайте на клиент ДвоичныеДанные) и вставляйте их в ТабДокумент
или весь ТабДокумент формируйте на сервере и возвращайте на клиент
Автор: cao0603 06.04.20, 9:50
sava1 @ Сегодня, 10:45
,
Это все понятно,проблема заключается в том как вызвать ocvita ,как подключить это внешнюю компоненту и вызывать ее,
sava1 @ Сегодня, 10:45
,
Ocvita построена на базе zint, и с zint все получается, но там нет кириллицы
А про ocvita нет инструкции как вызвать
Автор: sava1 06.04.20, 9:56
там в архиве вроде есть обработки с примером.
А кирилицы в ней тоже не было (1251 не работал - разве пробовать в УТФ)
Автор: cao0603 06.04.20, 9:57
sava1 @ Сегодня, 10:56
,
В той обработке что в комплекте работает если компонента локально зарегистрирована на текущем компе
Автор: sava1 06.04.20, 10:01
еще вариант - в бух20 или УТ3 - в БСП есть подсистема печати QR. можно "содрать". компонента там в макете.
Цитата(cao0603 @ 06.04.20, 10:57)
если компонента локально зарегистрирована на текущем компе
так я об чем - в толстом клиенте все процедуры компилируются и на сервере и на клиенте - нет разницы. А для того, чтобы достучаться до АктивХ - только чероез ДКОМ, если оно поддерживает такой интерфейс.
Автор: cao0603 06.04.20, 10:03
sava1 @ Сегодня, 10:58
,
Таких возможностей нет у меня, у меня упп 8.2 , вы можете помочь конкретным кодом для запуска ocvita
Или кодов на запуск другого варианта
sava1 @ Сегодня, 11:01
,
Значит я до конца не могу понять как подключиться и поэтому прошу помощи на форуме
Автор: sava1 06.04.20, 10:30
Цитата(cao0603 @ 06.04.20, 11:03)
я до конца не могу понять как подключиться и поэтому прошу помощи на форуме
1. клиент-серверный вариант ?
2. Пользователи в терминале ?
Автор: cao0603 06.04.20, 10:35
sava1 @ Сегодня, 11:30
,
клиент-серверный вариант
Автор: sava1 06.04.20, 11:10
вариант - https://pro1c.org.ua/redirect.php?http://citforum.ck.ua/programming/cpp/com_4_13.shtml
Автор: cao0603 06.04.20, 11:12
sava1 @ Сегодня, 12:10
,
спасибо, буду читать и разбираться, но может есть варианты проще?
Автор: sava1 06.04.20, 11:13
вот подключение екселя - https://pro1c.org.ua/redirect.php?https://efsol.ru/manuals/com-object.html
проще - установить на клиентских машинах.
Автор: cao0603 06.04.20, 11:34
sava1 @ Сегодня, 12:13
,
а как дальше запустить octiva?
Автор: sava1 06.04.20, 11:45
посильней размахнуться
ничего не меняется. точно так как подключали.
еще вариант - цепляете Компоненту в общийМакет и оперируете ею через ПодключитьВнешнююКомпоненту.
Тогда ее регистрировать не надо. (но работать она будет все-равно в пользовательском процессе)
Автор: Vofka 06.04.20, 11:57
Цитата(sava1 @ 06.04.20, 12:45)
еще вариант - цепляете Компоненту в общийМакет и оперируете ею через ПодключитьВнешнююКомпоненту.
Тогда ее регистрировать не надо. (но работать она будет все-равно в пользовательском процессе)
Разве это работает с COM компонентами?
Автор: sava1 06.04.20, 12:04
вооще-то срабатывало. 1с-кая компонента из БСП так и подключается
из справки -
Описание варианта метода:
Подключает компоненты, выполненные по технологии Native API и COM.
Компонент может храниться в информационной базе или макете конфигурации в виде двоичных данных или в ZIP-архиве.
Для режимов запуска "Тонкий клиент" и "Веб-клиент", компонент должен быть предварительно установлен методом УстановитьВнешнююКомпоненту.
Автор: cao0603 06.04.20, 13:40
sava1 @ Сегодня, 13:04
,
помогите пожалуйста кодом
Автор: Anderson 09.04.20, 12:28
Цитата(Vofka @ 05.04.20, 10:45)
Вот, например от Гугла
Гугл уже прекратил доступ к этой функции.
Цитата(cao0603 @ 06.04.20, 13:40)
помогите пожалуйста кодом
Вот ленивый народ. Говорят же в БСП есть, нет разжуйте положите.
https://pro1c.org.ua/redirect.php?https://fex.net/ru/s/22pax8d
Код//--печать qr через компоненету 1С
// Возвращает двоичные данные для формирования 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Строка, УровеньКоррекции, Размер) Экспорт
Отказ = Ложь;
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("png");
ГенераторQRКода = КомпонентаФормированияQRКода(Отказ);
Если Отказ Тогда
Возврат Неопределено;
КонецЕсли;
Попытка
ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode(QRСтрока, УровеньКоррекции, Размер);
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru='Формирование QR-кода';uk='Формування QR-коду'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат ДвоичныеДанныеКартинки;
КонецФункции
Функция КомпонентаФормированияQRКода(Отказ)
ТекстОшибки = НСтр("ru='Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.';uk='Не вдалося підключити зовнішню компоненту для генерації QR -кода. Подробиці в журналі реєстрації.'");
QRCodeGenerator = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");
Если QRCodeGenerator = Неопределено Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки,,,, Отказ);
КонецЕсли;
Возврат QRCodeGenerator;
КонецФункции
Процедура СформироватьQRАртикула(ТабДок,СтрокаШК,Параметры)
Макет = ПолучитьОбщийМакет("ЭтикеткаQR");
Область = Макет.ПолучитьОбласть("ШКАртикула|Первый");
Рисунок = Область.Область("КартинкаQRАртикула");
Рисунок.Картинка = Новый Картинка(ПечатьШК.ДанныеQRКода(СтрокаШК,1,82));
ТабДок.Вывести(Область);
КонецПроцедуры // СформироватьQR()
Автор: Vofka 09.04.20, 13:05
Цитата(Anderson @ 09.04.20, 13:28)
Гугл уже прекратил доступ к этой функции.
Почему вы так решили? https://pro1c.org.ua/redirect.php?https://chart.googleapis.com/chart?cht=qr&chs=100x100&chl=pro1c.org.ua
Автор: Anderson 15.04.20, 14:55
Цитата(Vofka @ 09.04.20, 13:05)
Почему вы так решили? тыц
https://pro1c.org.ua/redirect.php?https://developers.google.com/chart/infographics/docs/qr_codes пишется. Они его в прошлом году даже отключили. Но топом судя по всему опять включили, раз еще работает.
А приходилось в авральном режиме переписывать формирование кодов.
Автор: Vladal 24.04.20, 14:36
Вот недавно решали такой вопрос: https://pro1c.org.ua/index.php?showtopic=52928&hl=
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua