Класс TaskManager
src\meta_mngrs.js:2748
Родительский модуль: metadata
Абстрактный менеджер задач
Экземпляры объектов этого класса создаются при выполнении конструктора Meta в соответствии с описанием метаданных конфигурации и помещаются в коллекцию Tasks
Конструктор
TaskManager
-
class_name
Параметры:
-
class_nameString
Состав
Методы
Свойства
Методы
create
-
[attr] -
[fill_default]
Создаёт новый объект типа объектов текущего менеджера
Для кешируемых объектов, все действия происходят на клиенте
Для некешируемых, выполняется обращение к серверу для получения guid и значений реквизитов по умолчанию
Параметры:
-
[attr]Object optional- значениями полей этого объекта будет заполнен создаваемый объект
-
[fill_default]Boolean optional- признак, надо ли заполнять (инициализировать) создаваемый объект значениями полей по умолчанию
Возвращает:
each
-
fn
Выполняет перебор элементов локальной коллекции
Параметры:
-
fnFunction- функция, вызываемая для каждого элемента локальной коллекции
export
-
attr
Экспортирует данные в файл или в строковую переменную или на сервер
- Выгружаться может как единичный объект, так и коллекция объектов
- В параметрах метода либо интерактивно могут задаваться правила экспорта, такие как:
- Формат формируемого файла (json, xlsx, sql)
- Дополнять ли формируемый файл информацией о метаданных (типы и связи полей)
- Включать ли в формируемый файл данные связанных объектов
(например, выгружать вместе с заказом объекты номенклатуры и характеристик)
Параметры:
-
attrObject- параметры экспорта
-
[pwnd]DhtmlXWindows optional- указатель на родительскую форму
Пример:
// обработчик нажатия кнопок командной панели формы списка
function toolbar_click(btn_id){
if(btn_id=="btn_import"){
// открываем диалог импорта объектов текущего менеджера
_mgr.import();
}else if(btn_id=="btn_export"){
// открываем диалог экспорта объектов текущего менеджера и передаём ссылку текущей строки
// если ссылка не пустая, будет предложено экспортировать единственный объект
// при необходимости, в диалоге можно указать экспорт всех объектов текущего менеджера
_mgr.export(wnd.elmnts.grid.getSelectedRowId());
}
}
find
-
val -
columns
Находит первый элемент, в любом поле которого есть искомое значение
Параметры:
-
val- значение для поиска
-
columnsString | Array- колонки, в которых искать
Возвращает:
find_rows
-
selection -
[callback]
Найти строки
Возвращает массив дата-объектов, обрезанный отбором selection
Eсли отбор пустой, возвращаются все строки, закешированные в менеджере.
Имеет смысл для объектов, у которых cachable = "ram"
Параметры:
-
selectionObject- в ключах имена полей, в значениях значения фильтра или объект {like: значение}
-
[callback]Function optional- в который передается текущий объект данных на каждой итерации
Возвращает:
first_folder
-
owner
Находит перую папку в пределах подчинения владельцу
Параметры:
-
ownerDataObj | String
Возвращает:
- ссылка найденной папки или пустая ссылка
form_obj
-
pwnd -
attr
Форма объекта данных
По умолчанию, форма строится автоматически по описанию метаданных.
Метод можно переопределить для конкретного менеджера
Параметры:
-
pwndDhtmlXWindows- указатель на родительскую форму
-
attrObject | DataObj | String- параметры инициализации формы
get
-
ref -
[force_promise] -
[do_not_create]
Возвращает объект по ссылке (читает из датабазы или локального кеша) если идентификатор пуст, создаёт новый объект
Параметры:
-
refString | Object- ссылочный идентификатор
-
[force_promise]Boolean optional- Если истина, возвращает промис, даже для локальных объектов. Если ложь, ищет только в локальном кеше
-
[do_not_create]Boolean optional- Не создавать новый. Например, когда поиск элемента выполняется из конструктора
Возвращает:
get_option_list
-
val -
[selection]
Возвращает массив доступных значений для комбобокса
Параметры:
Возвращает:
get_property_grid_xml
-
oxml -
o -
extra_fields
Возаращает строку xml для инициализации PropertyGrid
служебный метод, используется OHeadFields
Параметры:
-
oxmlObject- объект с иерархией полей (входной параметр - правила)
-
oDataObj- объект данных, из полей и табличных частей которого будут прочитаны значения
-
extra_fieldsObject- объект с описанием допреквизитов
-
tsString- имя табчасти
-
titleString- заголовок в oxml, под которым следует расположить допреквизиты // "Дополнительные реквизиты", "Свойства изделия", "Параметры"
-
selectionObject- отбор, который следует приминить к табчасти допреквизитов
Возвращает:
- XML строка в терминах dhtml.PropertyGrid
get_sql_struct
-
attr
Возаращает массив запросов для создания таблиц объекта и его табличных частей
Параметры:
-
attrObject-
actionString- [create_table, drop, insert, update, replace, select, delete]
-
Возвращает:
handle_event
-
obj -
name -
attr
Выполняет методы подписки на событие
Служебный, внутренний метод, вызываемый формами и обсерверами при создании и изменении объекта данных
Выполняет в цикле все назначенные обработчики текущего события
Если любой из обработчиков вернул false, возвращает false. Иначе, возвращает массив с результатами всех обработчиков
Параметры:
-
objDataObj- объект, в котором произошло событие
-
nameString- имя события
-
attrObject- дополнительные свойства, передаваемые в обработчик события
Возвращает:
load_array
-
aattr -
forse
сохраняет массив объектов в менеджере
Параметры:
-
aattrArray- массив объектов для трансформации в объекты ссылочного типа
-
forseBoolean- перезаполнять объект
load_cached_server_array
-
list -
alt_rest_name
Догружает с сервера объекты, которых нет в локальном кеше
Параметры:
-
listArray- массив строк ссылок или объектов со свойством ref
-
alt_rest_nameString- альтернативный rest_name для загрузки с сервера
Возвращает:
metadata
()
Object
Метаданные объекта
указатель на фрагмент глобальных метаданных, относящмйся к текущему объекту
Возвращает:
- объект метаданных
obj_constructor
-
ts_name
Имя функции - конструктора объектов или строк табличных частей
Параметры:
-
ts_nameString
Возвращает:
off
-
name -
[method]
Удаляет подписку на событие объектов данного менеджера
Параметры:
-
nameString- имя события [after_create, after_load, before_save, after_save, value_change, add_row, del_row]
-
[method]Function optional- удаляемый метод. Если не задан, будут отключены все обработчики событий
name
- удаляемый метод. Если не задан, будут отключены все обработчики событий
on
-
name -
[method]
Добавляет подписку на события объектов данного менеджера
В обработчиках событий можно реализовать бизнес-логику при создании, удалении и изменении объекта. Например, заполнение шапки и табличных частей, пересчет одних полей при изменении других и т.д.
Параметры:
-
nameString | Object- имя события [after_create, after_load, before_save, after_save, value_change, add_row, del_row]
-
[method]Function optional- добавляемый метод, если не задан в объекте первым параметром
Пример:
// Обработчик при создании документа
// @this {DataObj} - обработчик вызывается в контексте текущего объекта
$p.doc.nom_prices_setup.on("after_create", function (attr) {
// присваиваем новый номер документа
return this.new_number_doc();
});
// Обработчик события "при изменении свойства" в шапке или табличной части при редактировании в форме объекта
// @this {DataObj} - обработчик вызывается в контексте текущего объекта
$p.doc.nom_prices_setup.on("add_row", function (attr) {
// установим валюту и тип цен по умолчению при добавлении строки
if(attr.tabular_section == "goods"){
attr.row.price_type = this.price_type;
attr.row.currency = this.price_type.price_currency;
}
});
pouch_find_rows
-
selection
Найти строки
Возвращает массив дата-объектов, обрезанный отбором selection
Eсли отбор пустой, возвращаются все строки из PouchDB.
Параметры:
-
selectionObject | Function- в ключах имена полей, в значениях значения фильтра или объект {like: "значение"} или {not: значение}
Возвращает:
pouch_selection
-
attr
Возвращает набор данных для динсписка
Параметры:
-
attrObject
Возвращает:
pouch_tree
-
attr
Возвращает набор данных для дерева динсписка
Параметры:
-
attrObject
Возвращает:
predefined
-
name
Возаращает предопределенный элемент по имени предопределенных данных
Параметры:
-
nameString- имя предопределенного
Возвращает:
print
-
ref -
model -
[wnd]
Печатает объект
Параметры:
-
refDataObj | String- guid ссылки на объект
-
modelString | DataObj.cst.formulas- идентификатор команды печати
-
[wnd]DhtmlXWindows optional- окно, из которого вызываем печать
push
-
o -
[new_ref]
Помещает элемент ссылочных данных в локальную коллекцию
Параметры:
-
oDataObj -
[new_ref]String optional- новое значение ссылки объекта
save_attachment
-
ref -
att_id -
attachment -
type
Сохраняет присоединенный файл
Параметры:
-
refObject -
att_idObject -
attachmentObject -
typeObject
Возвращает:
sync_grid
-
grid -
attr
Выводит фрагмент списка объектов данного менеджера, ограниченный фильтром attr в grid
Параметры:
-
gridDhtmlXGridObject -
attrObject
unload_obj
-
ref
Удаляет объект из alasql и локального кеша
Параметры:
-
refObject
Свойства
alatable
Array
только для чтения
Указатель на массив, сопоставленный с таблицей локальной базы данных
Фактически - хранилище объектов данного класса
cachable
String - ("ram", "doc", "doc_remote", "meta", "e1cib")
только для чтения
Способ кеширования объектов этого менеджера
Выполняет две функции:
- Указывает, нужно ли сохранять (искать) объекты в локальном кеше или сразу топать на сервер
- Указывает, нужно ли запоминать представления ссылок (инверсно). Для кешируемых, представления ссылок запоминать необязательно, т.к. его быстрее вычислить по месту
class_name
String
только для чтения
Имя типа объектов этого менеджера
extra_fields
Array
Дополнительные реквизиты
Массив дополнителных реквизитов (аналог подсистемы Свойства БСП) вычисляется через
ПВХ НазначениеДополнительныхРеквизитов или справочник НазначениеСвойствКатегорийОбъектов
extra_properties
Array
Дополнительные свойства
Массив дополнителных свойств (аналог подсистемы Свойства БСП) вычисляется через
ПВХ НазначениеДополнительныхРеквизитов или справочник НазначениеСвойствКатегорийОбъектов
family_name
String
только для чтения
Имя семейства объектов данного менеджера
Примеры: "справочников", "документов", "регистров сведений"
pouch_db
Unknown
Возвращает базу PouchDB, связанную с объектами данного менеджера
rest_name
String
только для чтения
Имя объектов этого менеджера для запросов к rest-серверу
Идентификатор формируется по принципу: ПрефиксИмени_ИмяОбъектаКонфигурации_СуффиксИмени
- Справочник Catalog
- Документ Document
- Журнал документов DocumentJournal
- Константа Constant
- План обмена ExchangePlan
- План счетов ChartOfAccounts
- План видов расчета ChartOfCalculationTypes
- План видов характеристик ChartOfCharacteristicTypes
- Регистр сведений InformationRegister
- Регистр накопления AccumulationRegister
- Регистр расчета CalculationRegister
- Регистр бухгалтерии AccountingRegister
- Бизнес-процесс BusinessProcess
- Задача Task
- Обработка DataProcessor
- Отчет Report
- Общий модуль Module
- Внешняя обработка ExternalDataProcessor
- Внешний отчет ExternalReport
table_name
String
только для чтения
Имя таблицы объектов этого менеджера в базе alasql
События
add_row
При добавлении строки табличной части
after_create
После создания
Возникает после создания объекта. В обработчике можно установить значения по умолчанию для полей и табличных частей или заполнить объект на основании данных связанного объекта
after_load
После чтения объекта с сервера
Имеет смысл для объектов с типом кеширования ("doc", "doc_remote", "meta", "e1cib"). т.к. структура DataObj может отличаться от прототипа в базе-источнике, в обработчике можно дозаполнить или пересчитать реквизиты прочитанного объекта
after_save
После записи
before_save
Перед записью
Возникает перед записью объекта. В обработчике можно проверить корректность данных, рассчитать итоги и т.д. Запись можно отклонить, если у пользователя недостаточно прав, либо введены некорректные данные
metadata.js API