Тема: Изменение статуса версии документа Архива с помощью TechnologiCS API

Помогите пожалуйста разобраться как программно (макросом, с помощью TechnologiCS API) изменить статус активной версии документа Архива (макрос создается в окне "Выборки").

(изменено: Дмитрий Гамий, 16 декабря 2013 11:24:40)

Re: Изменение статуса версии документа Архива с помощью TechnologiCS API

Для изменения статуса документа необходимо выполнить требуемый переход документооборота.
Программно это можно сделать так:

Sub WorkFlowExecute(oDoc, WorkFlowName) ' Выполнить заданный переход в документе
    ' oDoc As ISingleDoc Экземпляр документа
    ' WorkFlowName As String Название перехода
    
    Dim ActualWorkFlow ' Текущие переходы обработки документа 
    Dim DocWorkFlow ' Переходы способа обработки документа
    
    oDoc.Refresh
    'Проверяем, есть ли такой переход
    Set DocWorkFlow = oDoc.Properties("WORKFLOW_ITEMS").AsIDispatch
    If Not DocWorkFlow Is Nothing Then
        DocWorkFlow.Refresh
        If Not DocWorkFlow.Locate("NAME", WorkFlowName, 0) Then            
            Call TCSApp.ShowErrorMessage("Переход <"  & WorkFlowName & "> для текущего документа отсутствует!")            
            Exit Sub
        End If
    End If
    Set DocWorkFlow =  Nothing
    
    'Ищем нужный переход и выполняем 
    Set ActualWorkFlow = oDoc.Properties("ACTUAL_WORKFLOW_ITEMS").AsIDispatch
    If Not ActualWorkFlow Is Nothing Then
        If Not ActualWorkFlow.Locate("NAME", WorkFlowName, 0) Then            
            Call TCSApp.ShowErrorMessage("Выполнение перехода <"  & WorkFlowName & ">в текущем статусе документа невозможно!")            
            Exit Sub
        Else
            Call ActualWorkFlow.Execute(True, "")
        End If
    End If
    Set ActualWorkFlow =  Nothing    
End Sub 

Следует отметить, что, в зависимости от настроек документоообора для выбранного документа, на выполнение перехода может повлиять:

  • роль пользователя в рабочих группах, имеющих доступ к документу;

  • статус документа;

  • проставление обязательных подписей;

  • выполнение обязательных действий при переходе.

Re: Изменение статуса версии документа Архива с помощью TechnologiCS API

Мне нужно программно задать Статус до и Статус после
и на выделенные документы выполнить групповой переход
в указанный статус
Возможно это сделать?
{Хотя бы через SQL-запросы)

Re: Изменение статуса версии документа Архива с помощью TechnologiCS API

Посмотрите расширение Протокол Электронного Согласование (ПЭС). Он вроде в 6.3 был. Там реализовано групповое согласование документов и управление их статусом. В 7-ке большая часть ПЭС сделана внутри TechnologiCS, там конечно работа ПЭС намного проще стала.

Re: Изменение статуса версии документа Архива с помощью TechnologiCS API

К сожалению, в нашей версии 6.3 ПЭС нет