<< Click to Display Table of Contents >> Разработка > Процесс разработки > Что использовать: наследование или перекрытие > Перекрытие > Пример перекрытия типа документа и модуля Шаг 1. Перекрытие типа документа |
2.В контекстном меню решения последовательно выберите пункты Перекрыть, Документ.
3.В открывшемся окне в выпадающем списке выберите тип сущности Sungero.Contracts.Contract из базового решения Directum RX.
4.Нажмите на кнопку ОК. Документ появится в дереве решений в разделе «Перекрытые элементы». Откроется его редактор.
5.Перейдите в редактор созданного решения и добавьте зависимость от модуля «Договоры» (Sungero.Contracts). Если зависимости не указаны, при публикации могут возникнуть ошибки.
6.Вернитесь в редактор перекрытого типа документа и в узле «Свойства» добавьте свойство Резидент (Resident) с типом Логическое:
ПРИМЕЧАНИЕ. К имени свойства автоматически добавляется постфикс с кодом компании (DEV), так как при установке среды разработки был установлен флажок Уникальные имена при перекрытии.
7.Перейдите в узел «Форма». Щелкните левой кнопкой мыши по группе Counterparty («Контрагент») на форме. В результате группа выделится синим цветом в дереве элементов и синей рамкой на форме.
8.В редакторе свойств группы снимите флажок Использовать контролы предка. Все последующие изменения родительского типа сущности не будут применяться к текущему. Т.е. если в базовом решении в типе договора в группу добавят новые контролы или удалят существующие, изменения не появятся в вашем типе договора.
ВАЖНО. Если необходимо изменить всю карточку документа, в дереве элементов выделите элемент MainPage и в редакторе свойств снимите флажок Использовать контролы предка.
9.В группу добавьте контрол и свяжите его с созданным свойством.
10.При необходимости измените размер остальных контролов в группе.
11.Чтобы при создании договора флажок Резидент по умолчанию был снят, перейдите в первый узел редактора договора (Contract), установите флажок рядом с серверным событием Создание и перейдите по ссылке. В открывшемся редакторе вставьте код:
public override void Created(Sungero.Domain.CreatedEventArgs e)
{
base.Created(e);
_obj.ResidentDEV = false;
}
12.Опубликуйте разработку, запустите клиент и создайте договор. В карточке договора появится флажок Резидент.
Еще один пример перекрытия типа документа смотрите в видеоролике «Модификация стандартной разработки» с 03:03.
© Компания Directum, 2024 |