Erro ao gerar contas
20/12/2005
0
Blz galera...estou com problema estranho tinha uma função funcionava perfeitinho...aí coliquei esta função ( só pode ser algo a ver com ela pois antes funcionava...) e depois parou de funcionar dá um erro que a BD_CONTAS_TPA não está em mode de edição...esta tabela em questão serve de suporte para uma outra, serve para gerar códigos de indentificação para tabelas de contas a pagar... o código adiciondo foi este ...
e o código completo é este...
Vlw quem poder me ajudar vlw msm...t+
with BD_ORCA_ITENS do begin First; Try while not BD_ORCA_ITENS.eof do begin BD_ESTOQUE.Close; BD_ESTOQUE.SQL.Clear; BD_ESTOQUE.SQL.Add(´select * from ESTOQUE where GS_EST_CODIGO=´+inttostr(BD_ORCA_ITENSGS_OOEI_CODPROD.Value)); BD_ESTOQUE.Open; BD_ESTOQUE.Edit; if not BD_ORCA_ITENSGS_OOEI_CODPROD.IsNull then begin BD_ESTOQUEGS_EST_QNT.Value := BD_ESTOQUEGS_EST_QNT.Value - BD_ORCA_ITENSGS_OOEI_QNT.Value; BD_ESTOQUE.Post; BD_ORCA_ITENS.next; end else BD_ORCA_ITENS.next; end; DM1.IBTransaction1.CommitRetaining; except showmessage(´Problema com o banco de dados.´); DM1.IBTransaction1.rollback; end; end;
e o código completo é este...
procedure T_FORM_OS_BX.Geraparcelas; var v_count,v_parc: integer; v_date:Tdatetime; v_valor:REAL; begin BD_CONTAS_TPA.Post; v_date:=strtodate(eddata.text)+ strtofloat(ComboBox2.text); v_count:=strtoint(edparcela.text); v_parc:=1; if edentrada.Text <> ´0,00´ then ARQUIV_MORTO_FINAN; while v_count>0 do begin BD_CONT_REC.insert; BD_CONT_REC.FieldByName(´GS_COR_N_PARCELAS´).asinteger:=(v_parc); V_VALOR:=((StrtoFloat(Label17.caption)))/strtoint((edparcela.text)); BD_CONT_REC.fieldbyname(´GS_COR_VALOR_PARCELA´).value:=floattostrf(v_valor,ffFixed,10,2); BD_CONT_REC.FieldByName(´GS_COR_DATA_VENC´).asdatetime:=v_date; BD_CONT_RECGS_COR_END.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_END.Value; BD_CONT_RECGS_COR_NOME.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_NOME.Value; BD_CONT_RECGS_COR_COMP.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_COMP.Value; BD_CONT_RECGS_COR_BAIRRO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_BAIRRO.Value; BD_CONT_RECGS_COR_CIDADE.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CIDADE.Value; BD_CONT_RECGS_COR_CEP.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CEP.Value; BD_CONT_RECGS_COR_CODCLI.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CODACES.value; BD_CONT_RECGS_COR_TEL_01.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_01.Value; BD_CONT_RECGS_COR_TEL_02.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_02.Value; BD_CONT_RECGS_COR_TEL_03.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_03.Value; BD_CONT_RECGS_COR_TEL_04.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_04.Value; BD_CONT_RECGS_COR_UF.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_UF.Value; BD_CONT_RECGS_COR_CODPROD.Value := Label27.Caption; BD_CONT_RECGS_COR_VALOR_TOTAL.Value := edvalor.Text; BD_CONT_RECGS_COR_VALOR_ENT.Value := edentrada.Text; BD_CONT_RECGS_COR_DESCRICAO.Value := ´Parcelamento da OS - ´+(Label27.Caption); BD_CONT_RECGS_COR_DATA_CAD.Value := StrToDate(FormatDateTime(´dd/mm/yyyy´,Date)); BD_CONT_RECGS_COR_CODACES.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CODACES.value; BD_CONT_RECGS_COR_CODACESPAR.Value := BD_CONTAS_TPAGS_TPA_CODIGO.Value; BD_CONT_REC.post; v_count:=v_count-1; v_parc:=v_parc+1; v_date:=v_date+30; BD_CONT_REC.next; end; BD_AM_OSOE.Insert; BD_AM_OSOEGS_AMOOEI_CON_SAIDA.Value := ´Consertado´; BD_AM_OSOEGS_AMOOEI_USU_LOG.Value:= _FORM_PRINCIPAL.StatusBar.Panels[2].text; BD_AM_OSOEGS_AMOOEI_END.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_END.Value; BD_AM_OSOEGS_AMOOEI_COMP.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_COMP.Value; BD_AM_OSOEGS_AMOOEI_BAIRRO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_BAIRRO.Value; BD_AM_OSOEGS_AMOOEI_CIDADE.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CIDADE.Value; BD_AM_OSOEGS_AMOOEI_CEP.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CEP.Value; BD_AM_OSOEGS_AMOOEI_TEL_01.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_01.Value; BD_AM_OSOEGS_AMOOEI_TEL_02.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_02.Value; BD_AM_OSOEGS_AMOOEI_TEL_03.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_03.Value; BD_AM_OSOEGS_AMOOEI_TEL_04.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEL_04.Value; BD_AM_OSOEGS_AMOOEI_ACESSORIOS.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_ACESSORIOS.Value; BD_AM_OSOEGS_AMOOEI_DEF_ALEGADO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DEF_ALEGADO.Value; BD_AM_OSOEGS_AMOOEI_TIPCONSERTO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TIPCONSERTO.Value; BD_AM_OSOEGS_AMOOEI_APROVSN.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_APROVSN.Value; BD_AM_OSOEGS_AMOOEI_DATA_AGE.Value := Date; BD_AM_OSOEGS_AMOOEI_HORA_ENT.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TIPCONSERTO.Value; BD_AM_OSOEGS_AMOOEI_UF.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_UF.Value; BD_AM_OSOEGS_AMOOEI_EMAIL.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_EMAIL.Value; BD_AM_OSOEGS_AMOOEI_NOME.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_NOME.Value; BD_AM_OSOEGS_AMOOEI_CODACES.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CODACES.Value; BD_AM_OSOEGS_AMOOEI_DATA_ENT.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DATA_ENT.Value; BD_AM_OSOEGS_AMOOEI_DATA_ORC.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DATA_ORC.Value; BD_AM_OSOEGS_AMOOEI_VALOR_TOT.Value := Edit3.Text; BD_AM_OSOEGS_AMOOEI_APDESCR.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_APDESCR.Value; BD_AM_OSOEGS_AMOOEI_DEF_ALEGADO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DEF_ALEGADO.Value; BD_AM_OSOEGS_AMOOEI_MARCA.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_MARCA.Value; BD_AM_OSOEGS_AMOOEI_MODELO.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_MODELO.Value; BD_AM_OSOEGS_AMOOEI_NSERIE.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_NSERIE.Value; BD_AM_OSOEGS_AMOOEI_DATA_ORC.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DATA_ENT.Value; BD_AM_OSOEGS_AMOOEI_DATA_SAI.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_DATA_SAI.Value; BD_AM_OSOEGS_AMOOEI_CODIGO_OS.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_CODIGO.Value; BD_AM_OSOEGS_AMOOEI_TEC_RESP.Value := _FORM_OS_NAV.BD_OFC_ELEGS_OOE_TEC_RESP.Value; BD_AM_OSOE.Post; with BD_ORCA_ITENS do begin First; Try while not BD_ORCA_ITENS.eof do begin BD_ESTOQUE.Close; BD_ESTOQUE.SQL.Clear; BD_ESTOQUE.SQL.Add(´select * from ESTOQUE where GS_EST_CODIGO=´+inttostr(BD_ORCA_ITENSGS_OOEI_CODPROD.Value)); BD_ESTOQUE.Open; BD_ESTOQUE.Edit; if not BD_ORCA_ITENSGS_OOEI_CODPROD.IsNull then begin BD_ESTOQUEGS_EST_QNT.Value := BD_ESTOQUEGS_EST_QNT.Value - BD_ORCA_ITENSGS_OOEI_QNT.Value; BD_ESTOQUE.Post; BD_ORCA_ITENS.next; end else BD_ORCA_ITENS.next; end; DM1.IBTransaction1.CommitRetaining; except showmessage(´Problema com o banco de dados.´); DM1.IBTransaction1.rollback; end; end; With BD_CONT_REC do begin Close; SQL.Clear; SQL.Add(´SELECT * FROM CONTAS_RECEBER´); SQL.Add(´WHERE UPPER(GS_COR_CODACESPAR) LIKE:GS_COR_CODACESPAR´); BD_CONT_REC.Params[0].AsString := UpperCase(inttostr(BD_CONTAS_TPAGS_TPA_CODIGO.Value)) + ´¬´; BD_CONT_REC.Open; end; if MessageDlg(´Deseja imprimir promissórias ?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then QuickRep3.Print; if MessageDlg(´Imprimir documento de saida ?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then QuickRep4.Print; BD_ORCA_ITENS.First; while not BD_ORCA_ITENS.Eof do BD_ORCA_ITENS.Delete; _FORM_OS_NAV.BD_OFC_ELE.Delete; Close; end;
Vlw quem poder me ajudar vlw msm...t+
Gigatel
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)