
Ailtom
Membros-
Total de ítens
15 -
Registro em
-
Última visita
Últimos Visitantes
1.142 visualizações
Ailtom's Achievements
-
Boa noite a todos, gostaria de saber se é possível ler um arquivo binário utilizando o comando "ACBr.LoadFromFile" do acbrmonitorplus? Tentei ler o conteúdo do arquivo pdf gerado pela função "NFe.ImprimirDANFEPDF" pois o mesmo eh gerado na pasta do acbr. ai eu gostaria de salvá-lo na área de trabalho do pc que solicitou. lembrando que o acbr esta em uma maquina dedica. "no escritorio" ai o pessoal da contabilidade pediu pra salva-lo no desktop pois precisaria colocar em pendrive. fiz o procedimento com "ACBr.LoadFromFile" e pegando o conteudo retornado eu o salvaria em um arquivo local. nas este conteúdo chega incompleto. acho que por ser binário. há alguma forma de resgatar este conteúdo?. grato!
-
Bom dia, o único comando que uso para consulta é 'NFE.ConsultarNFe("c:\arquivoXML.xml")', e como já foi dito que não programo com delphi, uso o ACBrmonitorPlus pois não posso usar os componentes diretamente. já marquei no monitor a opção "Salvar arquivos enviados/Recebidos p/ Webservices" e já verifiquei dentro dos arquivos "*-Sit.xml" mas eles não contêm todos os eventos. porem como citou o "Kiko Fernandes" em notas de emissão própria, ele retorna Tudo certinho "mas nas de fornecedores não", como o próprio retorno da Sefaz (arquivos "*-sit.xml") em notas de fornecedores vêm com as informações limitadas, e acho que o ACBr apenas repassa as informações recebidas, é provável que não seja nada de errado com o ACBR, "isso na minha opnião", porém se for alguma configuração que precise ser feita no monitor e você puder nos auxiliar, eu agradeceria muito. Obrigado!
-
Boa tarde, eu utilizo há algum tempo o ACBrMonitor plus, apesar de nao programar em Delphi, aqui eu baixei os fontes e consigo compilar, fiz tudo apenas seguindo os tutoriais disponíveis no site. mas nunca consegui pegar todos os eventos. aqui atualmente estou usando a versão 0.3.04.3 - ACBr 0.9.0a. acabei de testar mas só retorna a autorização. já olhei também os arquivos "*-sit.xml" mas os mesmos também só contêm a autorização. no momento eu armazeno em banco os eventos gerados por meu programa, mas se esta consulta vier a funcionar, ai eu passaria a salvar estas informações também. há alguma propriedade que eu possa trocar dentro do fonte do monitor para que isso venha a funcionar, agradeço.
-
bom dia, no AcbrNfeMonitor não entrei nenhuma propriedade ou configuração de timeout da conexao, porem no meu programa eu tenho uma e eu ja tinha aumentado pra 10(dez) minutos, ai o programa fica lá aguardando. e quando acaba o tempo ele finazila o aguardo do retorno do acbr. mas sem nenhuma informação vinda do monitor. como eu ja havia citado. no exato momento que omeu software envia para o monitor via tcp qualquer xml com + de 16kb recebo a mensagem de desconexao por parte do monitor. nao chega a ser nem 1 segundo. pensei que fosse o tamanho propriamente dito + fiz uns testes usando enviando este mesmo arquivo "e outros maiores" para um servidor que recebe conexoes em tcp e nao tive problemas. pelo que li. o proprio protocolo tcp quebra os dados enviados em pedaços menores quando isto é necessário. obrigado. se alguem tiver mais alguma sugestao. agradeço. to pensando em mapear a pasta do servidor acbr e gravar o arquivo lá diretamente. pelo menos enquanto nao acho uma solucao definitiva. mas sei que fazer isso é ir contra a intenção do proprio protocolo tcp, mas pelo menos o cliente nao fica parado na reimpressao de notas maiores. atenciosamente, Ailtom Fabiano.
-
Boa noite a todos, estou utilizando o AcbrNfeMonitor a alguns meses sem problemas. porem este mes me foi solicitado pelo cliente para que fosse possivel fazer a reimpressão de Danfes a partir de qualquer maquina da rede. pois bem, fiz o seguinte: Como eu salvo o xml no meu banco, passei a recuperar o mesmo e enviar para o acbr pelo comando "NFE.savetofile" e depois uso o loadfromfile ai gero ou imprimo, tudo sem problemas. porem ha 2 dias comecei a ter o seguinte problema: sempre que o arquivo xml tem + de 16KB na hora que envio para o acbr recebo a seguinte mensagem: ALERTA: Fim da Conexão com: 10.1.1.3 em: 28/03/14 23:29:49 pelo que eu entendi a conexão foi perdida. porem só ocorre com arquivos com + de 16KB se o arquivo for menor, tudo ocorre como deveria. uso este comando: "NFe.SavetoFile(" & Chr$(34) & bFile & Chr$(34)& "," & Chr$(34) & cXML & Chr$(34) & ")" & endCommand alguém tem alguma dica que possa me auxiliar? ja fiz algumas buscas no forum mas nao consegui nada a respeito. não programo em delphi mas olhei o fonte do monitor e se eu nao estou enganado o processo é muito simples pega-se os 2 parametros passados no comando , passa-se o conteudo para um objeto tstringlist e grava-se em disco com o nome do arquivo no primeiro parametro. sem maiores processamentos então estou entendendo que é o protocolo tcp que está caindo. só nao entendo porque. o arquivo log.txt nao tem nenhuma informação de erros apenas o cabeçalho da conexao e a mensagem de alerta de desconexao. e só para confirmar utilizo o monitor em modo TCP/IP estou enviando como anexo um xml com pouco + de 16k "que aqui gera o dito problema" euma copia do log.txt Atenciosamente, Ailtom Fabiano. nfe1.xml LOG.TXT
-
não ocorreu mais após eu desmarcar a opção. "Salvar arquivos Enviados/Recebidos p/WebServices"
-
boa tarde, realmente não estava com as aspas. Coloquei mas o erro persistiu. porem notei um fato novo. na aba webservices estava marcada a opção "Salvar arquivos Enviados/Recebidos p/WebServices", a qual estava apondando para a pasta "C:\XML". e o problema não ocorreu mais. estou realizando mais alguns testes para informar. porem o arquivo XML retonado não vem assinado após esta opção ser desmarcada.
-
problema resolvido muito obrigado pela ajuda.
-
boa tarde, em um cliente que ainda utilizada a versao 0.7.7.1 do ACBrnfemonitor, fiz a atualização do mesmo para a versão atual. após esta atualização os arquivos xml's que são retornados não veem assinados. utilizo tcp/ip para me comunicar com o acbr pois o mesmo está em uma maquina da rede. utilizo o comando "NFe.CriarEnviarNFe" para enviar as notas. no retorno eu pego o conteudo da tag "Arquivo=C:\ACBrNFeMonitor\Logs\26131208584745000157550010000030291000030292-nfe.xml" para ver qual foi o arquivo gerado. então carrego ele via NFe.LoadfromFile pois preciso salvar o xml no banco. eu abri o arquivo indicado no retorno e o mesmo não está atualizado. e depois abri o arquivo que está em "C:\XML\201312\NFe\xxxxxxxxxxxxxxxx.xml" e este encontra-se assinado normalmente. onde devo configurar para pegar o path do arquivo assinado ou qual procedimento devo adotar aqui. desde já agradeço. Ailtom Fabiano.
-
boa tarde, o problema de violação voltou a ocorrer segue log do monitor para analize conforme solicitado. obs: na linha 5092 deste arquivo há um cancelamento realizado com sucesso. na linha 8112 há um log onde ocorreu o erro de violação. LOG.TXT LOG.TXT
-
boar tarde, já esta marcado a opção "por evento". ativei o log de comandos enviados e recebidos e assim que ocorrer novamente o problema eu entro em contato novamente. gostaria de saber se eu encerro este post ou se aguardo mais um pouco. obrigado.
-
só complementando, a mensagem apresentada não é gerada pelo meu software ela vem pelo retorno do socket enviada pelo monitor ao meu software a mensagem completa recebida pelo socket é "Erro::Access violation at address 00404c78 in module ACBrNFeMonitor.exe. Read of address 4851783A".
-
uso visual basic neste projeto e criei a rotina abaixo para realizar o cancelamento. como já mencionei antes uso o acbrnfemonitor e me comunico via sockets. Public Function nfe_cancelarnfe(cChave As String, cMotivo As String, cNFe As Long, cNProt As String, cCNPJ As String) As Boolean Dim m As String, gTmp As String, cXMLCancelamento As String Screen.MousePointer = vbHourglass m = Mensagem("Solicitando Cancelamento da NFE na SEFAZ, Aguarde ...") If TudoOK() Then 'Analiza se o monitor estar ativo 'envia comando via tcpip wConnect.SendData "NFe.CancelarNFe(" & cChave & "," & cMotivo & ")" & endCommand waitComandoResponse ' aguarda resposta do monitor If bOk = 1 Then 'monitor respondeu ok x = Me.nfe_getlote 'gera nº do lote If SalvarLote("CANCELAMENTO") Then 'salva no banco o retorno do monitor ' analiza o status If pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 101 Or pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 135 Then 'pega o xml de cancelamento lPos = InStr(cRetorno, "XML=") cXMLCancelamento = Mid(cRetorno, lPos + 4) RaiseEvent NFeCancelada(cNFe, cChave, pegaPartesRetornoNFE("[CANCELAMENTO]", "NProt="), cXMLCancelamento) nfe_cancelarnfe = True RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "xEvento=")) ElseIf pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") >= 200 Then RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "XMotivo=")) End If End If End If If bErro <> "" Then RaiseEvent Erro(0, bErro) End If Mensagem m Screen.MousePointer = vbDefault End Function
-
bom dia, estou tendo um problema que só acontece na operação de cancelamento. utilizo o acbrnfemonitor e intemitentemente quando é necessário cancelar alguma nfe, o monitor me retorna uma mensagem de violação de memoria. este erro ja ocorreu no meu escritório, em 3 pcs diferentes 1 com windows 8 64bits outro com xp pro e outro com windows 7 32 bits. No cliente está em um pc windows 7 32bits. meu software mostra mensagem conforme imagem em anexo, na janela do monitor é exibida a mesma mensagem. atualmente estou usando a versão 0.7.18.3. já tentei restaurar o sistema operacional, desinstalei o acbr e reinstalei do zero mas nada resolveu o problema. porem como eu ja disse as vezes cancela normalmente, mas na maioria das vezes este erro está ocorrendo. o problema maior é que de uma semana pra cá o está demorando muito para conseguir cancelar e em algumas notas está expirando o prazo de cancelamento. alguém tem alguma dica do que eu posso fazer pra sanar o problema? Obrigado a todos.