procedure ValidarPcPedCEcf(poDadosPcPedCEcf : OleVariant; pbVendaNFe : boolean = false); var qry : OleVariant; vsSQL : string; i : integer; ColNum : OleVariant; begin vsSQL := 'SELECT VLTOTAL, '; vsSQL := vsSQL + ' VLATEND, '; vsSQL := vsSQL + ' VLTABELA, '; vsSQL := vsSQL + ' VLCUSTOFIN, '; vsSQL := vsSQL + ' VLCUSTOREAL, '; vsSQL := vsSQL + ' VLCUSTOCONT, '; vsSQL := vsSQL + ' NVL(VLACRESRODAPE, 0) as VLACRESRODAPE, '; vsSQL := vsSQL + ' NVL(VLDESCONTO, 0) as VLDESCONTO, '; vsSQL := vsSQL + ' PERDESC, '; vsSQL := vsSQL + ' VLTRIBUTOS, '; vsSQL := vsSQL + ' VLTRIBUTOSESTADUAL, '; vsSQL := vsSQL + ' VLPIS, '; vsSQL := vsSQL + ' VLCOFINS, '; vsSQL := vsSQL + ' CODCLI, '; vsSQL := vsSQL + ' CARTAOCRM '; vsSQL := vsSQL + 'FROM PCPEDCECF '; vsSQL := vsSQL + 'WHERE NUMPEDECF = '; vsSQL := vsSQL + ' (SELECT MAX(NUMPEDECF) '; vsSQL := vsSQL + ' FROM PCPEDCECF '; vsSQL := vsSQL + ' WHERE NOTADUPLIQUESVC IS NULL '; if not pbVendaNFe then vsSQL := vsSQL + ' AND "DATA" = TRUNC(SYSDATE)) ' else begin vsSQL := vsSQL + ' AND "DATA" = TRUNC(SYSDATE) '; vsSQL := vsSQL + ' AND PCPEDCECF.NUMCUPOM = 0) '; end; qry := LibDb.conexaoBanco('CaixaOra'); qry.SQL := vsSQL; qry.Open; Log.Event('Início validação PcPedCEcf'); ColNum := poDadosPcPedCEcf.ColumnCount; for i := 2 to (ColNum - 1) do begin if poDadosPcPedCEcf.Value[poDadosPcPedCEcf.ColumnName[i]] = qry.FieldByName(poDadosPcPedCEcf.ColumnName[i]).AsString then CriarMensagemCheckpoint(poDadosPcPedCEcf.ColumnName[i], poDadosPcPedCEcf.Value[poDadosPcPedCEcf.ColumnName[i]]) else CriarMensagemError(poDadosPcPedCEcf.ColumnName[i], poDadosPcPedCEcf.Value[poDadosPcPedCEcf.ColumnName[i]], qry.FieldByName(poDadosPcPedCEcf.ColumnName[i]).AsString); end; ValidarNumCaixaFiscal; Log.Event('Fim validação PcPedCEcf'); qry.Close; MOD020_2075_Geral.MostrarUtilizaRcaClienteArquivoIni; end;