Модуль взаимодействия с ядром ЛИС
Модуль @chemsof/chemic дает доступ к ядру ЛИС из node, по сути являясь оберткой над chemic.dll, обращаясь к его методам через Chemic API. Модуль поделен на пространства имен и классы.
Принятые обозначения в заголовках и оглавлении:
Something(): метод, функция, что-то, что можно вызвать, сигнатура может не совпадать
EXP: Фича с экспериментальной поддержкой
READONLY: свойство только для чтения
Быстрый старт
Установка
Настроить подключение npm-registry из GitLab (для инструкций см. сам репозиторий npm-registry)
После этого для Установка модуля пишем
npm i @chemsoft/chemic
Подключение
Модуль подключается из кода следующим образом:
const chemic = require('@chemsoft/chemic')
Теперь обращаясь к chemic можно взаимодействовать с ядром ЛИС.
Инициализация ядра
Подключение к БД
По умолчанию строка подключения БД считывается из реестра ветки ЛИС (\HKCU\SOFTWARE\НИИ ВН\АРМ «Химик-аналитик»\Connect или аналогичный ключ в HKLM).
Для изменения строки подключение можно передать кастомную через переменную среды CONNECTION_STRING.
Например:
set CONNECTION_STRING=Provider=SQLNCLI11.1;Password=1;User ID=ch_ttg2_barabinsk;Data Source=MSSQL08;Application Name=LISChemic;MARS Connection=True
# Теперь можно запускать скрипт
Пользовательская часть
- По идентификатору
Передача переменных среды
set LIS_USER_ID=777
# Теперь можно запускать скрипт
Установка значений в глобальном объекте
global.LIS_USER_ID = 777;
const chemic = require("@chemsoft/chemic");
- По логину и паролю
При инициализации по логину и паролю существует два варианта аутентификации:
- Прямой (
raw) - в данном случае при аутентификации сверяется только пароль и никакие доп. проверки не осуществляются; - Стандартный (
default) - стандартный способ аутентификации, аналогичный входу в ЛИС через обычный лаунчер.
Передача переменных среды
# Вариант аутентификации
set LIS_CREDENTIAL_INITIALIZE_MODE=raw
# set LIS_CREDENTIAL_INITIALIZE_MODE=raw
# Учетные данные
set LIS_USER_LOGIN=test_user
set LIS_USER_PASSWORD=1
# Пароль также может быть пустым или не указан (эквивалент пустому)
# set LIS_USER_PASSWORD=
# Теперь можно запускать скрипт
Установка значений в глобальном объекте
global.LIS_CREDENTIAL_INITIALIZE_MODE = "default";
global.LIS_USER_LOGIN = "test_user_simple";
global.LIS_USER_PASSWORD = ""; // Пустой пароль
const chemic = require("@chemsoft/chemic");