A classe TspdMDFeDataSetX cria e gerencia uma lista de subdatasets que, por sua vez, armazenam os dados organizados em uma estrutura fixa de campos podendo serem utilizados tanto para gerar o XML de envio quanto para impressão dos dados no DAMDFE .

 

Segue um exemplo de como gerar o xml a partir de um arquivo TX2.

 

// Construtor da classe que ja inicializa os datasets através do método CreateDataSets chamado internamente.

FspdMDFeDataSet := TspdMDFeDataSetX.Create(nil);

 

FspdMDFeDataset.MappingFileName := 'C:\Arquivos de programas\Tecnospeed\spdMDFe\Esquemas\Mapping.txt’;

 

FspdMDFeDataset.ConfigSection := 'XMLENVIO’;

 

FspdMDFeDataSet.EmptyDataSets;

 

FspdMDFeDataSet.Versao := '1.00';

FspdMDFeDataSet.IdLote := '1';

 

Result := FspdMDFeDataSet.LoadFromTX2(‘c:\Rodoviario.tx2’);


 

Segue um exemplo de um arquivo tx2 para o modal Rodoviário:

 

formato=tx2

 

incluirenviMDFe

idLote=1

versao_2=1.00

cUF_5=43

tpAmb_6=2

tpEmit_7=1

mod_8=58

serie_9=1

nMDF_10=14

cMDF_11=00000001

cDV_12=1

modal_13=1

dhEmi_14=2013-03-27T08:29:29

tpEmis_15=2

procEmi_16=0

verProc_17=1.0

UFIni_18=PR

UFFim_19=PR

CNPJ_26=08187168000160

IE_27=9044016688

xNome_28=TECNOSPEED

xFant_29=TECNOSPEED

xLgr_31=RUA DUQUE DE CAXIAS

nro_32=882

xCpl_33=SALA 102 E 909

xBairro_34=CENTRO

cMun_35=4115200

xMun_36=MARINGÁ

CEP_37=87020025

UF_38=PR

fone_39=4430283749

email_40=testedanfe@gmail.com

versaoModal_42=1.00

qCTe_69=2

qCT_70=

qNFe_71=

qNF_70=

vCarga_73=3500.00

cUnid_74=02

qCarga_75=2.8000

infAdFisco_79=

infCpl_80=INFORMACOES COMPLEMENTARES

salvarenviMDFe

 

incluirinfMunCarrega

cMunCarrega_21=4115200

xMunCarrega_22=Maringá

salvarinfMunCarrega

 

incluirinfPercurso

UFPer_24=

salvarinfPercurso

 

incluirinfMunDescarga

cMunDescarga_46=4115200

xMunDescarga_47=Maringá

salvarinfMunDescarga

 

incluirinfCTe

chCTe_49=42130105793827000113571010000010021000000011

salvarinfCTe

 

incluirinfCTe

chCTe_49=42130105793827000113571010000010301123456468

SegCodBarra_50=

salvarinfCTe


 

incluirinfCT

nCT_52=

serie_53=

subser_54=

dEmi_55=

vCarga_56=

salvarinfCT

 

incluirinfNFe

chNFe_58=

SegCodBarra_59=

salvarinfNFe

 

incluirinfNF

CNPJ_61=

UF_62=

nNF_63=

serie_64=

dEmi_65=

vNF_66=

PIN_67=

salvarinfNF

 

incluirlacres

nLacre_77=123

salvarlacres


 

incluirrodo

RNTRC_rodo_2=12345678

CIOT_rodo_3=123456789012

cInt_rodo_5=001

placa_rodo_6=ABC1234

tara_rodo_7=5000

capKG_rodo_8=4500

capM3_rodo_9=400

RNTRC_rodo_11=12345678

salvarrodo

 

incluircondutor

xNome_rodo_13=JOAO

CPF_rodo_14=12345678912

salvarcondutor

 

incluirveicReboque

cInt_rodo_16=002

placa_rodo_17=XYZ4567

tara_rodo_18=4000

capKG_rodo_19=3000

capM3_rodo_20=300

RNTRC_rodo_22=87654321

salvarveicReboque

 

incluirdisp

CNPJForn_rodo_25=12345678000199

CNPJPg_rodo_26=21543876000188

nCompra_rodo_27=789

salvardisp



 

Para preencher o tx2 para outros modais deve-se alterar o campo 'modal_13' para o valor do respectivo modal e incluir os comandos dos outros modais com os campos abaixo. Lembrando que só é permitido um modal por nota, ou seja, deve-se utilizar o exemplo de apenas um modal para cada nota.  Segue o exemplo:

 

// Preenche as inforamções do modal aéreo

incluiraereo

nac_aereo_2=BR

matr_aereo_3=123456

nVoo_aereo_4=123456789

cAerEmb_aereo_5=A000

cAerDes_aereo_6=A111

dVoo_aereo_7=2013-04-08

salvaraereo



 

// Preenche as inforamções do modal aquaviário

incluiraquav

CNPJAgeNav_aquav_2=94814886000150

tpEmb_aquav_3=01

cEmbar_aquav_4=0123456789

nViagem_aquav_5=0123456789

cPrtEmb_aquav_6=12345

cPrtDest_aquav_7=12345

salvaraquav

 

incluirinfTermCarreg

cTermCarreg_aquav_9=12345678

salvarinfTermCarreg

 

incluirinfTermDescarreg

cTermDescarreg_aquav_11=12345678

salvarinfTermDescarreg

 

incluirinfEmbComb

cEmbComb_aquav_13=0123456789

salvarinfEmbComb



 

// Preenche as inforamções do modal ferroviário

formato=tx2

 

incluirenviMDFe

idLote=1

versao_2=1.00

cUF_5=43

tpAmb_6=2

tpEmit_7=1

mod_8=58

serie_9=1

nMDF_10=14

cMDF_11=00000001

cDV_12=1

modal_13=4

dhEmi_14=2013-03-27T08:29:29

tpEmis_15=2

procEmi_16=0

verProc_17=1.0

UFIni_18=RS

UFFim_19=RS

CNPJ_26=94814886000150

IE_27=500048665

xNome_28=NATIVA TRANSPORTES LTDA

xFant_29=NATIVA TRANSPORTES

xLgr_31=RUA COMEND JOSE ANTONIO ZANETTI

nro_32=1746

xCpl_33=

xBairro_34=TAMANDARE

cMun_35=4308607

xMun_36=Garibaldi

CEP_37=00014800

UF_38=RS

fone_39=1633312039

email_40=testedanfe@gmail.com

versaoModal_42=1.00

qCTe_69=2

qCT_70=

qNFe_71=

qNF_72=

vCarga_73=3500.00

cUnid_74=02