systux
-
Total de ítens
71 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por systux
-
-
André, Bom Dia !
Seguindo o código abaixo:
do while (right(RET_IMP,1) <> ETX) MSG('Aguardando a resposta do ACBrNFeMonitor. Pressione <ESC> para cancelar.') do while ! CANCELOU .and. (right(RET_IMP,1) <> ETX) CANCELOU := ! VER_ESC() BLOCO := space(64) BYTES := inetrecv(sSOCKET, @BLOCO, 64) RET_IMP += left(BLOCO,BYTES) enddo if CANCELOU RET_IMP := 'ERRO: O ACBrNFeMonitor nao esta respondendo.' + ETX endif enddo
Quando enviamos de dois terminais ao mesmo tempo, o segundo fica em loop infinito ( zero bytes ) na variavel BYTES.
Segui sua orientações:
Sart_ACBr() --> Na inicialização do meu sistema, com os comando de inicialização e conexão TCP/IP e retirando a tela de boas vindas
ACBr( cComando, cRetorno )
Stop_ACBr() Na finalização do meu sistema.
Já adaptei todo o meu sistema, Estou enviando NFe, Cancelando, Pegando os retorno tudo certinho, enviando CCe e tudo mas via TCP/IP, com este modo eliminei varias linhas do sistema em modo TXT.
Forte abraço,
-
Bom Dia, André !
Mais uma vez Muito obrigado.
Vou seguir suas orientações.
Posto o resultado aqui.
Abraço.
-
André!
Jorge !
Boa Noite,
Consegui, com ajuda de vocês, muito obrigado.
Ainda estou gatinhando, mas vou chegar lá.
Pretendo somente trabalhar com TCP/IP, muito mais pratico.
Basicamente, segui 100% orientações de vocês e já estou enviando meus comando e pegando o retorno.
Agora preciso arrumar um jeito de testar sempre a conexão com o ACBrNFeMonitor, pq estou inicializando na chamada do meu programa, se por alguma problema o Monitor cair ou for fechado, vou enviar comando e ficar travado...
MUITO OBRIGADO MESMO.
Conte comigo Sempre!!!
-
Bom Dia, André !
Muito obrigado por responder !
INetInit() // Uma unica vez no começo da função, depois vou testando com INETConnect()
//Testo a Internet
pSocket := INetConnect( "www.google.com.br", 80 )
If INetErrorCode( pSocket ) <> 0
// Testo o Monitor
pSocket := INetConnectIP( cHost, nPort )
If INetErrorCode( pSocket ) <> 0Se tudo passar no teste, ai sim eu envio o comando
INetSend( pSocket, cComando )
Não funciona assim ?
Nunca trabelhei com Sockets de Internet
Forte abraço;
-
Muito obrigado, Jorge Andrade.
Se você puder postar aqui seu trecho de código, envio e retorno via tcp/ip fico agradecido.
Talvez estou errando em algum lugar da minha func().
Forte abraço;
E mais uma vez, obrigado a todos!
-
Boa Noite a Todos !
Fiz vários testes inclusive adaptei minha rotina seguindo a rotina do André.
Consegui eliminar as Boas Vindas do ACBr.
Mas a questão de retornar o a resposta para o terminal errado, ainda continua..., esta me tirando o sono!
Obrigado a Todos.
-
Jorge, Boa Tarde !
Obrigado por responder.
Vou tentar implementar a rotina do André, um dos grandes mentores do ACBrNfeMonitor.
Quando possível, teste enviando os comandos de mais terminais ao mesmo tempo, veja se retorna ao terminal correto:
Vou deixar aqui a FUNC quei criei e estou testando, talvez consigo encontrar o erro com a ajuda de vocês.
#DEFINE LINE Chr(13) + Chr(10) + chr(46) + Chr(13) + Chr(10) // ACBr TCP/IP #DEFINE CRLF Chr(13) + Chr(10) #DEFINE ETX Chr(3) *---------------------* * Consulta WebService * *---------------------* Func WebService( xRet ) Cabec("Consulta Disponibilidade do WebService") Fundo() Rodape() cWeb := 'NFE.StatusServico()' + LINE cWeb += 'NFE.Fim' + LINE vRet := ACBr( cWeb ) If AT("ERRO", Upper( vRet ) ) > 0 Mostra_Retorno( vRet, .f. ) Else Mostra_Retorno( vRet, .t. ) Endif Return Menu_NFe( xRet ) *----------------------------------------------* * Enviar Comandos e Retornar Resposta Via ACBr * *----------------------------------------------* Func ACBr( cComando, cRetorno ) cHost := "192.168.1.20" nPort := 3436 If !File( "nfe.ini" ) cRetorno := "ERRO: Arquivo <nfe.ini> Inexistente." Else // Initialize Sockets System And Connect to Server INetInit() Alerta(":Testando a Internet:",,,.T.) pSocket := INetConnect( "www.google.com.br", 80 ) If INetErrorCode( pSocket ) <> 0 cRetorno := "ERRO: Falha ao Conectar-se a Internet." Else Alerta(":Aguardando Monitor: ",,,.T.) pSocket := INetConnectIP( cHost, nPort ) If INetErrorCode( pSocket ) <> 0 cRetorno := "ERRO: Monitor NFe Falhou, IP: " + cHost + ":" + LTRIM( Str( nPort ) ) Else Alerta(":Enviando Solicita‡„o:",,,.T.) nBytes := INetSend( pSocket, cComando ) cBuffer := Space(4096) cRetorno := "" Do While ( nBytes > 0 ) cBuffer := Space(4096) nBytes := INetRecv( pSocket, @cBuffer ) cRetorno += Left( cBuffer, nBytes ) Enddo Endif Endif INetClose( pSocket ) INetCleanUp() Endif cRetorno := StrTran( cRetorno, chr(3), "" ) cRetorno := ConvToOemCP( cRetorno ) Return ( cRetorno ) ** xx ** *-----------------------------* * Mostra Retorno * * lCor_ = .t. OK (Azul) * * = .f. ERRO (Vermelho) * *-----------------------------* Proc Mostra_Retorno( cRet_, lCor_ ) vCor := SetColor() lCor_ := If( lCor_ == NIL, .t., lCor_ ) If lCor_ SetColor("w+/b, w+/b, , , w+/b") Else SetColor("w+/r, w+/r, , , w+/r") Endif SvBx := SaveScreen( 9, 0, 22, 77 ) SBox( 10, 1, 21, 75 ) Rodape() SetCursor(2) MemoEdit( cRet_, 11, 2, 20, 74, .F.) // .F. NÆo Editar MemoEdit SetCursor(0) SetColor ( vCor ) RestScreen( 9, 0, 22, 77, SvBx ) ** End Proc**
-
Boa Noite, Amigos !
Pegando carona aqui da duvida do amigo Jorge Andrade,
Também estou com a mesma dificuldade de eliminar a Msg de boas vindas do ACBrNFeMonitor
Ainda tenho um outro problema mais grave: Quando envio comandos de dois terminais ao mesmo tempo, a resposta em algumas vezes volta para o terminal errado.
Exemplo: Comando NFe.ConsultaCadastro()
Terminal1, Consulta Cadastro1
Terminal2, Consulta Cadastro2
Resposta: Cadastro1 -> Terminal2
Cadastro2 -> Terminal1
A vezes repete a mesma consulta nos dois terminais e ainda não consegui descobrir o problema !!!
Forte abraço a todos.
-
Bola Tarde, Jorge Andrade.
Mandou bem, não tinha pensado nisso !!!
Abraço.
-
elrond, boa tarde !
Você esta emitindo uma NF de SP para PR, então o CFOP é 6
Abraço!
-
Boa Tarde,
Dentro do estado, 5
Fora do estado, 6
Exterior, 7
-
-
-
Boa Tarde, Rafael !
Segue estas TAG´s:
Exemplo de XML para CST = 00 - Tributada integralmente<ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>3</modBC><vBC>100.00</vBC><pICMS>18.00</pICMS><vICMS>18.00</vICMS></ICMS00></ICMS>Exemplo de XML para CST = 10 - Tributada e com cobranca do ICMS porsubstituicao tributaria<ICMS><ICMS10><orig>0</orig><CST>10</CST><modBC>3</modBC><vBC>100.00</vBC><pICMS>18.00</pICMS><vICMS>18.00</vICMS><modBCST>4</modBCST><pMVAST>50.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>135.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>6.30</vICMSST></ICMS10></ICMS>Os campos pMVAST e pRedBCST devem ser omitidos quando o conteudofor igual a zero.Exemplo de XML para CST = 20 - com reducao de base de calculo<ICMS><ICMS20><orig>0</orig><CST>20</CST><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS></ICMS20></ICMS>Exemplo de XML para CST = 30 - Isenta ou nao tributada e com cobrancado ICMS por substituicao tributaria<ICMS><ICMS30><orig>0</orig><CST>30</CST><modBCST>4</modBCST><pMVAST>50.00</pMVAST><pRedBCST>10.00</pRedBCST>vBCST>135.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>24.30</vICMSST></ICMS30></ICMS>Os campos pMVAST e pRedBCST devem ser omitidos quando o conteudofor igual a zero.Exemplo de XML para CST = 40 - Isenta<ICMS><ICMS40><orig>0</orig><CST>40</CST></ICMS40></ICMS>Exemplo de XML para CST = 40 - Isenta, com isencao condicional<ICMS><ICMS40><orig>0</orig><CST>40</CST><vICMS>1800.00</vICMS><motDesICMS>1</motDesICMS></ICMS40></ICMS>Os campos vICMS e motDesICMS devem ser informados quando aISENSAO for condicional (exemplo: venda de veiculo comISENSAO de ICMS para Taxista) *Exemplo de XML para CST = 41 - Nao tributada<ICMS><ICMS40><orig>0</orig><CST>41</CST></ICMS40></ICMS>Exemplo de XML para CST = 50 - Suspensao<ICMS><ICMS40><orig>0</orig><CST>50</CST></ICMS40></ICMS>Exemplo de XML para CST = 51 - Diferimento<ICMS><ICMS51><orig>0</orig><CST>51</CST></ICMS51></ICMS>Exemplo de XML para CST = 51 - Diferimento, com informacao do valordo tributo diferido quando exigido pela legislacao<ICMS><ICMS51><orig>0</orig><CST>51</CST><modBC>3</modBC><pRedBC>20.00</pRedBC><vBC>80.00</vBC><pICMS>12.00</pICMS><vICMS>9.60</vICMS></ICMS51></ICMS>Os campos modBC, pRedBC, vBC, pICMS e vICMS podem ser omitidos quandonao exigidos pela legisla??o ou o seu conte?do for igual a zero.Exemplo de XML para CST = 60 - ICMS cobrado anteriormente por substituicaotributaria<ICMS><ICMS60><orig>0</orig><CST>60</CST><vBCSTRet>135.00</vBCSTRet><vICMSSTRet>24.30</vICMSSTRet></ICMS60></ICMS>Exemplo de XML para CST = 70 - Com reducao de base de calculo e cobranca deICMS por substituicao tributaria<ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMS70></ICMS>Os campos pMVAST e pRedBCST devem ser omitidos quando o conteudofor igual a zero.Exemplo de XML para CST = 90 - Outras<ICMS><ICMS90><orig>0</orig><CST>90</CST><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMS90></ICMS>Os campos pRedBC, pMVAST e pRedBCST devem ser omitidos quando o conteudofor igual a zero.Exemplo de XML para CST = 90 - Outras, com informacao somente do CST<ICMS><ICMS90><orig>0</orig><CST>90</CST></ICMS90></ICMS>Exemplo de XML para CST = 90 - Outras, com informacao doCST e ICMS proprio<ICMS><ICMS90><orig>0</orig><CST>90</CST><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS></ICMS90></ICMS>Exemplo de XML para CST = 90 - Outras, com informacaodo CST e ICMS ST<ICMS><ICMS90><orig>0</orig><CST>90</CST><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMS90></ICMS>Exemplo de XML para CST = 90 - Outras, com informacaodo CST, ICMS proprio e ICMS ST<ICMS><ICMS90><orig>0</orig><CST>90</CST><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMS90></ICMS>Exemplo de XML para para CRT=1 e CSOSN = 101<ICMS><ICMSSN101><orig>0</orig><CSOSN>101</CSOSN><pCredSN>1.25</pCredSN><vCredICMSSN>12.96</vCredICMSSN></ICMSSN101></ICMS>Exemplo de XML para para CRT=1 e CSOSN = 102, 103, 300 ou 400<ICMS><ICMSSN102><orig>0</orig><CSOSN>102</CSOSN></ICMSSN102></ICMS>O campo CST pode ser informado com 102, 103, 300 ou 400Exemplo de XML para CRT=1 e CSOSN = 201<ICMS><ICMSSN201><orig>0</orig><CSOSN>201</CSOSN><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST><pCredSN>1.25</pCredSN><vCredICMSSN>12.96</vCredICMSSN></ICMSSN201></ICMS>Os campos pMVAST e pRedBCST devem ser omitidos quando oconteudo for igual a zero.Exemplo de XML para CRT=1 e CSOSN = 202 ou 203<ICMS><ICMSSN202><orig>0</orig><CSOSN>202</CSOSN><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMSSN202></ICMS>O campo CST pode ser informado com 202 ou 203.Os campos pMVAST e pRedBCST devem ser omitidos quando o conteudofor igual a zero.Exemplo de XML para CRT=1 e CSOSN = 500<ICMS><ICMSSN500><orig>0</orig><CSOSN>500</CSOSN><vBCSTRet>162.00</vBCSTRet><vICMSSTRet>12.96</vICMSSTRet></ICMSSN500></ICMS>O campo CST pode ser informado com 202 ou 203Exemplo de XML para CRT=1 e CSOSN = 900<ICMS><ICMSSN900><orig>0</orig><CSOSN>900</CSOSN><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST><pCredSN>1.25</pCredSN><vCredICMSSN>12.96</vCredICMSSN></ICMSSN900></ICMS>Os campos pRedBC, pMVAST e pRedBCST devem ser omitidosquando o conteudo for igual a zero.Exemplo de XML para CRT=1 e CSOSN = 900, com informacao do CSOSN<ICMS><ICMSSN900><orig>0</orig><CSOSN>900</CSOSN></ICMSSN900></ICMS>Exemplo de XML para CRT=1 e CSOSN = 900,com informacao do CSOSN e valor do ICMS passivelde credito pelo destinatario<ICMS><ICMSSN900><orig>0</orig><CSOSN>900</CSOSN><pCredSN>1.25</pCredSN><vCredICMSSN>12.96</vCredICMSSN></ICMSSN900></ICMS>Exemplo de XML para CRT=1 e CSOSN = 900,com informacao do CSOSN e ICMS proprio<ICMS><ICMSSN900><orig>0</orig><CSOSN>900</CSOSN><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS></ICMSSN900></ICMS>Exemplo de XML para CRT=1 e CSOSN = 900,com informacao do CSOSN, ICMS proprio e ICMS ST<ICMS><ICMSSN900><orig>0</orig><CSOSN>900</CSOSN><modBC>3</modBC><pRedBC>10.00</pRedBC><vBC>90.00</vBC><pICMS>18.00</pICMS><vICMS>16.20</vICMS><modBCST>4</modBCST><pMVAST>100.00</pMVAST><pRedBCST>10.00</pRedBCST><vBCST>162.00</vBCST><pICMSST>18.00</pICMSST><vICMSST>12.96</vICMSST></ICMSSN900></ICMS> -
Kiko,
Você tem razão, fiz confusão mesmo !
Desculpe!
Obrigado.
Abraço.
-
Kiko, Boa Tarde !
Obrigado por responder !
Nota Técnica 2013/005, Disponibilizada no portal da NFe:
id:ZA02UFSaidaPais:xLocExporta:xLocDespacho:Aqui tambem, Orientação de novos campos da referida NT, Onde o André menciona os campos:Mas as TAG´s que voce passou, deram certo !Obrigado ! -
Srs. Boa Tarde !
Estou utilizando a ultima versão do ACBrNFeMonitor, 0.7.17.1 ( disponibilizada hoje 11/11/2013 )
Segui todas a orientações da Nota Técnica 2013/005, mas o campo que estou informando não esta sendo gerado no XML.
[Exporta]UFSaidaPais=SPxLocExporta=BRASILxLocDespacho=TESTE XYZRetorno:[RETORNO]Versao=SP_NFE_PL_006qTpAmb=2VerAplic=SP_NFE_PL_006qNRec=351000075024699CStat=526XMotivo=Rejeicao: CFOP de Exportacao e nao informado Local de EmbarqueCUF=35Observei no manual que esta rejeição foi eliminada por conta das novas tags id:ZA01, do campo [Exporta]Fiz alguma coisa errada ???Estou relendo o manual, e não consigo identificar o problema:Desde já, agradeço ! -
Boa Tarde,
Existe a possibilidade de integrar este componente ao ACBrNFeMonitor ??
Abraço;
Toninho Silva
-
Boa Noite, Jorge !
Ótima ideia, Conte comigo !
-
Boa noite a todos.
Seria muito util o AcbrBoleto integrado no AcbrNFeMonitor.
Quem sabe um dia !
-
Grande, Regys !
Esta cada vez mais fácil entender a nova lei 12.741/2012
Graças a você e o pessoal de excelente fórum !
Muito obrigado,
Boa Noite!
-
EMBarbosa,
As vezes somos um pouco direto nas resposta, e o pessoal do outro lado acaba interpretando mau !
Obrigado,
Boa Noite !
-
EMBarbosa, Boa Tarde !
Obrigado por responder !
Só quis ajudar, não foi minha intenção prejudicar o fórum, que alias já lí as regras algumas vezes.
Você nunca errou ?
Forte abraço a todos !
Mais uma vez desculpe-me
-
Marcelo_s1, boa noite.
Pegue aqui no site do grande Regys, alias tem tudo que precisar saber sobre a lei da transparencia.
http://www.regys.com.br/tabela-ibpt-versao-0-0-1-lei-12741/
Regys, me desculpe se eu fugi as regras aqui do forum, indicando link externo, mas o link aponta para teu site, acho que os srs moderadores nao vai ficar bravo..
Abraço.
Como Faço Para Enviar O Email Automaticamente Depois De Gerar A Danfe
em ACBrNFe
Postado
Bom Dia,
Sintaxe:
NFe.EnviarEmail(cEmailDestino,cArqXML,cEnviaPDF,[cAssunto],[cEmailsCopias])
Parêmetros:
cEmailDestino - Email do destinatário.
cArqXML - Caminho do arquivo a ser enviado.
cEnviaPDF - indica se deverá ser enviado PDF junto ao Arquivo XML da NFe no email. Deverá ser passado 1 para enviar e 0 para não enviar o PDF.
cAssunto - parâmetro opcional para mudar o assunto cadastrado no ACBrNFeMonitor.
cEmailsCopias - parâmetro opcional que poderá conter diversos emails separados por ; para enviar cópia do email enviado ao Email de Destino.
Exemplo:
NFe.EnviarEmail("[email protected]","c:\35XXXXXXXXXXXXXXXX550010000000050000000058-nfe.xml","1")
Resposta:
OK: Email enviado com sucesso