'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