Модуль взаимодействия с ядром ЛИС: различия между версиями
Sidminik (обсуждение | вклад) Нет описания правки |
Sidminik (обсуждение | вклад) |
||
| Строка 85: | Строка 85: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Пространство имен Session== | ==Пространство имен <code>Session</code>== | ||
Пространство имен <code>Session</code> дает доступ к текущей сессии пользователя. | |||
===Вложенное пространство имен <code>Session.user</code>=== | |||
Внутри <code>Session.user</code> хранится информация о пользователе текущей сессии | |||
<code>Session.user.name</code> хранит в себе строку с ФИО пользователя | |||
<code>Session.user.id</code> идентификатор пользователя | |||
<code>Session.user.roles.id</code> идентификатор роли пользователя | |||
<code>Session.user.roles.name</code> название роли | |||
<code>Session.user.roles.banned</code> флаг бана роли | |||
===Свойство <code>Session.labId</code>=== | |||
<code>Session.labId</code> идентификатор лаборатории | |||
==Пространство имен User== | ==Пространство имен User== | ||
Версия от 04:04, 13 января 2026
Модуль @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");
Пространство имен Session
Пространство имен Session дает доступ к текущей сессии пользователя.
Вложенное пространство имен Session.user
Внутри Session.user хранится информация о пользователе текущей сессии
Session.user.name хранит в себе строку с ФИО пользователя
Session.user.id идентификатор пользователя
Session.user.roles.id идентификатор роли пользователя
Session.user.roles.name название роли
Session.user.roles.banned флаг бана роли
Свойство Session.labId
Session.labId идентификатор лаборатории