Суть этого CODB класса - хранилище объектов, чья структура описана в словаре.
coDepositioryNew(<sDictID>, <sUser>, <sPasswd>) --> CODBDEPOSITORY object coDepository:New(<sDictID>, <sUser>, <sPasswd>) --> CODBDEPOSITORY object
| APPEND | Добавить объект в хранилище. |
| CHECKBODY | Проверить объект на принадлежность к классу. |
| CLOSE | Закрыть открытые файлы. |
| CREATE | Создать пустой депозитарий. |
| DELETE | Удалить объект из хранилища. |
| GETVALUE | Получить объект из хранилища. |
| ID4PRIMARYKEY | Вернуть идентификатор объекта. |
| IDLIST | Вернуть объект класса IDLIST. |
| NEW | Инициализация нового объекта CODBDEPOSITORY. |
| OPEN | Открыть все необходимые файлы. |
| PADRBODY | Привести объект в соответствие классу. |
| SELECT | Вернуть список идентификаторов выбранных объектов. |
| UPDATE | Обновить объект в хранилище. |
* open first depository from MY001
oDep:=coDepository():new("MY00101")
oDep:open()
oDict:=oDep:dictionary()
* get currency metadata
currBody:=oDict:classBodyByName("currency")
if empty(currBody)
? "Class 'currency' not found in dictionary"
quit
endif
*this data may be load from txt or dbf source file
data:={;
{"USD","USA dollar"},;
{"UUU","UUU dollar"},;
{"RUR","Russian rubl"},;
{"RUA","Ukraina rubl :)"};
}
* add currency objects
for i=1 to len(data)
obj:=map()
obj:code := data[i][1]
obj:name := data[i][2]
obj_id := oDep:id4primaryKey("currency","code",obj:code)
if empty(obj_id)
oDep:append(obj,currBody:id)
else
/* object exist in depository */
obj:id := obj_id
oDep:update(obj)
endif
if !empty(oDep:error)
? "Error:",oDep:error
else
? "currency object '"+obj:code+"' added to depository"
endif
next
? "To depository added ",len(data)," objects"
c_list:=oDep:select(currBody:id,,,'code="U"')
? "Select currency objects with code='U':",c_list
c_list:=oDep:select(currBody:id)
? "Select all currency objects:",c_list
? "Loading objects body:"
for i=1 to len(c_list)
obj:=oDep:getValue(c_list[i])
? "code=",obj:code, "name=",obj:name
next
No dependies of platform.
Добавить объект в хранилище.
Append(<oData>, <sClassID>) --> <sDataID>
Возвращает <sDataID> - идентификатор добавленного объекта.
Append() добавляет новый объект <oData> в хранилище как объект класса <sClassID> и возвращает идентификатор зарегистрированного объекта <sDataID>.
<::Error> содержит описание ошибки, если таковая произошла.
Проверить объект на принадлежность к классу.
CheckBody(<oData>, <sClassID>) --> <oData>
Возвращает объект <oData>.
CheckBody() проверяет объект <oData> на принадлежность к классу <sClassID> и при необходимости заполняет атрибуты <oData> значениями по умолчанию.
<::Error> содержит описание ошибки, если таковая произошла.
Закрыть открытые файлы.
Close() --> TRUE || FALSE
No arguments
Возвращает TRUE если файлы закрыты.
Open() закрывает все необходимые для работы словаря файлы или соединение с SQL сервером.
Создать пустой депозитарий.
Create() --> TRUE || FALSE
No arguments
Возвращает TRUE если создан пустой новый депозитарий.
Create() возвращает TRUE если создан пустой новый депозитарий. Обычно, этот метод не требует прямого вызова, а вызывается автоматически при добавлении нового словаря в CODBDICTIONARY.
<::Error> содержит описание ошибки, если таковая произошла.
Удалить объект из хранилища.
Delete(<sDataID>) --> TRUE || FALSE
Возвращает TRUE если объект был удален.
Delete() удаляет объект с идентификатором <sDataID> из депозитария.
<::Error> содержит описание ошибки, если таковая произошла.
Получить объект из хранилища.
GetValue(<sDataID>) --> <oData>
Возвращает объект <oData> с идентификатором <sDataID>.
GetValue() достает из депозитария и возвращает объект <oData> с идентификатором <sDataID>.
<::Error> содержит описание ошибки, если таковая произошла.
Вернуть идентификатор объекта.
Id4PrimaryKey(<sClassName>, <sKeyName>, <KeyValue>) --> <sDataID>
Возвращает <sDataID> - идентификатор найденного объекта.
Id4ProperyKey() возвращает <sDataID> - идентификатор найденног объекта, у которого свойство с именем <sKeyName> равно <KeyValue>.
Вернуть объект класса IDLIST.
IdList(<sClassID>[, <nOrder>][, <sName>][, <sWhere>]) --> <oIDList>
Возвращает <oIDList> - объект класса IDLIST.
IdList() возвращает <oIDList> - объект класса IDLIST.
Инициализация нового объекта CODBDEPOSITORY.
New(<sDepID>, <sUser>, <sPasswd>) --> CODBDEPOSITORY object
Метод возвращает новый объект CODBDEPOSITORY.
New() инициализирует новый объект CODBDEPOSITORY возвращает его.
Если объект <sDepID> уже существует, New() открывает и возвращает этот депозитарий.
Открыть все необходимые файлы.
Open() --> TRUE || FALSE
No arguments
Возвращает TRUE если файлы открыты.
Open() открывает все необходимые для работы словаря файлы или соединение с SQL сервером.
<::Error> содержит описание ошибки, если таковая произошла.
Привести объект в соответствие классу.
PadrBody(<oData>, <sClassID>) --> <oData>
Возвращает объект <oData>.
PadrBody() приводит объект <oData> в соответствие классу <sClassID>.
<::Error> содержит описание ошибки, если таковая произошла.
Вернуть список идентификаторов выбранных объектов.
Select(<sClassID>[, <nOrder>][, <sName>][, <sWhere>]) --> <aIdent>
Возвращает <aIdent> массив идентификаторов объектов, соответствующих заданным условиям.
Select() возвращает список идентификаторов объектов, принадлежащих классу <sClassID> в порядке <nOrder>, у которых аттрибут <Name> точно равен <sName> и содержимое аттрибутов соответсвует выражению <sWhere>.
<::Error> содержит описание ошибки, если таковая произошла.
Обновить объект в хранилище.
Update(<oData>) --> TRUE || FALSE
Возвращает TRUE если объект обновлен.
Update() обновляет объект <oData> в хранилище. Если депозитарий не содержит объект с идентификатором <oData:ID>, Update() возвращает FALSE.
<::Error> содержит описание ошибки, если таковая произошла.