OpenDbCommandResult OpenDbCommand(OdId tOb, OpenDbCommandArg tArg)
tOb. Моникёр SQL-объекта репозитория.
tArg. Параметры открытия.
Операция OpenDbCommand открывает SQL-объект и возвращает контекст для работы с ним.
Для выполнения операции необходимо в поле tObject указать моникёр SQL-объекта репозитория, а в поле tArg указать параметры открытия. Под SQL-объектом понимается один из следующих типов объектов репозитория:
Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg могут быть указаны режим открытия (просмотр или редактирование), значения параметров, которые будут переданы в запрос, и шаблон для извлечения метаданных. В шаблоне указывается та информация, которая должна быть получена при выполнении операции. Результатом работы операции будет моникёр открытого экземпляра SQL-объекта, а также метаданные, полученнные в соответствии с указанным в поле tArg.metaGet шаблоном. Дальнейшая работа с открытым объектом осуществляется с помощью операций GetDbCommand и SetDbCommand. Для закрытия открытого экземпляра SQL-объекта используйте операцию CloseDbCommand.
Пример открытия SQL-объекта на редактирование. В запросе передается моникёр SQL-объекта в репозитории. В ответе приходит моникёр открытого экземпляра SQL-объекта.
В примере для C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"OpenDbCommand" :
{
"tOb" :
{
"id" : "S1!M!9051"
},
"tArg" :
{
"args" :
{
"openForEdit" : "true"
}
}
}
}
{
"OpenDbCommandResult" :
{
"id" :
{
"id" : "S1!M!S!M1"
}
}
}
public static OpenDbCommandResult OpenSQLObject(MbId mb, string id)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tOpen = new OpenDbCommand()
{
tArg = new OpenDbCommandArg()
{
args = new DbCommandOpenArgs()
{
openForEdit = true
}
},
tOb = new OdId() { id = mb.id + "!" + FindObjectById(mb, id).k }
};
//Открытие SQL-объекта
var tResult = somClient.OpenDbCommand(tOpen);
return tResult;
}
См. также: