БИБЛИОТЕКА ПО РАБОТЕ С INSTANCE
ПРОЦЕДУРЫ
PrepareInstance (iAggrAttrs) Используется перед GetInstance для настройки набора данных
- iAggrAttrs - двухэлементный список, разделенный CHR(1), тип CHAR:
- 1-й элемент: список реквизитов, задающий структуру набора данных;
- 2-й элемент: список реквизитов, для которых не заполняются соответствующие наборы данных.
PrepareInstanceEx (iAggrAttrs, iEmptyAggrAttrs, iUndoInstance, iExtAttrs, iReserved2) Используется перед GetInstance для настройки набора данных.
- iAggrAttrs - список реквизитов, задающий структуру набора данных, тип CHAR;
- iEmptyAggrAttrs - список реквизитов, для которых не заполняются соответствующие наборы данных, тип CHAR;
- iUndoInstance - является ли набор данных откатываемым, тип LOGICAL;
- iExtAttrs - список дополнительных реквизитов, включаемых в набор данных (см. комментарий к iExtAttrs), тип CHAR;
- iReserved2 - зарезервирован, тип CHAR.
GetInstance (iClassName, iSurrogate, OUTPUT oContainer, OUTPUT oOk) - процедура формирования Instance объекта класса.
- iClassName - класс экземпляра, тип CHAR;
- iSurrogate - идентификатор экземпляра, тип CHAR;
- oContainer - handle временной таблицы, тип HANDLE;
- oOk - флаг завершения тип LOGICAL.
LockInstance(iInstance, OUTPUT oOk) - блокирует объект для изменения. Блокируются все записи объекта, включая агрегируемые классы кроме таблицы SIGNS.
- iInstance - handle набора данных, тип HANDLE;
- oOk - флаг завершения, тип LOGICAL.
UnlockInstance(iInstance) - разблокирует записи объекта заблокированные ранее процедурой LockInstance.
- iInstance - handle набора данных, тип HANDLE.
UnbindInstance (iInstance, iMode) - отвязывает набор данных от БД.
- iInstance - handle набора данных, тип HANDLE;
- iMode - новое значение поля __mode, тип INT64.
ValidateInstance(iInstance, OUTPUT oOK) - осуществляет проверку валидности объекта перед его сохранением в БД.
- iInstance - handle набора данных, тип HANDLE;
- oOk - флаг завершения, тип LOGICAL.
SetInstance(iClassName, iInstance OUTPUT oOk) - процедура переноса Instance объекта в БД.
- iClassName - класс экземпляра, тип CHAR;
- iInstance - handle набора данных, тип HANDLE;
- oOk - флаг завершения, тип LOGICAL.
DelInstance(iClassName, iInstance, iSelfDel, OUTPUT oOK) - процедура удаления объектов Instance из базы данных.
- iClassName - класс экземпляра, тип CHAR;
- iInstance - handle набора данных, тип HANDLE;
- iSelfDel - удалять ли сам Instance после удаления объектов, тип LOGICAL;
- oOk - флаг завершения, тип LOGICAL.
DelEmptyInstance(iInstance) - удаляет Instance.
- iInstance - handle набора данных, тип HANDLE.
ФУНКЦИИ
GetInstanceProp2(iContainer, iPropName) - функция получения значения реквизита класса, тип возвращаемого значения - CHAR.
- iContainer - временная таблица или буфер, хранящие экземпляр класса, тип HANDLE;
- iPropName - идентификатор свойства (допустима кириллица), тип CHAR.
GetProperty(iInstance, iProperty, iClause) - возвращает handle составного атрибута1 из набора данных, тип возвращаемого значения - HANDLE.
- iInstance - хэндл набора данных, тип HANDLE;
- iProperty - идентификатор составного атрибута, тип CHAR;
- iClause - условие поиска записи внутри таблицы набора данных, CHAR.
1Составной атрибут - это атрибут в таблице, являющейся агрегируемой по отношению к основной таблице. Атрибут задается в виде пути от верхней таблице к нижней, элементы атрибута разделены символом ':'. Например, чтобы получить значение суммы 1-й проводки набора данных ДОКУМЕНТ, составной атрибут будет иметь следующий вид: op-entry1:amt-rub.