Как получить информацию из iManage / Desksite
У меня есть заказчик с переплетенной системой Desksite Version 8.0. Мне нужно выполнить запрос или экспортировать так, чтобы я мог получить идентификатор документа, где comments = X, для произвольного значения X. В качестве альтернативы любой экспорт этих двух полей будет работать. Мне просто нужен список всех удостоверений личности, комментарий. Я должен итеративно обновить другую систему на основе идентификатора, пары комментариев. На этом этапе будет полезен даже простой экспорт документов.
1 ответ
Этот тип запроса может быть выполнен с использованием запросов SQL непосредственно к бэкэнду Worksite или с помощью API Worksite.
На мой взгляд, использование API предпочтительнее, поскольку структура БД может меняться в зависимости от версии Worksite.
Предполагая, что у вас есть соединение с Worksite, открытое и сеанс, вошедший в систему, используя эту функцию, вы можете выполнять поиск документов (включая требуемый тип поиска):
private IManDMS mainDMS;
private IManDatabase currentDatabase;
public IManDocument[] SearchDocuments(Dictionary<imProfileAttributeID, string> dictProfleSearchParameters)
{
List<IManDocument> foundDocuments = new List<IManDocument>();
IManProfileSearchParameters searchParams = mainDMS.CreateProfileSearchParameters();
foreach (KeyValuePair<imProfileAttributeID, string> kvp in dictProfleSearchParameters)
((IManProfileSearchParameters)searchParams).Add((IManage.imProfileAttributeID)kvp.Key, kvp.Value);
IManContents foundDocs = currentDatabase.SearchDocuments(searchParams, true);
foreach (IManDocument document in foundDocs)
foundDocuments.Add(document);
return foundDocuments.ToArray();
}