<< Click to Display Table of Contents >> Разработка > Примеры разработки > Разработка модуля и типа документа > Шаг 7. Добавление условия согласования Создание типа условия «Вид закупки» |
1.Перекройте справочник «Договорное условие» (Sungero.Contracts.ContractCondition). Проверьте, что в списке зависимостей вашего решения указан модуль Sungero.Contracts. При необходимости добавьте его. Если в решении не указаны зависимости от перекрытых модулей, то при публикации могут возникнуть ошибки.
2.В редакторе перекрытого справочника перейдите в узел «Свойства» и для свойства-перечисления ConditionType добавьте значение перечисления PurchaseKind (Вид закупки).
3.Создайте свойство Вид закупки. Имя свойства – PurchaseKind. Тип свойства – ссылка на справочник «Вид закупки» (PurchaseKind).
4.В карточку справочника добавьте контрол и свяжите с созданным свойством. Чтобы добавить свойство в группу AdditionalConditions, выделите группу в дереве и снимите флажок Использовать контролы предка. В результате карточка справочника примет следующий вид:
5.Видимость полей на карточке условия согласования в Directum RX изменяется динамически. В зависимости от типа условия на форме доступны поля для заполнения тех или иных свойств. Чтобы управлять доступностью и очищать значение поля Вид закупки, когда оно недоступно, в разделяемом коде справочника ContractCondition переопределите разделяемые функции ChangePropertiesAccess() и ClearHiddenProperties():
public override void ChangePropertiesAccess()
{
base.ChangePropertiesAccess();
var isPurchase = _obj.ConditionType == ConditionType.PurchaseKind;
_obj.State.Properties.PurchaseKind.IsVisible = isPurchase;
_obj.State.Properties.PurchaseKind.IsRequired = isPurchase;
}
public override void ClearHiddenProperties()
{
base.ClearHiddenProperties();
if (!_obj.State.Properties.PurchaseKind.IsVisible)
_obj.PurchaseKind = null;
}
В результате при настройке правила согласования администратор сможет добавить тип условия «Вид закупки». Карточка условия будет выглядеть следующим образом:
© Компания Directum, 2024 |