Переменные ядра
Переменные ядра хранят данные, к которым требуется часто обращаться во многих методах ядра (фактически, это кэш). Необходимы для быстрого доступа к часто используемым данным, чтобы не получать их из баз Mobile SMARTS/ 1С при каждом обращении к ним.
Все данные, которые помещаются в переменные ядра при инициализации обработки (интерактивно или онлайн) откуда-то загружаются — из метаданных базы Mobile SMARTS, настроек базы Mobile SMARTS, из хранилища общих настроек 1С (ХОН), из метаданных конфигурации 1С или создаются программно и заполняются постоянными значениями-константами.
Для локального ядра это:
- клиентские переменные формы «ЛокальныйКонтекст», которые доступны в любых, но только клиентских методах формы
- реквизиты формы «ЛокальныйКонтекст», которые доступны в любых и клиентских, и серверных методах формы.
Имя переменной |
Для чего нужна |
Откуда загружается |
Может ли изменяться |
Клиентские переменные формы «Локальный контекст» |
|||
РасположениеКомпонент |
Тип — Строка, значения — «НаКлиенте» или «НаСервере». Означает, что с клиента 1С или с сервера 1С будет осуществляться взаимодействие с базой Mobile SMARTS. Для обмена через COM обязательно наличие зарегистрированной внешней компоненты на соответствующей стороне (клиент/сервер). Для REST API ничего дополнительно делать не нужно. |
ХОН | Да, в форме настройки подключения |
ДанныеТекущегоУзла |
Тип — Структура. Содержит в себе ID узла, наименование (например, «Магазин на Ленина») и ID базы Mobile SMARTS, которая привязана к этому узлу. При этом, к узлу может быть привязана либо частная база, либо основная база. Необходимо для случая, когда к текущей базе 1С привязан определенный узел (торговый объект – магазин, склад) и необходимо осуществлять обмен документами и справочниками не с основной базой Mobile SMARTS, а с частной. В этом случае, в основной базе Mobile SMARTS хранятся только настройки, а справочники и документы – в частной базе. |
Настройки базы Mobile SMARTS |
Да, на главной форме при выборе узла (торгового объекта) Категории НастроекMS |
КатегорииНастроекMS |
Тип – Структура. Содержит метадан- ные о настройках, сгруппированные по определенным критериям:
|
Программно |
Нет |
НастройкиИнициализиро- ваны |
Тип – Булево. Означает, что настройки успешно загружены из базы Mobile SMARTS. Если флаг = Ложь, значит, необходимо перезагрузить настройки из базы | Программно |
Да, если потеряна связь с сервером MS |
ПараметрыПодключенияMS |
Тип – Структура. Хранит настройки подключения к базе Mobile SMARTS — ID базы, Имя базы, ID приложения, Строка подключения, QR, Логин, Токен, имя ИО, путь ИО, тип ИО, тип установленного продукта, уровень приложения | ХОН | Да, в форме настройки подключения |
СтруктураМетаданных |
Тип – Структура. Хранит метаданные документов 1С, метаданные документов MS, пользователи MS, устройства MS, таблицы MS, UniПолейНоменклатуры | Метаданные базы 1С, метаданные базы MS, Настройки базы MS | Нет |
COMЧастнойБазыMS |
Тип – Структура. Хранит COM-объекты для работы с частной базой – TerminalConnector и StorageConnector. Заполняется, только если подключение к базе Mobile SMARTS осуществляется через COM. Для REST API не заполняется. | Программно | Да, если изменим базу, к которой будем подключаться для обмена |
COMВременнойБазыMS |
Аналогично COMЧастнойБазыMS, но используется только в форме подключения для проверки соединения, чтобы не затирать соединение с существующими базами |
Программно | Да, т.к. служебная переменная |
COMБазыMS |
Аналогично COMЧастнойБазыMS, но используется для взаимодействия с основной базой MS |
Программно | Да, если изменим базу, к которой будем подключаться для обмена |
ТекущиеНастройкиMS | Тип – Структура. Содержит все настройки текущей базы MS в виде пар Ключ-Значение, например, ВыгружатьНоменклатуруСразу = Истина и т.д. | Настройки базы MS | Да, из всех форм, где могут редактироваться настройки |
ПутьКОбработке |
НЕ ИСПОЛЬЗУЕТСЯ!!! Путь хранится в переменной ядра ПараметрыПодключенияMS. ПутьИнтеграционнойОбработки |
— | — |
КОМсоздан | Тип – Булево. Означает, что успешно созданы COM-объекты для работы с базами MS – TerminalConnector и StorageConnector и помещены в структуры COMЧастнойБазыMS/ COMБазыMS | Программно |
Да, если потеряна связь с сервером MS |
ПраваПользователя |
Тип – Строка. Хранит роль пользователя в 1С – «Администратор», «Пользователь», влияет на отображение некоторых кнопок на главной форме – кнопки настройки, кнопки выбора ИО | Метаданные базы 1С | Нет |
ФормаИнтеграционной Обработки |
Тип – ФормаКлиентскогоПриложения. Используется для вызова клиентского обработчика «После открытия формы документа 1С» | Программно | Да, в форме настройки ИО |
Реквизиты формы «Локальный контекст» |
|||
_ИнтеграционнаяОбработка Адрес |
Тип – Строка. Хранит адрес интеграционной обработки во временном хранилище. Впоследствии, интеграционная обработка извлекается из временного хранилища на стороне сервера и из нее вызываются экспортные методы – обработчики загрузки документа и т.д. |
Программно |
Да, в форме настройки ИО |
АдресаПеременных |
Тип – Структура. Хранит в себе адреса во временном хранилище других переменных ядра. При изменении значений в самих переменных ядра параллельно изменяются эти же значения и во временном хранилище. Эту структуру можно передавать в глобальное ядро и оттуда иметь доступ практически ко всем переменным локального ядра. Состав структуры, жирным и подчеркнутым выделены пере- менные, хранящие адреса аналогичных переменных ядра:
|
Программно, т.к. в нее просто сохраняются другие, уже инициализи- рованные, переменные ядра |
— |
ЕстьЧастнаяБаза |
Тип – Булево. Означает, что к текущей базе 1С привязан какой-либо узел и этот узел будет использовать частную базу для обмена документами и справочниками | Программно | Да, на главной форме при выборе узла (торгового объекта) |
ИмяИнтеграционнойОбра- ботки |
Тип – Строка, СправочникСсылка Для внешней ИО – путь к файлу внешней обработки. Для встроенной в конфигурацию 1С ИО – имя метаданных встроенной обработки. Для ИО из справочника «Дополнительные отчеты и обработки» - ссылку на элемент справочника |
ХОН | Да, в форме настройки ИО |
ИнтеграционнаяОбработка Подключена |
Тип – Булево. Означает, что интеграционная обработка успешно подключена. Флаг взводится при инициализации ядра |
Программно |
Да, если потеряна связь с сервером MS |
ПолноеИмяОбъекта |
Тип – Строка. Полное имя обработки-ядра, например, «ВнешняяОбработка.КлеверенсТСД_ ОсновнаяОбработка» |
Программно | Нет |
ТипОбработки |
Тип – Строка. Определяет расположение ИО - «ФайлНаДиске», «Встроенная» или «СправочникСсылка» | Настройки базы MS | Да, в форме настройки ИО |
Для глобального ядра это:
-
реквизиты обработки, доступны из любого метода модуля объекта;
- ЭтоWebСервис – флаг, означающий работу ядра из веб-сервиса;
- COMЧастнойБазыMS, COMВременнойБазыMS, COMБазыMS – аналоги одноименных переменных локального ядра.
-
серверные переменные модуля объекта, доступны из любого метода модуля объекта;
- КэшАдресаПеременных – копия переменной АдресаПеременных, но используется только для онлайн-режима, когда между вызовами ядра нужно сохранять значения переменных ядра.
- переменная локального ядра АдресаПеременных, передающаяся в методы глобального ядра в качестве параметра, посредством которой есть доступ к большинству переменных локального ядра.
Что хранится в хранилище общих настроек 1С (ХОН)
Принцип сохранения/ загрузки данных в ХОН
Если у пользователя 1С есть право доступа «Администрирование данных», то сохраняется и индивидуальная настройка по имени пользователя, и общая (глобальная) настройка для всей базы 1С, с именем пользователя, равным пустой строке «».
Иначе сохраняется только индивидуальная настройка по имени пользователя.
Аналогичный принцип при загрузке данных из ХОН, но можно при загрузке указывать, загружать только пользовательскую настройку или дополнительно еще и общую настройку
Ключ |
Значение |
Cleverence_ПараметрыПодключенияMS | Структура, содержащая Ид базы, имя базы, Ид приложения, строку подключения, путь и имя ИО, версию приложения и т.д. |
Cleverence_РасположениеКомпоненты |
Расположение внешней COM-компоненты для работы из 1С с базой MS: на клиенте 1С или на сервере 1С (файлы Cleverence.MobileSMARTS.ComConnector.dll, Cleverence.Infrastructure.dll, Cleverence.Warehouse.TerminalConnector.dll). При этом, сама база MS может быть расположена где угодно, главное, чтобы к ней был доступ |
Cleverence_ДатаАктуальностиКэша |
Дата и время, когда в последний раз из MS (файл customsettings.xml) в кэш были считаны настройки базы. Используется только для веб-сервиса либо внешнего соединения. Если прошло более 15 минут после последнего получения настроек, то нужно перечитать настройки из MS, т.к. за это время настройки могли поменять интерактивно из 1С или из панели MS |
Cleverence_СтруктураМетаданныхДокументы1С | Mетаданные документов 1С – имена документов, их реквизиты, табличные части, реквизиты табличных частей |
Cleverence_СтруктураНастроек | Все настройки базы MS, такие как: настройки отборов документов и справочников, бизнес-процесы, произвольные коды и т.д. |
Cleverence_СтруктураНастроек_ + ID_ТекущегоУзла | Все настройки базы MS, но уже для конкретного торгового объекта |
Cleverence_СтруктураМетаданныхДокументыMS | Метаданные документов MS – имена документов, их реквизиты, табличные части, реквизиты табличных частей |
Cleverence_ПользователиMS | Пользователи и группы пользователей, которые заведены в подключенной базе MS |
Cleverence_ТаблицыMS | Таблицы MS (имена таблиц, имена полей таблиц) таких как: «Склады», «Остатки», «Цены» и т.д. |
Cleverence_УстройстваMS | Ид и имена устройств, подключенных к базе |
Cleverence_ИмяИнтеграционнойОбработки | Имя ИО, например, «ИнтеграционнаяОбработка_УТ_11_4» |
Cleverence_РежимВыбораБазы | По строке подключения ИЛИ из списка |
Cleverence_ТипИнтерфейса | REST_API ИЛИ COM |
Cleverence_REST_API_ДатаАктуальностиСое-динения | Дата и время последнего подключения по REST API к базе MS. Используется только для веб-сервиса либо внешнего соединения |
Cleverence_ДатаАктуальностиНастроек_ + ПостфиксБазы |
Дата, когда были сохранены/изменены настройки пользователем. Обновляется в методах КомЯдро_ЗаписатьНастройкиSMARTS. Проверка даты осуществляется в онлайн-вызовах со стороны MS, если настройки изменились, то происходит переинициализация настроек |