marcioe Posted March 14, 2013 Report Share Posted March 14, 2013 amigos estou usando a classe+flex docs para fazer a NF-e, e está funcionando BLZ porem estou com uma nova situação que é a seguinte. a empresa quer emitir as notas em seu deposito fechado que fica fora da sede da empresa. (fazemos acesso remoto) porem a classe do gilmer gera os XML das notas em uma pasta especifica C:\.....\REMESSA\PROTOCOLO E e as vezes uma nota foi gerada na matriz, e o cara quer emitir ela na filial e vice versa. Então estava pensando em gravar (importar o XML gerado C:\.....\REMESSA\PROTOCOLO do pc do usuario em uma TABELA (MYSQL) CAMPO LONGBLOB ou similar pois dai o xml não ficará fixo na marquina que gerou. quando for imprimir por exemplo eu leio o que está na tabela e emito de novo. Alguem tem alguma coisa parecida . Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted March 14, 2013 Report Share Posted March 14, 2013 Posso não ter entendido direito, mas veja como eu faço. Todos os XMLs eu gravo uma cópia em DBF mesmo, campo MEMO. Desta forma posso imprimir a partir de qualquer computador na rede apenas lendo o campo MEMO e salvando como XML numa pasta temporária em qualquer computador. Creio que com MySQL também funciona, mas ainda não tentei. Uso o UNIDANFE para imprimir os DANFEs. Ainda não uso a classe do Gilmer, mas a Ãdéia funciona para qualquer XML. Quote Link to comment Share on other sites More sharing options...
marcioe Posted March 15, 2013 Author Report Share Posted March 15, 2013 alguem pode postar source... Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted March 15, 2013 Report Share Posted March 15, 2013 Segue como eu faço: // Criação do banco de dados de CARTAS DE CORREÇÃO aStr := {} AADD(aStr,{"NFE_NR", "N", 0010, 0}) // Número da NF-e AADD(aStr,{"CCHAVE", "C", 0050, 0}) // Chave de acesso AADD(aStr,{"TXTXML", "M", 1, 0}) // Conteúdo do XML cDbfInfo += CheckDbf(aStr, "NFE__XML.DBF") AADD(aInvali, {"NFE__XML.DBF", {"NFE_NR", "CCHAVE"}}) IF ! FILE("NFE__XML.DBF") ; DBCREATE("NFE__XML.DBF",aStr) ; ENDIF IF ! FILE("NFE__XML.CDX") USE NFE__XML NEW PACK MsgMeter( { | oMeter, oText, oDlg, lEnd | ; BuildIndex( oMeter, oText, oDlg, @lEnd, "NFE__XML->NFE_NR", "NFEXMLNR" ) },; "Classificando XMLs: Ãndice 1/1...", "Espere um momento!" ) CLOSE NFE__XML ENDIF Função que uso para salvar o XML em DBF (Campo MEMO) STATIC FUNCTION NFeSaveXML(Nfe_Nro, Nfe_Chv, Nfe_Xml) LOCAL n_Area := SELECT() USE NFE__XML SHARED NEW OrdListClear() OrdListAdd("NFE__XML", "NFEXMLNR") l_Save := .F. IF ! NFE__XML->(DBSEEK(Nfe_Nro)) NFE__XML->(DBAPPEND()) l_Save := .T. ELSE IF NFE__XML->(RLOCK()) l_Save := .T. ENDIF ENDIF IF l_Save REPLACE NFE__XML->NFE_NR WITH Nfe_Nro // Número da NFE REPLACE NFE__XML->CCHAVE WITH Nfe_Chv // Chave de acesso REPLACE NFE__XML->TXTXML WITH MEMOREAD(Nfe_Xml) // Arquivo XML (Caminho completo) ENDIF CLOSE NFE__XML SELECT(n_Area) RETURN NIL Como você pode notar, uso RDD DBFCDX. Quote Link to comment Share on other sites More sharing options...
Daniel Lopes Filho Posted March 15, 2013 Report Share Posted March 15, 2013 e para restarurar usa memowrite teria o exemplo para ficar completim ?! Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted March 17, 2013 Report Share Posted March 17, 2013 Só não esqueça de manter seus XML do BD atualizados, para evitar furos. SAOliveira 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.