Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Постановка задачи

Необходимо добавить в тип карточки «Договорные документы» панель предпросмотра для проверки договоров, обработанных сервисами 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
.navbar > a:hover { background: #FFD73B; }