package jACBr;
import java.lang.String;
import java.util.Date;
/**
* Classe que encapsula as fun��es de comunica��o com o ECF;
* Esta classe utiliza chamadas nativas ao componente ACBr32
* @see http://acbr.sourceforge.net/drupal
* @author Rafael Batiati
*/
public final class ACBrECF
{
/**
* Handle para o componente nativo criado pelo ACBr32
* Este campo � utilizado apenas pela interface JNI.
*/
@SuppressWarnings("unused")
private int handle;
private Aliquota[] aliquotas;
private FormaPagamento[] formasPagamento;
private ComprovanteNaoFiscal[] comprovantesNaoFiscais;
static
{
//Carrega a biblioteca de chamadas nativas JNI
System.loadLibrary("ACBr32_JNI");
}
public ACBrECF() throws ACBrException
{
this.create();
}
@Override
protected void finalize() throws Throwable
{
this.destroy();
this.handle = 0;
super.finalize();
}
/**
* Aloca mem�ria para o componente ACBr nativo e retorna handle do objeto criado
* para o campo "handle" da classe.
* M�todo chamado apenas pelo construtor da classe.
*/
private native void create() throws ACBrException;
/**
* Libera a mem�ria utilizada pelo componente nativo do ACBr.
*/
private native void destroy() throws ACBrException;
/**
* Ativa o componente, abrindo a porta de comunica��o com o ECF.
* @throws ACBrException
*/
public native void ativar() throws ACBrException;
/**
* Desativa o componente, fechando a porta de comunica��o com o ECF.
* @throws ACBrException
*/
public native void desativar() throws ACBrException;
/**
* Retorna o modelo do ECF.
* @see jACBr.ModeloECF
* @return Modelo do ECF
* @throws ACBrException
*/
public native int getModelo() throws ACBrException;
/**
* Define o modelo do ECF.
* @see jACBr.ModeloECF
* @param modelo
* @throws ACBrException
*/
public native void setModelo(int modelo) throws ACBrException;
/**
* Retorna a porta de comunica��o com o ECF.
* @return Porta de comunica��o. Ex.: COM1, LPT1
* @throws ACBrException
*/
public native String getPorta() throws ACBrException;
/**
* Define a porta de comunica��o com o ECF.
* @param porta Porta de comunica��o. Ex.: COM1, LPT1
* @throws ACBrException
*/
public native void setPorta(String porta) throws ACBrException;
/**
* Verifica se o componente est� ativo.
* @see jACBr.ACBrECF.ativar
* @return True caso o componente esteja ativo; False caso contr�tio.
* @throws ACBrException
*/
public native boolean getAtivo() throws ACBrException;
/**
* Retorna o n�mero de colunas do ECF.
* @return N�mero de colunas do ECF.
* @throws ACBrException
*/
public native int getColunas() throws ACBrException;
/**
* Retorna o timeout de comunica��o com o ECF.
* @return Tempo de timeout em milissegundos.
* @throws ACBrException
*/
public native int getTimeOut() throws ACBrException;
/**
* Define o timeout de comunica��o com o ECF.
* @param timeout Tempo de timeout em milissegundos.
* @throws ACBrException
*/
public native void setTimeOut(int timeout) throws ACBrException;
/**
* Verifica se o componente est� aguardando resposta do ECF.
* @return True caso esteja aguardando resposta; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getAguardandoResposta() throws ACBrException;
/**
* Retorna �ltimo comando enviado ao ECF.
* @return Array de bytes contendo o �ltimo comando enviado ao ECF.
* @throws ACBrException
*/
public native byte[] getComandoEnviado() throws ACBrException;
/**
* Retorna a ultima resposta recebida do ECF.
* @return Array de bytes contendo a �ltima resposta recebida do ECF.
* @throws ACBrException
*/
public native byte[] getRespostaComando() throws ACBrException;
/**
* Retorna o caminho do arquivo de logs dos comandos enviados e recebidos pelo ECF.
* @return Caminho do arquivo de log.
* @throws ACBrException
*/
public native String getComandoLOG() throws ACBrException;
/**
* Define o caminho do arquivo de logs dos comandos enviados e recebidos pelo ECF.
* @param comandoLog Caminho do arquivo de log
* @throws ACBrException
*/
public native void setComandoLOG(String comandoLog) throws ACBrException;
/**
* Verifica se o componente deve aguardar at� o fim da impress�o.
* @return True caso o componente deva aguardar; False caso contr�tio.
* @throws ACBrException
*/
public native boolean getAguardaImpressao() throws ACBrException;
/**
* Define se o componente deve aguardar at� o fim da impress�o.
* @param aguardaImpressao True caso o componente deva aguardar; False caso contr�rio.
* @throws ACBrException
*/
public native void setAguardaImpressao(boolean aguardaImpressao) throws ACBrException;
/**
* Retorna o nome do modelo do ECF.
* @return String com o nome do modelo do ECF.
* @throws ACBrException
*/
public native String getModeloStr() throws ACBrException;
/**
* Retorna o RFDID
* @return String contendo o RFDID
* @throws ACBrException
*/
public native String getRFDID() throws ACBrException;
/**
* Retorna a Data/Hora atual do ECF.
* @return Data/Hora atual do ECF.
* @throws ACBrException
*/
public native Date getDataHora() throws ACBrException;
/**
* Retorna o n�mero do cupom atual.
* @return String contendo o n�mero do cupom atual.
* @throws ACBrException
*/
public native String getNumCupom() throws ACBrException;
/**
* Retorna o COO do cupom atual.
* @return String contendo o COO do cupom atual.
* @throws ACBrException
*/
public native String getNumCOO() throws ACBrException;
/**
* Retorna o n�mero da loja
* @return String contendo o n�mero da loja.
* @throws ACBrException
*/
public native String getNumLoja() throws ACBrException;
/**
* Retorna o n�mero do ECF.
* @return String contendo o n�mero do ECF.
* @throws ACBrException
*/
public native String getNumECF() throws ACBrException;
/**
* Retorna o n�mero de s�rie do ECF.
* @return String contendo o n�mero de s�rie do ECF.
* @throws ACBrException
*/
public native String getNumSerie() throws ACBrException;
/**
* Retorna o n�mero da vers�o do ECF.
* @return String contendo o n�mero da vers�o.
* @throws ACBrException
*/
public native String getNumVersao() throws ACBrException;
/**
* Retorna a Data/Hora do movimento.
* @return Date/Hora do movimento.
* @throws ACBrException
*/
public native Date getDataMovimento() throws ACBrException;
/**
* Retorna a Data/Hora de instala��o do SB (Software B�sico do ECF).
* @return Data/Hora do SB.
* @throws ACBrException
*/
public native Date getDataHoraSB() throws ACBrException;
/**
* Retorna o CNPJ do propriet�rio do ECF.
* @return String contendo o CNPJ do propriet�rio do ECF.
* @throws ACBrException
*/
public native String getCNPJ() throws ACBrException;
/**
* Retorna a IE (Inscri��o Estadual) do propriet�rio do ECF.
* @return String contendo a IE do propriet�rio do ECF.
* @throws ACBrException
*/
public native String getIE() throws ACBrException;
/**
* Retorna a IM (Inscri��o Municipal) do propriet�rio do ECF.
* @return String contendo a IM do propriet�rio do ECF.
* @throws ACBrException
*/
public native String getIM() throws ACBrException;
/**
* Retorna o texto do Clich� do propriet�rio do ECF.
* @return String contendo o texto do clich�.
* @throws ACBrException
*/
public native String getCliche() throws ACBrException;
/**
* Retorna o usu�rio atual.
* @return String contendo o usu�rio atual.
* @throws ACBrException
*/
public native String getUsuarioAtual() throws ACBrException;
/**
* Retorna o modelo detalhado do ECF.
* @return String contendo o modelo detalhado do ECF.
* @throws ACBrException
*/
public native String getSubModeloECF() throws ACBrException;
/**
* Retorna o nome do PAF (Programa Aplicativo Fiscal)
* @return String contendo o nome do PAF.
* @throws ACBrException
*/
public native String getPAF() throws ACBrException;
/**
* Retorna o n�mero do CRZ (Contador de Redu��es Z).
* @return String contendo o n�mero do CRZ.
* @throws ACBrException
*/
public native String getNumCRZ() throws ACBrException;
/**
* Retorna o n�mero do CRO (Contador de Rein�cio de Opera��es).
* @return String contendo o n�mero do CRO.
* @throws ACBrException
*/
public native String getNumCRO() throws ACBrException;
/**
* Retorna o n�mero do CCF (C�digo do Cupom Fiscal).
* @return String contendo o CCF.
* @throws ACBrException
*/
public native String getNumCCF() throws ACBrException;
/**
* Retorna o n�mero do GNF (Gerador N�o Fiscal).
* @return String contendo o n�mero do GNF.
* @throws ACBrException
*/
public native String getNumGNF() throws ACBrException;
/**
* Retorna o n�mero do GRG (Gerador de Relat�rio Gerencial).
* @return String contendo o GRG.
* @throws ACBrException
*/
public native String getNumGRG() throws ACBrException;
/**
* Retorna o n�mero do CDC (Comprovante de Cr�dito e D�bito).
* @return String contendo o n�mero do CDC.
* @throws ACBrException
*/
public native String getNumCDC() throws ACBrException;
/**
* Retorna o n�mero do COO Inicial. (Contador de Ordem de Opera��es)
* @return String contendo o COO Inicial.
* @throws ACBrException
*/
public native String getNumCOOInicial() throws ACBrException;
/**
* Retorna o valor de venda bruta registrado no ECF.
* @return Double contendo o valor de venda bruta.
* @throws ACBrException
*/
public native double getVendaBruta() throws ACBrException;
/**
* Retorna o Grande Total registrado no ECF.
* @return Double contendo o valor do grande total.
* @throws ACBrException
*/
public native double getGrandeTotal() throws ACBrException;
/**
* Retorna o total de cancelamentos registrados no ECF.
* @return Double contendo o total de cancelamentos.
* @throws ACBrException
*/
public native double getTotalCancelamentos() throws ACBrException;
/**
* Retorna o total de descontos registrados no ECF.
* @return Double contendo o total de descontos.
* @throws ACBrException
*/
public native double getTotalDescontos() throws ACBrException;
/**
* Retorna o total de acr�scimos registrados no ECF.
* @return Double contendo o total de acr�scimos.
* @throws ACBrException
*/
public native double getTotalAcrescimos() throws ACBrException;
/**
* Retorna o total de troco registrado no ECF.
* @return Double contendo o total de troco.
* @throws ACBrException
*/
public native double getTotalTroco() throws ACBrException;
/**
* Retorna o total de substitui��o tribut�ria registrado no ECF.
* @return Double contendo o total de substitui��o tribut�ria.
* @throws ACBrException
*/
public native double getTotalSubstituicaoTributaria() throws ACBrException;
/**
* Retorna o total n�o tributado registrado no ECF.
* @return Double contendo o total n�o tributado.
* @throws ACBrException
*/
public native double getTotalNaoTributado() throws ACBrException;
/**
* Retorna o total de isen��o registrado no ECF.
* @return Double contendo o total de isen��o.
* @throws ACBrException
*/
public native double getTotalIsencao() throws ACBrException;
/**
* Retorna o total de cancelamentos sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total do ISSQN.
* @throws ACBrException
*/
public native double getTotalCancelamentosISSQN() throws ACBrException;
/**
* Retorna o total de descontos sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total de descontos de ISSQN.
* @throws ACBrException
*/
public native double getTotalDescontosISSQN() throws ACBrException;
/**
* Retorna o total de acr�scimos sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total de acr�scimos de ISSQN.
* @throws ACBrException
*/
public native double getTotalAcrescimosISSQN() throws ACBrException;
/**
* Retorna o total de substitui��o tribut�ria sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total de substitui��o tribut�ria sobre ISSQN.
* @throws ACBrException
*/
public native double getTotalSubstituicaoTributariaISSQN() throws ACBrException;
/**
* Retorna o total n�o tributado sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total n�o tributado sobre ISSQN.
* @throws ACBrException
*/
public native double getTotalNaoTributadoISSQN() throws ACBrException;
/**
* Retorna o total de isen��o sobre ISSQN (Imposto Sobre Servi�os de Qualquer Natureza) registrado no ECF.
* @return Double contendo o total de isen��o sobre ISSQN.
* @throws ACBrException
*/
public native double getTotalIsencaoISSQN() throws ACBrException;
/**
* Retorna o total n�o fiscal registrado no ECF.
* @return Double contendo o total n�o fiscal.
* @throws ACBrException
*/
public native double getTotalNaoFiscal() throws ACBrException;
/**
* Retorna o n�mero do �ltimo item vendido no ECF.
* @return N�mero do ultimo item vendido.
* @throws ACBrException
*/
public native int getNumUltItem() throws ACBrException;
/**
* Verifica se o ECF est� em linha.
* @return True caso ECF esteja em linha; False caso contr�rio.
* @throws ACBrException
*/
public boolean getEmLinha() throws ACBrException
{
final int DEFAULT_TIMEOUT = 3000;
return getEmLinha(DEFAULT_TIMEOUT);
}
/**
* Verifica se o ECF est� em linha.
* @param timeOut Tempo em milissegundos para obter a resposta.
* @return True caso ECF esteja em linha; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getEmLinha(int timeOut) throws ACBrException;
/**
* Verifica se o ECF est� com pouco papel.
* @return True caso o ECF esteja com pouco papel; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getPoucoPapel() throws ACBrException;
/**
* Retorna o estado do ECF.
* @see jACBr.EstadoECF
* @return Int representando o estado do ECF.
* @throws ACBrException
*/
public native int getEstado() throws ACBrException;
/**
* Verifica se o ECF est� em hor�rio de ver�o.
* @return True caso o ECF esteja em hor�rio de ver�o; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getHorarioVerao() throws ACBrException;
/**
* Verifica se o ECF deve arredondar.
* @return True caso deva arredondar; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getArredonda() throws ACBrException;
/**
* Verifica se o ECF � uma impressora t�rmica.
* @return True caso seja uma impressora t�rmica; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getTermica() throws ACBrException;
/**
* Verifica se o ECF possui MFD (Mem�ria Fita Detalhe).
* @return True caso o ECF possua MFD; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getMFD() throws ACBrException;
/**
* Verifica se o ECF � capaz de identificar o consumidor no rodap� do ECF.
* @return True caso o ECF possua a fun��o; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getIdentificaConsumidorRodape() throws ACBrException;
/**
* Retorna o subtotal do cupom atual.
* @return Double contendo o valor do subtotal.
* @throws ACBrException
*/
public native double getSubTotal() throws ACBrException;
/**
* Retorna o total pago no cupom atual.
* @return Double contendo o total pago.
* @throws ACBrException
*/
public native double getTotalPago() throws ACBrException;
/**
* Verifica se a gaveta est� aberta.
* @return True caso a gaveta esteja aberta; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getGavetaAberta() throws ACBrException;
/**
* Verifica se o ECF possui a fun��o ChequePronto.
* @return True caso o ECF possua a fun��o; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getChequePronto() throws ACBrException;
/**
* Retorna o intervalo a agurardar ap�s o envio de um comando ao ECF (em milissegundos).
* @return Intervalo
* @throws ACBrException
*/
public native int getIntervaloAposComando() throws ACBrException;
/**
* Define o intervalo a aguardar ap�s o envio de um comando ao ECF (em milissegundos).
* @param intervalo
* @throws ACBrException
*/
public native void setIntervaloAposComando(int intervalo) throws ACBrException;
/**
* Verifica se o ECF deve usar descri��o grande nos itens.
* @return True caso use descri��o grande; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getDescricaoGrande() throws ACBrException;
/**
* Define se o ECF deve usar descri��o grande nos itens.
* @param descricaoGrande
* @throws ACBrException
*/
public native void setDescricaoGrande(boolean descricaoGrande) throws ACBrException;
/**
* Verifica se o sinal da gaveta deve ser interpretado invertido.
* @return True caso deva inverter o sinal; False caso contr�rio.
* @throws ACBrException
*/
public native boolean getGavetaSinalInvertido() throws ACBrException;
/**
* Define se o sinal da gaveta deve ser interpretado invertido.
* @param gavetaSinalInvertido
* @throws ACBrException
*/
public native void setGavetaSinalInvertido(boolean gavetaSinalInvertido) throws ACBrException;
/**
* Retorna o operador.
* @return String contendo o operador.
* @throws ACBrException
*/
public native String getOperador() throws ACBrException;
/**
* Define o operador
* @param operador
* @throws ACBrException
*/
public native void setOperador(String operador) throws ACBrException;
/**
* Retorna o n�mero de linhas entre os cupons emitidos.
* @return N�mero de linhas
* @throws ACBrException
*/
public native int getLinhasEntreCupons() throws ACBrException;
/**
* Define o n�mero de linhas entre os cupons emitidos.
* @param linhasEntreCupons
* @throws ACBrException
*/
public native void setLinhasEntreCupons(int linhasEntreCupons) throws ACBrException;
/**
* Retorna a quantidade de casas decimais utilizadas no pre�o.
* @return Quantidade de casas decimais utilizadas no pre�o.
* @throws ACBrException
*/
public native int getDecimaisPreco() throws ACBrException;
/**
* Define a quantidade de casas decimais utilizadas no pre�o.
* @param decimaisPreco
* @throws ACBrException
*/
public native void setDecimaisPreco(int decimaisPreco) throws ACBrException;
/**
* Retorna a quantidade de casas decimais utilizadas na quantidade.
* @return Quantidade de casas decimais utilizadas na quantidade.
* @throws ACBrException
*/
public native int getDecimaisQtd() throws ACBrException;
/**
* Define a quantidade de casas decimais utilizadas na quantidade.
* @param decimaisQtd
* @throws ACBrException
*/
public native void setDecimaisQtd(int decimaisQtd) throws ACBrException;
/**
* Identifica o consumidor para o Cupom atual.<br/>
* Utilize a propriedade getIdentificaConsumidorRodape para verificar se este m�todo deve ser chamado antes ou depois de abrir um novo cupom.
* @see getIdentificaConsumidorRodape
* @param cpfCnpj CPF ou CNPJ do consumidor.
* @param nome Nome do consumidor.
* @param endereco Endere�o do consumidor.
* @throws ACBrException
*/
public native void identificaConsumidor(String cpfCnpj, String nome, String endereco) throws ACBrException;
/**
* Abre um cupom fiscal.
* @throws ACBrException
*/
public void abreCupom() throws ACBrException
{
abreCupom("","","");
}
/**
* Abre um cupom fiscal.
* @param cpfCnpj CPF ou CNPJ do consumidor.
* @param nome Nome do consumidor
* @param endereco Endere�o do consumidor.
* @throws ACBrException
*/
public native void abreCupom(String cpfCnpj, String nome, String endereco) throws ACBrException;
public native void legendaInmetroProximoItem() throws ACBrException;
/**
* Registra a venda de um item no cupom fiscal
* @param codigo C�digo do item.
* @param descricao Descri��o do item.
* @param aliquotaICMS �ndice da al�quota.
* @param qtd Quantidade
* @param valorUnitario Valor unit�rio
* @param descontoPorc Desconto
* @param unidade Unidade
* @param tipoDescontoAcrescimo Tipo de desconto: "$" para valor ou "%" para percentual.
* @param descontoAcrescimo Desconto ou acr�scimo: "D" para desconto ou "A" para acr�scimo.
* @throws ACBrException
*/
public native void vendeItem(String codigo, String descricao, String aliquotaICMS, double qtd, double valorUnitario, double descontoPorc, String unidade, String tipoDescontoAcrescimo, String descontoAcrescimo) throws ACBrException;
/**
* Registra desconto ou acr�scimo para o item vendido anterior.
* @param valorDescontoAcrescimo Valor do desconto ou acr�scimo
* @param descontoAcrescimo Desconto ou Acr�scimo: "D" para desconto ou "A" para acr�scimo.
* @throws ACBrException
*/
public native void descontoAcrescimoItemAnterior(double valorDescontoAcrescimo, String descontoAcrescimo) throws ACBrException;
/**
* Subtotaliza o cupom fiscal.
* @param descontoAcrescimo Desconto ou acr�scimo no total da venda.
* @param mensagemRodape Mensagem no rodap� do cupom.
* @throws ACBrException
*/
public native void subtotalizaCupom(double descontoAcrescimo, String mensagemRodape) throws ACBrException;
/**
* Efetua pagamento da compra.
* @param codFormaPagto �ndice da forma de pagamento.
* @param valor Valor pago.
* @param observacao Observa��o sobre o pagamento.
* @param imprimeVinculado Flag indicando se haver� impress�o de comprovante vinculado para este pagamento.
* @throws ACBrException
*/
public native void efetuaPagamento(String codFormaPagto, double valor, String observacao, boolean imprimeVinculado) throws ACBrException;
/**
* Estorna o pagamento efetuado.
* @param codFormaPagtoEstornar �ndice da forma de pagamento a estornar
* @param codFormaPagtoEfetivar �ndice da forma de pagamento a efetivar.
* @param valor Valor o pagamento
* @param observacao Observa��es.
* @throws ACBrException
*/
public native void estornaPagamento(String codFormaPagtoEstornar, String codFormaPagtoEfetivar, double valor, String observacao) throws ACBrException;
/**
* Fecha o cupom fiscal.
* @param observacao Observa��es
* @throws ACBrException
*/
public native void fechaCupom(String observacao) throws ACBrException;
/**
* Cancela o cupom fiscal atualmente aberto ou o �ltimo cupom emitido.
* @throws ACBrException
*/
public native void cancelaCupom() throws ACBrException;
/**
* Cancela o item vendido.
* @param numItem N�mero do item vendido.
* @throws ACBrException
*/
public native void cancelaItemVendido(int numItem) throws ACBrException;
/**
* Cancela o item vendido parcial.
* @param numItem N�mero do item
* @param quantidade Quantidade
* @throws ACBrException
*/
public native void cancelaItemVendidoParcial(int numItem, double quantidade) throws ACBrException;
/**
* Cancela o desconto ou acr�scimo de um item vendido.
* @param numItem N�mero do item.
* @throws ACBrException
*/
public native void cancelaDescontoAcrescimoItem(int numItem) throws ACBrException;
/**
* Cancela o desconto ou acr�scimo do subtotal da venda.
* @param tipoAcrescimoDesconto Desconto ou acr�scimo: "D" para desconto ou "A" para acr�scimo.
* @throws ACBrException
*/
public native void cancelaDescontoAcrescimoSubTotal(char tipoAcrescimoDesconto) throws ACBrException;
/**
* Emite um relat�rio de leitura X.
* @throws ACBrException
*/
public native void leituraX() throws ACBrException;
/**
* Emite uma redu��o Z.
* @throws ACBrException
*/
public native void reducaoZ() throws ACBrException;
/**
* Abre um relat�rio gerencial
* @param indice �ndice do relat�rio
* @throws ACBrException
*/
public native void abreRelatorioGerencial(int indice) throws ACBrException;
/**
* Imprime uma linha no relat�rio gerencial.
* @param linha
* @param indiceBMP
* @throws ACBrException
*/
public native void linhaRelatorioGerencial(String linha, int indiceBMP) throws ACBrException;
/**
* Abre um cupom vinculado ao cupom fiscal
* @param coo String contendo o COO do cupom fiscal.
* @param codFormaPagto C�digo da forma de pagamento.
* @param valor Valor do pagamento.
* @throws ACBrException
*/
public native void abreCupomVinculado(String coo, String codFormaPagto, double valor) throws ACBrException;
/**
* Abre um cupom vinculado ao cupom fiscal.
* @param coo String contendo o COO do cupom fiscal.
* @param codFormaPagto �ndice da forma de pagamento
* @param codComprovanteNaoFiscal C�digo do comprovante n�o fiscal.
* @param valor Valor do pagamento.
* @throws ACBrException
*/
public native void abreCupomVinculadoCNF(String coo, String codFormaPagto, String codComprovanteNaoFiscal, double valor) throws ACBrException;
/**
* Imprime uma linha no cupom vinculado.
* @param linha String contendo o texto a ser impresso
* @throws ACBrException
*/
public native void linhaCupomVinculado(String linha) throws ACBrException;
/**
* Fecha o relat�rio gerencial.
* @throws ACBrException
*/
public native void fechaRelatorio() throws ACBrException;
/**
* Pula um n�mero de linhas nos relat�rios
* @param numLinhas N�mero de linhas a pular
* @throws ACBrException
*/
public native void pulaLinhas(int numLinhas) throws ACBrException;
/**
* Aciona a guilhotina para cortar o papel.
* @param corteParcial Flag que indica se o corte � parcial ou total.
* @throws ACBrException
*/
public native void cortaPapel(boolean corteParcial) throws ACBrException;
/**
* Retorna as al�quotas programadas no ECF.
* @return Array contendo as al�quotas
* @throws ACBrException
*/
public Aliquota[] getAliquotas() throws ACBrException
{
if (aliquotas == null) carregaAliquotas();
return aliquotas.clone();
}
/**
* Carrega as al�quotas programadas no ECF.
* @see getAliquotas
* @throws ACBrException
*/
public void carregaAliquotas() throws ACBrException
{
int count = carregaAliquotasN();
this.aliquotas = new Aliquota[count];
for (int i=0; i<count; i++)
{
Aliquota aliquota = new Aliquota();
getAliquotaN(aliquota, i);
aliquotas[i] = aliquota;
}
}
/**
* Programa uma nova al�quota na mem�ria do ECF.<br>
* Cuidado, um al�quota uma vez programada n�o pode ser removida da mem�ria do ECF.
* @param aliquota Valor percentual da al�quota.
* @param tipo Tipo da al�quota: "T" para ICMS ou "S" para ISS
* @throws ACBrException
*/
public native void programaAliquota(double aliquota, char tipo) throws ACBrException;
private native void getAliquotaN(Aliquota aliquota, int index);
private native int carregaAliquotasN();
/**
* Retorna as formas de pagamento programadas na mem�ria do ECF.
* @return Array contendo as formas de pagamento.
* @throws ACBrException
*/
public FormaPagamento[] getFormasPagamento() throws ACBrException
{
if (formasPagamento == null) carregaFormasPagamento();
return formasPagamento.clone();
}
/**
* Carrega as formas de pagamento programadas no ECF.
* @see gerFormasPagamento
* @throws ACBrException
*/
public void carregaFormasPagamento() throws ACBrException
{
int count = carregaFormasPagamentoN();
formasPagamento = new FormaPagamento[count];
for (int i=0; i<count; i++)
{
FormaPagamento formaPagamento = new FormaPagamento();
getFormaPagamentoN(formaPagamento, i);
formasPagamento[i] = formaPagamento;
}
}
/**
* Programa uma nova forma de pagamento na mem�ria do ECF.<br/>
* Cuidado, um forma de pagamento uma vez programada n�o pode ser removida da mem�ria do ECF.
* @param descricao Descri��o da forma de pagamento.
* @param permiteVinculado Flag indicando se a forma de pagamento permite impress�o de cupom vinculado.
* @throws ACBrException
*/
public native void programaFormaPagamento(String descricao, boolean permiteVinculado) throws ACBrException;
private native int carregaFormasPagamentoN();
private native void getFormaPagamentoN(FormaPagamento formaPagamento, int index);
/**
* Retorna os comprovantes n�o fiscais programados no ECF.
* @return Array contendo os comprovantes n�o fiscais.
* @throws ACBrException
*/
public ComprovanteNaoFiscal[] getComprovantesNaoFiscais() throws ACBrException
{
if (comprovantesNaoFiscais == null) carregaComprovantesNaoFiscais();
return comprovantesNaoFiscais.clone();
}
/**
* Carrega os comprovantes n�o fiscais programados no ECF.
* @throws ACBrException
*/
public void carregaComprovantesNaoFiscais() throws ACBrException
{
int count = carregaComprovantesNaoFiscaisN();
comprovantesNaoFiscais = new ComprovanteNaoFiscal[count];
for (int i=0; i<count; i++)
{
ComprovanteNaoFiscal comprovanteNaoFiscal = new ComprovanteNaoFiscal();
getComprovanteNaoFiscalN(comprovanteNaoFiscal, i);
comprovantesNaoFiscais[i] = comprovanteNaoFiscal;
}
}
public native void getComprovanteNaoFiscalN(Object comprovanteNaoFiscal, int index) throws ACBrException ;
public native int carregaComprovantesNaoFiscaisN() throws ACBrException;
/**
* Programa um novo comprovante n�o fiscal na mem�ria do ECF.<br/>
* Cuidado, um comprovante n�o fiscal uma vez programada n�o pode ser removida da mem�ria do ECF.
* @param descricao
* @param tipo
* @throws ACBrException
*/
public native void programaComprovanteNaoFiscal(String descricao, String tipo) throws ACBrException;
/**
* Efetua uma retirada de valor em caixa.
* @param valor Valor a ser retirado.
* @param obs Observa��es.
* @throws ACBrException
*/
public native void sangria(double valor, String obs) throws ACBrException;
/**
* Efetua um suprimento de valor em caixa.
* @param valor Valor a ser suprido.
* @param obs Observa��es.
* @throws ACBrException
*/
public native void suprimento(double valor, String obs) throws ACBrException;
/**
* Abre a gaveta.
* @throws ACBrException
*/
public native void abreGaveta() throws ACBrException;
}