Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Referenciar 2 DT_DOC em blocos with


Minas Software
Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 1028 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Em 29/12/2010 at 11:21, Isaque Pinheiro disse:

 

 

 

with RegistroC405New do

begin

   DT_DOC := Date;


   with RegistroC460New do

   begin

      DT_DOC := Date;

   end;

end;

[/code]

 

Olá, boa tarde, estou fazendo isso porém aqui 

with REgistroC460New do
              begin

                  NumeroCF := copy(cdsC460NUMERO.AsString, 3, 7);//Usando o copy para tirar o CF e no -3 do final do cupom
                  NUM_DOC := StringReplace(NumeroCF, '-', '', [rfReplaceAll]);////AQUI ELE PEGA UM OUTRO NÚMERO

Parece que o NUM_DOC pega um valor que não consigo entender, veja na img abaixo, se alguém puder ajudar ficarei grato.

image.thumb.png.b893bfb8ad16ed478e8ab7ad01da5a34.png


 

Link to comment
Share on other sites

  • Administradores

Boa tarde.

Para mim sua postagem esta um pouco confusa...de qualquer forma chegou a fazer um teste no demo ?

Att.

  • Like 1
Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Membros Pro

Olá boa tarde, vou tentar explicar melhor

Estou fazendo assim

With RegistroC405New do

begin

          
  with REgistroC460New do

  begin
    //É aqui que esta o problema ele esta pega o que esta sendo passado    
    NUM_DOC := cdsC460NUMERO.AsString;    

    //Nas demais linha pega o conteudo certo
    COD_MOD := dmECF.cdsConfigMODELO_ECF.AsString; //ok
    VL_DOC := cdsC460VALORNOTA.AsFloat;            //ok
    NOM_ADQ := cdsC460NOME.AsString;               //ok
    e etc...   
  end;          
end;

 

Parece que o NUM_DOC do C460 esta pegando o campo do C405(posição CRO).

 

Deu para entender?

 

Link to comment
Share on other sites

  • Membros Pro

With RegistroC405New do

begin

          
  with REgistroC460New do

  begin
    //É aqui que esta o problema ele não esta pega o que esta sendo passado    
    NUM_DOC := cdsC460NUMERO.AsString;    

    //Nas demais linha pega o conteudo certo
    COD_MOD := dmECF.cdsConfigMODELO_ECF.AsString; //ok
    VL_DOC := cdsC460VALORNOTA.AsFloat;            //ok
    NOM_ADQ := cdsC460NOME.AsString;               //ok
    e etc...   
  end;          
end;

 

Parece que o NUM_DOC do C460 esta pegando o campo do C405(posição CRO).

 

Deu para entender?

Link to comment
Share on other sites

  • Administradores

Boa tarde.

Recomendo realizar novos testes usando valores fixos para facilitar seu debug e usando o demo.

Em nenhum momento é feita a substituição dos valores passados ao componente.

Att.

 

  • Like 1
Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores
  • Solution
18 horas atrás, Minas Software disse:

With RegistroC405New do

begin

          
  with REgistroC460New do

Eu sugiro você evitar o uso do With em seu código de produção, principalmente em queries e registros SPED, SINTEGRA, etc...

Não que ele não possa ser utilizado. Usamos ele nos aplicativos de exemplo e até em códigos do componente.

Mas muitas vezes o código acaba ficando mais confuso.

Altere o seu código pra algo como:

var
  UmRegC405: TRegistroC405;
  UmRegC460: TRegistroC460;
begin
(...)

  UmRegC405 := RegistroC405New;
  UmRegC460 := REgistroC460New;
  UmRegC460.NUM_DOC := cdsC460NUMERO.AsString;
  UmRegC460.COD_MOD := dmECF.cdsConfigMODELO_ECF.AsString; 
  UmRegC460.VL_DOC := cdsC460VALORNOTA.AsFloat;            
  UmRegC460.NOM_ADQ := cdsC460NOME.AsString;               
(...)
end;

 

  • Like 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro
4 minutos atrás, EMBarbosa disse:

Eu sugiro você evitar o uso do With em seu código de produção, principalmente em queries e registros SPED, SINTEGRA, etc...

Não que ele não possa ser utilizado. Usamos ele nos aplicativos de exemplo e até em códigos do componente.

Mas muitas vezes o código acaba ficando mais confuso.

Altere o seu código pra algo como:

var
  UmRegC405: TRegistroC405;
  UmRegC460: TRegistroC460;
begin
(...)

  UmRegC405 := RegistroC405New;
  UmRegC460 := REgistroC460New;
  UmRegC460.NUM_DOC := cdsC460NUMERO.AsString;
  UmRegC460.COD_MOD := dmECF.cdsConfigMODELO_ECF.AsString; 
  UmRegC460.VL_DOC := cdsC460VALORNOTA.AsFloat;            
  UmRegC460.NOM_ADQ := cdsC460NOME.AsString;               
(...)
end;

 

Ok obrigado pela dica, vou fazer essas mudanças.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.