13. Gerar XML do CT-e Simplificado novo
13.6. Detalhamento das Entregas
13.5.1. Quantidade de Carga
« Anterior
13.6.1. Componentes do valor da prestação
Próximo »

13.6. Detalhamento das Entregas

Sumário

Detalhamento das entregas / prestações do CTe Simplificado

Assinatura

string detCTeSimp(int nItem, string cMunIni, xMunIni cMunFim, string xMunFim, double vPrest, double vRec,string Comp_Opc, string infDFe)

Descrição:

Funcionalidade para gerar o grupo XML do detalhe da entrega / prestação do CT-e simplificado.

Cada par município de origem x município de destino deve ser agrupado em um grupo de detalhe da entrega / prestação do CT-e simplificado.

A quantidade máxima de detalhe da entrega permitido é 999, ou seja podemos ter até 999 pares de município de origem x município de destino por CT-e Simplificado.

Exemplo:

A carga é formada por mercadorias acobertadas por 20 notas fiscais, todas com origem em São Paulo, sendo que 10 notas fiscais são destinadas ao Munícipio de Assis e as notas fiscais restantes destinadas ao Município de Ourinhos.

Assim devemos gerar dois grupo de detalhamento para agrupar as notas fiscais da carga que tenham a mesma origem e destino:

São Paulo x Assis - 10 notas fiscais.

São Paulo x Ourinhos - 10 notas fiscais.

Parâmetros:

nome tipo tam. obrig. descrição
nItem inteiro 1-3 sim informar o número identificador do item agrupador da prestação, deve ser iniciado a partir do 1 e incrementado sequencialmente até 999.
cMunIni string 7 sim informar o Código do Município de início da prestação. Utilizar tabela do IBGE. Informar 9999999 para operações com o exterior.
xMunIni string 1-60 sim informar o Nome do Município de início da prestação. Informar PAIS/Município para as operações com o exterior.
cMunFim string 7 sim informar o Código do Município de término da prestação. Utilizar tabela do IBGE. Informar 9999999 para operações com o exterior.
xMunFim string 1-60 sim informar o Nome do Município de término da prestação. Informar PAIS/Município para as operações com o exterior.
vPrest double 15,2 sim Informar o Valor da prestação do serviço de transporte.
vRec double 15,2 sim Informar o Valor a Receber.
Comp_Opc string - sim informar o grupo de Componentes do Valor da Prestação.
infDFe string - sim informar o grupo de Informações da NF-e ou Informações dos Documentos anteriores.

Diagrama:

DiagramaCTe

Dica

Os campos com contorno tracejado podem ser omitidos se a operação não exigir a informação.

Retorno:

Um string com o grupo XML do detalhe da entrega / prestação do CT-e simplificado

Histórico de atualização:

XML:

Exemplo de XML para detalhe da entrega / prestação com duas notas fiscais (infNFe)

 
<det nItem="1">
  <cMunIni>3550308</cMunIni>
  <xMunIni>SÃO PAULO</xMunIni>
  <cMunFim>3534708</cMunFim>
  <xMunFim>OURINHOS</xMunFim>
  <vPrest>200.00</vPrest>
  <vRec>200.00</vRec>
  <infNFe>
    <chNFe>12345678901234567890123456789012345678901234</chNFe>
  </infNFe>
  <infNFe>
    <chNFe>12345678901234567890123456789012345678901234</chNFe>
  </infNFe>
</det>

Exemplo de XML para detalhe da entrega / prestação com um documento anterior (idDocAnt) e tpPrest=1

 
<det nItem="1">
  <cMunIni>3550308</cMunIni>
  <xMunIni>SÃO PAULO</xMunIni>
  <cMunFim>3534708</cMunFim>
  <xMunFim>OURINHOS</xMunFim>
  <vPrest>200.00</vPrest>
  <vRec>200.00</vRec>
  <infDocAnt>
    <chCTe>12345678912345678912345678912345678912345678</chCTe>
    <tpPrest>1</tpPrest>
  </infDocAnt>
</det>

Importante

O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.

Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.

Exemplos de uso:

Visual Basic 6.0

Exemplo de Entrega / Prestação com uma nota fiscal

'
'======  Detalhe da Entrega / Prestação do CT-e simplificado  ==========
'
Dim det As String
Dim det_nItem As Long
Dim det_cMunIni As String
Dim det_xMunIni As String
Dim det_cMunFim As String
Dim det_xMunFim As String
Dim det_vPrest As Double
Dim det_vRec As Double
Dim det_Comp_Opc As String
Dim det_infDFe As String
 
'
'
'====== instancia DLL==================
'
'
' referenciando a DLL em late binding
' não é necessário fazer o reference da DLL
' o intelisense não funciona
'
Dim objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.Util")
 
'
'         criação dos grupos
'
'===================Detalhe da Entrega / Prestação do CT-e simplificado =======================
'
'

det_nItem = 1                               ' número do item detalhe (1 a 999)
det_cMunIni = "3550308"                     ' código IBGE do município de origem
det_xMunIni = "SÃO PAULO"                   ' nome do município de origem
det_cMunFim = "3534708"                     ' código IBGE do município de término
det_xMunFim = "OURINHOS"                    ' nome do município de término
det_vPrest = 200                            ' valor da prestação de serviço
det_vRec = 200                              ' valor a receber
det_Comp_Opc = ""                           ' componentes do serviço
'                                             informações da NF-e ou documento anterior
'
det_infDFe = "<infNFe><chNFe>12345678901234567890123456789012345678901234</chNFe></infNFe>"
'

det = objCTeUtil.detCTeSimp(det_nItem, _
                            det_cMunIni, _
                            det_xMunIni, _
                            det_cMunFim, _
                            det_xMunFim, _
                            det_vPrest, _
                            det_vRec, _
                            det_vComp_Opc, _
                            det_infDFe)
 
 
MsgBox "Detalhamento da entrega / prestação:" + Chr(13) + det + Chr(13) + msgResultado, vbInformation, "Resultado"

Exemplo de Entrega / Prestação com documento anterior (idDocAnt) e prestação total (tpPrest=1)

 
'
'======  Detalhe da Entrega / Prestação do CT-e simplificado  ==========
'
Dim det As String
Dim det_nItem As Long
Dim det_cMunIni As String
Dim det_xMunIni As String
Dim det_cMunFim As String
Dim det_xMunFim As String
Dim det_vPrest As Double
Dim det_vRec As Double
Dim det_Comp_Opc As String
Dim det_infDFe As String
 
'
'
'====== instancia DLL==================
'
'
' referenciando a DLL em late binding
' não é necessário fazer o reference da DLL
' o intelisense não funciona
'
Dim objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.Util")
 
'
'         criação dos grupos
'
'===================Detalhe da Entrega / Prestação do CT-e simplificado =======================
'
'

det_nItem = 1                               ' número do item detalhe (1 a 999)
det_cMunIni = "3550308"                     ' código IBGE do município de origem
det_xMunIni = "SÃO PAULO"                   ' nome do município de origem
det_cMunFim = "3534708"                     ' código IBGE do município de término
det_xMunFim = "OURINHOS"                    ' nome do município de término
det_vPrest = 200                            ' valor da prestação de serviço
det_vRec = 200                              ' valor a receber
det_Comp_Opc = ""                           ' componentes do serviço
'                                             informações da NF-e ou docto anterior
'
det_infDFe = "<infDocAnt><chCTe>12345678912345678912345678912345678912345678</chCTe><tpPrest>1</tpPrest></infDocAnt>"
'

det = objCTeUtil.detCTeSimp(det_nItem, _
                            det_cMunIni, _
                            det_xMunIni, _
                            det_cMunFim, _
                            det_xMunFim, _
                            det_vPrest, _
                            det_vRec, _
                            det_vComp_Opc, _
                            det_infDFe)
 
 
MsgBox "Detalhamento da entrega / prestação:" + Chr(13) + det + Chr(13) + msgResultado, vbInformation, "Resultado"
13.6. Detalhamento das Entregas
13. Gerar XML do CT-e Simplificado novo
« Anterior
13.5.1. Quantidade de Carga
Próximo »
13.6.1. Componentes do valor da prestação