'Gera CTE' Private Sub cmdGeraCTe_Click(Index As Integer) Dim qtdReg As Integer Dim x As Integer Dim nCTe As Long nCTe = InputBox("No CT-e", "Numero do CT-e", 1) 'tIde = Tag de Identificação do CT-e Dim tIde() As String ReDim Preserve tIde(36) tIde(0) = nCTe '<cCT> tIde(1) = "5357" '<CFOP> tIde(2) = "TRANSPORTE RODOVIARIO DE CARGAS" '<natOp> tIde(3) = "0" '<forPag> tIde(4) = "0" '<serie> tIde(5) = nCTe '<nCT> tIde(6) = "2010-04-20T10:00:00" '<dhEmi> tIde(7) = "1" '<tpEmis> tIde(8) = "0" '<tpCTe> tIde(9) = "3550308" '<cMunEmi> tIde(10) = "SAO PAULO" '<xMunEmi> tIde(11) = "SP" '<UFEmi> tIde(12) = "01" '<modal> tIde(13) = "0" '<tpServ> tIde(14) = "3550308" '<cMunIni> tIde(15) = "SAO PAULO" '<xMunIni> tIde(16) = "SP" '<<UFIni> tIde(17) = "3106200" '<cMunFim> tIde(18) = "BELO HORIZONTE" '<xMunFim> tIde(19) = "MG" '<UFFim> tIde(20) = "0" '<retira> tIde(21) = "0" '<toma> 'informar apenas se o valor do index 21 for igual a "4" tIde(22) = "" '<toma04> CNPJ ou CPF tIde(23) = "" '<toma04> IE tIde(24) = "" '<toma04> xNome tIde(25) = "" '<toma04> xFant tIde(26) = "" '<toma04> xLgr tIde(27) = "" '<toma04> xNum tIde(28) = "" '<toma04> xCpl tIde(29) = "" '<toma04> xBairro tIde(30) = "" '<toma04> cMun tIde(31) = "" '<toma04> xMun tIde(32) = "" '<toma04> CEP tIde(33) = "" '<toma04> UF tIde(34) = "" '<toma04> cPais tIde(35) = "" '<toma04> xPais ' <emit> TAG de grupo de identificação do emitente da NF-e Dim tEmit() As String ReDim Preserve tEmit(10) tEmit(0) = "Transportadora de Carga" '<xNome> tEmit(1) = "TransCarga" '<xFant> tEmit(2) = "Av Rangel Pestana" '<xLgr> tEmit(3) = "300" '<nro> tEmit(4) = "10 andar" '<xCpl> tEmit(5) = "Mirante" '<xBairro> tEmit(6) = "3550308" '<cMun> tEmit(7) = "SAO PAULO" '<xMun> tEmit(8) = "01301910" '<CEP> tEmit(9) = "1132433400" '<fone> ' <rem> TAG de grupo de informações do remetente das mercadorias transportadas pelo CT-e Dim tRem() As String ReDim Preserve tRem(11) tRem(0) = "11222333000181" '<CNPJ> tRem(1) = "123123123" '<IE> tRem(2) = "Joao sem Terra" '<xNome> tRem(3) = "1132201234" '<fone> tRem(4) = "Praca Matriz" '<xLgr> tRem(5) = "S/N" '<nro> tRem(6) = "SAO PAULO" '<xBairro> tRem(7) = "2611606" '<cMun> tRem(8) = "Recife" '<xMun> tRem(9) = "01000000" '<CEP> tRem(10) = "SP" '<UF> 'infNF Dim tRemInfNF() As String qtdReg = 2 '3 registros ReDim Preserve tRemInfNF(qtdReg, 11) For x = 0 To (qtdReg - 1) tRemInfNF(x, 0) = "0" '<serie> tRemInfNF(x, 1) = (x + 1) '<nDoc> tRemInfNF(x, 2) = "2011-04-20" '<dEmi> tRemInfNF(x, 3) = "1000" '<vBC> tRemInfNF(x, 4) = "120" '<vICMS> tRemInfNF(x, 5) = "0" '<vBCST> tRemInfNF(x, 6) = "0" '<vST> tRemInfNF(x, 7) = "1000" '<vProd> tRemInfNF(x, 8) = "10.00" '<vNF> tRemInfNF(x, 9) = "5112" '<nCFOP> tRemInfNF(x, 10) = "10.000" '<nPeso> Next ' <exped> TAG de grupo de informações do Expedidor da Carga Dim tExped() As String ReDim Preserve tExped(12) tExped(0) = "34261131000144" '<CNPJ> ou <CPF> tExped(1) = "123123123" 'IE tExped(2) = "Empresa de Destino Teste" '<xNome> tExped(3) = "8388881234" '<fone> tExped(4) = "Rua Padre Casemiro Quiroga" '<xLgr> tExped(5) = "236" '<nro> tExped(6) = "Complemento" '<xCpl> tExped(7) = "Bairro Teste" '<xBairro> tExped(8) = "2927408" '<cMun> tExped(9) = "Salvador" '<xMun> tExped(10) = "41720400" '<CEP> tExped(11) = "BA" '<UF> ' <receb> TAG de grupo de informações do Recebedor da carga Dim tReceb() As String ReDim Preserve tReceb(12) tReceb(0) = "34261131000144" '<CNPJ> ou <CPF> tReceb(1) = "123123123" 'IE tReceb(2) = "Empresa de Destino Teste" '<xNome> tReceb(3) = "8388881234" '<fone> tReceb(4) = "Rua Padre Casemiro Quiroga" '<xLgr> tReceb(5) = "236" '<nro> tReceb(6) = "Complemento" '<xCpl> tReceb(7) = "Bairro Teste" '<xBairro> tReceb(8) = "2927408" '<cMun> tReceb(9) = "Salvador" '<xMun> tReceb(10) = "41720400" '<CEP> tReceb(11) = "BA" '<UF> ' <dest> TAG de grupo de identificação do Destinatário da NF-e Dim tDest() As String ReDim Preserve tDest(13) tDest(0) = "34261131000144" '<CNPJ> ou <CPF> tDest(1) = "Empresa de Destino Teste" '<xNome> tDest(2) = "Rua Padre Casemiro Quiroga" '<xLgr> tDest(3) = "236" '<nro> tDest(4) = "Complemento" '<xCpl> tDest(5) = "Bairro Teste" '<xBairro> tDest(6) = "2927408" '<cMun> tDest(7) = "Salvador" '<xMun> tDest(8) = "BA" '<UF> tDest(9) = "41720400" '<CEP> tDest(10) = "1058" '<cPais> tDest(11) = "BRASIL" '<xPais> tDest(12) = "1130302233" '<fone> ' TAG de grupo de valores da prestação de serviço Dim tvPrest() As String ReDim Preserve tvPrest(2) tvPrest(0) = "200.00" 'vTPrest tvPrest(1) = "200.00" 'vRec ' TAG de grupo de informações relativas aos Impostos Dim tImp() As String ReDim Preserve tImp(6) ' CST do serviço: ' 00 - ICMS Normal ' 20 - ICMS com redução de Base de Cálculo ' 40 - ICMS isenção ' 41 - ICMS não tributada ' 51 - ICMS diferido ' 80 - ICMS pagto atribuído ao tomador ou ao terceiro previsto para substituição tributária ' 81 - ICMS devido para outras UF ' 90 - ICMS outras situações. tImp(0) = "00" 'CST - classificação tributária do serviço tImp(1) = "200.00" 'vBC - Valor da BC do ICMS tImp(2) = "12.00" 'pICMS - Alíquota do ICMS tImp(3) = "24.00" 'vICMS - Valor do ICMS tImp(4) = "" 'vCred - Valor do Crédito outorgado/Presumido tImp(5) = "" 'pRedBC - Percentual de redução da BC ' Dados específicos do Transporte Rodoviário Dim tRodo() As String ReDim Preserve tRodo(3) tRodo(0) = "12345678901234" 'RNTRC tRodo(1) = "2011-05-01" 'dPrev tRodo(2) = "0" 'lota Dim tInfCTeNorm() As String ReDim Preserve tInfCTeNorm(3) tInfCTeNorm(0) = "1.00" '<infCarga> vMerc tInfCTeNorm(1) = "MEU PRODUTO DE TESTES - JAKSSON" '<infCarga> proPred tInfCTeNorm(2) = "GRANEL" '<infCarga> xOutCat ' infQ - Informações de quantidades da Carga do CT-e Dim tInfQ() As String qtdReg = 2 '3 registros ReDim Preserve tInfQ(qtdReg, 3) For x = 0 To (qtdReg - 1) tInfQ(x, 0) = "01" '<infQ> cUnid tInfQ(x, 1) = "PESO BRUTO" '<infQ> tpMed tInfQ(x, 2) = "111.15" '<infQ> qCarga Next ' Informações de identificação dos documentos de Transporte Anterior Dim tDocAnt() As String qtdReg = 2 '3 registros ReDim Preserve tDocAnt(qtdReg, 8) For x = 0 To (qtdReg - 1) tDocAnt(x, 0) = "34261131000144" 'cnpj ou cpf tDocAnt(x, 1) = "34261131000144" 'IE tDocAnt(x, 2) = "SP" 'UF tDocAnt(x, 3) = "EMPRESA DE TESTE " + Str(x + 1) 'xNome tDocAnt(x, 4) = Right("000" + Trim(Str(x + 1)), 2) 'tpDoc tDocAnt(x, 5) = "55" 'serie tDocAnt(x, 6) = "00001015" + (x + 1) 'nDoc tDocAnt(x, 7) = "2010-08-30" 'dEmi Next 'CHAMA A FUNCAO DA OCX Dim pathRet As String pathRet = infcte1.GeraInfCte(tIde, tEmit, tRem, tExped, tReceb, tvPrest, tDest, tImp, tRodo, tInfCTeNorm, tRemInfNF, tInfQ, tDocAnt) 'VERIFICAÇÃO SE O XML FOI GERADO, PARA ENTAO UTILIZAR DEMAIS PROCEDIMENTOS, ASSINATURA, VALIDAÇÃO ETC... 'If Dir(criar_xml) <> Empty Then ' MsgBox "Criado o XML: " + pathRet, vbInformation 'End If txtStatus.Text = "(1) Gerar CT-e:" + vbCrLf + pathRet + vbCrLf End Sub