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 DeveloperO 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.
- Códigos de Barras no ECF Automação Comercial
- Gerando o SPED Automação Comercial
- Gerando o Arquivo MFD (PAF-ECF) Automação Comercial
- Desprogramando o Horário de VerãoAutomação Comercial
- Programando o Horário de VerãoAutomação Comercial