Jump to content
Fivewin Brasil

Luiz Fernando

Membros
  • Posts

    3,368
  • Joined

  • Last visited

  • Days Won

    40

Everything 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. 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. o Calculo acima esta errado, fiz a correção aqui, mais só amanha para saber se ira dar certo, pois precisa ser em produção, em homologação neste caso passa qualquer coisa.
  5. 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>
  6. 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 ) } )
  7. 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)
  8. 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
  9. Poxa Kapiaba vc substitui uma mensagem por outro, mais solução para o problema nada rsrsrsrs
  10. Não entendi Kapiaba o que faz esta função , aonde encontro ela. AVISAR_PARAMETROS_WS()
  11. 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
  12. Gilmer deixando como default o valor 3 deu certinho o envio do email, vlw obrigado.
  13. 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.
  14. 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
  15. Pessoal alguém aqui do forum usando a classe do Gilmer mais flexdocs conseguiu fazer nota com estas informações. Obg
  16. Não tem como, é uma pena, mais desisto de usar este recurso da felxdocs.
  17. Colega vc atualizou a versão de sua DLL para 4.05 http://www.flexdocs.com.br/guiaNFe/guiaAtualizacao.NT2016002.html
  18. 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.
  19. Kapiaba eu tenho a rotina de email propria tb no sistema, mais o da flexdocs para esta finalidade já é mais pratico, esta tudo dentro da classe do Gilmer pronto, envio , cancelamento de nota tudo automatico, se tiver que mudar isto irei levar um tempo, acho engraçado ninguém aqui usar este recurso.
  20. A mensagem do erro é exatamente esta aqui, pela resposta da flexdocs é um problema de quem usa xharbour, harbour http://www.flexdocs.com.br/suporte/knowledgebase.php?article=210 com os colega que falo em off aqui, ninguém usa este recurso da flexdocs, até tenho rotina aqui para colocar no lugar, mais era uma coisa que funciona tão bem antes.
  21. 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
  22. Pessoal pelo que vi algumas chamadas para a classe mudaram, para quem usa o envio automatico de email com recursos da classe do Gilmer e flexdocs, poderia postar o código so par eu poder comparar, e ver aonde estou errando, obg. Luiz Fernando
  23. 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.
  24. 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)
  25. 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...