Постановка задачи
В справочник Договоры нужно добавить кнопку Запрос. При нажатии на кнопку должен выполняться поиск документов с ТКЭД Договорные документы, в карточке которых в поле Договоры указана текущая запись справочника. Результаты поиска обрабатываются следующим образом:
• | если не найдено ни одного документа, то выводится предупреждение; |
• | если найден один документ, то открывается документ; |
• | если найдено несколько документов, то открывается список найденных документов. |
Программный код
// Код ТКЭД Договорные документы
EDocTypeCode = 'ДГД'
// Имя реквизита типа карточки для записи справочника Договоры
EDocTypeContactReqName = 'Договор'
// Сформировать поиск документов
Search = Searches.CreateNew(ckEDocument)
Criteria = Search.SearchCriteria
// Добавить в критерий поиска Тип карточки документа
EDocTypeCriterion = Criteria.Add('PseudoEDocType')
EDocTypeCriterion.Add(EDocTypeCode)
// Искать по коду текущей записи
UserPermissionsCriterion = Criteria.Add(EDocTypeContactReqName)
UserPermissionsCriterion.Add(Object.SYSREQ_CODE)
// Выполнить поиск.
FindDocs = Search.Execute()
// Получить количество найденных документов.
FindDocsCount = FindDocs.Count
if FindDocsCount = 0
// Вывести предупреждение.
MessageBox(ATTENTION_CAPTION;
'Запрос на назначение прав доступа не найден.')
endif
if FindDocsCount = 1
// Получить результат поиска как IEDocumentInfo.
FindDocInfo = FindDocs.Value
FindDoc = FindDocInfo.Document
// Получить последнюю версию документа.
LastDocNumber = GetLastEDocumentVersionNum(FindDoc)
// Открыть последнюю версию документа для просмотра.
FindDoc.Open(False; LastDocNumber)
endif
if FindDocsCount > 1
// Показать результаты поиска.
Search.Show(ssmSelect; True)
endif
Как разработать для веб-доступа
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |