Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Registro C481


leootoni
  • Este tópico foi criado há 3223 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts


Na unit ACBrEPCBloco_C_Class linha 2032 está assim

 

             DFill(ALIQ_PIS,       4, True) +
 

deveria estar

 

             DFill(ALIQ_PIS,       4, False) +
 

pois sem o zero dá erro na validação

Link to comment
Share on other sites

  • Consultores

Anexa a Unit com a correção, mais tranquilo para efetuar o merge nos fontes

Obrigado pela contribuição

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

Correção efetuada e disponível no SVN.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Isaque,

 

  Não pode fazer essa alteração da forma que foi apresentada não. A alíquota deve poder ser preenchida em branco. Precisamos analisar outra maneira. Veja esse tópico e os outros alistados neles:

[]'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

Hum, ok Elton, ou seja ela pode ter valor > 0, pode ser 0, ou até mesmo vazia. realmente teremos que analisar como proceder nesses casos, estou voltando a revisão anterior.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Então nesse caso em especifico vai ter que informar via programação caso for zero, senão vai em branco, correto?

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

O próprio componente se passar ZERO, com o parâmetro "True" ele retorna vazio, mas pelo que entendi terá casos como a CST 04 que a alíquota terá que sair ZERO no arquivo, e não VAZIO, é isso mesmo Elton que entendi ?

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Em resumo é exatamente isso. Existem casos em que a alíquota deve sair o número zero e existem casos em que a alíquota deve sair vazia, ou seja, "||".

E nós temos usuários que precisam que o componente funcione nos dois casos.

 

Hoje eu vou tentar alistar as condições para ver se seria possível tratá-las dentro do próprio componente.

[]'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

Temos duas opções:

 

1a Criar uma variável de controle e tratar cada CST dentro do componente para definir o valor dessa variável se = True (nulo) ou = False(Zero)

 

2a Retirar o 3o parâmetro da chamada da função de True para False, e Implementar na função DFill o tratamento que se o valor recebido for Zero, como o 3o parâmetro sera = False imprimirá Zero, e nas situações que for preciso nulo, passar os valores como negativo:

 

 

DFill(0,  4)  // Sairá zero
DFill(-1,  4) // Tratado dentro da função DFiil < 0 sairá nulo.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Então, como tinha dito que iria ajuntar informações sobre o problema, deixa eu vasculhar aqui os nossos arquivos do fórum sobre o assunto... :!:

 

1) Em casos de CST 05 usados por indústria, a alíquota deve ser preenchida com um valor da tabela apresentada pelo guia prático.

2) Há casos em que uma das alíquotas deve ser preenchida como zero. Esse é o caso de CST 05 para revenda de produtos de substituição (ex. cigarros).

3) Em casos de CST 04, a alíquota deve poder ser preenchida com valor vazio;

4) Em casos onde é preenchido o campo ALIQ_PIS_QUANT, o campo ALIQ_PIS deve ser vazio;

 

Vou verificar se existe mais alguma coisa...

 

Alguns dos posts relacionados:

[]'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

  • Moderadores

Fiz assim:

 

 var
    intFor     : integer;
    booTributaQtde : boolean;
begin
  if Assigned(RegC405.RegistroC481) then
  begin
    for intFor := 0 to RegC405.RegistroC481.Count - 1 do
    begin
      with RegC405.RegistroC481.Items[intFor] do
      begin

        booTributaQtde   := Integer(CST_PIS)=3;
        
        Add( LFill('C481')             +
             LFill(CstPisToStr(CST_PIS))  +
             LFill(VL_ITEM,0,2)        +
             DFill(VL_BC_PIS,      2, booTributaQtde) +
             DFill(ALIQ_PIS,       4, booTributaQtde) +
             DFill(QUANT_BC_PIS,   3, not booTributaQtde) +
             DFill(ALIQ_PIS_QUANT, 4, not booTributaQtde) +
             LFill(VL_PIS,0,2)         +
             LFill(COD_ITEM)           +
             LFill(COD_CTA) ) ;

        RegistroC990.QTD_LIN_C := RegistroC990.QTD_LIN_C + 1;
      end;
    end;
    // Variavél para armazenar a quantidade de registro do tipo.
    FRegistroC481Count := FRegistroC481Count + RegC405.RegistroC481.Count;
  end;

 

Veja se ajudaria.

Link to comment
Share on other sites

  • Consultores

Olá Waldir,

 Sua sugestão não resolve o caso 3. Também não resolve o caso 4, pois a correção é limitada ao CST = 03.

[]'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

  • Moderadores

Então, como tinha dito que iria ajuntar informações sobre o problema, deixa eu vasculhar aqui os nossos arquivos do fórum sobre o assunto...  :!:

 

Dessa forma resolve a 1 e 2?


1) Em casos de CST 05 usados por indústria, a alíquota deve ser preenchida com um valor da tabela apresentada pelo guia prático.

2) Há casos em que uma das alíquotas deve ser preenchida como zero. Esse é o caso de CST 05 para revenda de produtos de substituição (ex. cigarros).

 

 

Na situação 03!

Me diz em que situação a CST 04 pode ser  preenchida com valor vazio e qual das alíquotas, valor ou quantidade?;

 


3) Em casos de CST 04, a alíquota deve poder ser preenchida com valor vazio;

 

 

 

Na situação 04!

Me diz em que CST ser  preenchida com valor vazio.;

 

 

4) Em casos onde é preenchido o campo ALIQ_PIS_QUANT, o campo ALIQ_PIS deve ser vazio;

 

Podemos melhorar o código existente.

 

Uso esse tipo de registro e dessa forma que fiz esta atendendo bem.

 

Waldir.

Link to comment
Share on other sites

  • Consultores

Dessa forma resolve a 1 e 2?

Na situação 03!

Me diz em que situação a CST 04 pode ser  preenchida com valor vazio e qual das alíquotas, valor ou quantidade?;

Na situação 04!

Me diz em que CST ser  preenchida com valor vazio.;

Podemos melhorar o código existente.

Uso esse tipo de registro e dessa forma que fiz esta atendendo bem.

 

Waldir.

Sim, resolve os casos 1 e 2. Mas não resolve os outros.

Na situação 3, em qualquer ocasião o valor e a alíquota podem ser preenchidos vazios. Não precisa preencher os outros dois campos também.

Não depende só do CST. Por exemplo, se eu escolher o CST 05 eu posso escolher preencher o campo ALIQ_PIS_QUANT ou o campo ALIQ_PIS. Tanto faz...

[]'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

  • Moderadores

Veja se assim ajuda.

 

 var
    intFor     : integer;
    booTributaQtde : boolean;
begin
  if Assigned(RegC405.RegistroC481) then
  begin
    for intFor := 0 to RegC405.RegistroC481.Count - 1 do
    begin
      with RegC405.RegistroC481.Items[intFor] do
      begin

        booTributaQtde   := Integer(CST_PIS)=3;
        if not booTributaQtde then
        booTributaQtde := (ALIQ_PIS_QUANT > 0.0) or (QUANT_BC_PIS > 0.0);

        Add( LFill('C481')             +
             LFill(CstPisToStr(CST_PIS))  +
             LFill(VL_ITEM,0,2)        +
             DFill(VL_BC_PIS,      2, booTributaQtde) +
             DFill(ALIQ_PIS,       4, booTributaQtde) +
             DFill(QUANT_BC_PIS,   3, not booTributaQtde) +
             DFill(ALIQ_PIS_QUANT, 4, not booTributaQtde) +
             LFill(VL_PIS,0,2)         +
             LFill(COD_ITEM)           +
             LFill(COD_CTA) ) ;

        RegistroC990.QTD_LIN_C := RegistroC990.QTD_LIN_C + 1;
      end;
    end;
    // Variavél para armazenar a quantidade de registro do tipo.
    FRegistroC481Count := FRegistroC481Count + RegC405.RegistroC481.Count;
  end;
end;
Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
  • Consultores

Por favor,

não faça posts duplicados. Você postou aqui e neste outro tópico

Temos regras conforme pode ver neste  Em especial a "3.1 - Não faça flooding".

[]'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

Ola Amigo "EMBarbosa" hora nenhum foi minha intenção provocar ambiguidade de considerações, apenas fui me interar de todo o processo e acabei por de forma equivocada, e em descumprimento ao item "3.1" provocando tal infração, peço desculpas e desconsidere esta minha  falha.

Link to comment
Share on other sites

  • Consultores

Ola Amigo "EMBarbosa" hora nenhum foi minha intenção provocar ambiguidade de considerações, apenas fui me interar de todo o processo e acabei por de forma equivocada, e em descumprimento ao item "3.1" provocando tal infração, peço desculpas e desconsidere esta minha  falha.

Fica frio. Está tudo bem. :)

[]'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

  • Este tópico foi criado há 3223 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.