-
Total de ítens
57 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Gustavo.Vicente
-
-
5 minutos atrás, Juliomar Marchetti disse:
Boa tarde.
não lembro se foi colocado em dll para ser usado. mas basicamente tu pode pegar a função e converter para acredito eu C# ou até mesmo pegar na internet pois é o Round usando fielmente as regras da ABNT
Pegar o código dela? Onde consigo? Assim crio em C#.
-
Em 18/04/2016 at 18:44, Daniel Simoes disse:
Há alguma diferença dessa implementação e da existente em ACBrUtil ??
Daniel, boa tarde, estou tendo esse problema para produtos que são vendidos fracionados por peso, essa ACBrUtil tem a versão para utilizar no .Net? Onde está o download dela, sou membro Pro.
-
Era problema com a DLL, técnico baixou a errada e jurava que estava certo, fiz o teste com o demo foi OK,então atualizei as DLL e ai funcionou. Com toda certeza não era Windows 11. Obrigado.
- 2
- 1
-
30 minutos atrás, Daniel Simoes disse:
Não creio que seja problema no Win11.. pois tem vários usuários que usam ele com a ACBrLib...
O erro parece ser configuração errada, da DLL do SAT...
Você compila sua aplicação em 32 ou 64 bits ?
Esta compilada em 32 bits. Vou fazer um teste novo com o demo do SAT. A instalação feita é a mesma nos windows 10.
-
Prezados, muito boa noite,
Instalei nosso sistema em um novo cliente e os computadores já vieram com o Windows 11, porém até o presente momento o sistema estava rodando tudo bem utilizando o componente, mas na versão Caixa onde ele emite o cupom fiscal sat deu problema.
O pessoal foi executar o check-list de testes e se deparou com erros toda a vez que vai se comunicar com o componente.
O sistema é feito em .Net C#.
Segue abaixo o stack do erro que ocorre na Consulta de Status Operacional. A mesma coisa ocorre se foi emitir o cupom.
Aplicativo: TractioCaixa.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma exceção sem tratamento.
Informações da Exceção: System.AccessViolationException
em ACBrLib.Sat.ACBrSat+<>c__DisplayClass18_0.<ConsultarStatusOperacional>b__0()
em ACBrLib.Core.ACBrLibHandle.ExecuteMethod[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Int32>)Informações da Exceção: System.ApplicationException
em ACBrLib.Core.ACBrLibHandle.ExecuteMethod[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Int32>)
em ACBrLib.Sat.ACBrSat.ConsultarStatusOperacional()
em app_classLibrary.frmConfiguraDLLACBrSAT.BtnConsultarStatus_Click(System.Object, System.EventArgs)
em System.Windows.Forms.Control.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
em System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
em System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
em System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form)
em System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window)
em System.Windows.Forms.Form.ShowDialog()
em app_caixa_win.UC.ucFiscal.Button1_Click(System.Object, System.EventArgs)
em System.Windows.Forms.Control.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
em System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
em System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
em System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
em app_caixa_win.Program.Main()Segue a stack do erro na emissão do cupom fiscal na chamada da EnviarCFe
Aplicativo: TractioCaixa.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma exceção sem tratamento.
Informações da Exceção: System.AccessViolationException
em ACBrLib.Sat.ACBrSat+<>c__DisplayClass27_0.<EnviarCFe>b__0()
em ACBrLib.Core.ACBrLibHandle.ExecuteMethod[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Int32>)Informações da Exceção: System.ApplicationException
em ACBrLib.Core.ACBrLibHandle.ExecuteMethod[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Int32>)
em ACBrLib.Sat.ACBrSat.EnviarCFe(System.String)
em app_classLibrary.Servicos.EmitirCupomFiscal(Int32, Int32, Int32, System.String, System.Windows.Forms.DialogResult, app_classLibrary.Backoffice.SGPData, Boolean)
em app_classLibrary.frmPagamento.ConcluirRecebimento()
em app_classLibrary.frmPagamento.btnConcluirRecebimento_Click(System.Object, System.EventArgs)
em System.Windows.Forms.Control.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnClick(System.EventArgs)
em System.Windows.Forms.Button.PerformClick()
em app_classLibrary.frmPagamento.IncluirValorPago(Boolean)
em app_classLibrary.frmPagamento.btnAdicionaPagamento_Click(System.Object, System.EventArgs)
em System.Windows.Forms.Control.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
em System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
em System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
em System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form)
em System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window)
em System.Windows.Forms.Form.ShowDialog()
em app_caixa_win.UC.ucCaixa.CliqueBotaoReceber(System.Object, System.EventArgs)
em System.Windows.Forms.Control.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnClick(System.EventArgs)
em System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
em System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
em System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
em System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
em System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
em System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
em app_caixa_win.Program.Main()Se alguém já passou por isso e resolveu sem fazer o downgrade para o W10 e puder ajudar agradeço. Salientando que as duas máquinas já vieram com o Windows 11 instalados, no caso não tem opção de downgrade seria necessário instalar o windows 10 nelas.
-
Em 25/07/2021 at 13:50, Italo Giurizzato Junior disse:
Boa tarde Gustavo,
Exato, alimenta o componente como você fosse emitir, mas em vez de emitir, você executa o método Assinar e depois Consultar.
Italo boa tarde,
Eu fiz isso no processo, porém ele retorna para mim um XML com a data atual e não a data da emissão do dia que faço a consulta, e a chave do NFe também não é a mesma, isso é o correto?
Veja que coloquei o XML que obtive com a consulta e também a consulta que fiz no portal do SEFAZ com a chave de acesso. Não são iguais, apesar de o numero da NF (nNF) ser o mesmo a chave e a data da emissão não batem.
Segue também o passo a passo que faço no código para efetuar a consulta.
000224-0000006834-NFCe0000001209.xml
-
13 minutos atrás, Italo Giurizzato Junior disse:
Bom dia Gustavo,
Quem emite o documento tem a obrigação legal de possuir o XML, seja ele salvo em disco ou no banco de dados.
Se o seu cliente fez o favor de perder o XML da nota seja ela NF-e ou NFC-e existe uma solução:
1. Alimente o componente com os dados da venda referente a nota cujo XML foi perdido;
2. Execute o método Assinar;
3. Execute o método Consultar;
Desta forma você vai recuperar o XML.
Mas lembre-se que o prazo para realizar a consulta e obter o resultado do processamento da nota se não falha a minha memória é de 180 dias.
Boa tarde Italo,
Eu alimento como se fosse emitir o cupom é isso, inclusive informar o mesmo número sequencial da NFCe que ele autorizou?
-
24 minutos atrás, Daniel Simoes disse:
Não existe nenhum WebService que retorne o XML que o próprio Emissor gerou
Blz, obrigado.
-
Pessoal, boa noite,
Existe algum método no componente ACBrLibNfe que possa utilizar para baixar o XML de um cupom NFC-e que foi emitido? Já dei uma pesquisada no fórum e encontrei algumas indicação apenas para NF-e.
Obrigado.
-
Informo que após configurado com o OpenSSL não apresentou mais o erro, e o erro 10091 que apresentou-se algumas vezes ao que parece é problema do SEFAZ mesmo, pois até ontem 14/07 não ocorreu nenhuma vez no horário de produção do cliente, então podemos concluir como resolvido.
- 1
- 1
-
51 minutos atrás, Daniel Simoes disse:
A versão já é bem atual.. Creio que você manter as DLLs do OpenSSL e LibXML2, na mesma pasta da ACBrLibNFe... terá menos chances de problemas...
Daniel, elas estão todas na mesma pasta, mas esta em uma pasta separada de onde está a aplicação, acha interessante deixar junto com a aplicação também?
-
8 minutos atrás, Daniel Simoes disse:
A ACBrLibNFe, carrega de forma dinâmica, as DLLs do OpenSSL e LibXML2.. que estão na pasta "dep" do ZIP de distribuição da ACBrLibNFe
Conforme detalhado nos tópicos de passo a passo, vc deve deixar as DLLs de dependências, na mesma pasta da ACBrLibNFe
Essa é a versão.
-
-
-
Em 10/07/2021 at 12:33, Daniel Simoes disse:
Tente usando a configuração com libOPenSSL
Boa tarde,
Hoje pela parte da manhã eu procedi essa alteração e passe a utilizar o libOpenSSL, ao que parece resolveu em partes, porém esporadicamente agora estou tendo o erro "10091 HTTP: 0", mas ai tenta de novo e ele emite.
Vou ajustar em um cliente hoje e acompanhar.
-
Olá, bom dia,
Estou com um erro que ocorre apenas para um cliente do estado de MG (Uberlândia), ora o sistema funciona normalmente e emite cupons ora ele começa a acusar o erro 12030 - A conexão com servidor foi redefinida ou encerrada, ou um protocolo SSL incompatível foi encontrado.
Já assisti o vídeo sobre a configuração do TLS porém minha configuração está adequada, dentro de todas as orientações. Todas as estações são Windows 10 e estão totalmente atualizadas, pois além do software também damos o suporte em todo o hardware e infra das lojas, então logo após assistir ao vídeo já certifiquei das versões do SO e das atualizações, mesmo assim ainda persiste o problema.
Meu sistema é em .Net C#.
Peço um auxílio para resolver isso o mais breve possível, também temos outros clientes em Três Lagoas-MS que utilizada também a emissão de NFCe, porém lá não temos nenhum problema, roda tudo certinho.Estou encaminhando o print da mensagem de erro, e também o print das configurações do componente que para comunicação.
Obrigado.
-
Daniel bom dia, obrigado pelo retorno, isso resolveria sim, mas eu por descuido e falha tinha deixado na configuração do INI a impressão do tipo tpFortes, e eu utilizo sempre a ESCPOS, mudando isso já deixei no padrão que uso inclusive com o SAT. Valeu.
- 1
-
Boa noite,
Estou utilizando o método NFE_Imprimir para a impressão do Cupom Fiscal, porém tanto na impressora Bematech MP-4200 TH como na Daruma DR-800 esta ficando com a impressão cortada a direita como pode ser visualizado na foto anexa, alguma forma de configurar isso?
Outro ponto é que toda a vez que mando ele imprimir a visualização eu deixei desabilitada porém ele abre uma janela para selecionar a impressora, sendo que já marquei a impressora padrão no windows antes de enviar a impressão, teria como configurar isso também para não apresentar essa janela e mandar a impressão diretamente?
-
Prezado, já resolvi. Obrigado.
public class IniFiles
{
private readonly string filePath;
private int capacity = 512;[DllImport("kernel32", CharSet = CharSet.Unicode)]
private static extern int GetPrivateProfileString(string section, string key, string defaultValue, StringBuilder value, int size, string filePath);[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
static extern int GetPrivateProfileString(string section, string key, string defaultValue, [In, Out] char[] value, int size, string filePath);[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern int GetPrivateProfileSection(string section, IntPtr keyValue, int size, string filePath);[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool WritePrivateProfileString(string section, string key, string value, string filePath);public IniFiles(string Path)
{
filePath = Path;
}public string ReadValue(string section, string key, string defaultValue = "")
{
var value = new StringBuilder(capacity);
GetPrivateProfileString(section, key, defaultValue, value, value.Capacity, filePath);
return value.ToString();
}public string[] ReadSections()
{
// first line will not recognize if ini file is saved in UTF-8 with BOM
while (true)
{
char[] chars = new char[capacity];
int size = GetPrivateProfileString(null, null, "", chars, capacity, filePath);if (size == 0)
{
return null;
}if (size < capacity - 2)
{
string result = new String(chars, 0, size);
string[] sections = result.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
return sections;
}capacity = capacity * 2;
}
}public string[] ReadKeys(string section)
{
// first line will not recognize if ini file is saved in UTF-8 with BOM
while (true)
{
char[] chars = new char[capacity];
int size = GetPrivateProfileString(section, null, "", chars, capacity, filePath);if (size == 0)
{
return null;
}if (size < capacity - 2)
{
string result = new String(chars, 0, size);
string[] keys = result.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
return keys;
}capacity = capacity * 2;
}
}public string[] ReadKeyValuePairs(string section)
{
while (true)
{
IntPtr returnedString = Marshal.AllocCoTaskMem(capacity * sizeof(char));
int size = GetPrivateProfileSection(section, returnedString, capacity, filePath);if (size == 0)
{
Marshal.FreeCoTaskMem(returnedString);
return null;
}if (size < capacity - 2)
{
string result = Marshal.PtrToStringAuto(returnedString, size - 1);
Marshal.FreeCoTaskMem(returnedString);
string[] keyValuePairs = result.Split('\0');
return keyValuePairs;
}Marshal.FreeCoTaskMem(returnedString);
capacity = capacity * 2;
}
}public bool WriteValue(string section, string key, string value)
{
bool result = WritePrivateProfileString(section, key, value, filePath);
return result;
}public bool DeleteSection(string section)
{
bool result = WritePrivateProfileString(section, null, null, filePath);
return result;
}public bool DeleteKey(string section, string key)
{
bool result = WritePrivateProfileString(section, key, null, filePath);
return result;
}
}
-
Olá Antonio Carlos, sim estou com o Demo em C# para entender o funcionamento de todos os métodos, porém ele não lê nenhum retorno, ele apenas paga o resultado e apresenta em um textbox na tela, mas na realidade seria necessário ler o retorno validar o que ocorreu e ai programar a ação do sistema.
Exemplo: Msg=Nota(s) não confirmadas:
8->532-Rejeicao: Total do ICMS difere do somatorio dos itensEsse foi o retorno no INI de uma NFCe que não foi aprovado, preciso ler que ele não obteve sucesso e informar ao usuário, parar o fluxo do sistema para que seja tomada alguma ação a respeito e mostra a msg, então não server apenas pegar o retorno inteiro e apresentar na tela como é feito no exemplo, par ao exemplo isso está perfeito pois executamos cada método de forma manual e individual, porém para o sistema de produção ele tem que saber ler o que ocorreu e que caminho tomar. Por isso a necessidade de ler o INI.
-
Bom dia,
Gostaria de saber se alguém já criou algum método em C# que faça a leitura dos arquivos de retorno (.INI) dos métodos da ACBrLib, se sim poderia dar um help de como fizeram isso, pois preciso ler o retorno da NFE_Enviar e estou tendo algumas dificuldades para isso.
-
Rafael, boa noite,
Poderia confirmar por favor se essa é a sequencia para o envio do NFCe para o SEFAZ.
//Limpar a lista de processos
acbrNfce.LimparLista();
//Carregar o arquivo INI que será processado
acbrNfce.CarregarINI(_arquivoINI);
//Assinar NFCe
acbrNfce.Assinar();
//Obter o XML assinado
var ret = acbrNfce.ObterXml(0); -
Rafael bom dia,
Exemplo:
Esse Enum não existe nesse projeto, eu utilizo ele com a DLL do ACBrLib.Core do SAT que estou rodando no projeto,
namespace ACBrLib.Core.DFe
{
public enum TipoRelatorioBobina
{
tpFortes = 0,
tpEscPos = 1
}
}Esse Enum existe nesse projeto, eu utilizo ele com a DLL do ACBrLib.Core do SAT que estou rodando no projeto, porém mudou completamente.
namespace ACBrLib.Core.PosPrinter
{
public enum ACBrPosPrinterModelo
{
Texto = 0,
EscPosEpson = 1,
EscBematech = 2,
EscDaruma = 3,
EscVox = 4,
EscDiebold = 5,
EscEpsonP2 = 6,
CustomPos = 7,
EscPosStar = 8,
EscZJiang = 9,
EscGPrinter = 10
}
}Esse Enum é o que veio no projeto que baixei para o NFCe.
public enum ACBrPosPrinterModelo
{
ppTexto,
ppEscPosEpson,
ppEscBematech,
ppEscDaruma,
ppEscVox,
ppEscDiebold,
ppEscEpsonP2,
ppCustomPos,
ppEscPosStar,
ppEscZJiang,
ppEscGPrinter
}
Existe alguma forma de contratarmos uma consultoria de vocês afim de ser mais ágil a minha adequação da Lib ACBr dentro do meu projeto?
-
Rafael, bom dia, eu fiz o download e verifiquei os videos tudo certinho, ocorre que meu sistema já esta utilizando o ACBrLib para o SAT, e quando adicionei os novos para a NFe, inclusive o ACBr.Core está tendo problemas pois já tenho o "ACBr.Core" do SAT adicionado, então pensei em deixar apenas o "ACBr.Core" novo que baixe para usar a NFe que dentro dele tem uns métodos do SAT e PosPrinter, porém não são os mesmos. Então para entendimento o ACBrLib do SAT não pode ser adicionado junto com o ACBrLib do NFe?
ABNTRoundTo e campo vItem
em ACBrSAT
Postado
Obrigado.