Как интегрировать Labeljoy в вашу систему управления данными
Интеграция программного обеспечения
Если Вы хотите добавить функцию печати наклеек к Вашим используемым программам, будь то простой файл Excel или корпоративная система ERP, вот несколько рекомендаций о том, как интегрировать Labeljoy в настройки приложения.
1 – Основы: ярлык для печати
Если вы уже создали этикетки и вам нужно только распечатать их, нет необходимости каждый раз перезапускать Labeljoy.
Самый простой способ распечатать файл Labeljoy — создать ярлык «Печать».
После того, как вы загрузили файл, который вам нужно часто печатать, перейдите в меню Файл/Сохранить и выберите «Сохранить ярлык печати» на рабочем столе:
Это создаст ярлык на вашем рабочем столе со специальным значком, который при двойном щелчке запускает Labeljoy в фоновом режиме только для отправки файла непосредственно на принтер.
Labeljoy всегда создает эти ярлыки на рабочем столе, но после создания их можно разместить в любом месте на вашем диске. Они будут работать до тех пор, пока вы не измените, не удалите или не переместите исходный файл .labeljoy, на который они указывают.
Теперь у вас есть ярлык печати двойным щелчком для часто используемых этикеток.
Также можно переименовать ярлык, чтобы его значение было легко различимо.
2 – Печать наклеек, подключённых к внешнему источнику данных
Labeljoy позволяет отображать данные на наклейках, полученных из внешних источников данных, таких как файлы Excel и Access или профессиональные СУБД – SQL Server, Oracle или MySQL. Пожалуйста, ознакомьтесь с этой видео-инструкцией, чтобы узнать все подробности.
Если Вы хотите, чтобы Ваши наклейки обновлялись перед печатью, необходимо активировать специальную опцию в форме Group settings. Это опция Update data when this file is loaded or printed::
Эта опция повторно загружает данные каждый раз при запуске файла или перед его печатью. Данные перезагружаются исходя из параметров, введённых при первом подключении, так что в примере выше, файл C:\Logistic\label.xlsx всё ещё должен существовать и лист Logistic labels также должен быть там, в противном случае обновление данных сделать не удастся.
Эта опция позволяет Вам всегда печатать этикетки с самыми последними доступными данными. Таким образом, если созданный ранее ярлык для печати указывает на файл Labeljoy, настроенный на автоматическое обновление, всё что Вам нужно сделать, это кликнуть по нему и последние данные будут доступны для печати.
ВАЖНО: Labeljoy сохраняет имя принтера, используемого для печати каждого файла. Это означает, что для печати файлов в один клик всегда будет использоваться тот принтер, который использовался во время последнего редактирования файла Labeljoy..
3 – Интеграция в Excel с помощью VBA
Если данные для печати находятся в файле Excel, то используя возможности языка программирования Visual Basic для приложений (VBA), мы можем создать ярлык для печати в самом файле Excel и печатать наклейки сразу из него.
Это требует определённых навыков программирования и некоторых знаний о среде VBA.
Для этого воспользуемся вариантом файлов, созданных в руководстве GS1-128.
Будем считать, что оба файла находятся в корне диска C, C:\.
Сначала откроем файл Labeljoy и убедимся, что опция Update data when this file is loaded or printed включена, как описано в предыдущей главе.
Если Вы сохранили связанный файл Excel в другом месте, а не в корне диска C:, убедитесь, что Вы обновили его расположение в Group settings /Data source.
Сохраните файл Labeljoy и закройте Labeljoy.
С этого момента можно забыть о Labeljoy и думать только о данных для печати.
Файл Excel содержит одну строку данных и кнопку, привязанную к макросу VBA:
Откроем файл Excel и редактор VBA, нажав ALT+F11, чтобы увидеть код макроса:
В модуле modLabelPrinting Вы найдёте одну подпрограмму с названием LabelPrint. Это простой макрос, который сначала сохраняет книгу Excel, а затем запускает файл Labeljoy для печати. Последний шаг достигается с помощью функции Windows API ShellExecute (более подробная информация на сайте MSDN).
Опять же, если Вы сохранили файл Labeljoy Software integration.lpa не в корне диска C:, убедитесь, что Вы соответственно изменили следующую строку:
sLabelJoyFileNameAndPath = [Введите здесь правильный путь к файлу в кавычках].
Итак, при нажатии кнопки Save and print, запускается макрос: файл Excel сохраняется, а файл Labeljoy сначала обновляется, а затем печатается.
Попробуйте изменить данные в файле Excel и затем нажмите кнопку, чтобы увидеть результат на напечатанных наклейках.
4 – Интеграция с ERP-системой
Если Ваша компания использует систему планирования бизнес-ресурсов для обработки своих данных, Вы можете применить предыдущий подход, написав соответствующую подпрограмму на языке программирования по Вашему выбору.
Единственное требование – чтобы Labeljoy был установлен на клиентской машине, где осуществляется печать наклеек.
Ниже приведён пример приложения, написанного на VB.NET (Visual Studio 2022, framework 3.5). Код был предназначен для запуска на машине с установленной программой Labeljoy 6.
Для этого примера требуется знание основ языка программирования VB.NET, а также некоторое знакомство с ADO.NET.
Когда приложение запускается в первый раз, оно копирует два файла, которые хранятся в его области ресурсов:
- Логистический label.mdb. Файл базы данных Access, содержащий две таблицы: Таблица логистической этикетки, используемая для хранения данных, которые будут напечатаны. Таблица ISO3166, содержащая идентификаторы данных страны, необходимая для правильной обработки полей Код страны и Префикс страны.
- Логистический label.lpa. Файл Labeljoy для печати. Этот файл содержит данные, связанные с таблицей логистических меток файла MDB.
Оба файла сохраняются в папке Labeljoy в разделе «Документы».
Приложение состоит из одной формы, используемой для сбора необходимых данных для печати логистических наклеек:
После того как все нужные для печати данные были внесены в форму, пользователь нажимает кнопку Print.
Введённые данные сначала проверяются функцией CheckData. Если будет найдено какое-либо несоответствие, выводится окно с ошибкой. Печать не будет выполнена, пока все ошибки не будут устранены. Смотрите строку с комментариями для более подробной информации:
После успешного прохождения проверки данных, они сохраняются в таблице LogisticLabel mdb-файла с помощью функции UpdateData. Как Вы видите в коде, запрос на удаление Delete всегда выдаётся перед добавлением новых данных, так что в этом примере в исходной таблице нам потребуется только одна строка данных:
Далее, с помощью метода Windows API ShellExecute, печатается наклейка:
Логистический файл label.lpa загружается в Labeljoy и происходит обновление данных, считывая последние изменения из файла mdb. Затем осуществляется печать и Labeljoy завершает работу.
Процесс обновления данных возможен благодаря скрытой функции Labeljoy: если файл Labeljoy связан с источником данных, который изначально хранится в папке документов Labeljoy (Documents/Labeljoy), будущие обновления данных всегда будут ссылаться на путь в папке документов Labeljoy, даже если он изменится.
Например, предположим, что вы связываете файл Labeljoy с источником данных в C:\Users\John\Documents\Labeljoy. Затем вы перемещаете файл Labeljoy и файл данных на другой ПК. На этот раз, поскольку это другой пользователь, папка документов Labeljoy будет расположена в C:\Users\Mary\Documents\Labeljoy. Когда пользователь Mary открывает файл Labeljoy и происходит обновление данных, Labeljoy распознает, что исходный источник данных был найден в папке Documents/Labeljoy, и адаптирует путь в соответствии с каталогом документов текущего пользователя на текущем компьютере.