Редактирование дисконтных карт отвязано от редактирования клиентов
[ ]Начиная с V6 клиенты (IClient) и дисконтные карты (IDiscountCard) создаются и редактируются по-отдельности. Для дисконтных карт стало доступно имя владельца (OwnerName).
Клиенты и дисконтные карты — справочники разных типов, транзакционное изменение дисконтных карт в рамках сессии редактирования не поддерживается, поэтому попутное создание/редактирование дисконтных карт при создании/редактировании клиентов работало неправильно. Кроме того, маленькие атомарные методы дают больше гибкости по сравнению с громоздкими комбайнами. Дисконтная карта — самостоятельная сущность, не привязанная к клиенту, то есть можно создать и использовать отдельно только дисконтную карту, не пользуясь справочником клиентов, можно отдельно клиента, а можно использовать то и другое совместно, связав через номер карты.
Начиная с V6 метод CreateClient создаёт только клиента, удалены аргументы для попутного создания дисконтной карты, метод ChangeClientCardNumber меняет номер карты только у клиента, удалены аргументы для попутного изменения дисконтной карты.
Для работы с дисконтными картами есть отдельные методы:
CreateDiscountCard— создаёт дисконтную карту с указанными номером, именем владельца, типом скидки или ценовой категорией. Если уже существует другая карта с таким номером, будет сгенерировано исключение. Проверить наличие другой карты с таким номером можно через поиск.UpdateDiscountCard— обновляет дисконтную карту с указанным id, можно задать новые значения для номера карты, имени владельца, типа скидки или ценовой категории. Чтобы узнать id карты, нужно либо запомнить его в момент создания (результат вызоваCreateDiscountCard), либо в любой момент найти по номеру (SearchDiscountCardByNumber).