O problema é que você está adicionado uma nova nota fiscal cada vez que você usa o Add, conforme visto no trecho de código acima. Você precisa atribuir os dados do emitente sem o comando Add.
Acredito que você está se baseando no que seria mais lógico, e concordo com você. Mas é sempre bom consultar a legislação específica de cada estado. Aqui no Paraná, por mais incrível que possa parecer, eles pedem para alimentar os registros do tipo 61 quando se tratar de NFCe.
Você vai precisar mudar a lógica do seu sistema para poder implementar o troco e o desconto.
Em primeiro lugar você não poderá mais sub-totalizar o cupom antes de chamar as formas de pagamento.
Você precisará também "bufferizar" cada uma das formas de pagamento, enviando as formas de pagamento para a impressora somente depois de o usuário ter escolhido as mesmas.
Em relação ao "Saque", você precisa ler o arquivo de retorno do TEF e, caso o mesmo tenha ocorrido, você precisa mudar o valor da forma de pagamento originalmente informada. Exemplo: o valor do cupom foi de R$ 10,00. O usuário seleciona receber R$ 10,00 em cartão. Você chama o módulo TEF e caso o operador selecione um saque de R$ 5,00, você precisa mudar a sua forma de pagamento para R$ 15,00 e enviar esse valor para a impressora que se encarregará de dar o troco automaticamente no valor correto.
Em relação ao "Desconto", você precisa ler essas informação também do arquivo de retorno do TEF, e caso o mesmo tenha ocorrido, você precisa sub-totalizar o seu cupom já levando em conta esse desconto e também alterar o valor original informado para a forma de pagamento selecionada de maneira a refletir o valor desse desconto.
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.