Bematech_FIR_FechaCupomContaDividida |
Essa função permite fechar o cupom fiscal com formas de pagamento e permite dividir a conta por todos os clientes.
Parâmetros:
NumeroCupons: STRING com até 2 dígitos com o número de cupons em que a conta será divida. O número mínimo de cupons é 2 e o máximo é 20.
AcrescimoDesconto: Indica se haverá acréscimo ou desconto no cupom. "A" para acréscimo ou "D" para desconto.
TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. "$" para desconto por valor ou "%" para percentual.
ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto percentual.
FormaPagamento: STRING com as formas de pagamento. As formas devem ser separadas por ponto e vírgula (";") se for utilizada mais de uma, e deve ter no máximo 16 caracteres cada. Ex: Dinheiro;Cartão. É permitido a utilização de até 20 formas.
ValorFormaPagamento: STRING com os valores das formas de pagamento. Os valores devem ter no máximo 14 dígitos e serem separados por ponto e vírgula ";".
ValorPagoCliente: STRING com os valores pagos por cada cliente. Obedecem à mesma situação acima.
CPF: STRING com o CPF dos clientes. Os CPF's devem ter no máximo 29 caracteres e serem separados por ponto e vírgula ";".
Retornos da Função (INTEIRO):
0 - Erro de comunicação. 1 - Ok. -2 - Parâmetro Inválido. -4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta. -5 - Erro ao abrir a porta de comunicação. -27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)
Observações:
- O fechamento do cupom somente será executado caso a soma dos valores passados no parâmetro "ValorPagoCliente" seja exatamente igual ao total do Cupom Fiscal. - O número de formas de pagamento e a quantidade de valores devem ser idênticos, caso contrário a dll retornará "Parâmetro Inválido". - Se a conta deu R$ 10,00 reais e for dividida em dois clientes cada um pagando com uma forma de pagamento diferente, onde o primeiro pagará R$ 4,00 e o segundo R$ 6,00, deverá ser informado no parâmetro "FormaPagamento" as duas formas, os valores deverão ser informados no parâmetro "ValorFormaPagamento". - Poderá ser informado uma única forma de pagamento com o valor total do Cupom Fiscal e dividí-la entre os clientes que irão pagar. Por exemplo: se a conta deu R$ 50,00 reais e todos irão pagar em Dinheiro, informe somente a forma de pagamento "Dinheiro" com o valor e em seguida faça a divisão da conta entre os clientes. - As formas de pagamento aparecerão somente no primeiro cupom fiscal. Ao término do primeiro cupom será feita a emissão dos seguintes automaticamente. - O cancelamento do cupom em emissão bloqueará a emissão dos demais. - Todos os documentos fracionados terão o mesmo COO sendo que, o que os diferencia é a informação do número da via do cupom ao lado da inscrição "CUPOM FISCAL". Exemplo: "CUPOM FISCAL 2ª VIA" - O parâmetro CPF dessa função é opcional e é utilizado a partir do segundo cliente. Para utiliza-lo você, obrigatoriamente, deve informar o CPF para o primeiro cliente, caso contrário a dll irá ignorar o(s) CPF(s) informado(s)s e não irá imprimi-lo(s). Se você quiser usar o CPF por exemplo para o cliente dois e não quiser usar no cliente 1 você deve passar espaço em branco no parâmetro CPF da função Bematech_FIR_AbreCupomRestaurante.
Exemplo:
' Exemplo em Visual Basic iRetorno = Bematech_FIR_FechaCupomContaDividida("3", "A", "%", "1000", "Dinheiro;Dinheiro;Cheque", "10,00;10,00;10,00", "10,00;10,00;10,00", "")
// Exemplo em Delphi cQuantosCupons := '3'; cAcresDesc := 'A'; cTipoAcresDesc := '%'; cValorAcresDesc := '1000'; cFormaPgto := 'Dinheiro;Dinheiro;Cheque'; cValorFormaPgto := '10,00;10,00;10,00'; cValorPagoCliente := '10,00;10,00;10,00'; iRetorno := Bematech_FIR_ContaDividida( pchar( cQuantosCupons ), pchar( cAcresDesc ), pchar( cTipoAcresDesc ), pchar( cValorAcresDesc ), pchar( cFormaPgto ), pchar( cValorFormaPgto ), pchar( cValorPagoCliente ), pchar( '' ) ); |