четверг, 13 мая 2010 г.

Заполнение свойств при открытии карточки, созданной в конструкторе решений.

Рассмотрим пример заполнения свойства типа "Текст" при открытии карточки.
При помощи утилиты CardGenerator создано описание библиотеки и карточки. Описание библиотеки загружено в базу. В конструкторе решений на нашу карточку добавляем несколько полей. Пусть это будет карточка сообщения, у которой будут поля "От", типа "Сотрудник", "Кому", типа "Сотрудник", и "Текст", типа "Текст".



Для того, чтобы назначить скрипт на открытие необходимо в окне "Структура разметки" выбрать узел с карточкой, и открыть вкладку "Свойства".
У карточки довольно много свойств и событий. Это может ввести в заблуждение. Например, какое событие использовать для создания скрипта на открытие: CardActivating, CardActivated, или AfterActivate? Для подобного скрипта нужно использовать событие AfterActivate - оно в списке выделено.

Кликаем на это поле, и открывается окно редактирования скрипта.

Разработчики скриптов карточек и сценариев БП, часто просили реализовать подсветку. И при создании Конструктора решений эти пожелания учтены. В нашем редакторе скриптов есть не только подсветка, но и InteliSense!

Для заполнения поля "Текст" пишем такой сценарий.
using System;
using System.Windows.Forms;
using DocsVision.Platform.ObjectManager;
using DocsVision.BackOffice.View.WinForms;
using DocsVision.BackOffice.Model;

namespace ScriptNamespace
{
    public class ScriptClass
    {
        public void Execute(UserSession session, CardData cardData, BaseCardControl cardControl)
        {
            cardControl.PropertyController.UpdateProperty("Текст","Салют!");
            cardControl.PropertyController.RefreshControls();
        }
    }
}
"Refresh" нужен, чтобы поля обновились.
Важно. После внесения изменений в карточку необходимо перезапустить сервисы DocsVision.
Готово. При открытии карточки наше поле заполняется.


Комментариев нет:

Отправить комментарий