Bematech - Non-fiscal printer MP 4200 TH

0

I'm having problems with the non-fiscal thermal printer in relation to paper cutting done by the guillotine.

I'll give you an example:

Today the printer is printing normally, but does not trigger the automatic guillotine by cutting the paper.

I have tried to add the DLL, but it is giving error. Here is the code for the project.

Class

public class MP2032 
{
            [DllImport("MP2032.dll", CallingConvention = CallingConvention.Cdecl)]         
            public static extern int AcionaGuilhotina(int parcial_full);
}

Main

  private void ImprimeImpressora(string codigoPedido)  
    {
        #region BUSCAR DADOS

        DataTable dtEmpresa = BuscarEmpresa(codigoPedido);
        DataTable dtCliente = BuscarCliente(codigoPedido);
        DataTable dtProduto = BuscarProduto(codigoPedido);
        DataTable dtPedido = BuscarPedido(codigoPedido);
        if (dtProduto.Rows.Count == 0)
        {
            MessageBox.Show("Pedido não possui produtos.");
            return;
        }
        #endregion
       // Imprimir(codigoPedido);

                    ImprimeTexto imp = new ImprimeTexto();
                    imp.SetarFonte("Arial", 5);
                    imp.Inicio("LPT1");

                    imp.ImpLF(dtEmpresa.Rows[0]["d006_nome_empresa"].ToString());
                    imp.ImpLF(dtEmpresa.Rows[0]["d006_endereco"].ToString() + "," + dtEmpresa.Rows[0]["D006_NUM"].ToString() + " - " + dtEmpresa.Rows[0]["d006_bairro"].ToString());
                    imp.ImpLF(dtEmpresa.Rows[0]["d006_cidade"].ToString() + " - " + dtEmpresa.Rows[0]["d006_uf"].ToString() + " (" + dtEmpresa.Rows[0]["D006_DDD"].ToString() + ")" + dtEmpresa.Rows[0]["D006_TELEFONE1"].ToString());
                    imp.ImpLF("==========================================");
                    if (dtPedido.Rows[0]["D007_TIPO_MOVIMENTO"].ToString() == "P")
                        imp.ImpLF("Numero Pedido: " + codigoPedido);
                    else
                        imp.ImpLF("Numero Orcamento: " + codigoPedido);
                    imp.ImpLF("Vendedor.....: " + dtPedido.Rows[0]["D024_NOME"].ToString());
                    imp.ImpLF("Data / Hora..: " + dtPedido.Rows[0]["D007_DATA_HORA_DIGITACAO"].ToString());
                    imp.ImpLF("------------------------------------------");
                    imp.ImpLF(imp.Comprimido + "CLIENTE" + imp.Normal);
                    imp.ImpLF(dtCliente.Rows[0]["D022_CLIENTE_ID"].ToString() + " - " + dtCliente.Rows[0]["D007_NOME"].ToString());
                    imp.ImpLF(dtCliente.Rows[0]["D022_ENDERECO"].ToString() + "," + dtCliente.Rows[0]["D022_NUMERO"].ToString());
                    imp.ImpLF(dtCliente.Rows[0]["D022_BAIRRO"].ToString() + " - " + dtCliente.Rows[0]["D022_CIDADE"].ToString() + " (" + dtCliente.Rows[0]["D022_DDD"].ToString() + ")" + dtCliente.Rows[0]["D022_FONE1"].ToString());
                    imp.ImpLF("------------------------------------------");
                    imp.ImpCol(00, "COD");
                    imp.ImpCol(06, "UN");
                    imp.ImpColLF(8, "Descricao"); 
                    imp.ImpCol(8, "Quantidade"); //8
                    imp.ImpCol(11, "Vlr Unitario"); 
                    imp.ImpColLF(29, "Vlr Total"); //33
                    imp.ImpLF("------------------------------------------");
                    for (int i = 0; i < dtProduto.Rows.Count; i++)
                    {
                        imp.ImpCol(00, dtProduto.Rows[i]["d002_codigo_produto"].ToString());
                        imp.ImpCol(06, dtProduto.Rows[i]["d008_unidade_medida"].ToString());
                        imp.ImpColLF(8, dtProduto.Rows[i]["d002_descricao"].ToString());
                        imp.ImpCol(8, dtProduto.Rows[i]["d008_quantidade2"].ToString());
                        if (dtProduto.Rows[i]["d002_preco_venda"].ToString() == "")
                            imp.ImpCol(16,"0");
                        else
                            imp.ImpCol(16, double.Parse(dtProduto.Rows[i]["d002_preco_venda"].ToString()).ToString("n2"));
                        imp.Pula(1);

                    }
                    imp.Pula(1);
                    //imp.ImpLF("------------------------------------------");
                    //imp.ImpCol(00, "Desc..:" + double.Parse(dtPedido.Rows[0]["D007_DESCONTO_GLOBAL"].ToString()).ToString("n2"));
                    //imp.ImpCol(13, "Frete..:" + double.Parse(dtPedido.Rows[0]["D007_VALOR_FRETE"].ToString()).ToString("n2"));
                    imp.ImpColLF(29, "Total..:" + double.Parse(dtPedido.Rows[0]["D007_TOTAL_PEDIDO"].ToString()).ToString("n2"));
                    imp.ImpLF("------------------------------------------");
                    imp.ImpLF("Forma de Pagamento: " + dtPedido.Rows[0]["D082_DESCRICAO"].ToString());
                    imp.ImpLF("------------------------------------------");
                    imp.ImpColLF(10, "OBRIGADO E VOLTE SEMPRE!");
                    imp.ImpLF("------------------------------------------");
                    imp.ImpColLF(10,"<<DOCUMENTO NAO FISCAL>>");
                    imp.ImpColLF(9,"<<NAO SERVE COMO GARANTIA>>");
                    imp.ImpLF("==========================================");
                    imp.Pula(10);

                    imp.Fim();
                    MP2032.AcionaGuilhotina(1); 
                    MessageBox.Show("Impressão realizada com sucesso.");
                }

Error message on execution:

Consulte o final desta mensagem para obter detalhes sobre como chamar a 
depuração just-in-time (JIT) em vez desta caixa de diálogo.

************** Texto de Exceção **************
System.Configuration.ConfigurationErrorsException: O sistema de configuração falhou ao inicializar ---> System.Configuration.ConfigurationErrorsException: Apenas um elemento <configSections> é permitido por arquivo de configuração e, se presente, deve ser o primeiro filho do elemento <configuration> raiz. (C:\s-commerce\apls\ProjetoAux.exe.Config line 4)
   em System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   em System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
   em System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   em System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName)
   em System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.RefreshConfig(String sectionName)
   em System.Configuration.ClientSettingsStore.ReadSettings(String sectionName, Boolean isUserScoped)
   em System.Configuration.LocalFileSettingsProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection properties)
   em System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider)
   em System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName)
   em System.Configuration.SettingsBase.get_Item(String propertyName)
   em System.Configuration.ApplicationSettingsBase.GetPropertyValue(String propertyName)
   em System.Configuration.ApplicationSettingsBase.get_Item(String propertyName)
   em ProjetoAux.Properties.Settings.get_FbConexao()
   em ProjetoAux.ImpressaoNaoFiscalLPT.BuscarEmpresa(String codigoPedido)
   em ProjetoAux.ImpressaoNaoFiscalLPT.ImprimeImpressora(String codigoPedido)
   em ProjetoAux.ImpressaoNaoFiscalLPT._btnImpressao_Click(Object sender, EventArgs e)
   em System.Windows.Forms.Control.OnClick(EventArgs e)
   em System.Windows.Forms.Button.OnClick(EventArgs e)
   em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   em System.Windows.Forms.Control.WndProc(Message& m)
   em System.Windows.Forms.ButtonBase.WndProc(Message& m)
   em System.Windows.Forms.Button.WndProc(Message& m)
   em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblies Carregados **************
mscorlib
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
ProjetoAux
    Versão do Assembly: 1.0.0.0
    Versão do Win32: 1.0.0.0
    Base de Código: file:///C:/s-commerce/apls/ProjetoAux.exe
----------------------------------------
System.Windows.Forms
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Data
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
FirebirdSql.Data.FirebirdClient
    Versão do Assembly: 3.0.2.0
    Versão do Win32: 3.0.2.0
    Base de Código: file:///C:/s-commerce/apls/FirebirdSql.Data.FirebirdClient.DLL
----------------------------------------
System.Transactions
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Configuration
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Configuration.resources
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration.resources/v4.0_4.0.0.0_pt-BR_b03f5f7f11d50a3a/System.Configuration.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_pt-BR_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Versão do Assembly: 4.0.0.0
    Versão do Win32: 4.6.79.0 built by: NETFXREL2
    Base de Código: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_pt-BR_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Depuração JIT **************
Para habilitar a depuração just-in-time (JIT), o arquivo .config deste
aplicativo ou computador (machine.config) deve ter o valor
jitDebugging definido na seção system.windows.forms.
O aplicativo também deve ser compilado com a depuração
habilitada.

Por exemplo:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Quando a depuração JIT está habilitada, qualquer exceção sem tratamento
será enviada ao depurador JIT registrado no computador,
em vez de ser tratada nesta caixa de diálogo.
    
asked by anonymous 10.01.2017 / 12:48

0 answers