Funcionalidade para gerar o XML do grupo do item de detalhamento da NF-e/NFC-e.
string detalhe310(int nItem, string produto, string imposto, string infAdProd, double pDevol_Opc, double vIPIDevol_Opc)
Funcionalidade para gerar o XML do grupo de item de detalhe da NF-e/NFC-e da versão 3.10
Grupo de informação obrigatória, a NF-e deve ter pelo menos um item de produto por exigência do Schema XML.
| nome | tipo | tam. | obrig. | descrição | 
|---|---|---|---|---|
| nItem | inteiro | – | sim | informar o número do item do detalhe, deve ser um valor único crescente compreendido na faixa de 1 a 990. | 
| produto | string | – | sim | informar o grupo XML prod com o detalhamento do produto/serviço do item. | 
| imposto | string | – | sim | informar o grupo XML imposto com as informações dos tributos incidentes no item. | 
| infAdprod | string | 1-500 | não | pode ser utilizado para complementar a descrição e informações adicionais do produto. Não é permitido informação de caracteres de formatação (CR, LF, TAB, etc.), assim o usuário pode colocar caracteres que identificam o final linha para melhorar a visualização e a aplicação de impressão do DANFE tratar como quebra de linha, ex.: ***, /, |, etc. A consulta web da NF-e ainda não está mostrando as informações adicionais do produto, necessário reportar o problema para a SEFAZ resolver. | 
| pDevol_Opc | double | 3V2 | NÃO | informar o percentual da mercadoria devolvida. Nota: O valor máximo deste percentual é 100%, no caso de devolução total da mercadoria (campo novo) [23-12-13] | 
| vIPIDevol_Opc | double | 13V2 | NÃO | informar Valor do IPI devolvido. (campo novo) [23-12-13] | 

Os campos com contorno tracejado podem ser omitidos se a operação não exigir a informação.
Os campos em verde são tags novas ou tags que sofreram alteração recente do leiaute.
Um string com o grupo XML do detalhe do Produto ou Serviço
<det nItem="1">
      <prod>
            <cProd>00001</cProd>
            <cEAN />
               (...)
            <vUnTrib>1</vUnTrib>
      </prod>
      <imposto>
            <ICMS>
            <ICMS00>
            (...)
            </ICMS00>
            </ICMS>
            <PIS>
            <PISAliq>
            (...)
            </PISAliq>
            </PIS>
            <COFINS>
            <COFINSAliq>
            (...)
            </COFINSAliq>
            </COFINS>
      </imposto>
      <infAdProd>Informações adicionais do produto</infAdProd>
</det>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.
Visual Basic 6.0
' inicializar variáveis
'...............................................
Dim objNFeUtil As Object
 
Set objNFeUtil = CreateObject("NFe_Util_2G.Util")
'
'========grupo de informações detalhamento do produto e serviços(grupo I do Manual de Integração)=========
'
'
det_nItem = 1                 ' informar o número do item, que deve ser sequencial crescente iniciado em 1
                              ' a quantidade máxima de itens é 990
det_produto = "xml produto"   ' Deve ser informado com o XML obtido na funcionalidade produto
det_imposto = "xml imposto"   ' Deve ser informado com o XML obtido na funcionalidade imposto
                              ' informações adicionais do produto, uso não obrigatório
det_infAdprod = "Informações adcionais do produto" 
 
'
'         informar quando existir IPI na devolução
'
det_pDevol =  10              ' percentual das mercadorias devolvidas
det_vIPIDevol = 100           ' valor do IPI devolvido
'
'   gera grupo de detalhamento do produto
'
det = objNFeUtil.detalhe310(det_nItem, det_produto, det_imposto, det_infAdProd, det_pDevol, det_vIPIDevol)
 
MsgBox msgResultado & vbCrLf & det, vbInformation, "Informação"Se houver mais de um item de detalhe, o usuário deve concatenar os detalhes.
