Ir para conteúdo
  • Cadastre-se

dev botao

Erro forma de pagamento BPe.


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

Recommended Posts

Postado

Segundo o manual do BPe as formas de pagamento são: 01-Dinheiro;02-Cheque;03-Cartão de Crédito;04-Cartão de Débito;05-Vale Transporte;99 -Outros

Fiz as modificações no arquivo para atender o BPe.

PCNComum/pcnConversao.pas

TpcnFormaPagamentoBPe = (fpDinheiroBPe, fpChequeBPe, fpCartaoCreditoBPe, fpCartaoDebitoBPe, fpValeTransporteBPe,
                        fpOutroBPe);

function FormaPagamentoBPeToStr(const t: TpcnFormaPagamentoBPe): string;
function FormaPagamentoBPeToDescricao(const t: TpcnFormaPagamentoBPe): string;
function StrToFormaPagamentoBPe(out ok: boolean; const s: string): TpcnFormaPagamentoBPe;

function FormaPagamentoBPeToStr(const t: TpcnFormaPagamentoBPe): string;
begin
  result := EnumeradoToStr(t, ['01', '02', '03', '04', '05', '99'],
                              [fpDinheiroBPe, fpChequeBPe, fpCartaoCreditoBPe, fpCartaoDebitoBPe, fpValeTransporteBPe,
                               fpOutroBPe ]);
end;

function FormaPagamentoBPeToDescricao(const t: TpcnFormaPagamentoBPe): string;
begin
  result := EnumeradoToStr(t,  ['Dinheiro', 'Cheque', 'Cartão de Crédito', 'Cartão de Débito', 'Vale Transporte',
                               'Outro'],
                               [fpDinheiroBPe, fpChequeBPe, fpCartaoCreditoBPe, fpCartaoDebitoBPe, fpValeTransporteBPe,
                                fpOutroBPe]);
end;

function StrToFormaPagamentoBPe(out ok: boolean; const s: string): TpcnFormaPagamentoBPe;
begin
  result := StrToEnumerado(ok, s, ['01', '02', '03', '04', '05', '99'],
                                  [fpDinheiroBPe, fpChequeBPe, fpCartaoCreditoBPe, fpCartaoDebitoBPe, fpValeTransporteBPe,
                                   fpOutroBPe]);
end;

ACBrDFe/ACBrBPe/ACBrBPeBilhetes.pas

tPag    := StrToFormaPagamentoBPe(OK, sFim);

ACBrDFe/ACBrBPe/DABPE/EscPos/ACBrBPeDABPeESCPOS.pas

FPosPrinter.Buffer.Add('<c>' + ACBrStr(PadSpace(FormaPagamentoBPeToDescricao(FpBPe.pag.Items[i].tPag) +

ACBrDFe/ACBrBPe/PCNBPe/pcnBPe.pas

FtPag: TpcnFormaPagamentoBPe;

property tPag: TpcnFormaPagamentoBPe read FtPag write FtPag;

ACBrDFe/ACBrBPe/PCNBPe/pcnBPeR.pas

BPe.Pag[i].tPag    := StrToFormaPagamentoBPe(ok, Leitor.rCampo(tcStr, 'tPag'));

ACBrDFe/ACBrBPe/PCNBPe/pcnBPeW.pas

Gerador.wCampo(tcStr, '#162', 'tPag    ', 02, 002, 1, FormaPagamentoBPeToStr(BPe.pag[i].tPag), DSC_TPAG);

if(BPe.pag[i].tPag in [fpCartaoDebitoBPe,fpCartaoCreditoBPe]) and

 

Segue arquivo para validação das modificações.

ACBrBPeBilhetes.pas ACBrBPeDABPeESCPOS.pas pcnBPe.pas pcnBPeR.pas pcnBPeW.pas pcnConversao.pas

  • Administradores
Postado

Boa tarde,

Obrigada pela contribuição, adicionada para validação.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

  • Consultores
  • Solution
Postado

Boa tarde Snoopyfael,

Muito obrigado pela colaboração, fiz uma pequena mudança, o novo tipo de forma de pagamento bem como as suas funções coloquei na unit pcnConversaoBPe.

Já enviei para o repositório.

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 1968 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.