Просьба подсказать

Добрый день.

В карточке Инцидента мне нужно выполнить:
если ТипИнцидента = Запрос на обслуживание, то Уровень критичности = Низкий. Если ТипИнцидента = Инцидент, то Уровень критичности = Средний.

Подскажите, пожалуйста, где именно (а также - в странице редактирования Инцидента или в Базовой странице ред.Иницдента?) вносить изменения? Заранее спасибо.

Нравится

6 комментариев

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Здравствуйте!

Пример реализации необходимой Вам логики, Вы сможете посмотреть в данном топике. Изменения необходимо вносить в процессе карточки редактирования инцидента (IncidentEditPage).

Приятного дня!

Добрый день. В этом топике показана фильтрация списка контактов по выбранному в соответствующем поле контрагенту (т.е. эти справочники - изначально связаны м/д собой). А у меня - совершенно отдельные справочники. И логика тут : если поле1 заполнено значением Х, то поле2 должно быть Y. Помогите, пожалуйста, как написать это на С# ?

Здравствуйте!

В указанном примере выполняется аналогичная задача, только на примере контакта и контрагента. Если мы говорим о таблице ServiceRequest, то описанные Вами поля должны храниться именно в ней, то есть связи есть. Вам необходимо в PrepareLookupFilter, задать свои условия фильтрации по полям.

Page.ContactEdit.PrepareLookupFilter += delegate (object sender, LookupEditEventArgs e) // либо 
 {      
        if (!Page.AccountEdit.Value.Equals(Guid.Empty)) {
                Collection<Dictionary<string, object>> filters = e.Filters;
                filters.Add(new Dictionary<string, object> { 
                                   {"comparisonType", FilterComparisonType.Equal}, 
                                   {"leftExpressionColumnPath", "Account.Id"},
                                   {"useDisplayValue", false}, 
                                   {"rightExpressionParameterValues", new object[] {Page.AccountEdit.Value}}});
        }
};

Добрый день
Контакт и Контарагент связаны м/д собой: когда мы заносим новый Контакт - мы по-любому указываем Контрагента. Т.е. фильтровать можно по этому примеру. А у меня другая ситуация - есть 2 справочника, никак м/д собой не связанных. Как здесь можно прописать условия фильтрации?

Добрый день, Татьяна!

Приведу пример фильтрации.
Есть два справочника:
- Channel – базовый.
- ChannelPartnerCategory– подкатегории.

Задача: отфильтровать значения ChannelPartnerCategory по выбранному Channel.

Решение:

//получаем ссылки на контролы
var ChannelControl = this.find("Channel");
var ChannelPartnerCategoryControl =   this.find("ChannelPartnerCategory");
 
 
//В ChannelPartnerCategoryControl добавляем правило фильтрации
             if(ChannelControl && ChannelPartnerCategoryControl)
            {
      ChannelPartnerCategoryControl.rules =
      [{
                 ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
                 autocomplete: true,
                 baseAttributePatch: 'Channel',
                 comparisonType: Terrasoft.ComparisonType.EQUAL,
                 type:  BusinessRuleModule.enums.ValueType.ATTRIBUTE,
                 attribute: 'Channel'
                     }] ;
             }
Показать все комментарии