Business - Automação Comercial

Lendo e cadastrando alíquotas na Impressoras Daruma

Veja neste artigo vamos conhecer no bit como ler e cadastrar alíquotas na DarumaFramework.dll.

por Daruma Developer



Alíquota de ICMS
O ICMS é o imposto sobre operações relativas à circulação de mercadorias e sobre prestações de serviços de transporte interestadual, intermunicipal e de comunicação.

Alíquota de ISS ou ISSQN
É o Imposto sobre serviços de qualquer natureza, de competência dos municípios e do Distrito Federal, tem como fato gerador a prestação de serviços constantes da lista anexa à Lei Complementar 116/2003, ainda que esses não se constituam como atividade preponderante do prestador.

Observação: Para o contribuinte que necessite trabalhar com alíquotas de serviço(ISS) é necessário verificar se o ECF possui inscrição municipal carregada.
Para conferir basta emitir qualquer documento no ECF e conferir no cabeçalho, conforme abaixo.

 

É possível também verificar através de comando!
Para isto utilize a função: rRetornarInformação_ECF_Daruma.
Índice:
92
Tamanho:
20
E caso existe Inscrição Municipal no ECF será retornada.


 

Cadastrando Alíquotas na Impressora Fiscal

Para o cadastro das alíquotas no ECF utilizaremos a função: confCadastrar_ECF_Daruma.
Este método nos permite a configuração de Alíquotas, Totalizadores Não-Fiscais, Relatórios Gerenciais e Formas de Pagamento.

Parâmetros:

pszCadastrar                 Tipo: ALIQUOTA,

                            TNF,

                            RG,

                                     FPGTO.                  

pszValor              Descrição a ser cadastrada.


pszSeparador                Separador utilizado para separar a descrição.

Neste caso no parâmetro pszCadastrar utilizaremos apenas “ALIQUOTA”.

Tipo da Alíquota

Para cadastrar uma alíquota de ICMS, o comando deve ser chamado passando direto o valor da alíquota desejada.

Exemplo:

confCadastrar_ECF_Daruma("ALIQUOTA", "1500", "|"), onde "1500" é o valor da alíquota de ICMS que desejamos cadastrar.

Para cadastrar uma alíquota de ISS o comando deve ser chamado passando a letra "S" + o valor da alíquota.

Exemplo:

confCadastrar_ECF_Daruma("ALIQUOTA", "S1500", "|"), onde "S" indica que será cadastrada uma alíquota de ISS e 1500 é o valor desta alíquota.

Na prática: 

 

C (Sharp)

[DllImport("DarumaFrameWork.dll")]

        public static extern int confCadastrar_ECF_Daruma(string pszCadastrar, string pszValor, string pszSeparador);


private void BT_Enviar_Click(object sender, EventArgs e)

        {          

            Declaracoes.iRetorno = Declaracoes.confCadastrar_ECF_Daruma("ALIQUOTA", "1300|S2100","|");                  

        }

         
VB6

Public Declare Function confCadastrar_ECF_Daruma Lib "DarumaFramework.dll"

 (ByVal pszCadastrar As String, ByVal pszValor As String, ByVal pszSeparador As String) As Integer

Private Sub Enviar_Click()

        iRetorno = confCadastrar_ECF_Daruma("ALIQUOTA", "1300|S2100","|")
End Sub

Delphi

function confCadastrar_ECF_Daruma(pszCadastrar:string;pszValor:string;pszSeparador:string): Integer;

StdCall; External 'DarumaFramework.dll'

procedure TFR_FISCAL_confCadastrar_ECF_Daruma.BT_ENVIARClick(

  Sender: TObject);

begin

      

        Int_Retorno:= confCadastrar_ECF_Daruma(‘ALIQUOTA’, ’1300|S2100’,’|’);       

end;

Leitura das Alíquotas na Impressora Fiscal


Para lermos as alíquotas cadastradas na impressora utilizaremos o método: rLerAliquotas_ECF_Daruma.

 

Parâmetros:

cAliquotas  :  Variável por referência  que retorna as alíquotas cadastradas na impressora fiscal.

Será devolvidas todas alíquotas cadastradas na impressora na variável por referência.
      
Quando o prefixo iniciar com a letra T refere-se a uma alíquota de ICMS.
Ex: T1300;   

Quando o prefixo iniciar com a letra S refere-se a uma alíquota ISS.
Ex: S2100;

O método devolve as 16 posições de alíquotas cadastradas e as alíquotas de substituição tributarias, onde as mesmas tem valor de impostos já diluído no valor do produto, variando de estabelecimento para estabelecimento, como é o caso dos postos de combustível.

Veja como são retornadas as alíquotas de Substituição Tributária.

ICMS:

TF1;

TF2;

TI1;

TI2;

TN1;

TN2;

ISSQN:

SFS1;

SFS2;

SIS1;

SIS2;

SNS1;

SNS2

Na prática:


C (Sharp)

[DllImport("DarumaFrameWork.dll")]

        public static extern int rLerAliquotas_ECF_Daruma(StringBuilder cAliquotas);

private void métodoRLerAliquotasECFDarumaToolStripMenuItem_Click(object sender, EventArgs e)

        {

            StringBuilder Str_Aliquotas = new StringBuilder(300);

           

            Declaracoes.iRetorno = Declaracoes.rLerAliquotas_ECF_Daruma(Str_Aliquotas);

            MessageBox.Show(Convert.ToString(Str_Aliquotas));

        }



Podemos observar que os totalizadores cadastrados na impressora foram devolvidos conforme na Leitura X abaixo.



 VB6

Public Declare Function rLerAliquotas_ECF_Daruma Lib "DarumaFramework.dll" (ByVal cAliquotas As String) As Integer

Private Sub mnurLerAliquotas_ECF_Daruma_Click()

 Dim Str_Aliquotas As String

        Str_Aliquotas = Space(150)

        iRetorno = rLerAliquotas_ECF_Daruma(Str_Aliquotas)

        MsgBox (Str_Aliquotas)

       

End Sub

Delphi

function rLerAliquotas_ECF_Daruma(cAliquotas:string): Integer; StdCall; External 'DarumaFramework.dll';

procedure BTEnviarClick(

  Sender: TObject);

var

    Str_Informacao: String;

begin

           SetLength (Str_Informacao,150);

   Int_Retorno := rLerAliquotas_ECF_Daruma(Str_Informacao);

   ShowMessage(Str_Informacao);

   end;

   
Viu só como é simples trabalhar com alíquotas na DarumaFramework.dll? Este é mais um recurso alto-nível para facilitar e acelerar o processo de desenvolvimento de sua aplicação.

Um abraço e até o próximo artigo.

Daruma Developer

Daruma Developer