Ir para conteúdo
  • Cadastre-se

dev botao

ACBrECF.DescontoAcrescimoItemAnterior para ACBrVirtualSat


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1951 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde a todos !

A funcionalidade  ACBrECF.DescontoAcrescimoItemAnterior(Valor_Desc,'D','$',Numero_Item);  não esta mais funcionando para o ACBrVirtualSat , os descontos ou acréscimos não são computados no cupom .

Alguém com o mesmo problema ?

  • Consultores
Postado
Em 23/07/2019 at 14:04, marcelo_sp disse:

Boa tarde a todos !

A funcionalidade  ACBrECF.DescontoAcrescimoItemAnterior(Valor_Desc,'D','$',Numero_Item);  não esta mais funcionando para o ACBrVirtualSat , os descontos ou acréscimos não são computados no cupom .

Alguém com o mesmo problema ?

Olá,

   Não tivemos nenhum relato dessa situação.

   Também, pelo que consta, não houveram alterações nessa classe, nem nessa parte do código, seja do ECF ou do SAT. Pelo menos desde o início do ano.

    Pode por favor verificar:

  1. Se há alguma alteração no seu código?
  2. Se o código está atualizado?
  3. Se o problema persistir, anexar o log dos componentes?
  • Curtir 1

[]'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.
Postado
2 horas atrás, EMBarbosa disse:

Olá,

   Não tivemos nenhum relato dessa situação.

   Também, pelo que consta, não houveram alterações nessa classe, nem nessa parte do código, seja do ECF ou do SAT. Pelo menos desde o início do ano.

    Pode por favor verificar:

  1. Se há alguma alteração no seu código?
  2. Se o código está atualizado?
  3. Se o problema persistir, anexar o log dos componentes?

Elton boa noite .

Na verdade percebi que para que gere o problema não precisa nem o comando acima citado , se rodar ACBrEcf.VendeItem com descontos já dá erro na totalização de pagamento , ou seja , ele não considera os descontos , e da erro na totalização de pagamentos , tô meio externo esses dias cara , mas amanhã vou verificar melhor .

*Teste com ACBrEcfVirtualSat

Obrigado 

 

 

  • Consultores
Postado
44 minutos atrás, marcelo_sp disse:

Elton boa noite .

Na verdade percebi que para que gere o problema não precisa nem o comando acima citado , se rodar ACBrEcf.VendeItem com descontos já dá erro na totalização de pagamento , ou seja , ele não considera os descontos , e da erro na totalização de pagamentos , tô meio externo esses dias cara , mas amanhã vou verificar melhor .

*Teste com ACBrEcfVirtualSat

Obrigado

Então deixa ver se eu entendi... Você quer dizer que não gera uma mensagem de erro, mas sim que o cálculo do subtotal ele não está incluindo o valor do desconto dado nos itens?

Por favor, nos mande um passo a passo de como reproduzir, destacando o que fazer, o que acontece agora mas qual seria o resultado esperado.

[]'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.
Postado
29 minutos atrás, EMBarbosa disse:

Então deixa ver se eu entendi... Você quer dizer que não gera uma mensagem de erro, mas sim que o cálculo do subtotal ele não está incluindo o valor do desconto dado nos itens?

Por favor, nos mande um passo a passo de como reproduzir, destacando o que fazer, o que acontece agora mas qual seria o resultado esperado.

Faz um teste assim se vc puder é claro .

Pode ser no ACBRECF não fiscal mesmo , não precisa ser com Sat :

ACBRECF.vendeitem 

Teste apenas com um produto que tenha desconto na passada , um produto já é o suficiente , teste simples pra mim já dá discrepância no pagamento

  • Consultores
Postado
14 horas atrás, marcelo_sp disse:

Faz um teste assim se vc puder é claro . 

Pode ser no ACBRECF não fiscal mesmo , não precisa ser com Sat :

ACBRECF.vendeitem 

Teste apenas com um produto que tenha desconto na passada , um produto já é o suficiente , teste simples pra mim já dá discrepância no pagamento

 

Aqui está ok. Veja:

-- 26/07 09:42:02:448 AbreDocumento
-- 26/07 09:42:02:450 GetEstado estVenda
-- 26/07 09:42:02:940 GravaArqINI
-- 26/07 09:42:02:942 ClasstoINI
-- 26/07 09:42:02:946 GetNumCupom: 000004
-- 26/07 09:42:39:217 VendeItem( 111222333 , TESTE DE PRODUTO , NN , 50 , 2 , 10 , UN , $ , D , -1 )
-- 26/07 09:42:39:219 CarregaTotalizadoresNaoTributados
-- 26/07 09:42:39:220 GetEstado estVenda
-- 26/07 09:42:39:341 CarregaTotalizadoresNaoTributados
-- 26/07 09:42:39:342 GetEstado estVenda
-- 26/07 09:42:39:415 GravaArqINI
-- 26/07 09:42:39:417 ClasstoINI
-- 26/07 09:42:39:420 GetArredonda: -1
-- 26/07 09:43:27:153 GetSubTotal: 90

 

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

Eu achei o meu problema , mas debugando a sequência de chamadas etc.. dos componentes ACBr não encontrei o que mudou na forma anterior que eu utilizava , em Resumo o meu problema foi em ACBrECF.Subtotal  :

Como ainda utilizo o metodo ACBrECF.VendeItem e para que não desse nenhuma divergência no Valor Total do Item por conta de truncamentos ou arredondamentos do componente eu tinha criado uma chamada própria que subtraia o subtotal do valor anterior da Venda pelo valor atual da Venda utilizando seguinte sequência de Eventos :

ACBrECFAntesVendeItem  Prod_Atual.Prod_vSubTotal_Anterior := ACBrECF.Subtotal ;  // Aqui eu pegava o subtotal anterior

ACBrECFVirtualSAT1QuandoVenderItem Prod_Atual.Prod_vTotal_Prod_Atual :=  ACBrECF.Subtotal - Prod_Atual.Prod_vSubTotal_Anterior  ; // Aqui pegava o total do produto me livrando de possiveis arredondamentos

Em resumo geral , estarei me adaptando nesse novo formato que na sequência de Eventos eu utilizava a chamada ACBrECF.Subtotal trazia ja desconsiderando o desconto e agora não mais no Evento ACBrECFVirtualSAT1QuandoVenderItem .

Confuso o entendimento da forma que desenvolvi , mas funcionava muito bem , se tivesse um GetValorTotalUltimoItem logo após ACBrECF.VendeItem seria top e pode até ter mas não achei .

 

  • Curtir 1
  • Consultores
Postado
25 minutos atrás, marcelo_sp disse:

Eu achei o meu problema , mas debugando a sequência de chamadas etc.. dos componentes ACBr não encontrei o que mudou na forma anterior que eu utilizava

Como mencionei antes e reitero, não estou ciente de nenhuma alteração nessa parte de cálculo de descontos nem de subtotal.

26 minutos atrás, marcelo_sp disse:

Como ainda utilizo o metodo ACBrECF.VendeItem e para que não desse nenhuma divergência no Valor Total do Item por conta de truncamentos ou arredondamentos do componente eu tinha criado uma chamada própria que subtraia o subtotal do valor anterior da Venda pelo valor atual da Venda utilizando seguinte sequência de Eventos :

ACBrECFAntesVendeItem  Prod_Atual.Prod_vSubTotal_Anterior := ACBrECF.Subtotal ;  // Aqui eu pegava o subtotal anterior 

ACBrECFVirtualSAT1QuandoVenderItem Prod_Atual.Prod_vTotal_Prod_Atual :=  ACBrECF.Subtotal - Prod_Atual.Prod_vSubTotal_Anterior  ; // Aqui pegava o total do produto me livrando de possiveis arredondamentos

Eu entendo esse problema dos arredondamentos. Pra mim não tem nada de confuso.

Só acho que você estava fazendo chamadas desnecessárias ao ACBrECF.Subtotal. No caso das ECFs virtuais talvez não tenha problema. Mas em ECFs reais isso gera uma lentidão na venda de itens.

Minha sugestão seria fazer apenas uma chamada após o VenderItem. Algo como:

ACBrECFVirtualSAT1QuandoVenderItem
  Prod_Atual.Prod_vSubTotal_Anterior := vSubTotalAtual;
  vSubTotalAtual := ACBrECF.Subtotal;
  Prod_Atual.Prod_vTotal_Prod_Atual :=  vSubTotalAtual - Prod_Atual.Prod_vSubTotal_Anterior;

 

37 minutos atrás, marcelo_sp disse:

Em resumo geral , estarei me adaptando nesse novo formato que na sequência de Eventos eu utilizava a chamada ACBrECF.Subtotal trazia ja desconsiderando o desconto e agora não mais no Evento ACBrECFVirtualSAT1QuandoVenderItem . 

Ahh, agora ficou mais claro com o que você está tendo problemas. Ao chamar o ACBrECF.Subtotal dentro do evento QuandoVenderItem, o retorno não está considerando o desconto já aplicado aos itens.Mesmo assim, não me lembro de nenhuma alteração nesse sentido...

[]'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.
Postado
4 minutos atrás, EMBarbosa disse:

ACBrECFVirtualSAT1QuandoVenderItem

Prod_Atual.Prod_vSubTotal_Anterior := vSubTotalAtual;

vSubTotalAtual := ACBrECF.Subtotal;

Prod_Atual.Prod_vTotal_Prod_Atual := vSubTotalAtual - Prod_Atual.Prod_vSubTotal_Anterior;

Mas no evento ACBrECFVirtualSAT1QuandoVenderItem , ACBrECF.Subtotal ainda se encontra sem o desconto Elton  , veja que este Evento está encapsulado dentro de ACBrECF.VendeItem mas ainda não esta com o Desconto .

Se eu ja passei o produto com o Desconto em ACBrECF.VendeItem então dentro de ACBrECFVirtualSAT1QuandoVenderItem no meu entender ja deveria vir com ACBrECF.Subtotal com o Desconto , ou não ?

Postado

No meu ponto de vista ACBrECF.Subtotal após ou mesmo desntro de ACBrECF.VendeItem nunca pode ser informado sem seu Real Valor , ou seja , hora sem o Desconto , hora Com o Desconto , porque se ele já absorveu o último item ele não pode me informar em hipótese alguma nos eventos posteriores sem o Desconto .

  • Consultores
  • Solution
Postado
24 minutos atrás, marcelo_sp disse:

Mas no evento ACBrECFVirtualSAT1QuandoVenderItem , ACBrECF.Subtotal ainda se encontra sem o desconto Elton  , veja que este Evento está encapsulado dentro de ACBrECF.VendeItem mas ainda não esta com o Desconto . 

Talvez você devesse então usar o QuandoVendeItem do ACBrECF em vez do ACBrECFVirtualSAT, não? Ou talvez, seria ainda melhor passar esse código para sua aplicação ou uma camada exterior...

Não acho uma boa prática você usar comandos do ACBrECF dentro de um evento gerado por ele...

24 minutos atrás, marcelo_sp disse:

Se eu ja passei o produto com o Desconto em ACBrECF.VendeItem então dentro de ACBrECFVirtualSAT1QuandoVenderItem no meu entender ja deveria vir com ACBrECF.Subtotal com o Desconto , ou não ? 

Talvez. Sinceramente não testei isso porque não foi o assunto levantado no tópico no início e porque nenhuma alteração consciente foi feita nessa parte do código.

17 minutos atrás, marcelo_sp disse:

No meu ponto de vista ACBrECF.Subtotal após ou mesmo desntro de ACBrECF.VendeItem nunca pode ser informado sem seu Real Valor , ou seja , hora sem o Desconto , hora Com o Desconto , porque se ele já absorveu o último item ele não pode me informar em hipótese alguma nos eventos posteriores sem o Desconto .

Eu concordo com você que o comportamento precisa ser consistente. Contudo, discordo que seja uma boa prática chamar o ACBrECF.Subtotal dentro de um evento gerado pelo próprio ACBrECF. Apenas dei uma sugestão que achei simplificaria seu código.

De qualquer maneira, você está levantando esse problema agora. Não consta nenhuma alteração nesse sentido e anteriormente não havia nenhuma ciência de qualquer problema relacionado.

Para que possamos analisar com todo cuidado que esse tipo de problema merece, peço que, por favor, abra um novo tópico exatamente sobre essa suposta inconsistência do ACBrECF.

Este novo tópico deve conter:

  • um passo a passo de como reproduzir a inconsistência, se possível usando o programa de exemplo;
    • descreva os passos
    • descreva o resultado observado
    • descreva o que era esperado
  • Cite quais modelos você testou que apresentam o mesmo problema e quais você testou que não o apresentam;
  • Me acione usando meu nome de usuário juntamente com @
  • Curtir 1

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

Elton , quero que entenda que a pertinência no caso em epigrafe em relação ao tópico até aqui onde chegou não foi perseguindo conclusão nenhuma , até porque a suite de componentes é aberta , poderia sugerir algo com alguma coisa pronta já mas não é a questão por ser uma situação não muito comum pela comunidade "pelo menos ainda" , como vc mesmo sugeriu e eu até considero ótimo , é que eu modifique o meu código diminuindo e organizando chamadas etc... neste sentido .

De qlq forma eu agradeço demais sua atenção nesse caso .

Forte Abraço a todos !

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.