Устанавливаем бесплатный веб сервер в локальной сети предприятия поддерживающий php, например по адресу http://192.168.12.80.Выкладываем на него скрипт, в приложенном файле допустим в папочку qrcode. В итоге доступ к получению самой картинки qr кода фразы, к примеру, «test» будет осуществлен в браузере IE по адресу http://192.168.12.80/qrcode/?data=test.
Теперь собственно функции:
1) Получение картинки QR кода, где ПараметрыСеанса.АдресСервераПолученияQRКода = «http://192.168.12.80/qrcode/?data=»
Функция ПолучитьКартинкуQRКода(КодируемаяФраза) Экспорт
Перем КартинкаQRКод;
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(«png»);
Соединение = ПолучитьCOMОбъект(«»,»Microsoft.XMLHTTP»);
Соединение.open(«GET», ПараметрыСеанса.АдресСервераПолученияQRКода + КодируемаяФраза,0,,);
Соединение.send(null);
СохранитьДвоичныйБуферВФайл(Соединение.responseBody, ИмяВременногоФайла);
Попытка
КартинкаQRКод = Новый Картинка(ИмяВременногоФайла);
Исключение
Сообщить(ОписаниеОшибки());
Попытка
УдалитьФайлы(ИмяВременногоФайла);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Возврат Неопределено;
КонецПопытки;
Попытка
УдалитьФайлы(ИмяВременногоФайла);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Возврат КартинкаQRКод;
КонецФункции
Функция СохранитьДвоичныйБуферВФайл(Буфер, ИмяФайла) Экспорт
Поток = Новый COMОбъект(«ADODB.Stream»);
Поток.Type = 1; //Бинарный
Поток.Mode = 3;
Поток.Open();
Поток.Write(Буфер);
Поток.SaveToFile(ИмяФайла);
Поток.Close();
КонецФункции
2) Размещение картинки QR кода в макете табличного документа. Картинку в макете необходимо обозвать «ШтрихКод»
Функция ВывестиQRКодВОбластьМакета(ОбластьМакета,КартинкаQRКода) Экспорт
Для каждого Рисунок Из ОбластьМакета.Рисунки Цикл
Если Рисунок.Имя = «ШтрихКод» Тогда
Если ЗначениеЗаполнено(КартинкаQRКода) Тогда
Рисунок.Картинка = КартинкаQRКода;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецФункции
Идея взята от сюда: //infostart.ru/public/80106/
А без локального сервера совсем никак?
В данном случае никак, зато нет зависимости от инета :(. Но особых трудностей я не вижу в веб сервере.
Воттут есть java script. Осталось решить 2 проблемы:
1. прикрутить её к 1с (у меня вываливается с ошибкой, но я не дока в web-кодинге)
2. написать процедуру перевода двухмерного массива булево в картинку (это попроще)
или вот прикрутить эту штукуhttp://zint.github.com/ — тут есть работа через командную строку
(4) anig99, прикрутилhttp://infostart.ru/public/137720/
Скачал.. залил не на локальный.. а просто на вебсервер где у меня лежит сайт.. и чудо не произошло.. в чём может быть дело?
Автор ответь пожалуйста..
Я не могу гугловским пользоваться, так как инфа конфедициальная в qrcode
Сёдня буду пробовать ставить Denwer, расшарю его по сети.. проверю ещё раз таким образом.
Посмотри вот эту публикациюhttp://infostart.ru/public/137720/ . Здесь вообще не нужен вэб сервер. Бесплатную утилиту качаешь и все.
А вы пробовали на УФ юзать ActiveX? Не работает это.. я использовал OcvitaBarcode.. там тоже самое на основе это Zint
Но на управляемых формах не работает..
Хотя нет.. тут по другому вроде.. сейчас попробую.. спасибо.. отпишусь.
Вобщем и на денвере тоже не работает.. ни на платном хостинге.. ни на бесплатном.. нашёл автора этого скрипта.. с его сайта скачал скрипт заливаю.. тоже не пашет 🙂
Наверное я что-то делаю не так
с activeX на управляемых вообще тяжело. OcvitaBarcode не будет работать.
Проще уж тогда собрать сервак в локальной сети, если так неохота внешние api тянуть =)
Залил на убунту, все сразу заработало, но есть один нюанс, кириллица не работает:
При сканировании полученного из кириллического текста кода получаются кракозябры.