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