Как сделать в программе автоматическое изменение скидки клиента в зависимости от его платежей?
Функция автоматического изменения скидки клиента в зависимости от суммы его платежей, действительно, в программе есть и она работает. Вам нужно только научиться ей пользоваться. Она описана вот на этой страничке документации программы: pisoft.ru/aprok/clistat
Чтобы эта функция заработала нужно выполнить два условия:
1) В окне "Параметры настройки программы" на вкладке "Общие" нужно включить признак ("галочку") "Изменять категорию клиентов в зависимости от суммы платежей".
2) Записи о Категориях в окне "Категории клиентов" должны быть настроены так как в примере на этой странице pisoft.ru/aprok/clistat. То есть, нужно чтобы чтобы каждая следующая категория имела БОЛЬШУЮ сумму платежей.
Для отметки, какая карточка сейчас имеется у клиента можно использовать любое не используемое вами поле в окне "КЛИЕНТ". Удобнее всего использовать поле "Карточка №" на вкладке "Клиент" (cli:CardID). Можно, например, писать там просто код вида (уровня) карточки: 1, 2, 3...
Для поиска клиентов, которым нужно выдать очередную карточку, я предлагаю использовать специально написанные Фильтры. Нужно написать несколько фильтров примерно такого типа:
1) Сумма платежей больше 10000 руб, но карточка еще не выдана. Выражение этого фильтра будет такое:
cli:CumPlat>=10000 and cli:CardID=''
(то есть, "Сумма платежей" больше 10000 и строка "Карточка №" пустая).
2) Сумма платежей больше 20000 но еще не выдана карточка второго уровня:
cli:CumPlat>=20000 and (cli:CardID='' or cli:CardID='1')
(то есть, "Сумма платежей" больше 20000 и строка "Карточка №" пустая или в ней стоит "1").