Jump to content
Fivewin Brasil

Luiz Fernando

Membros
  • Posts

    3,368
  • Joined

  • Last visited

  • Days Won

    40

Posts posted by Luiz Fernando

  1. Kapiaba a dúvida não é sobre como preencher estes dados, e sim na estrutura da classe do Gilmer que não tem estes campos

    METHOD StruComb( oItem ) CLASS TVoNFe2G
       local axArray
    
       axArray := {}
       aadd(axArray, {"cProdANP",    TVoNFeItem():New("N", 1, 9,, ,,oItem:Comb_cProdANP  ) }  )
       AAdd(axArray, {"descANP",     TVoNFeItem():New("N", 2, 95,,,,oItem:Comb_descANP  ) }  )
       aadd(axArray, {"CODIF",       TVoNFeItem():New("N", 0, 21,,,,oItem:Comb_CODIF  ) }  )
       aadd(axArray, {"qTemp" ,      TVoNFeItem():New("N", 0, 16,,4,,oItem:Comb_qTemp   ) }  )
       aadd(axArray, {"UFCons" ,     TVoNFeItem():New("N", 1,  2,, ,,oItem:Comb_UFCons   ) }  )
       aadd(axArray, {"CIDE"     ,   ::StruCombCIDE(oItem), 0 } )
    
    return( axArray )

     

  2. Pessoal alguém aqui já fez nota com necessidade do uso destas tags

    <cProdANP>210203001</cProdANP>   

    <descANP>GLP</descANP>

    <pGLP>50.00</pGLP>

    <pGNn>30.00</pGNn>

    <pGNi>20.00</pGNi>

    <vPart>7.31</vPart>

    <UFCons>BA</UFCons>

    as duas primeira e a ultima tem na classe, mais as outras 4 não consegui achar.

    obg

  3.  

    Esse grupo só deve ser informado em operação interestadual para consumidor final não contribuinte.
    Não seria isso?

    Marcelo neste caso é sim, para consumo proprio. deu certo a nota o erro estava no calculo, embora faço isto a muito tempo não era validado pelo sefaz os valores.

    Abs

    Luiz Fernando

  4. Pessoal estou aqui deste as 15:00 nisto, da forma abaixo em homologação passa normal, mais em produção vem o erro "Informado indevidamente o campo de ICMS para UF de destino"

    sera que alguém tem alguma dica como contornar isto, obg

    
    -<ICMSUFDest>
    
    <vBCUFDest>157.10</vBCUFDest>
    
    <vBCFCPUFDest>157.10</vBCFCPUFDest>
    
    <pFCPUFDest>0</pFCPUFDest>
    
    <pICMSUFDest>18.00</pICMSUFDest>
    
    <pICMSInter>12.00</pICMSInter>
    
    <pICMSInterPart>80.00</pICMSInterPart>
    
    <vFCPUFDest>0</vFCPUFDest>
    
    <vICMSUFDest>3.77</vICMSUFDest>
    
    <vICMSUFRemet>5.66</vICMSUFRemet>
    
    </ICMSUFDest>

     

  5. Uma coisa que tive que alterar aqui foi cST = 90, coloquei 0 aonde estava 1, pois estava indo as tag vazia , e dava erro no retorno.

     

    aadd( axArray, {"ICMS90" , {}, 1  } ); nPos := len(axArray)
    aadd( axArray[nPos][2], {"orig"       , TVoNFeItem():New("N", 1, 1, 1  ,,,oItem:orig )  }  )
    aadd( axArray[nPos][2], {"CST"        , TVoNFeItem():New("N", 1, 2, 2  ,,,oItem:cCST )  }  )
    aadd( axArray[nPos][2], {"modBC"      , TVoNFeItem():New("N", 1, 1, 1  ,,,oItem:modBC)  }  )
    aadd( axArray[nPos][2], {"vBC"        , TVoNFeItem():New("N", 1, 1, 15,2,,oItem:vBC  )  }  )
    aadd( axArray[nPos][2], {"pRedBC"     , TVoNFeItem():New("N", 0, 5, 5 ,2,,oItem:pRedBC)  }  )
    aadd( axArray[nPos][2], {"pICMS"      , TVoNFeItem():New("N", 1, 5, 5 ,2,,oItem:pICMS)  }  )
    aadd( axArray[nPos][2], {"vICMS"      , TVoNFeItem():New("N", 1, 1, 15,2,,oItem:vICMS)  }  )
    aadd( axArray[nPos][2], {"modBCST"    , TVoNFeItem():New("N", 0, 1, 1 ,  ,,oItem:modBCST  )  }  )  // alterado
    aadd( axArray[nPos][2], {"pMVAST"     , TVoNFeItem():New("N", 0, 5, 5 ,2 ,,oItem:pMVAST   )  }  )  // alterado
    aadd( axArray[nPos][2], {"pRedBCST"   , TVoNFeItem():New("N", 0, 5, 5 ,2 ,,oItem:pRedBCST )  }  )  // alterado
    aadd( axArray[nPos][2], {"vBCST"      , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vBCST )  }  )     // alterado
    aadd( axArray[nPos][2], {"pICMSST"    , TVoNFeItem():New("N", 0, 5, 5 ,2 ,,oItem:pICMSST  )  }  )  // alterado
    aadd( axArray[nPos][2], {"vICMSST"    , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vICMSST  )  }  )  // alterado
    aadd( axArray[nPos][2], {"vICMSDeson" , TVoNFeItem():New("N", 0, 1, 15,2,,oItem:vICMSDeson  )  }  )
    aadd( axArray[nPos][2], {"motDesICMS" , TVoNFeItem():New("N", 0, 1, 02,,,oItem:motDesICMS  )  }  )
    aadd( axArray[nPos][2], {"vBCFCP"     , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vBCFCP   )  }  )
    aadd( axArray[nPos][2], {"pFCP"       , TVoNFeItem():New("N", 0, 1, 6 ,2 ,,oItem:pFCP     )  }  )
    aadd( axArray[nPos][2], {"vFCP"       , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vFCP     )  }  )
    aadd( axArray[nPos][2], {"vBCFCPST"   , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vBCFCPST  )  }  )
    aadd( axArray[nPos][2], {"pFCPST"     , TVoNFeItem():New("N", 0, 1, 6 ,2 ,,oItem:pFCPST    )  }  )
    aadd( axArray[nPos][2], {"vFCPST"     , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vFCPST    )  }  )

     

  6.  

    E o que tinha de errado na opção 1 ?

     

    Gilmer usei desta forma, da certo, porem demora muito, mais muito mesmo, totalmente inviavel

          For f:=1 to Len(aAttach)
             cFiles+=if(Empty(cFiles),"",",")+aAttach[f]
          Next f
    
    eMailRemetente = "jupter.atacado@uol.com.br"
    nomeRemetente = "suporte"
    eMailDestinatario = "empresoft@globo.com"
    eMailBcc = "empresoft@globo.com"
    assunto = "Teste de envio de e-mail"
    mensagem = "corpo da mensagem"
    arquivos = ""
    smtpCliente = "smtps.uol.com.br"
    smtpPorta = "465"
    smtpSSL = "0"
    smtpUsuario = "smtps.uol.com.br"
    smtpSenha = "emp..."
    HTML = "0"
    confirmacao = "1"
    msgResultado = ""
    cResultado = 0
    
    nRet:=0
    nRet:=::oNfeUtil:EnvEmail(eMailRemetente, nomeRemetente, eMailDestinatario, eMailBcc, assunto, mensagem, cFiles, smtpCliente, smtpPorta, smtpSSL, smtpUsuario, smtpSenha, HTML, confirmacao, msgResultado)

     

  7.  

    Bom Dia,

      O tipo 3 usa o CDO, não esta usando da flexdocs.

     

     

    Gilmer antes eu usava o CDO, só não sabia que não tinha nada a ver com a flexdocs, com o suporte da flexdocs até consegui fazer funcionar com a opção 1, mais o envio do email demora muito, agora usando seu esquema é rapidinho, como sempre usei ele , vou continuar com ele, obg 

    Abs

    Luiz Fernando

  8.  

    Tudo eu... tudo eu... kkkkkkkkkkkkkkkkkkkkkkkkk

     

    
          Try
    	         nRet:=::oNFEUtil:ConsultaStatus2G(::SiglaWS,::SiglaUF,::Ambiente,::cCertificado, "4.00", @msgDados,@msgRetWS,@mensagem,::Proxy,::Usuario,::Senha)  
    	      Catch
    	         AVISAR_PARAMETROS_WS()  // ALGUM ERRO OCORREU NA MAQUINA OU SEFAZ.
    	         //? "Montar aviso de parametros"
    	         Return(.f.)
    	      End Try
    

     

    Não entendi Kapiaba o que faz esta função , aonde encontro ela.

    AVISAR_PARAMETROS_WS() 
  9. Pessoa atualizei dezenas de clientes em apenas dois dele da o erro nesta arte do código.

     

          Try
             nRet:=::oNFEUtil:ConsultaStatus2G(::SiglaWS,::SiglaUF,::Ambiente,::cCertificado, "4.00",@msgDados,@msgRetWS,@mensagem,::Proxy,::Usuario,::Senha)
          Catch
             ? "Montar aviso de parametros"
             Return(.f.)
          end Try

    Alguém já passou por isto dll atualizada tudo certinho, não sei o que pode ser.

     

    Obg

  10. Tirei estas linha feita pelo Marcelo Ferro

    local cST,nPos
    local axArray := {}
    
    // Marcelo Ferro da Silveira
    IF Empty(oItem:CST_PIS) .and. ::cModeloDoc=="65"
       Return axArray
    Else
       cST := if(empty(oItem:CST_PIS), "", oItem:CST_PIS)
    ENDIF

    e voltei as padrões que estava 

    	local cST := if(empty(oItem:CST_PIS), "04", oItem:CST_PIS)
    	local axArray := {}

    agora é ver se não irei ter outros BO por causa disto.

  11. 	Elseif cST IN "04;06;07;08;09"
    // ELE DEVERIA ENTRAR AQUI POIS É 06
    		aadd( axArray, {"PISNT", {}, 1  } ) ; nPos := len(axArray)
    		aadd( axArray[nPos][2] , {"CST"       , TVoNFeItem():New("N", 1,  2, 2,,,cST  )  }  )
    	Else
    // MAIS ELE SO CAI AQUI
    		aadd( axArray, {"PISOutr" , {}, 1 }  ); nPos := len(axArray)
    		aadd( axArray[nPos][2], {"CST"       , TVoNFeItem():New("N", 1,  2, 2  ,,,cST   )  }  )
    		aadd( axArray[nPos][2], {"vBC"       , TVoNFeItem():New("N", 1, 15,  , 2,,oItem:vBC_Pis)  }  )
    		aadd( axArray[nPos][2], {"pPIS"      , TVoNFeItem():New("N", 1, 5, 5 , 2,,oItem:pPis)  }  )
       		aadd( axArray[nPos][2], {"qBCProd"   , TVoNFeItem():New("N", 1, 16,,4   )  }  )
    		aadd( axArray[nPos][2], {"vAliqProd" , TVoNFeItem():New("N", 1, 15,,4   )  }  )
    		aadd( axArray[nPos][2], {"vPIS"      , TVoNFeItem():New("N", 1, 15,,2,,oItem:vPis   )  }  )
    	Endif

     

  12.  

    Você não fez uma cópia da VONFEUTIL2G.PRG anterior?  Se sim, copie as FUNCTION e compare o que mudou e os parâmetros.

    Abs.

    Kapiaba eu fiz isto , deve sim umas mudanças, dai voltei elas na integra o EnviaEmail e tb o PreparaEmail, mesmo assim o erro continua.

    a flexdocs me respondeu isto

    tente inicializar o parâmetro que recebe o retorno da chamada com zero, antes da chamada.
    
    cResultado := 0
    cResultado := objNFeUtil.EnvEmail2(...)

    e depois isto

    Para solucionar o caso verifique:
    
    1. se o nome do método [nome funcionalidade] está correto;
    
    2. se o nome do método estiver correto, verifique se os tipos dos parâmetros são iguais ao definido pela DLL. A passagem de um tipo string para um tipo inteiro pode causar este erro.

    realmente isto esta um mistério se a flexdocs não mudou nada(segundo eles), eu tb não mudei nada no código, a classe do Gilmer voltei os METHODO antigo, como que não da certo, e o pior que não consigo achar um usuario do forum que usa este recurso da flexdocs para saber se esta dando certo.

  13.  

    Vlw Kapiaba, já tinha olhado este link, já verifiquei os parametros estão todos ok, vc usa este recurso da flexdocs, queria só a confirmação de alguém que esteja usando, pq dai vou até o fim aqui.

     

     

    abaixo prazo para desativação da 3.10

    Faltam: 7 dias, 8 horas, 30 minutos e 0 segundos.  

    não há motivo para desespero se Deus criou a terra em 6 dias e descansou no sétimo, pq não iremos dar conta nisto.

     

    Obg 

    Luiz Fernando

  14.  

    Mostre como está o seu dhEvento e a Function TimeZone(dData)

     

    
    	 <dhEvento>2017-05-30T14:55:32-03:00</dhEvento>
    	

     

    No meu caso aqui deu certo o erro estava na minha chamada

      if oNfeUtil:CancelaNF(Alltrim(cChave),Alltrim(cProtocolo),Alltrim(cJustificativa),'',_email_cliente,cUser,"Aviso Nota Fiscal Eletrônica - Cancelamento",;
     

    entre o cJustificativae e email coloquei "", e la no  Methodo CancelaNF deixei o dhEnvento:=""

    cancelou certinho aqui.

  15. Tb estou com problema no cancelamento no meu caso vem o erro:

    6158 - Erro: O parâmentro dhEvento é invalida[cadeia de caracteres não reconhecida como um datetime válido]

    tipo fiz um teste aqui, para ver o retorno de dhEvento

     Try
     ::cXmlProtocolo:=::oNFEUtil:CancelaNFEvento(::SiglaWS,::Ambiente,::cCertificado,"4.00",@msgDados,@msgRetWS,;
                            @nStat, @mensagem,ChaveNFe,nroProtocolo,Justificativa,dhevento,@cProtocoloCanc,;
                            @dProtocoloCanc,::Proxy,::Usuario,::Senha,::Licenca)
    
     ? dhevento  //:cXmlProtocolo

    e no caso o retorno veio o email do cliente, olha o manual da flexdocs não teria que ter mais dois parametro ( chaveCTe, CNPJTomador )

    procEvento = objCTeUtil.EnviaPrestDesacordo(siglaWS, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, cStat, msgResultado, chaveCTe, CNPJTomador, xObs, dhEvento, nProtocolo, dProtocolo, proxy, usuario, senha, licenca)

     

  16.  

    amigo é como o  gilmer disse

    
             If Pedm->Fnl_Pedm#"1"
                 oRef:=TVoNfeRefNf()
                 oRef:RefNfe:=Pedm->nfr_Pedm
                 oNfe:AddItem(oRef)
             Endif
    

    vc fez assim?

    Colega qdo vi resposta do Gilmer com outros campos achei que era outra coisa, realmente fazendo desta forma deu certinho, não acredito que ontem fiquei das 13:00 ate as 22:00 nisto, obg pela ajuda, e ao Gilmer tb.

    Abs

×
×
  • Create New...