Ir para conteúdo
  • Cadastre-se

systux

Membros
  • Total de ítens

    71
  • Registro em

  • Última visita

Posts postados por systux

  1. 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

  2. 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,

  3. 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!!!

  4. 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 ) <> 0

     

    Se 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;

  5. 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.

  6. 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**
    
    
    
    
    
  7. 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.

  8. Boa Tarde, Janderson !

     

    CST 00 - Tributada Integralmente !

     

    Exemplo:

     

    Valor do Produto 100,00

    Aliq ICMS SP          18,00 %

    Valor ICMS             18,00

    Valor Total da NF 100,00

     

    Resumindo, Valor do ICMS CST 00 não compoe o total da NFe !

     

    Abraço!

  9. 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 por
    substituicao 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 conteudo
    for 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 cobranca
    do 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 conteudo
    for 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 a
    ISENSAO for condicional (exemplo: venda de veiculo com
    ISENSAO 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 valor
    do 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 quando
    nao exigidos pela legisla??o ou o seu conte?do for igual a zero.
    Exemplo de XML para CST = 60 - ICMS cobrado anteriormente por substituicao
    tributaria
     
    <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 de
    ICMS 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 conteudo
    for 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 conteudo
    for 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 do
    CST 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 informacao
    do 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 informacao
    do 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 400
    Exemplo 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 o
    conteudo 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 conteudo
    for 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 203
    Exemplo 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 omitidos
    quando 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 passivel
    de 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>
  10. 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=SP
    xLocExporta=BRASIL
    xLocDespacho=TESTE XYZ
     
    Retorno:
    [RETORNO]
    Versao=SP_NFE_PL_006q
    TpAmb=2
    VerAplic=SP_NFE_PL_006q
    NRec=351000075024699
    CStat=526
    XMotivo=Rejeicao: CFOP de Exportacao e nao informado Local de Embarque
    CUF=35
     
    Observei 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 !
     
     

     

     

     

     

     

     

     

×
×
  • 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.