Класс MetaEngine
src\common.js:244
Metadata.js - проект с открытым кодом
Приглашаем к сотрудничеству всех желающих. Будем благодарны за любую помощь
Почему Metadata.js?
Библиотека предназначена для разработки бизнес-ориентированных и учетных offline-first браузерных приложений и содержит JavaScript реализацию Объектной модели 1С. Библиотека эмулирует наиболее востребованные классы API 1С внутри браузера или Node.js, дополняя их средствами автономной работы и обработки данных на клиенте.
Для кого?
Для разработчиков мобильных и браузерных приложений, которым близка парадигма 1С на базе бизнес-объектов: документов и справочников,
но которым тесно в рамках традиционной платформы 1С.
Metadata.js предоставляет программисту:
- высокоуровневые data-объекты, схожие по функциональности с документами, регистрами и справочниками платформы 1С
- инструменты декларативного описания метаданных и автогенерации интерфейса, схожие по функциональности с метаданными и формами платформы 1С
- средства событийно-целостной репликации и эффективные классы обработки данных, не имеющие прямых аналогов в 1С
Контекст metadata.js
metadata.js, экспортирует в глобальную область видимости переменную $p типа MetaEngine
Состав
Свойства
- aes
- ajax
- current_acl
- current_user
- enm статическое
- eve
- HandsontableDocument
- iface статическое
- injected_data
- ipinfo статическое
- job_prm статическое
- md статическое
- moment
- msg
- SpreadsheetDocument
- utils
- wsql
Методы
_find
-
a
-
val
-
val
Абстрактный поиск значения в коллекции
Параметры:
-
a
Array -
val
DataObj | String -
val
Array | String- имена полей, в которых искать
Возвращает:
_find_rows
-
arr
-
selection
-
callback
Поиск массива значений в коллекции
Кроме стандартного поиска по равенству значений,
поддержаны операторы in
, not
и like
и фильтрация через внешнюю функцию
Параметры:
-
arr
Array -
selection
Object | Function- в ключах имена полей, в значениях значения фильтра или объект {like: "значение"} или {not: значение}
-
callback
Function
Возвращает:
_patch
-
obj
-
patch
Подмешивает в объект свойства с иерархией объекта patch
В отличии от _mixin
, не замещает, а дополняет одноименные свойства
Параметры:
-
obj
Object -
patch
Object
Возвращает:
- исходный объект с подмешанными свойствами
_selection
-
o
-
[selection]
Выясняет, удовлетворяет ли объект o
условию selection
Параметры:
-
o
Object -
[selection]
Object optional
load_script
-
src
-
type
-
[callback]
Загружает скрипты и стили синхронно и асинхронно
Параметры:
-
src
String- url ресурса
-
type
String- "link" или "script"
-
[callback]
Function optional- функция обратного вызова после загрузки скрипта
on
-
name
-
fn
Подключает обработчики событий
Параметры:
-
name
String | Object- имя события
-
fn
Function- функция - обработчик
Возвращает:
record_log
-
err
Запись журнала регистрации
Параметры:
-
err
Object
Свойства
aes
Aes
только для чтения
Aes для шифрования - дешифрования данных
current_acl
CcatUsers_acl
только для чтения
Права доступа текущего пользователя.
Свойство определено после загрузки метаданных и входа впрограмму
current_user
CatUsers
только для чтения
Текущий пользователь
Свойство определено после загрузки метаданных и входа впрограмму
HandsontableDocument
Function
Экспортируем конструктор HandsontableDocument, чтобы экземпляры табличного документа можно было создать снаружи
injected_data
Object
только для чтения
Буфер для строковых и двоичных данных, внедряемых в скрипт
В этой структуре живут, например, sql текст инициализации таблиц, xml-строки форм и менюшек и т.д.
job_prm
JobPrm
static
Нулевым делом, создаём объект параметров работы программы, в процессе создания которого, выполняется клиентский скрипт, переопределяющий триггеры и переменные окружения Параметры имеют значения по умолчанию, могут переопределяться подключаемыми модулями и параметрами url, синтаксический разбор url производим сразу
moment
Function
только для чтения
Moment для операций с интервалами и датами
SpreadsheetDocument
Function
Экспортируем конструктор SpreadsheetDocument, чтобы экземпляры печатного документа можно было создать снаружи