Fórum Felphi gerar arquivo xml pelo clientdataset #406147
06/08/2011
0
Plácido Netto
Curtir tópico
+ 0Posts
06/08/2011
Jonathan Campos
Gostei + 0
08/08/2011
Plácido Netto
queryfolha.Close; queryfolha; cdsfolha; aqui quero gravar o nome arquivo xml while (cdsPadrao.Eof = false) do
begin
aqui quero gravar os campos do xml end grato Placido
Gostei + 0
13/08/2011
Plácido Netto
queryfolha.Close; queryfolha; cdsfolha; aqui quero gravar o nome arquivo xml while (cdsfolha.Eof = false) do
begin
aqui quero gravar os campos do xml cdsfolha.next; end grato Estou precisando de ajuda, algume pode me ajudar. Placido
Gostei + 0
13/08/2011
Marco Salles
seria isto ???
Gostei + 0
14/08/2011
Plácido Netto
Gostei + 0
14/08/2011
Marco Salles
Então , mas ja foi lhe aconselhado fazer assim
com os dados em seu ClientDataSet faça: clientdataset.SaveToFile(nomedoarquivo, dfXML);
Não lhe serviu porque ????
Porque além da definição dos fields vem também os dados ???
Vc disse como quer , mas não disse porque a ajuda do colega não te serviu ???
Porque o Xml gerado é padrão dataPacker e não Xml puro ???
Gostei + 0
15/08/2011
Plácido Netto
eu tenho os dados do cliente e dos produtos em um cliente dataset,
por tanto eu preciso ler cada campo do clientdaset especificando cada formato
e gravar estes campos no arquivo xml da prefeitura segue abaixo o modelo do arquivo xml ---------------------------------------------------- Modelo de Arquivo XML de Exportação Os dados abaixo se referem ao modelo de arquivo de exportação de NFS-e com 2 (duas) notas fiscais de serviço eletrônica gerado pelo ISS OnLine. Nome do Arquivo: NFS-e_99999_4-2010.xml <NFSE>
<NOTA>
<COD>1</COD>
<ANOCOMP>2010</ANOCOMP>
<MESCOMP>4</MESCOMP>
<DATA>01/04/2010</DATA>
<HORA>01/01/0001 06:54:55</HORA>
<LOCALSERV>D</LOCALSERV>
<SERIECOD>14</SERIECOD>
<SERIEDESC>Nota Fiscal Eletrônica</SERIEDESC>
<SITCOD>1</SITCOD>
<SITABREV>N</SITABREV>
<SITDESC>Normal</SITDESC>
<OBSSERVICO>NENHUMA INFORMAÇÃO COMPLEMENTAR REGISTRADA</OBSSERVICO>
<RETIDO>N</RETIDO>
<ATIVCOD>5510801</ATIVCOD>
<ATIVDESC>Hotéis</ATIVDESC>
<BASECALC>39.90</BASECALC>
<IMPOSTO>0.80</IMPOSTO>
<DEDUCAO>0.00</DEDUCAO>
<RETENCAO>0.00</RETENCAO>
<ALIQUOTA>2.00</ALIQUOTA>
<PRESTCODCONTRIB>123456</PRESTCODCONTRIB>
<PRESTCODMOBILIARIO>12345</PRESTCODMOBILIARIO>
<PRESTINSCRICAOMUN>01.234/2000</PRESTINSCRICAOMUN>
<PRESTCPFCNPJ>00000000000000</PRESTCPFCNPJ>
<PRESTNOMERAZAO>HOTEL DE LINS LTDA</PRESTNOMERAZAO>
<PRESTESTAB>S</PRESTESTAB>
<PRESTSUPERSIMP>N</PRESTSUPERSIMP>
<PRESTPREFIXOCOD>3</PRESTPREFIXOCOD>
<PRESTPREFIXODESC>AVENIDA.</PRESTPREFIXODESC>
<PRESTLOGCOD>102</PRESTLOGCOD>
<PRESTLOGDESC>FLORIANO PEIXOTO</PRESTLOGDESC>
<PRESTBAIRROCOD>56</PRESTBAIRROCOD>
<PRESTBAIRRODESC>CENTRO</PRESTBAIRRODESC>
<PRESTMUNICIPIOCOD>3527108</PRESTMUNICIPIOCOD>
<PRESTMUNICIPIODESC>LINS</PRESTMUNICIPIODESC>
<PRESTMUNICIPIOUF>SP</PRESTMUNICIPIOUF>
<PRESTNUMERO>01234</PRESTNUMERO>
<PRESTCEP>16400101</PRESTCEP>
<TOMCODCONTRIB>1</TOMCODCONTRIB>
<TOMCODMOBILIARIO>99999</TOMCODMOBILIARIO>
<TOMINSCRICAOMUN>00.001/1974</TOMINSCRICAOMUN>
<TOMCPFCNPJ>44531788000138</TOMCPFCNPJ>
<TOMNOMERAZAO>PREFEITURA MUNICIPAL DE LINS</TOMNOMERAZAO>
<TOMPREFIXOCOD>2</TOMPREFIXOCOD>
<TOMPREFIXODESC>RUA</TOMPREFIXODESC>
<TOMLOGCOD>230</TOMLOGCOD>
<TOMLOGDESC>OLAVO BILAC</TOMLOGDESC>
<TOMBAIRROCOD>56</TOMBAIRROCOD>
<TOMBAIRRODESC>CENTRO</TOMBAIRRODESC/>
<TOMMUNICIPIOCOD>3527108</TOMMUNICIPIOCOD>
<TOMMUNICIPIODESC>LINS</TOMMUNICIPIODESC>
<TOMMUNICIPIOUF>SP</TOMMUNICIPIOUF>
<TOMNUMERO>640</TOMNUMERO>
<TOMCEP>16400075</TOMCEP>
<SERVICOS>
<SERVICO>
<CODIGO>1096</CODIGO>
<DESCRICAO>OUTROS SERVIÇOS</DESCRICAO>
<QUANTIDADE>1.0000</QUANTIDADE>
<VALOR>39.90</VALOR>
</SERVICO>
</SERVICOS>
</NOTA>
<NOTA>
<COD>2</COD>
<ANOCOMP>2010</ANOCOMP>
<MESCOMP>4</MESCOMP>
<DATA>01/04/2010</DATA>
<HORA>01/01/0001 06:55:55</HORA>
<LOCALSERV>D</LOCALSERV>
<SERIECOD>14</SERIECOD>
<SERIEDESC>Nota Fiscal Eletrônica</SERIEDESC>
<SITCOD>1</SITCOD>
<SITABREV>N</SITABREV>
<SITDESC>Normal</SITDESC>
<OBSSERVICO>NENHUMA INFORMAÇÃO COMPLEMENTAR REGISTRADA</OBSSERVICO>
<RETIDO>N</RETIDO>
<ATIVCOD>C2-5510801</ATIVCOD>
<ATIVDESC>Hotéis</ATIVDESC>
<BASECALC>39.90</BASECALC>
<IMPOSTO>0.80</IMPOSTO>
<DEDUCAO>0.00</DEDUCAO>
<DEDMATERIAIS>N</DEDMATERIAIS>
<RETENCAO>0.00</RETENCAO>
<ALIQUOTA>2.00</ALIQUOTA>
<PRESTCODCONTRIB>123456</PRESTCODCONTRIB>
<PRESTCODMOBILIARIO>12345</PRESTCODMOBILIARIO>
<PRESTINSCRICAOMUN>01.234/2000</PRESTINSCRICAOMUN>
<PRESTCPFCNPJ>00000000000000</PRESTCPFCNPJ>
<PRESTNOMERAZAO>HOTEL DE LINS LTDA</PRESTNOMERAZAO>
<PRESTESTAB>S</PRESTESTAB>
<PRESTSUPERSIMP>N</PRESTSUPERSIMP>
<PRESTPREFIXOCOD>3</PRESTPREFIXOCOD>
<PRESTPREFIXODESC>AVENIDA</PRESTPREFIXODESC>
<PRESTLOGCOD>102</PRESTLOGCOD>
<PRESTLOGDESC>FLORIANO PEIXOTO</PRESTLOGDESC>
<PRESTBAIRROCOD>56</PRESTBAIRROCOD>
<PRESTBAIRRODESC>CENTRO</PRESTBAIRRODESC>
<PRESTMUNICIPIOCOD>3527108</PRESTMUNICIPIOCOD>
<PRESTMUNICIPIODESC>LINS</PRESTMUNICIPIODESC>
<PRESTMUNICIPIOUF>SP</PRESTMUNICIPIOUF>
<PRESTNUMERO>01234</PRESTNUMERO>
<PRESTCEP>16400101</PRESTCEP>
<TOMCODCONTRIB>1328579</TOMCODCONTRIB>
<TOMCODMOBILIARIO>0</TOMCODMOBILIARIO>
<TOMINSCRICAOMUN/>
<TOMCPFCNPJ>11111111111</TOMCPFCNPJ>
<TOMNOMERAZAO>PESSOA FÍSICA - DADOS NÃO INFORMADOS</TOMNOMERAZAO>
<TOMPREFIXOCOD>2</TOMPREFIXOCOD>
<TOMPREFIXODESC>RUA</TOMPREFIXODESC>
<TOMLOGCOD>1002126</TOMLOGCOD>
<TOMLOGDESC>DADOS NÃO INFORMADOS</TOMLOGDESC>
<TOMBAIRROCOD>2742</TOMBAIRROCOD>
<TOMBAIRRODESC>NÃO INFORMADO<TOMBAIRRODESC>
<TOMMUNICIPIOCOD>3527108</TOMMUNICIPIOCOD>
<TOMMUNICIPIODESC>LINS</TOMMUNICIPIODESC>
<TOMMUNICIPIOUF>SP</TOMMUNICIPIOUF>
<TOMNUMERO>0</TOMNUMERO>
<TOMCEP>16400000</TOMCEP>
<SERVICOS>
<SERVICO>
<CODIGO>1096</CODIGO>
<DESCRICAO>OUTROS SERVIÇOS</DESCRICAO>
<QUANTIDADE>1.0000</QUANTIDADE>
<VALOR>39.90</VALOR>
</SERVICO>
</SERVICOS>
</NOTA>
</NFSE>
---------------------------------------------------
eu utilizo os componentes do dbexpress
Querydados
dspdados
cdsdados
cdsdados
inico do processo Querydados.Close;
cdsdados.Close;
Querydados.open
cdsdados.open // gravar o nome do arquivo xml while (cdsdados.Eof = false) do
begin
// aqui eu tenho os campos
// numero da nota
// codigo cliente
// nome do cliente
// codigo do produto
// descricao do produto
// quantidade
// valor unitario
// sao varios itens cada nota // eu quero que faça um exemplo para cada campo gravando no arquivo xml
cdsdados.next
end; Grato Placido
Gostei + 0
15/08/2011
Marco Salles
Então , mas ja foi lhe aconselhado fazer assim
com os dados em seu ClientDataSet faça: clientdataset.SaveToFile(nomedoarquivo, dfXML);
Não lhe serviu porque ????
Porque além da definição dos fields vem também os dados ???
Vc disse como quer , mas não disse porque a ajuda do colega não te serviu ???
Porque o Xml gerado é padrão dataPacker e não Xml puro ???
Desculpa mas sem querer ser insistente , porque não responde as perguntas que são feitas a você ??? item a item ..
Gostei + 0
17/08/2011
Plácido Netto
NT.CLI_CODIGO,
CL.CLI_NOME,
CL.CLI_CNPJ,
CL.CLI_CPF,
CL.CLI_RG,
CL.CLI_LOGRADOUROENDERECO,
CL.CLI_BAIRRO,
CL.CLI_CEP,
CL.CLI_CIDADE,
CL.CLI_INSCRICAOESTADUAL,
CL.CLI_UF,
NT.CODF_CODIGO,
CF.CODF_DESCRICAO,
NT.NTF_NUMERONOTA,
NT.NTF_SEQUENCIAFORMULARIO,
NT.NTF_VALORTOTALNOTA,
NT.NTF_DATAEMISSAO,
NI.SERV_CODIGO,
S.SERV_DESCRICAO,
NI.REQ_QTDE,
NI.REQ_VALOR,
NT.NTF_TOTALITENS,
CL.CLI_ISS,
E.EMP_ALIQUOTAISS FROM NOTAREQUISICAO NT LEFT JOIN EMPRESA E ON (E.EMP_CODIGO = NT.EMP_CODIGO)
JOIN NOTAREQUISICAOITENS NI ON (NT.EMP_CODIGO = NI.EMP_CODIGO AND
NT.NTF_ANODAEMISSAO = NI.NTF_ANODAEMISSAO AND
NT.NTF_NUMERONOTA = NI.NTF_NUMERONOTA)
LEFT JOIN CLIENTE CL ON (NT.EMP_CODIGO = CL.EMP_CODIGO AND
NT.CLI_CODIGO = CL.CLI_CODIGO)
LEFT JOIN CODFISCAL CF ON (NT.CODF_CODIGO = CF.CODF_CODIGO)
LEFT JOIN SERVICOS S ON (NT.EMP_CODIGO = S.EMP_CODIGO AND
NI.SERV_CODIGO = S.SERV_CODIGO) WHERE NT.EMP_CODIGO = :EMPRESA AND
NT.ntf_datainicial between :PDATAINICIAL AND :PDATAFINAL AND
CL.CLI_NOME between :PNOMEINICIAL AND :PNOMEFINAL ----------------------------------------------- Espero ter ajudado nas respostas para vc me dar a resposta Grato Placido
Gostei + 0
26/08/2011
Plácido Netto
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)