Интеграция .NET API NiceLabel в 1С:Предприятие

17.10.24

Интеграция - WEB-интеграция

Интеграция .NET API NiceLabel в 1С:Предприятие (любую другую платформу, взаимодействующую через COM). Для интеграции печати этикеток при помощи движка NiceLabel была написана компонента на C#, реализующая COM-класс с публичными методами (интерфейсами).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Интеграция .NET API NiceLabel в 1С:Преприятие:
.rar 76,32Kb
1
1 Скачать (5 SM) Купить за 3 050 руб.

Интеграция .NET API NiceLabel в 1С:Предприятие (любую другую платформу, взаимодействующую через COM).

Для интеграции печати этикеток при помощи движка NiceLabel была написана компонента на C#, реализующая COM-класс с публичными методами (интерфейсами):

  1. void OpenLabel(string labelPath) – метод, при помощи которого отрывается шаблон этикетки. На вход принимает полный путь до шаблона, ничего не возвращает;
  2. void PrintLabel(string printerName, int copyCount= 1) – метод, реализующий печать этикетки из открытого шаблона. На вход принимает имя принтера и количество копий, ничего не возвращает;
  3. void Close() – метод, завершающий работу движка печати. Без параметров;
  4. string[] GetPrinters() – метод, возвращающий массив имен, доступных принтеров. Без параметров;
  5. string[] GetLabelParam() – метод, возвращающий массив параметров открытой этикетки. Без параметров;
  6. string GetLabelPreview( int width=800, int height=600, int side = 0) – метод, возвращающий изображение этикетки для предварительного просмотра. По умолчанию возвращает двухстороннее изображение размера 800*600. Принимает на вход длину и ширину в пикселях, также необходимую сторону этикетки(0 – обе стороны, 1 – лицевая сторона, 2 – оборотная сторона). Изображение возвращается в формате строки Base64.;
  7. void SetLabelParam(string _name, string _value) – метод, задающий значения параметров этикетки по одному. На вход принимает имя параметра и значение параметра. Ничего не возвращает;
  8. void SetLabelParams(string _values)  – метод, задающий значения параметров этикетки массово. На вход принимает строку вида “Параметр=Значение” + Символы.ПС(перенос строки) + “Параметр=Значение”. Ничего не возвращает;

 

Пример работы с компонентой:

&НаКлиенте

перем Компонента экспорт; //объявляем переменную компоненты, для работы во всех методах формы

&НаКлиенте

Процедура ПриОткрытии(Отказ)

        Компонента = Новый COMОбъект("OneSExternalComponent.LabelPrinter"); //Инициализируем класс движка печати, теперь можно работать с этикетками

КонецПроцедуры



&НаКлиенте

Процедура РаботаСКомпонентой()

Компонента.OpenLabel(“C:\Labels\label.nlbl”); //открываем шаблон этикетки

РеквизитыШаблона = Компонента.GetLabelParam(); //Получаем параметры(реквизиты) этикетки в формате COMSafeArray

РеквизитыМассив = РеквизитыШаблонаCOM.Выгрузить(); //Преобразуем COMSafeArray в массив, можно работать с массивом

СписокПринтеров = компонента.GetPrinters().Выгрузить(); //Получаем список имен доступных принтеров, сразу выгружаем в массив

Принтер = СписокПринтеров[0]; //присваиваем переменной имя принтера с индексом 0

компонента.SetLabelParam("art", “а316бм”); //присваиваем параметру шаблона art, значение а616бм

компонента.SetLabelParams(“company=ООО РогаИКопыта” + Симполы.ПС + “inn=4300000000000”); //присваиваем параметру шаблона company, значение ‘ООО РогаИКопыта’ и параметру inn значение ‘4300000000000’

Превью = компонента.GetLabelPreview(500,320,1);//получаем превью открытой этикетки, размером 500*320 с лицевой стороны  

ДанныеКартинки = Base64Значение(Превью); //Преобразуем строку Base64 в двоичные данные  

ПредварительныйПросмотр = ВернутьХранилищеДанных(ДанныеКартинки); //Присваиваем адрес двоичным данным этикетки, где ПредварительныйПросмотр – поле картинки, с источником данных – реквизит формы ПредварительныйПросмотр типа Строка, хранящий путь к двоичным данным изображения

Компонента.PrintLabel(Принтер,5); //Печатаем этикетку на выбранном принтере в количестве 5 копий

КонецПроцедуры



&НаСервере

функция ВернутьХранилищеДанных(ДвоичныеДанные)

        МойУникальныйИдентификатор = Новый УникальныйИдентификатор;

        Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанные,МойУникальныйИдентификатор);

КонецФункции



&НаКлиенте

Процедура ПриЗакрытии(ЗавершениеРаботы)

        Компонента.Close(); //Завершаем работу с движком печати

КонецПроцедуры

 

Настройка компоненты для работы:

  1. Установить компоненты ASP .NET(Панел управления – Программы и компоненты – Включение или отключение компонентов Windows)
  2. Необходимо распаковать содержимое архива и зарегистрировать OneSExternalComponent.dll с помощью Regasm. Пример:

cd “C:\Windows\Microsoft.NET\Framework64\v4.0.30319”

regasm "C:\OneSExternalComponent.dll" /codebase /tlb

  1. Установить NiceLabel 2019
  2. Возможно, потребуется настройка безопасности COM в Windows.
  3. Пример реализации в 1С в архиве. 

 

Компонента протестирована на Windows 10 x64.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.18.59
  • 1С:Комплексная автоматизация 2, релизы 2.5.17.134

NiceLabel этикетки печать этикеток из 1с

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17886    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20017    13    17    

17

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14492    42    8    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1519    1    0    

3
Оставьте свое сообщение