Здраствуйте,
Как можно сделать так чтобы, сервисы фильтровались при выборе контрагента на карточке обращения?
Напр, HRB сервис был виден лишь при выборе контрагента HR. А для других контрагентов не был виден?
Заранее большое спасибо.
С уважением,
Гюнель
Нравится
Добрый день, Гюнель!
В системе реализована следующая логика. Для каждого [Сервисного договора] указывается определенный [Пакет сервисов]. Также в карточке сервисного договора указывается [Контакт], [Контрагент] и [Объект обслуживания].
Если Вы хотите, чтобы определенный сервис был доступен только отдельному клиенту, создайте отдельный сервисный договор, который будет включать необходимый сервис.
Таким образом, когда в Заявке будет указан [Контакт], [Контрагент] и [Конфигурационная единица] для выбора буду доступны только те сервисы, которые входят в пакет сервисов в выбранном [Сервисном договоре].
Добрый день, Андрей
Спасибо за объяснение. Если сделать как вы сказали то, контакт при выборе сервиса который не привязан к нему (и его контрагенту), выдает следующее предупреждение:
Предупреждение
Данный сервис не предоставляется по сервисному договору
Но проблема в том что, контакт может игнорировать данное предупреждение, и создат новое обращения. А это у нас не приемлема((
Можно ли сделать так чтобы, при появлении данного предупреждения, контакт не смог сохранит (создат) обращения?
Заранее большое спасибо.
С уважением,
Гюнель
Добрый день, Гюнель!
Для того чтобы контакт не смог сохранит (создат) обращение нужно переопределить метод AreConditionsCorrect обьекта BaseServiceRequestInBPMonlineEditPage
а именно заменить код метода на:
base.AreConditionsCorrect(Row); var serviceId = (Guid)Page.ServiceEdit.Value; var serviceAgreementId = (Guid)Page.ServiceAgreementEdit.Value; var availableServices = GetAvailableServicesNew(serviceAgreementId); var serviceNotInAgreement = true; foreach (var recordData in availableServices) { if (recordData.Id == serviceId) { serviceNotInAgreement = false; break; } } if (serviceNotInAgreement) { Page.BaseMessagePanel.AddMessage(Warning, ServiceNotInServiceAgreementMessage, MessageType.Warning); } return !serviceNotInAgreement;
Сохранить и опубликовать.
Добрый день, Григорий
Заработала. Большое спасибо
С уважением,
Гюнель
Добрый день,
Как можно сделать тоже самое и для портал пользователей?
Заранее большое спасибо.
С уважением,
Гюнель
Получилась. Поменяла метод AreConditionsCorrect обьекта PortalServiceRequestEditPage.