Программный интерфейс

Показывать:
Определен в: src\common.js:244
Модуль: common

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

Состав

Свойства

Методы

_find

(
  • a
  • val
  • val
)
private

Определен в src\common.js:403

Абстрактный поиск значения в коллекции

Параметры:

  • a Array
  • val DataObj | String
  • val Array | String
    • имена полей, в которых искать

Возвращает:

:

_find_rows

(
  • arr
  • selection
  • callback
)
Array private

Определен в src\common.js:542

Поиск массива значений в коллекции

Кроме стандартного поиска по равенству значений, поддержаны операторы in, not и like и фильтрация через внешнюю функцию

Параметры:

  • arr Array
  • selection Object | Function
    • в ключах имена полей, в значениях значения фильтра или объект {like: "значение"} или {not: значение}
  • callback Function

Возвращает:

Array:

_patch

(
  • obj
  • patch
)
Object

Определен в src\common.js:378

Подмешивает в объект свойства с иерархией объекта patch

В отличии от _mixin, не замещает, а дополняет одноименные свойства

Параметры:

  • obj Object
  • patch Object

Возвращает:

Object:
  • исходный объект с подмешанными свойствами

_selection

(
  • o
  • [selection]
)
private

Определен в src\common.js:441

Выясняет, удовлетворяет ли объект o условию selection

Параметры:

  • o Object
  • [selection] Object optional

load_script

(
  • src
  • type
  • [callback]
)
асинхронный

Описан в модуле common.ui

Определен в src\common.ui.js:644

Загружает скрипты и стили синхронно и асинхронно

Параметры:

  • src String
    • url ресурса
  • type String
    • "link" или "script"
  • [callback] Function optional
    • функция обратного вызова после загрузки скрипта

off

(
  • id
)

Определен в src\common.js:611

Отключает обработчики событий

Параметры:

  • id String | Number | Function

on

(
  • name
  • fn
)

Определен в src\common.js:590

Подключает обработчики событий

Параметры:

  • name String | Object
    • имя события
  • fn Function
    • функция - обработчик

Возвращает:

:

record_log

(
  • err
)

Определен в src\common.js:630

Запись журнала регистрации

Параметры:

  • err Object

Свойства

aes

Aes только для чтения

Определен в src\common.js:355

Aes для шифрования - дешифрования данных

ajax

Ajax только для чтения

Определен в src\common.js:309

Наша promise-реализация ajax

current_acl

CcatUsers_acl только для чтения

Provided by the common.ui module.

Определен в src\common.ui.js:624

Права доступа текущего пользователя.

Свойство определено после загрузки метаданных и входа впрограмму

current_user

CatUsers только для чтения

Provided by the common.ui module.

Определен в src\common.ui.js:609

Текущий пользователь

Свойство определено после загрузки метаданных и входа впрограмму

enm

Enumerations static

Определен в src\common.js:654

Коллекция менеджеров перечислений

eve

AppEvents только для чтения

Определен в src\common.js:343

Обработчики событий приложения Подробнее см. модули events и events.ui

HandsontableDocument

Function

Provided by the reporting module.

Определен в src\reporting.js:184

Экспортируем конструктор HandsontableDocument, чтобы экземпляры табличного документа можно было создать снаружи

iface

InterfaceObjs static

Provided by the common.ui module.

Определен в src\common.ui.js:597

Объекты интерфейса пользователя

injected_data

Object только для чтения

Определен в src\common.js:296

Буфер для строковых и двоичных данных, внедряемых в скрипт

В этой структуре живут, например, sql текст инициализации таблиц, xml-строки форм и менюшек и т.д.

ipinfo

IPInfo static

Provided by the events.ui module.

Определен в src\events.ui.js:392

Данные геолокации

job_prm

JobPrm static

Provided by the events.ui module.

Определен в src\events.ui.js:372

Нулевым делом, создаём объект параметров работы программы, в процессе создания которого, выполняется клиентский скрипт, переопределяющий триггеры и переменные окружения Параметры имеют значения по умолчанию, могут переопределяться подключаемыми модулями и параметрами url, синтаксический разбор url производим сразу

md

Meta static

Определен в src\common.js:644

Mетаданные конфигурации

moment

Function только для чтения

Определен в src\common.js:367

Moment для операций с интервалами и датами

msg

Messages только для чтения

Определен в src\common.js:321

Сообщения пользователю и строки нитернационализации

SpreadsheetDocument

Function

Provided by the reporting module.

Определен в src\reporting.js:100

Экспортируем конструктор SpreadsheetDocument, чтобы экземпляры печатного документа можно было создать снаружи

utils

Utils только для чтения

Определен в src\common.js:285

Коллекция вспомогательных методов

wsql

WSQL только для чтения

Определен в src\common.js:332

Интерфейс к данным в LocalStorage, AlaSQL и IndexedDB