Пример использования операции SaveObjectAs для перемещения объекта репозитория. В запросе передается моникёр перемещаемого объекта и описание родительского объекта, в который осуществляется перемещение. В ответе приходит обновленный список объектов родительского объекта, в который производилось перемещение.
{
"SaveObjectAs" :
{
"tObject" :
{
"id" : "S1!M!8083"
},
"tArg" :
{
"destination" :
{
"operation" : "MoveToParent",
"move" :
{
"parent" :
{
"@isShortcut" : "false",
"@isLink" : "false",
"@hf" : "false", "i" : "TEMP", "n" : "Temp", "k" : "65", "c" : "0", "p" : "4294967295", "h" : "false" } }, "autoGenerateName" : "true"
},
"getObjects" :
{
"parent" :
{
"id" : "S1!M!65"
}
}
}
}
}
{
"SaveObjectAsResult" :
{
"object" :
{
"@isShortcut" : "0",
"@isLink" : "0",
"i" : "REPORT_COPY",
"n" : "Регламентный отчет(Копия)",
"k" : "8083",
"c" : "2562",
"p" : "65",
"h" : "0",
"obId" :
{
"id" : "S1!M!8083"
}
},
"objects" :
{
"id" :
{
"id" : "S1!M!8083"
},
"objects" :
{
"its" :
{
"d" :
[
{
"@isShortcut" : "0",
"@isLink" : "0",
"@hf" : "0",
"i" : "OBJ66",
"n" : "проверка макросов",
"k" : "66",
"c" : "1537",
"p" : "4294967295",
"h" : "0"
},
{
"@isShortcut" : "0",
"@isLink" : "0",
"@hf" : "0",
"i" : "OBJ90",
"n" : "Форма90",
"k" : "90",
"c" : "1538",
"p" : "4294967295",
"h" : "0"
},
{
"@isShortcut" : "0",
"@isLink" : "0",
"@hf" : "0",
"i" : "NEWFORM1",
"n" : "NewForm1",
"k" : "8081",
"c" : "1538",
"p" : "4294967295",
"h" : "0"
},
{
"@isShortcut" : "0",
"@isLink" : "0",
"@hf" : "0",
"i" : "NEWFORM2",
"n" : "NewForm2",
"k" : "8082",
"c" : "1538",
"p" : "4294967295",
"h" : "0"
},
{
"@isShortcut" : "0",
"@isLink" : "0",
"@hf" : "0",
"i" : "REPORT_COPY",
"n" : "Регламентный отчет(Копия)",
"k" : "8083", "c" : "2562", "p" : "4294967295", "h" : "0" } ] } } } } }
Указанная ниже функция MoveObj перемещает объект репозитория. Идентификатор объекта и папки, в которую осуществляется перемещение, передаются посредством входных параметров objId и parentId. В примере используется функция FindObjectById, код которой приведен в примере «Получение описания объекта по его идентификатору». Результат выполнения операции является результатом выполнения функции.
public static SaveObjectAsResult MoveObj(MbId mb, string objId, string parentId)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tParent = FindObjectById(mb, parentId);
var tSave = new SaveObjectAs()
{
tArg = new SaveObjectAsArg()
{
destination = new ObjectCopyInfo()
{
//Действие - перемещение объекта
operation = ObjectCopyOperation.MoveToParent,
move = new ObjectMoveInfo()
{
parent = tParent
}
},
getObjects = new GetObjectsOpArg()
{
parent = new OdId() { id = mb.id + "!" + tParent.k }
}
},
tObject = new OdId()
{
id = mb.id + "!" + FindObjectById(mb, objId).k
}
};
//Перемещение объекта
var result = somClient.SaveObjectAs(tSave);
return result;
}
См. также:
SOAP