O CFeSatDataset foi criado para facilitar a geração e conversão de lotes de xml.

Através de comandos padrões de Dataset é possível gerar um XML de envio para o SAT.

 

Na paleta “ Tecnospeed CFe Sat ”, selecione o spdCFeSatDataSets e “drope” o componente no Form de sua aplicação.

 

Configure as duas propriedades necessárias para realizar a geração do XML:

Se preferir pode configurar via código também.

spdCFeSatDatasets1 . ArquivoConversorXml := ' Valor ';

spdCFeSatDatasets1 . VersaoEsquema := ve0006;

 

Agora popule o dataset de acordo com os campos existentes no conversor, segue exemplo de popular um CFeSatDatasets:

 

É seguro sempre dar um .Clear na propriedade LoteCFeSat para limpar o xml gerado anteriormente.

  spdCFeSatDatasets1 . LoteCFeSat . Clear;

   spdCFeSatDatasets1 . Incluir;

   spdCFeSatDatasets1 . Campo ( 'versaoDadosEnt_A03' ). Value := '0.06';

   spdCFeSatDatasets1 . Campo ( 'CNPJ_B11' ). Value := '00000000000000';

   spdCFeSatDatasets1 . Campo ( 'signAC_B12' ). Value := 'SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT';

   spdCFeSatDatasets1 . Campo ( 'numeroCaixa_B14' ). Value := '123';

 

   spdCFeSatDatasets1 . Campo ( 'CNPJ_C02' ). Value := '00000000000000';

   spdCFeSatDatasets1 . Campo ( 'IE_C12' ). Value := '111111111111';

   spdCFeSatDatasets1 . Campo ( 'IM_C13' ). Value := '123123';

   spdCFeSatDatasets1 . Campo ( 'cRegTribISSQN_C15' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'indRatISSQN_C16' ). Value := 'N';

 

   spdCFeSatDatasets1 . Campo ( 'CNPJ_E02' ). Value := '00000000000000';

   spdCFeSatDatasets1 . Campo ( 'CPF_E03' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'xNome_E04' ). Value := 'Fazenda';

 

   spdCFeSatDatasets1 . Campo ( 'xLgr_G02' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'nro_G03' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'xCpl_G04' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'xBairro_G05' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'xMun_G06' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'UF_G07' ). Value := '';

 

   spdCFeSatDatasets1 . IncluirItem;

   spdCFeSatDatasets1 . Campo ( 'nItem_H02' ). Value := '1';

   spdCFeSatDatasets1 . Campo ( 'cProd_I02' ). Value := '0001';

   spdCFeSatDatasets1 . Campo ( 'cEAN_I03' ). Value := '0012345678905';

   spdCFeSatDatasets1 . Campo ( 'xProd_I04' ). Value := 'Trib ICMS Integral Aliquota 10.00% - PIS e COFINS cod 04 - Orig 0';

   spdCFeSatDatasets1 . Campo ( 'NCM_I05' ). Value := '47061000';

   spdCFeSatDatasets1 . Campo ( 'CFOP_I06' ). Value := '5001';

   spdCFeSatDatasets1 . Campo ( 'uCom_I07' ). Value := 'kg';

   spdCFeSatDatasets1 . Campo ( 'qCom_I08' ). Value := '1.0000';

   spdCFeSatDatasets1 . Campo ( 'vUnCom_I09' ). Value := '100.00';

   spdCFeSatDatasets1 . Campo ( 'indRegra_I11' ). Value := 'A';

   spdCFeSatDatasets1 . Campo ( 'vDesc_I12' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vOutro_I13' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'vItem12741_M02' ). Value := '1.00';

 

   spdCFeSatDatasets1 . Campo ( 'Orig_N06' ). Value := '0';

   spdCFeSatDatasets1 . Campo ( 'CST_N07' ). Value := '00';

   spdCFeSatDatasets1 . Campo ( 'pICMS_N08' ). Value := '10.00';

   spdCFeSatDatasets1 . Campo ( 'CSOSN_N10' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'CST_Q07' ). Value := '04';

   spdCFeSatDatasets1 . Campo ( 'vBC_Q08' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'pPIS_Q09' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'qBCProd_Q11' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vAliqProd_Q12' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'CST_S07' ). Value := '04';

   spdCFeSatDatasets1 . Campo ( 'vBC_S08' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'pCOFINS_S09' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'qBCProd_S11' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vAliqProd_S12' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'vBC_T02' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'pCOFINS_T03' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'qBCProd_T04' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vAliqProd_T05' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'vDeducISSQN_U02' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vAliq_U04' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'cMunFG_U06' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'cListServ_U07' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'cServTribMun_U08' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'cNatOp_U09' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'indIncFisc_U10' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'infAdProd_V01' ). Value := '';

   spdCFeSatDatasets1 . SalvarItem;

 

   spdCFeSatDatasets1 . IncluirPart ( 'PAGAMENTO' );

   spdCFeSatDatasets1 . Campo ( 'cMP_WA03' ). Value := '01';

   spdCFeSatDatasets1 . Campo ( 'vMP_WA04' ). Value := '100.00';

   spdCFeSatDatasets1 . Campo ( 'cAdmC_WA05' ). Value := '';

   spdCFeSatDatasets1 . SalvarPart ( 'PAGAMENTO' );

 

   spdCFeSatDatasets1 . Campo ( 'vDescSubTot_W20' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vAcresSubtot_W21' ). Value := '';

   spdCFeSatDatasets1 . Campo ( 'vCFeLei12741_W22' ). Value := '';

 

   spdCFeSatDatasets1 . Campo ( 'infCpl_Z02' ). Value := '';

   spdCFeSatDatasets1 . Salvar;

 

Após popular e salvar seu dataset, a propriedade LoteCFeSat estará populada com o XML:

spdCFeSatDatasets1 . LoteCFeSat . Text;

 

Pronto seu xml está gerado e pronto para o Envio, claro que os campos devem se r preenchidos corretamente para evitar uma rejeição do equipamento S@T.

 

 

Sumário

 

Arquivos para download