у карточки создается доп. св-во.
по нему процедура определяет нужно обрабатывать карточку или нет
Код:
CREATE OR REPLACE PROCEDURE UPDCASHLOADALCO(CASHLOADS IN INTEGER) IS
BEGIN
EXECUTE IMMEDIATE ('alter trigger supermag.smcardcheckauxroles disable');
IF CASHLOADS = 1 THEN
UPDATE SMCARD CRD
SET CRD.CASHLOAD = CASHLOADS
WHERE CRD.ARTICLE IN (SELECT C.ARTICLE
FROM SMCARDPROPERTIES PR, SMCARD C
WHERE PR.PROPID = '3'
AND PR.PROPVAL = 'Да'
AND C.ARTICLE = PR.ARTICLE
AND C.CASHLOAD = 0
AND c.accepted=1);
ELSE
IF CASHLOADS = 0 THEN
UPDATE SMCARD CRD
SET CRD.CASHLOAD = CASHLOADS
WHERE CRD.ARTICLE IN (SELECT C.ARTICLE
FROM SMCARDPROPERTIES PR, SMCARD C
WHERE PR.PROPID = '3'
AND PR.PROPVAL = 'Да'
AND C.ARTICLE = PR.ARTICLE
AND C.CASHLOAD = 1);
END IF;
END IF;
COMMIT;
EXECUTE IMMEDIATE ('alter trigger supermag.smcardcheckauxroles enable');
END UPDCASHLOADALCO;
потом у касс ставится признак "следующая выгрузка будет полной", все это в джобе зарегистрированном в СМ и доступном через Адм. модуль. Частичная прогрузка касс стоит достаточно часто.