/****************************************************************************** Desenvolvido por: Arã Mahatma Pasta Data: 24/01/2018 Motivo: Tratamento para manter o ICMS/IPI Cred. Efetivamente igual ao ICMS/IPI Normal herdado do XML(CPR-000MTNEL01). *******************************************************************************/ Definir Alfa xTNSSER; Definir Numero xCODFOR; Definir Numero xCODEMP; Definir Alfa xCODSER; Definir Numero xNUMNFC; Definir Numero xSEQISC; xTNSSER = E440ISC.TNSSER; xCODFOR = E440ISC.CODFOR; xCODEMP = E440ISC.CODEMP; xCODSER = E440ISC.CODSER; xNUMNFC = E440ISC.NUMNFC; xSEQISC = E440ISC.SEQISC; @----- BUSCA SE O FORNECEDOR CREDITA ICMS -----@ Definir cursor xCur_Fornecedor; Definir Alfa xFor_RECICM; Definir Alfa xFor_RECIPI; Definir numero xFor_CGCCPF; xCur_Fornecedor.SQL "SELECT RECICM, CGCCPF, RECIPI FROM E095FOR WHERE CODFOR = :xCODFOR"; xCur_Fornecedor.Abrircursor(); Se(xCur_Fornecedor.Achou) inicio xFor_RECICM = xCur_Fornecedor.RECICM; xFor_RECIPI = xCur_Fornecedor.RECIPI; xFor_CGCCPF = xCur_Fornecedor.CGCCPF; fim; xCur_Fornecedor.fecharcursor(); @----- BUSCA SE A TRANSAÇÃO CREDITA ICMS -----@ Definir cursor xCur_Transacao; Definir Alfa xTns_CPRRIC; Definir Alfa xTns_CPRRIP; xCur_Transacao.sql "SELECT CPRRIC, CPRRIP FROM E001TNS WHERE CODEMP =:xCODEMP AND CODTNS = :xTNSSER"; xCur_Transacao.Abrircursor(); Se(xCur_Transacao.Achou) inicio xTns_CPRRIC = xCur_Transacao.CPRRIC; xTns_CPRRIP = xCur_Transacao.CPRRIP; fim; xCur_Transacao.fecharcursor(); @----- BUSCA SE O SERVIÇO CREDITA ICMS -----@ Definir cursor xCur_Servico; Definir Alfa xSer_RECICM; Definir Alfa xSer_RECIPI; xCur_Servico.sql "SELECT RECICM, RECIPI FROM E080SER WHERE CODEMP =:xCODEMP AND CODSER =:xCODSER"; xCur_Servico.Abrircursor(); Se(xCur_Servico.Achou) inicio xSer_RECICM = xCur_Servico.RECICM; xSer_RECIPI = xCur_Servico.RECIPI; fim; xCur_Servico.fecharcursor(); @----- SE A NOTA CREDITA ICMS - SALVAR O VALOR DO ICMS CRED. EFETV. NA TABELA E000ISC -----@ definir numero xServ_Nulo; EstaNulo(E440ISC.CODSER, xServ_Nulo); Se ((xTns_CPRRIC = 'S') e (xFor_RECICM = 'S') e ((xServ_Nulo = 1) ou ((xServ_Nulo = 0) e (xSer_RECICM = 'S')))) inicio ExecSql "UPDATE E000ISC SET BECICM = VLRBIC, VECICM = VLRICM, PECICM = PERICM WHERE CGCFOR = :xFor_CGCCPF AND NUMNFC = :xNUMNFC AND SEQISC = :xSEQISC"; fim; @----- SE A NOTA CREDITA IPI - SALVAR O VALOR DO IPI CRED. EFETV. NA TABELA E000ISC -----@ Se ((xTns_CPRRIP = 'S') e (xFor_RECIPI = 'S') e ((xServ_Nulo = 1) ou ((xServ_Nulo = 0) e (xSer_RECIPI = 'S')))) inicio ExecSql "UPDATE E000IPC SET BECIPI = VLRBIP, VECIPI = VLRIPI, PECIPI = PERIPI WHERE CGCFOR = :xFor_CGCCPF AND NUMNFC = :xNUMNFC AND SEQISC = :xSEQISC"; fim; /*******************************************************************************/