Olá pessoal,

No dia 04/08/2011, o Ato Cotepe 06/08 sofreu uma modificação, onde dispõe sobre a especificação de requisitos do Programa Aplicativo Fiscal - Emissor de Cupom Fiscal (PAF-ECF) e do Sistema de Gestão utilizado por estabelecimento usuário de equipamento ECF.

Art. 1º O Anexo I do ATO COTEPE ICMS 6/08, de 14 de abril de 2008, fica acrescido do seguinte requisito:

VIII-A

  1. A critério da unidade federada, mediante parametrização, o PAF-ECF deve comandar a impressão no Cupom Fiscal de código composto por informações relativas ao respectivo Cupom Fiscal, observando-se que:
  2. Para o PAF-ECF utilizado por estabelecimento situado no Estado de Minas Gerais o código deve ser precedido da expressão "MINAS LEGAL:" em caixa alta e deve obedecer ao formato 99999999ddmmaaaa8888888, onde:
    "99999999" representa o número do núcleo do CNPJ do contribuinte usuário do ECF, impresso no cabeçalho do Cupom Fiscal, considerando como núcleo do CNPJ os oito (8) primeiros dígitos que o compõe;
    "ddmmaaaa" representa a data de emissão do Cupom Fiscal impressa em seu cabeçalho;
    "8888888" representa o valor total do respectivo Cupom Fiscal, sem as casas decimais (centavos) e sem zeros (0) à esquerda.

    Exemplo:
    Dados do Cupom Fiscal:  CNPJ: 12.345.678/0001-00 Data: 12/06/2011   Valor Total: R$ 125,45  -  Formação do código:
    MINAS LEGAL: 1234567812062011125
    Dados do Cupom Fiscal:  CNPJ: 12.345.678/0001-00 Data: 12/06/2011   Valor Total: R$ 1.230,86  -  Formação do código: MINAS LEGAL: 12345678120620111230
  3. O código deve ser impresso na primeira linha disponível do campo "mensagens promocionais" ou do campo "informações suplementares", conforme o modelo de ECF, após a impressão das demais informações previstas nesta especificação.
NF Desde da publicação 05/8/2011, o PAF-ECF utilizado por estabelecimentos situados no estado de Minas Gerais conforme a legislação deverão ter a versão atualizada com versão que atenda ao requisito estabelecido no art. 1º até o dia 30 de setembro de 2011.

A Daruma mais uma vez sai na frente disponibilizando um recurso para atender está legislação.
Em nossa dll darumaframework.dll, você conseguirá atender perfeitamente a legislação de maneira rápida e prática.
Existem 2 maneiras para atender o Minas Legal na DarumaFramework.dll.

A primeira delas é alterando a chave <MinasLegal> no XML, onde quando está chave está ligada a dll automaticamente será colocada a mensagem do Minas Legal no Cupom:
Rotina

Função para Alteração da Chave via código:

DELPHI
function regAlterarValor_Daruma(pszPathChave:string,pszValor:string):Integer; StdCall; External 'DarumaFramework.dll';

Int_Retorno:=regAlterarValor_Daruma("ECF\CF\MinasLegal", 1);

C#
public static extern int regAlteraValor_Daruma(string pszProduto, string pszChave, string pszValor);

 DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma("ECF\CF\MinasLegal", 1);
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.DarumaFramework_Mostrar_Retorno
(DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno);

VB6
Public Declare Function regAlterarValor_Daruma Lib "DarumaFramework.dll" (ByVal sProduto_Chave As String, ByVal sValor As String) As Integer

iRetorno = regAlterarValor_Daruma("ECF\CF\MinasLegal", 1)

A segunda maneira é pela função: rMinasLegal_ECF_Daruma:


Definiçãodo Metodo:
Este método retorna o texto que deve ser impresso no cupom fiscal no estado de Minas Gerais em uma String.
O método pode ser chamado em qualquer momento entre a totalização e a finalização do cupom fiscal, onde devolverá em uma variável o texto para ser inserido na mensagem de promocional do cupom fiscal, em seu respectivo fechamento.
Só reforçando que deve-se ser vendido acima de 1,00R$, pois não é permitido zeros a esquerda como no exemplo mais acima.

Sintaxe:
                  rMinasLegal_ECF_Daruma(char* pszRetorno);

Saída:

Informação estendida Abertura do Cupom Fiscal.
 Ex: MINAS LEGAL: 12345678120620111230

DELPHI

function rMinasLegal_ECF_Daruma(pszRecebe:string):Integer; StdCall; External 'DarumaFramework.dll';
procedure TFR_FISCAL_RetornoECF.MtodorMinasLegalECFDaruma1Click(
 Sender: TObject);
Var Str_MinasLegal: String;
begin
  Str_MinasLegal:=StringOFChar(#0,50);
  Int_Retorno := rMinasLegal_ECF_Daruma(Str_MinasLegal);
  Edt_Retorno.Lines.Clear();
 Edt_Retorno.Lines.Text := (Trim(Str_MinasLegal));
 FR_MenuImpressoraFiscal_Principal.DarumaFramework_Mostrar_Retorno(Int_Retorno);
end;

C#

public static extern int rMinasLegal_ECF_Daruma([MarshalAs(UnmanagedType.VBByRefStr)] ref string pszRecebe);
[DllImport("DarumaFrameWork.dll")]

private void button1_Click(object sender, EventArgs e)
{

string StrRecebe = new string(' ', 50);

DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rMinasLegal_ECF_Daruma(ref StrRecebe);
MessageBox.Show(StrRecebe.Trim());

}

}
}

VB6

Public Declare Function := rMinasLegal_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszRetorna As String) As Integer

Private Sub BT_Enviar_Click()
 Dim Str_Retorno As String

Str_Retorno = Space(50)
iRetorno = rMinasLegal_ECF_Daruma(Str_Retorno)
MsgBox(Str_Retorno)
End Sub

Viram só como é simples! A Daruma mais uma vez tem a satisfação de proporcionar soluções que facilitem e tornem seu trabalho bem mais fácil!