Смена состояния в карточке DV скриптом

Данный скрипт вешается на кнопку в карточке Исходящего документа. Если текущий пользователь присутствует в поле «Подписано», то статус документа изменяется и документ сохраняется, если не присутствует — ему выводится сообщение о том, что в подписи отказано.

Function DoEvent(UserSession, CardFrame, CardData, ActivateFlags, ModeID, FolderID)
const SectionMain = "{22AF5254-B1B0-4DB0-9DF0-7FA7E199E693}"
const SectionEmployees = "{C11DD518-2350-4367-B310-5F6E384F2920}"
Const StaffType = "{6710B92A-E148-4363-8A6F-1AA0EB18936C}"
Const StaffEmployees = "{DBC8AE9D-C1D2-4D5E-978B-339D22B32482}"
cSignat = false
Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
For Each Row In CardData.Sections(SectionEmployees).Rows
if Row.value("Type")=2 then
Set refStaff = UserSession.CardManager.DictionaryData(StaffType)
Set Employees = refStaff.Sections.Item(StaffEmployees)
set Sotr = Employees.GetRow(Row.value("EmployeeID"))
Emp = Sotr.Value("AccountName")
if right(Emp, len(Emp)-instr(Emp, "")) = objNetwork.UserName then
cSignat = true
end if
end if
next
if cSignat = true then
CardData.Sections(SectionMain).Rows(0).Value("DocState") = "{807B8A82-C03B-49F6-A4E8-F2C53F79F4EF}"
msgbox "Документ подписан"
else
msgbox "У Вас нет прав на подпись этого документа"
end if
DoEvent=16+2
End Function

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *