Ir para conteúdo
  • Cadastre-se

Alexsander

Membros
  • Total de ítens

    383
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que Alexsander postou

  1. Convertida para PostgreSQL: CREATE OR REPLACE FUNCTION sp_gera_chave_nfe ( cod_uf integer, emissao date, cnpj bigint, serie integer, numero bigint, codigo integer, modelo integer, formaemissao integer) RETURNS varchar(44) AS $$ DECLARE XUF CHAR(2); XDATAEMISSAO CHAR(4); XMODELO CHAR(2) ; XSERIE CHAR(3) ; XNUMERO CHAR(9) ; XCODIGO CHAR(9) ; XCNPJ VARCHAR(18) ; XFORMAEMISSAO CHAR(1) ; SOMA INTEGER; K INTEGER; CONTADOR INTEGER; VALOR INTEGER; CHAVE VARCHAR(44) ; BEGIN XUF := LPAD(cast(COD_UF as text), 2, '0'); XDATAEMISSAO := SUBSTRING(cast(date_part('YEAR', EMISSAO) as text) FROM 3 FOR 2) || LPAD(cast(date_part('MONTH', EMISSAO) as text), 2, '0'); XCNPJ := LPAD(cast(CNPJ as text),14,'0'); XMODELO := LPAD(cast(MODELO as text), 2, '0'); XSERIE := LPAD(cast(SERIE as text), 3, '0'); XNUMERO := LPAD(cast(NUMERO as text), 9, '0'); XFORMAEMISSAO := LPAD(cast(FORMAEMISSAO as text), 1, '0'); XCODIGO := LPAD(cast(CODIGO as text), 8, '0'); CHAVE := TRIM(XUF || XDATAEMISSAO || XCNPJ || XMODELO || XSERIE || XNUMERO || XFORMAEMISSAO || XCODIGO); -- MODULO 11 K := 2; SOMA := 0; CONTADOR := 43; WHILE (CONTADOR <> 0) LOOP IF (K > 9) THEN K := 2; END IF; VALOR := SUBSTRING(CHAVE FROM CONTADOR FOR 1); SOMA := SOMA + (VALOR * K); CONTADOR := CONTADOR - 1; K := K + 1; END LOOP; SOMA := MOD(SOMA, 11); SOMA := (11 - SOMA); IF (SOMA > 9) THEN SOMA := 0; END IF; CHAVE := CHAVE || SOMA; RETURN CHAVE; END; $$ LANGUAGE plpgsql; SELECT sp_gera_chave_nfe(43,CURRENT_DATE,87958674000181,890,16384,31415927,55,1);
  2. Quando isto ocorrer, faça um CONSULTARNFE com a chave informada pela SEFAZ passando o endereço do XML; isto irá colocar o recibo no arquivo local. Depois basta atualizar seu banco de dados com o xml, o protocolo, etc. Não cancele a segunda NF que você gerou: ela sequer foi emitida, nem poderia ser cancelada. Você precisa apenas marcá-la como descartada no seu BD (ou mesmo deletar, se quiser).
  3. Continuando, separei em 3 servidores, um para cada certificado, e o desempenho melhorou bastante. Com isso, não preciso mais chamar mais SETCERTIFICADO nem SETAMBIENTE antes de cada NF. Aparentemente estas duas funções (ou uma delas) são meio "pesadas" para uso freqüente...
  4. Ambiente: 10 lojas usando 3 certificados diferentes, cerca de 200 a 300 NF por dia (somando todas as lojas). A cada NF-e o sistema chama Nfe.Ativo, Nfe.SetCertificado, Nfe.SetAmbiente e Nfe.ConsultaCadastro antes de enviar. Com mais que 5 conexões simultâneas o monitor fica praticamente travado, tentei em 2 quadcores, um com 16 Gb de RAM. Este cliente tem uma internet de 35 megabits na matriz (onde roda o monitor) e de 10-15 megabits nas filiais. No momento está bem complicada a operação, o servidor fica bem lento, até o "Nfe.Ativo" às vezes demora. O consumo de RAM do ACBrNFeMonitor sobe rapidamente, preciso reiniciar o monitor várias vezes por dia. Seria melhor, por exemplo, rodar 3 instâncias do ACBrNFeMonitor (um para cada certificado) em portas diferentes?
  5. E qual o nome do campo vOutro do item para o ACBrNFeMonitor? Não achei na documentação: http://anfm.blogspot.com/2009/09/campos ... ndo-o.html
  6. Colocamos hoje em operação várias filiais de um cliente -- as poucas que ainda não estavam com NFe. A maioria usa o mesmo certificado, mas no total são 4 certificados diferentes num mesmo servidor com limite de 10 conexões (sendo acessadas por 10 lojas espalhadas pela cidade). O servidor é um Windows 2008 Server STD 64-bits. Hoje aconteceram vários erros estranhos. Por exemplo: ERRO: Arquivo Lote recebido com sucesso DigVal=g+hmbGm4NBAyfwKDX0w8DzJMRcs=",1) DigVal=g+hmbGm4NBAyfwKDX0w8DzJMRcs= não encontrado. Alguém já passou por isso? Pelo que entendi, só eu tenho este problema, todo mundo diz que o NFeMonitor funciona perfeitamente mesmo com várias conexões e vários certificados. Estou pensando em colocar um Windows XP do lado do servidor só pra rodar o NFeMonitor, pra ver se o problema é o Windows Server (que pelo visto ninguém usa). Ou seria melhor migrar para os componentes ACBr e abandonar o monitor?
  7. 1) Vocês estão com uma única instância do ACBrNFeMonitor configurado para receber várias conexões simultâneas? 2) Qual S.O. vocês usam? Aqui no Windows Server 2008 R2 STD 64-bit, ligado 24x7, o monitor trava dia sim, dia não.
  8. Tenho um cliente com 2 empresas emitindo NF-e em 2 prédios diferentes, usando dois certificados diferentes num mesmo servidor rodando uma única instância do ACBrNFeMonitor, todo mundo ligado por VPN. Agora ele vai colocar um outro CNPJ que vai aumentar este número para 10 servidores em 10 prédios usando 3 certificados. Ao emitir uma NFe, sempre uso em seqüência: 1) SETCERTIFICADO 2) SETAMBIENTE 3) CRIARNFE 4) ENVIARNFE 5) LOADFROMFILE 6) ENVIAREMAIL Não existe o risco de uma das 10 conexões estar enviando uma NFe e uma outra conexão, usando outro certificado, se atravessar no meio da operação, especialmente entre os passos 2 e 4? Como pode ser feito este controle?
  9. Tenho tido que reiniciar o ACBrNFeMonitor de 2 a 3 vezes por dia no Windows Server 64-bits.
  10. Olhei os fontes do ACBrNFeMonitor e vi que o consumo excessivo de CPU ocorre na geração do PDF, no componente do próprio Rave. Não sei se tem algo a ver com a questão 32/64 bits ou com alguma particularidade do Windows Server 2008. Alguém mais usa este Windows Server?
  11. Na geração do PDF está ficando com consumo muito alto de CPU. O servidor é um Windows Server 64-bits, quadcore, etc. Já me disseram que era o logotipo, mas agora ele está com menos de 100 kb, bem pequeno.
  12. Mas Brasília não tem prefeito...
  13. E quando os certificados expiram, podemos REMOVER sem medo? Ao clicar em "Remover" no Opções da Internet/Conteúdo o Windows diz que não será possível decodificar dados codificados com o certificado removido, isso é um problema se ele é usado apenas para NF-e? Tenho um cliente que já está com 5 certificados no servidor, gostaria de saber se tem problema em remover os expirados.
  14. Tirei os 2 campos extras e voltou a funcionar. Vai entender...
  15. Eu vi que começou a dar problema depois que inseri estes 2 campos. Vou remover e ver se volta a funcionar como antes. Fica a sugestão: já que é facultativo, poderia haver uma opção para indicar se imprime ou não na DANFE, com default = true.
  16. Aqui o servidor é um Windows Server 2008 R2, na caixa diz: WIN SVR STD 2008 R2 64BIT X64BRAZILIAN 1 PS: As tags em ObsCont deveriam mesmo ser impressas nas observações junto com a infCpl? Eu achava que eram informações de uso interno, para serem usadas por exemplo para informar número de OC ou algo assim.
  17. Vi que não tem nada no ACBrMonitor que faça a geração do PDF: tudo está nos componentes. Alguém mais está tendo problemas com a geração de PDF, mesmo SEM LOGO, mesmo com XML com menos de 10 Kb ?!? Será uma questão de configuração do meu servidor, um Windows Server 2008 64-bit ? Tive que desabilitar a geração de PDF e estou orientando os clientes a usar sites grátis que geram PDF a partir de XML enquanto tento descobrir o que está acontecendo.
  18. Vou mexer no fonte aqui pra ver se acho o problema. Até sem logo está travando ao gerar PDF.
  19. Reiniciei o servidor, tirei o logo (aba DANFE/sub-aba Dados Empresa, campo Logomarca em branco). Continua sem pedir o email em Testes/Enviar email; via TELNET também parece não funcionar. Na janela principal do monitor fica "Processando: nfe.imprimirdanfepdf(...)" mas não chega a travar.
  20. Troquei a imagem por uma versão reduzida (300 x 300) em tons de cinza (8 bpp), ficou com menos de 90 Kb. O problema permanece, tentei pela aba "Testes", botão "Enviar email", nem aparece a janela pedindo o email.
  21. O logotipo é uma imagem 600 x 600 com cerca de 1.4 megabytes, formato BMP. Existe algum limite/tamanho/formato recomendado de imagem para evitar este erro?
  22. Na NF seguinte, número 362, apareceu abaixo da mensagem de erro: "Out of memory while expanding memory stream" O servidor é um Windows Server 2008 64-bit com 16 Gb de RAM. 43111109332476000102550010000003621100272910-nfe.xml
  23. Como identificar este erro? Testei via o ImprimirDanfePDF via TELNET e não retornou nada, ficou um bom tempo processando (mais de 2 minutos) e depois deu a mensagem no console do monitor: "ERRO: Erro ao criar o arquivo PDF". Curiosamente a NF seguinte era para o mesmo cliente e também deu erro; o campo xNome está com 56 caracteres. Será que tem algo a ver? telnet 10.10.0.6 3436 Trying 10.10.0.6... Connected to 10.10.0.6. Escape character is '^]'. ACBrNFeMonitor2 Ver. 0.7.1a - CAPICOM Conectado em: 22/11/11 11:47:50 Maquina: 10.10.0.5 Esperando por comandos. nfe.imprimirdanfepdf("C:\ACBrNFeArquivos\env_resp\43111109332476000102550010000003611170185106-nfe.xml") . 43111109332476000102550010000003611170185106-nfe.xml
  24. Alexsander, assim que vc testar e o retorno for de não ativo, mande executar o ACBrNFeMonitor.exe de dentro da tua aplicação. Mas a minha aplicação é um executável LINUX rodando num desktop de uma filial a alguns km de distância do servidor WINDOWS onde está rodando o ACBrMonitor... não posso "executar o ACBrNFeMonitor.exe" de dentro dela.
  25. Na minha humilde opinião deveria, então, haver uma opção de configuração (no INI) para bloquear ou não o fechamento acidental. Tenho usado um único ACBrNFeMonitor rodando num único servidor Windows (o mesmo do TEF) atendendo todas as filiais, não daria para executar lá da estação Linux numa filial o ACBrNFeMonitor num servidor Windows na Matriz. Já aconteceu do pessoal do suporte do TEF fechar o ACBrNFeMonitor "por acidente"; o meu aplicativo checa se ele está ativo antes de enviar comandos mas fica a impressão (para o cliente) de que o monitor está fechando sozinho por causa de algum bug.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...