Flux Noutăți & Rsaquo; Forumuri & Rsaquo; Ajutor SmartCash Retail Management System & Rsaquo; Re: Programul este bun la cine nu foloseste & Rsaquo; Reply To: cauza problemei si solutia ei
-
Am descoperit ca aceasta problema se datoreaza unui Upgrade defectuos.
In baza de date nu s-a efectuat o modificare a unui trigger care introducea acea factura pentru urmarire.
Din acesat cauza in momentul de fata si acel trigger introducea o factura la urmarire si programul facea acest lucru.Am descoperit acest lucru foarte tarziu deoarece din toate informatiile care ne parveneau nimeni nu a spus ca rezulta 2 recorduri in urmarire furnizori ci doar ca se dubleaza valoarea.
valoarea dublata inseamna cu totul altceva si noi am cautat in mod gresit cauza acestei probleme.Solutia este trecerea la baza de date 319 pentru noile instalari de magazine.
Pentru cele deja instalate cu v 318/8.0.0.107, scriptul care repara acesta problema este urmatorul.ALTER TRIGGER REC_AU
ACTIVE AFTER UPDATE POSITION 0
AS
DECLARE VARIABLE VARIDRECITEM INTEGER;
DECLARE VARIABLE VARIDFURN INTEGER;
DECLARE VARIABLE VARIDCLIENT INTEGER;
DECLARE VARIABLE VARIDMAG INTEGER;
DECLARE VARIABLE VARIDINV INTEGER;
DECLARE VARIABLE VARDATAFACT TIMESTAMP;
DECLARE VARIABLE VARNRFACTURA VARCHAR(20);
DECLARE VARIABLE VARDATANIR TIMESTAMP;
DECLARE VARIABLE VARNIR INTEGER;
DECLARE VARIABLE VARPRETACH NUMERIC(15, 5);
DECLARE VARIABLE VARVALUTA NUMERIC(15, 5);
DECLARE VARIABLE VARARTNR INTEGER;
DECLARE VARIABLE VARIDSTORE INTEGER;
DECLARE VARIABLE VARTYPEVALUTA VARCHAR(20);
BEGIN
/* TRIGGER TEXT */
IF (NEW.STARE OLD.STARE) THEN BEGIN
FOR SELECT R.IDFURN, R.DATAFACT, R.NRFACT, R.DATANIR, R.NIR, O.IDCLIENT, R.IDSTORE, R.IDINV
FROM REC R
LEFT JOIN OUT O ON O.NRSCHIMB = R.NRSCHIMB
WHERE R.IDREC = NEW.IDREC
INTO :VARIDFURN, :VARDATAFACT, :VARNRFACTURA, :VARDATANIR, :VARNIR, :VARIDCLIENT, :VARIDMAG
, :VARIDINV
DO BEGIN
BREAK;
END
FOR SELECT RI.PRETACH, RI.ARTNR, NEW.IDWHERE, RI.PAVAL, RI.IDRECITEM, RI.VALUTA FROM RECITEMS RI
WHERE NEW.IDREC = RI.IDREC
INTO :VARPRETACH, :VARARTNR, :VARIDSTORE, :VARVALUTA, :VARIDRECITEM, :VARTYPEVALUTA
DO BEGIN
EXECUTE PROCEDURE INSERTUPDATELASTPRETACH(:VARIDRECITEM, :VARPRETACH, :VARDATAFACT, :VARIDFURN, :VARARTNR
, :VARIDSTORE, :VARDATANIR, :VARNRFACTURA, :VARNIR, :VARVALUTA
, :VARIDCLIENT, :VARIDMAG, :VARIDINV, :VARTYPEVALUTA);
END
END
END
^