Fórum operador not applicable to this operand type #356271
31/03/2008
0
unit Fat_Adm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Grids, DBGrids, Buttons, ExtCtrls, Mask,
ShellApi, ActnList, Psock, NMsmtp;
type
TFRMRELFATADM = class(TForm)
Timer1: TTimer;
QRYFAT_ADM: TQuery;
QRYCADSEG: TQuery;
SPINCLUIR_DETFATADM: TStoredProc;
SPINCLUIR_FATSINADM: TStoredProc;
QRYCADSUB: TQuery;
QRYULTSIN: TQuery;
QRYVALOR_TOTAL: TQuery;
Database2: TDatabase;
QRY_CADSIN: TQuery;
QRY_DETFATADM: TQuery;
QRYULTSINULTDTEMI: TDateTimeField;
QRY_DETFATADMCODSUB: TFloatField;
QRY_DETFATADMDATEVE: TDateTimeField;
QRY_DETFATADMNOMPRE: TStringField;
QRY_DETFATADMVALFAT: TFloatField;
QRY_DETFATADMDESCRI: TStringField;
QRY_DETFATADMCENTRO: TStringField;
QRY_DETFATADMNOMTIT: TStringField;
QRY_DETFATADMDATAVI: TDateTimeField;
QRY_DETFATADMANO: TFloatField;
QRY_DETFATADMMES: TFloatField;
QRY_DETFATADMANOSIN: TFloatField;
QRY_DETFATADMCODSIN: TFloatField;
QRY_DETFATADMDIGITO: TFloatField;
QRY_DETFATADMCODSEG: TFloatField;
QRY_DETFATADMSEQUEN: TFloatField;
QRY_DETFATADMNUMCOB: TFloatField;
QRYCADSUBNOMSUB_CADSUB: TStringField;
QRYCADSUBCGCSUB_CADSUB: TStringField;
QRYVALOR_TOTALSUMVALFAT: TFloatField;
QRYCADSEGNOMSEG_CADSEG: TStringField;
QRYCADSEGCENTRO_CADSEG: TStringField;
QRYCADSEGSEXSEG_CADSEG: TStringField;
QRYCADSEGDATNAS_CADSEG: TDateTimeField;
QRYCADSEGPARENT_CADSEG: TStringField;
QRYCADSEGOBSERV_CADSEG: TStringField;
Qry_VerSubPri: TQuery;
Qry_VerSubPriCODSUB_SINADM: TFloatField;
Qry_VerSubPriGRUPO_SINADM: TStringField;
Qry_VerSubPriINICIO_SINADM: TDateTimeField;
Qry_VerSubPriFIM_SINADM: TDateTimeField;
Qry_VerSubPriCOB_SINADM: TFloatField;
Qry_VerSubPriTAXA_SINADM: TFloatField;
Qry_VerSubPriNOME_SINADM: TStringField;
QRYFAT_ADMCODSUB_SINADM: TFloatField;
QRYFAT_ADMGRUPO_SINADM: TStringField;
QRYFAT_ADMINICIO_SINADM: TDateTimeField;
QRYFAT_ADMFIM_SINADM: TDateTimeField;
QRYFAT_ADMCOB_SINADM: TFloatField;
QRYFAT_ADMTAXA_SINADM: TFloatField;
QRYFAT_ADMNOME_SINADM: TStringField;
QRY_ULTMESIN: TQuery;
QRY_ULTMESINMES: TFloatField;
QRYTAB_FATADM: TQuery;
QRYTAB_FATADMUSUARIO: TStringField;
QRYTAB_FATADMCODSUB: TFloatField;
QRYTAB_FATADMPROCES: TStringField;
QRYTAB_FATADMEMITIR: TStringField;
Panel1: TPanel;
QRYSUBPRI: TQuery;
QRYSUBPRISUBPRI_CADSUB: TFloatField;
Label1: TLabel;
QRY_CADSINCODSUB_CADSIN: TFloatField;
QRY_CADSINCODSEG_CADSIN: TFloatField;
QRY_CADSINSEQUEN_CADSIN: TFloatField;
QRY_CADSINDATEVE_CADSIN: TDateTimeField;
QRY_CADSINVALIND_CADSIN: TFloatField;
QRY_CADSINANOSIN_CADSIN: TFloatField;
QRY_CADSINCODSIN_CADSIN: TFloatField;
QRY_CADSINDIGITO_CADSIN: TFloatField;
QRY_CADSINNUMCOB_CADSIN: TFloatField;
QRY_CADSINNOMPRE_CADSIN: TStringField;
QRY_CADSINDATAVI_CADSIN: TDateTimeField;
QRYBFATSINADM: TQuery;
QRYBFATSINADMVALFAT: TFloatField;
QRYFAT_ADMTXCOR_SINADM: TFloatField;
Qry_VerSubPriTXCOR_SINADM: TFloatField;
SPINCLUIR_DetFatAdmCor: TStoredProc;
procedure FormCreate(Sender: TObject);
procedure GeraDetalhe;
procedure GeraFatura;
procedure GeraFaturaIni;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FRMRELFATADM: TFRMRELFATADM;
VERSAO,USUARIO,VACESSO,VUSER:STRING;
DATINISUB,DATTERSUB:TDATE;
OK,OK1,CGCSUB,CGC_SIN,CGC_PS,DATEVE,DATINI,DATTER,DATEMI,REP_EXAME,TEM_FQ,TEM_FQ_B,PS,FN,
DET_OK,DATPGT_CADSIN,DOCORI_CADSIN:STRING;
ANO_ATUAL,ANO_NASC,MES_ATUAL,MES_NASC,IDADE,ANO,I:INTEGER;
VALFRA,VALFRA_TOTAL,VALADM_TOTAL,VALOR_ATE,VALOR_ATE1,VALOR_MAX,VALADM,VALTXCOR:REAL;
MESINI,ANOINI,ANOTUAL,
ANO_PROCES,MES_PROCES:INTEGER;
implementation
{$R *.dfm}
Uses Un_Acesso;
//end;
procedure TFRMRELFATADM.FormCreate(Sender: TObject);
begin
{ Label7.Caption:=´Inicío: ´+TimeToStr(Time);}
DataBase2.Open;
VERSAO:=´1´;
vAcesso := Verifica_Acesso(´1´,´PFAT_ADM.EXE´,´HP1´, vUser);
USUARIO:=vUSER;
FRMRELFATADM.Caption := FRMRELFATADM.Caption + ´ - (´ + vUser + ´)´+´ - Versão: ´+versao;
end;
procedure TFRMRELFATADM.GeraDetalhe;
begin
//Inclusão do Corpo da Fatura - Seleciona o Associado Titular
QryCadseg.Close;
QryCadseg.ParamByName(´CODSUB´).AsInteger:=Qry_CadsinCODSUB_CADSIN.AsInteger;
QryCadseg.ParamByName(´CODSEG´).AsInteger:=Qry_CadsinCODSEG_CADSIN.AsInteger;
QryCadseg.ParamByName(´SEQUEN´).AsInteger:=0;
QryCadseg.Open;
if QryCadSegNOMSEG_CADSEG.AsString <> ´´ then
begin
//CALCULA O VALOR ADMINISTRADO(¬)
VALADM := QRY_CADSINVALIND_CADSIN.AsFloat + (QRY_CADSINVALIND_CADSIN.AsFloat * (QryFat_AdmTAXA_SINADM.AsFloat / 100));
//CALCULO O VALOR ADM PARA O CORRETOR(¬)
VALTXCOR := QRY_CADSINVALIND_CADSIN.AsFloat + (QRY_CADSINVALIND_CADSIN.AsFloat * (QryFat_AdmTXCOR_SINADM.AsFloat / 100));
If VALADM<>0 then begin
//Incluindo Dados na DETFATADM
SpIncluir_DetFatAdm.ParamByName(´V_ANO´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
SpIncluir_DetFatAdm.ParamByName(´V_MES´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
SpIncluir_DetFatAdm.ParamByName(´V_CODSUB´).AsInteger:=QRY_CADSINCODSUB_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_ANOSIN´).AsInteger:=QRY_CADSINANOSIN_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_CODSIN´).AsInteger:=QRY_CADSINCODSIN_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_DIGITO´).AsInteger:=QRY_CADSINDIGITO_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_CODSEG´).AsInteger:=QRY_CADSINCODSEG_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_SEQUEN´).AsInteger:=QRY_CADSINSEQUEN_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_NUMCOB´).AsInteger:=QRY_CADSINNUMCOB_CADSIN.AsInteger;
SpIncluir_DetFatAdm.ParamByName(´V_DATEVE´).AsString:=QRY_CADSINDATEVE_CADSIN.AsString;
SpIncluir_DetFatAdm.ParamByName(´V_NOMPRE´).AsString:=QRY_CADSINNOMPRE_CADSIN.AsString;
SpIncluir_DetFatAdm.ParamByName(´V_VALFAT´).AsFloat:=VALADM;
SpIncluir_DetFatAdm.ParamByName(´V_DESCRI´).AsString:=´ ´;
SpIncluir_DetFatAdm.ParamByName(´V_CENTRO´).AsString:=QryCadsegCENTRO_CADSEG.AsString;
SpIncluir_DetFatAdm.ParamByName(´V_NOMTIT´).AsString:=QryCadsegNOMSEG_CADSEG.AsString;
SpIncluir_DetFatAdm.ParamByName(´V_DATAVI´).AsString:=Copy(QRY_CADSINDATAVI_CADSIN.AsString,1,10);
SpIncluir_DetFatAdm.ExecProc;
DET_OK := ´S´; //Variavel para confirmar q gerou tabela detfatadm e pode gerar tabela de fatura
end;
//CARGA TABELA PARA TXCOR
If VALTXCOR<>0 then begin
SpIncluir_DetFatAdmCor.ParamByName(´V_ANO´).AsFloat:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
SpIncluir_DetFatAdmCor.ParamByName(´V_MES´).AsFloat:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
SpIncluir_DetFatAdmCor.ParamByName(´V_CODSUB´).AsFloat:=QRY_CADSINCODSUB_CADSIN.AsFloat;
SpIncluir_DetFatAdmCor.ParamByName(´V_VALCOR´).AsFloat:=VALTXCOR;
SpIncluir_DetFatAdmCor.ExecProc;
end;
end;
end;
procedure TFRMRELFATADM.GeraFaturaIni;
begin
SPINCLUIR_FATSINADM.ParamByName(´V_OPCAO´).AsString:=´1´;
SPINCLUIR_FATSINADM.ParamByName(´V_ANO´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
SPINCLUIR_FATSINADM.ParamByName(´V_MES´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
SPINCLUIR_FATSINADM.ParamByName(´V_CODSUB´).AsInteger:=QRYTAB_FATADMCODSUB.AsInteger;
SPINCLUIR_FATSINADM.ParamByName(´V_NOMSUB´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_CGCSUB´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_VALFAT´).AsFloat:=0;
SPINCLUIR_FATSINADM.ParamByName(´V_DATEMI´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_DATVEN´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_DATPGT´).AsInteger:=0;
SPINCLUIR_FATSINADM.ParamByName(´V_VALPGT´).AsFloat:=0;
SPINCLUIR_FATSINADM.ParamByName(´V_NUMDOC´).AsString:=´ ´;
SPINCLUIR_FATSINADM.ParamByName(´V_BARRAS´).AsString:=´ ´;
SPINCLUIR_FATSINADM.ParamByName(´V_NNUM´).AsString:=´ ´;
try
SPINCLUIR_FATSINADM.ExecProc;//Inclui dados na FATSINADM
except
//passa em branco pois ja existe registro na tabela e estamos rodando um caso de Reemissao
end;//end try
end;
procedure TFRMRELFATADM.GeraFatura;
begin
//GERANDO O BOLETO DE FATURA( INCLUSAO NA TABELA DE FATSINADM )
// Inclusão do Cabeçalho da Fatura
QryCadsub.Close;
QryCadsub.ParamByName(´CODSUB´).AsInteger:=QRYTAB_FATADMCODSUB.AsInteger;
QryCadsub.Open;
CGCSUB:=QryCadsubCGCSUB_CADSUB.AsString;
If Length(CGCSUB)=15 then begin
Insert(´-´,CGCSUB,14);
Insert(´/´,CGCSUB,10);
Insert(´.´,CGCSUB,7);
Insert(´.´,CGCSUB,4);
end Else If Length(CGCSUB)=14 then begin
Insert(´-´,CGCSUB,13);
Insert(´/´,CGCSUB,9);
Insert(´.´,CGCSUB,6);
Insert(´.´,CGCSUB,3);
end Else If Length(CGCSUB)=13 then begin
Insert(´-´,CGCSUB,12);
Insert(´/´,CGCSUB,8);
Insert(´.´,CGCSUB,5);
Insert(´.´,CGCSUB,2);
end Else If Length(CGCSUB)=12 then begin
Insert(´-´,CGCSUB,11);
Insert(´/´,CGCSUB,7);
Insert(´.´,CGCSUB,4);
end Else If Length(CGCSUB)<=11 then begin
Insert(´-´,CGCSUB,10);
Insert(´.´,CGCSUB,7);
Insert(´.´,CGCSUB,4);
end;
QryValor_Total.Close;
QryValor_Total.ParamByName(´ANO´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
QryValor_Total.ParamByName(´MES´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
QryValor_Total.ParamByName(´CODSUB´).AsInteger:=QRYTAB_FATADMCODSUB.AsInteger;
QryValor_Total.Open; //SELECT DA DETFATADM
VALADM_TOTAL:=QryValor_TotalSUMVALFAT.AsFloat;
//inclusao na FATSINADM
If (ValAdm_Total<>0) then
begin
SPINCLUIR_FATSINADM.ParamByName(´V_OPCAO´).AsString:=´2´; //OPÇAO DE UPDATE
SPINCLUIR_FATSINADM.ParamByName(´V_ANO´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
SPINCLUIR_FATSINADM.ParamByName(´V_MES´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
SPINCLUIR_FATSINADM.ParamByName(´V_CODSUB´).AsInteger:=QryFat_AdmCODSUB_SINADM.AsInteger;
SPINCLUIR_FATSINADM.ParamByName(´V_NOMSUB´).AsString:=QryCadsubNOMSUB_CADSUB.AsString;
SPINCLUIR_FATSINADM.ParamByName(´V_CGCSUB´).AsString:=CGCSUB;
SPINCLUIR_FATSINADM.ParamByName(´V_VALFAT´).AsFloat:=VALADM_TOTAL;
SPINCLUIR_FATSINADM.ParamByName(´V_DATEMI´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_DATVEN´).AsString:=´´;
SPINCLUIR_FATSINADM.ParamByName(´V_DATPGT´).AsInteger:=0;
SPINCLUIR_FATSINADM.ParamByName(´V_VALPGT´).AsFloat:=0;
SPINCLUIR_FATSINADM.ParamByName(´V_NUMDOC´).AsString:=´ ´;
SPINCLUIR_FATSINADM.ParamByName(´V_BARRAS´).AsString:=´ ´;
SPINCLUIR_FATSINADM.ParamByName(´V_NNUM´).AsString:=´ ´;
SPINCLUIR_FATSINADM.ExecProc;//Inclui dados na FATSINADM
end;
end;
procedure TFRMRELFATADM.Timer1Timer(Sender: TObject);
begin
//SHOWMESSAGE(´STOP´);
Timer1.Enabled:=False;
label1.Caption := ´´;
label1.Caption := ´Verificando se existe Sinistro Administrado para este Período´;
FRMRELFATADM.Refresh;
//Busca o Estipulante oriundo do processo do P_DESCON3
QRYTAB_FATADM.Close;
QRYTAB_FATADM.ParamByName(´USUARIO´).AsString := USUARIO;
QRYTAB_FATADM.Open; //Neste momento vou encontrar somente 1 registro
//Lê a Ultima Data de Emissão do Sub da FATSINADM //dar carga na tabela antes da implantação
QRYULTSIN.Close;
QRYULTSIN.ParamByName(´CODSUB´).AsInteger := QRYTAB_FATADMCODSUB.AsInteger;
QRYULTSIN.Open;
{SELECT max(datemi) from fatsinadm
WHERE CODSUB=EDIT1.TEXT
}
DATEMI := QRYULTSINULTDTEMI.AsString;
//Lê a CADSIN
QRY_CADSIN.Close;
QRY_CADSIN.ParamByName(´CODSUB´).AsInteger := QRY_CADSINCODSUB_CADSIN.AsInteger;
QRY_CADSIN.ParamByName(´DATEMI´).AsDateTime:= QRYULTSINULTDTEMI.AsDateTime;
QRY_CADSIN.Open;
{Select CODSUB_CADSIN, CODSEG_CADSIN, SEQUEN_CADSIN, DATEVE_CADSIN, VALIND_CADSIN,
FROM CADSIN
WHERE CODSUB_CADSIN:=CODSUB AND STATUS_CADSIN=´0´
AND SINADM_CADSIN = ´S´
AND DATPGT_CADSIN>=DATEMI
}
// verificação de pagamento a mais de 30 dias com documento faltante
if (DATEMI - DATPGT_CADSIN) > 30 and (DOCORI_CADSIN = ´P´) else
//SPINCLUIR_FATSINADM.ExecProc;//Inclui dados na FATSINADM
DATPGT_CADSIN := SPINCLUIR_FATSINADM.AsString;
end;
DataBase2.StartTransaction;
Try
if QRY_CADSINCODSUB_CADSIN.AsInteger = 0 then
begin
//showmessage(´Não existem Sinistros para este Estipulante.´);
FRMRELFATADM.Close;
end
else
begin
//inserindo registro inicial na fatsinadm com este process para nao violar a chave
//ao cadastrar na DetFatAdm
GeraFaturaIni; //se já existir registro, vai bugar, porém o try irá corrigir para somente atualizar
While NOT QRY_CADSIN.Eof Do
begin
//Verifica se existe Sinistro na DETFATADM
QRY_DETFATADM.Close;
QRY_DETFATADM.ParamByName(´ANO´).AsInteger := QRY_CADSINANOSIN_CADSIN.AsInteger;
QRY_DETFATADM.ParamByName(´CODSIN´).AsInteger := QRY_CADSINCODSIN_CADSIN.AsInteger;
QRY_DETFATADM.ParamByName(´DIGITO´).AsInteger := QRY_CADSINDIGITO_CADSIN.AsInteger;
QRY_DETFATADM.Open;
{SELECT * FROM DETFATADM
WHERE ANOSIN=:ANO_CADSIN
AND CODSIN=:CODSIN_CADSIN
AND DIGITO=:DIGITO_CADSIN
}
If QRY_DETFATADMCODSUB.AsInteger = 0 then
begin
//achando o subprincipal deste estipulante
QrySubPri.Close;
QrySubPri.ParamByName(´CODSUB´).AsInteger:=QRYTAB_FATADMCODSUB.AsInteger;
QrySubPri.Open;
If QrySubPriSUBPRI_CADSUB.AsInteger <> 0 then //achou sub principal
begin
//verifica se existe cadastro na Fat Adm para o principal
Qry_VerSubPri.Close;
Qry_VerSubPri.ParamByName(´SUBPRI´).AsInteger := QrySubPriSUBPRI_CADSUB.AsInteger;
Qry_VerSubPri.ParamByName(´COB´).AsInteger := QRY_CADSINNUMCOB_CADSIN.AsInteger;
Qry_VerSubPri.ParamByName(´INICIO´).AsDateTime:= QRY_CADSINDATEVE_CADSIN.AsDateTime;
Qry_VerSubPri.ParamByName(´FIM´).AsDateTime := QRY_CADSINDATEVE_CADSIN.AsDateTime;
Qry_VerSubPri.Open; //deve me voltar somente um registro
{SELECT * FROM CADSINADM
WHERE CODSUB=:SUBPRI
AND GRUPO_SINADM=´S´
AND COB_SINADM=:COB
AND INCIO_SINADM>=:INICIO AND FIM_SINADM<=:FIM
}
if Qry_VerSubPriCODSUB_SINADM.AsInteger <> 0 then
GeraDetalhe;
end
else //caso nao tenha achado subprincipal deste estipulante
begin // Lê a Tabela do Cadastro(CADSINADM) com Estipulantes que precisam emitir a Fatura de Administrado
QryFat_Adm.Close;
QryFat_Adm.ParamByName(´CODSUB´).AsInteger:= QRY_CADSINCODSUB_CADSIN.AsInteger;
QryFat_Adm.ParamByName(´COB´).AsInteger := QRY_CADSINNUMCOB_CADSIN.AsInteger;
QryFat_Adm.ParamByName(´DATA´).AsString := QRY_CADSINDATEVE_CADSIN.AsString;
QryFat_Adm.Open;
If QryFat_AdmCODSUB_SINADM.AsInteger <> 0 then
end;
end;//caso encontrado na DETFATADM
QRY_CADSIN.Next;
end;// END NOT QRY_CADSIN.EOF
end; //END ELSE
if DET_OK = ´S´ then
GeraFatura;//update e cria fatura final
Except
DataBase2.Rollback;
showmessage(´Erro encontrado na Geração da Fatura Administrada´);
end;//end try
//deleta da fatsinadm se valfat igual a zero.
QRYBFATSINADM.Close;
QRYBFATSINADM.ParamByName(´ANO´).AsInteger := STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
QRYBFATSINADM.ParamByName(´MES´).AsInteger := STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
QRYBFATSINADM.ParamByName(´CODSUB´).AsInteger := QRYTAB_FATADMCODSUB.AsInteger;
QRYBFATSINADM.Open;
if QRYBFATSINADMVALFAT.AsFloat = 0 then //FAZER BUSCA DESTE CAMPO POR QUERY
begin
SPINCLUIR_FATSINADM.ParamByName(´V_OPCAO´).AsString:=´3´; // OPÇÃO DE EXCLUSÃO
SPINCLUIR_FATSINADM.ParamByName(´V_ANO´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,4,4));
SPINCLUIR_FATSINADM.ParamByName(´V_MES´).AsInteger:=STRTOINT(COPY(QRYTAB_FATADMPROCES.AsString,1,2));
SPINCLUIR_FATSINADM.ParamByName(´V_COBSUB´).AsInteger:=QRYTAB_FATADMCODSUB.AsInteger;
SPINCLUIR_FATSINADM.ExecProc; // Inclui dados na FATSINADM
end;
FRMRELFATADM.Close;
end;
end.[b:bdb96d64a8][/b:bdb96d64a8]
Jaq
Curtir tópico
+ 0Posts
31/03/2008
Massuda
Gostei + 0
31/03/2008
Jaq
[b:56d4580303] if (DATEMI - DATPGT_CADSIN) > 30 and (DOCORI_CADSIN = ´P´) else[/b:56d4580303]
//SPINCLUIR_FATSINADM.ExecProc;//Inclui dados na FATSINADM
DATPGT_CADSIN := SPINCLUIR_FATSINADM.AsString;
Gostei + 0
01/04/2008
Joaoshi
tente trocar:
if (DATEMI - DATPGT_CADSIN) > 30 and (DOCORI_CADSIN = ´P´) else
por
if (DATEMI - DATPGT_CADSIN > 30[b:69d87063c8])[/b:69d87063c8] and (DOCORI_CADSIN = ´P´) else
Espero ter ajudado.
Gostei + 0
03/04/2008
Emerson Nascimento
o correto é
if (DATEMI - DATPGT_CADSIN > 30[b:d9c5d4abc2])[/b:d9c5d4abc2] and (DOCORI_CADSIN = ´P´) [b:d9c5d4abc2]THEN[/b:d9c5d4abc2]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)