Постановка задачи
Необходимо добавить в тип карточки «Договорные документы» панель предпросмотра для проверки договоров, обработанных сервисами Ario.
Форма типа карточки документа
1. | Добавьте на форму типа карточки элемент управления типа Группа панелей и задайте его свойства: |
• | Количество панелей – 2; |
• | Направление панелей – Вертикальное. |
2. | На левую панель вынесите все ранее используемые реквизиты. |
3. | На правую панель добавьте элемент управления типа Веб-браузер. Для корректной работы в веб-клиенте необходимо в свойстве Имя задать значение DocumentPreview. |
4. | Создайте действие ArioPreview. В дерево автоматически добавляется новое действие и вызываемый метод. Задайте параметры метода: |
• | Action, тип параметра Строка; |
• | ColorControl, тип параметра Логический, значение по умолчанию False. |
5. | Добавьте на ленту карточки кнопку для показа панели предпросмотра и свяжите ее с созданным действием. |
Программный код
Действие ArioPreview:
// Перейти на вкладку с предпросмотром
NewTab = Object.Form.Controls.FindControl("SLTabSheet1")
NewTab.Activate()
// Включить, выключить или изменить размеры панели в зависимости от действия
ArioSwitchDocPreview(Action; ColorControl)
Примечание
Проверьте параметры, которые передаются в функцию ArioSwitchDocPreview, например, имя группы панелей, в которой расположена панель предпросмотра. При необходимости, укажите нужные значения.
Событие «Сохранение После»:
// Ario. Действия при сохранении карточки пользователем
ArioAfterSaveActions(Object)
Событие «Отмена До»:
// Вернуть подсветку полей
Object.OnExecute_ArioPreview('OnlyMakeFieldColor'; not Object.Inserted)
Событие «Форма-карточка.Показ»:
Object.OnExecute_ArioPreview('ShowCardEvent'; not Object.Inserted)
Вычисления реквизитов, которые будут заполняться сервисами Ario.
Пример 1:
// Ario. Снять подсветку с реквизита при изменении значения
if (Sender.Value <<>> Sender.PreviousValue)
ArioVerifyFact(Sender)
Endif
Пример 2 (множественный выбор):
// Ario. Снять подсветку с реквизита
if not VarIsClear(Object.View)
ArioVerifyFact(Object.DetailDataSet(5).Requisites('КонтактТ5'); 'STMultiEllipsis1')
endif
Как разработать для веб-доступа
Добавьте в файл BaseWebAccess.xml кнопку для показа/скрытия панели предпросмотра для типа карточки «Договорные документы»:
<!--Действие «Предпросмотр»-->
<ToolItem name="PreviewDocsVisibility"
icon="preview-20"
jsaction="showMainDocument()"
linkedaction="ArioPreview" />
Чтобы в веб-клиенте корректно растягивалась панель предпросмотра, в десктоп-клиенте в функции ArioSwitchDocPreview используется параметр ResizableControlName. Если используется собственная функция, добавьте параметр в код функции:
// Добавить растягивание предпросмотра в веб-доступе
Object.Params.Add('ResizableControlName'; 'DocumentPreview')
© Компания Directum, 2020 | Сообщество пользователей Directum |