Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2552 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Bom di. Estou tentando envia o XML em anexo. Mas estou recebendo a msg abaixo. Engraçado que estou enviando o grupo solicitado.

               with infDoc.infMunDescarga.Add do

               begin

                  cMunDescarga := MDFe.FieldByName( 'MCA_46_CODIGO_MUNICIPIO_DESCARG' ).AsInteger;

                  xMunDescarga := MDFe.FieldByName( 'MCA_47_NOME_MUNICIPIO_DESCARG'   ).AsString;

                              with infNFe.Add do // NF-e eletronica //

                              begin

                                 chNFe := DocumentosFiscais.FieldByName( 'MDN_065_CHAVE_NFE' ).AsString;

                                 if Trim( DocumentosFiscais.FieldByName( 'MDN_066_SEGUNDO_COD_BARRA' ).AsString ) <> EmptyStr then

                                 begin

                                    SegCodBarra := DocumentosFiscais.FieldByName( 'MDN_066_SEGUNDO_COD_BARRA' ).AsString;

                                    if Length( DocumentosFiscais.FieldByName( 'MDN_066_SEGUNDO_COD_BARRA' ).AsString ) < 36 then

                                    begin

                                       if Application.MessageBox( 'Atenção !!! O Segundo Código de Barras da NF-e está menor que 36 posições. Deseja Continuar ?','Confirmação', MB_YESNO+MB_ICONQUESTION ) = idNo then

                                       begin

                                          Abort;

                                       end;

                                    end;

                                 end

                                 else

                                 begin

                                    // NOVA REGRA 04/12/2015 //

                                    if utst_FormaEmissao = utco_FormaEmissao_Contingencia_MDFe  then

                                    begin

                                       ShowMessage( 'Segundo Código de Barras deve ser informado para MDF-e em contingência (FS-DA e FS-IA)' );

                                       Abort;

                                    end;

                                 end;

 

 

                                 if Trim( DocumentosFiscais.FieldByName( 'MDN_D11_IND_REENTREGA' ).AsString ) <> EmptyStr then

                                    indReentrega  := DocumentosFiscais.FieldByName( 'MDN_D11_IND_REENTREGA' ).AsString

                                 else

                                    indReentrega  := '1';

 

                                 with infUnidTransp.Add do

                                 begin

                                    // D14 //

                                    if MDFe_DOCS_UNID.FieldByName( 'MEU_D14_TIPO_UNID_TRANSP' ).AsString = EmptyStr then

                                    begin

                                       ShowMessage( 'Tipo da unidade de transporte deve ser informada. "D14"' );

                                       Abort;

                                    end

                                    else

                                    begin

                                       case MDFe_DOCS_UNID.FieldByName( 'MEU_D14_TIPO_UNID_TRANSP' ).ASinteger of

                                          1 : tpUnidTransp := utRodoTracao;   // 1

                                          2 : tpUnidTransp := utRodoReboque;  // 2

                                          3 : tpUnidTransp := utNavio;        // 3

                                          4 : tpUnidTransp := utBalsa;        // 4

                                          5 : tpUnidTransp := utAeronave;     // 5

                                          6 : tpUnidTransp := utVagao;        // 6

                                          7 : tpUnidTransp := utOutros;       // 7

                                       end;

                                    end;

                                    idUnidTransp := MDFe_DOCS_UNID.FieldByName( 'MEU_D15_ID_UNID_TRANSP' ).AsString;     // D15';

                                    qtdRat       := MDFe_DOCS_UNID.FieldByName( 'MEU_D16_QTD_RATEADA'    ).ASCurrency;   // D16';

 

                                    MDFe_DOCS_UNID_LACRES.First;

                                    if not MDFe_DOCS_UNID_LACRES.IsEmpty then

                                    begin

                                       while not MDFe_DOCS_UNID_LACRES.Eof do

                                       begin

                                          with lacUnidTransp.Add do

                                          begin

                                             nLacre := MDFe_DOCS_UNID_LACRES.FieldByName( 'MCL_D19_NR_LACRE' ).AsString; // 'D19';

                                          end;

                                          MDFe_DOCS_UNID_LACRES.Next;

                                       end;

                                    end;

 

                                    // D22, 23, 24 //

                                    MDFE_DOCS_UNID_CARG.First;

                                    if not MDFE_DOCS_UNID_CARG.isEmpty then

                                    begin

                                        while not MDFe_DOCS_UNID_CARG.Eof do

                                        begin

                                            with infUnidCarga.Add do

                                            begin

                                               if MDFe_DOCS_UNID_CARG.FieldByName( 'MEC_D22_TIPO_UNIDADE' ).AsString = EmptyStr then

                                               begin

                                                  ShowMessage( 'Tipo da unidade de carga. "D22"' );

                                                  Abort;

                                               end

                                               else

                                               begin

                                                  case MDFe_DOCS_UNID_CARG.FieldByName( 'MEC_D22_TIPO_UNIDADE' ).AsInteger of

                                                     1 : tpUnidCarga := ucContainer; // 1

                                                     2 : tpUnidCarga := ucULD;       // 2

                                                     3 : tpUnidCarga := ucPallet;    // 3

                                                     4 : tpUnidCarga := ucOutros;    // 4;

                                                  end;

                                               end;

                                               idUnidCarga := MDFe_DOCS_UNID_CARG.FieldByName( 'MEC_D23_ID_UNIDADE'  ).AsString;

                                               qtdRat      := MDFe_DOCS_UNID_CARG.FieldByName( 'MEC_D24_QTD_RATEADA' ).AsCurrency;

 

                                               //D25..

                                               MDFe_DOCS_UNID_CARG_LACRES.First;

                                               if not MDFe_DOCS_UNID_CARG_LACRES.IsEmpty then

                                               begin

                                                   while not MDFe_DOCS_UNID_CARG_LACRES.Eof do

                                                   begin

                                                      with lacUnidCarga.Add do

                                                      begin

                                                          nLacre := MDFe_DOCS_UNID_CARG_LACRES.FieldByName( 'MCL_D27_NR_LACRE' ).AsString;

                                                      end;

                                                      MDFe_DOCS_UNID_CARG_LACRES.Next;

                                                   end;

                                               end;

                                            end;

                                            MDFe_DOCS_UNID_CARG.Next;

                                        end;

                                    end;

                                 end;

 

                                 // # 20/11/2017 - PRODUTOS PERIGOSOS //

                                 MDFe_DOCS_PERIGOSO.First;

                                 while not MDFe_DOCS_PERIGOSO.Eof do

                                 begin

                                    with peri.Add do

                                    begin

                                       nONU      := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D30_NR_ONU'             ).AsString;

                                       xNomeAE   := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D31_NOME_APROPRIADO'    ).AsString;

                                       xClaRisco := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D32_CLASSE_RISCO'       ).AsString;

                                       grEmb     := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D33_GRUPO_EMBALAGEM'    ).AsString;

                                       qTotProd  := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D34_QTDE_TOTAL_PRODUTO' ).AsString;

                                       qVolTipo  := MDFe_DOCS_PERIGOSO.FieldByName( 'MCP_D35_QTDE_TIPO_VOLUMES'  ).AsString;

                                    end;

                                    MDFe_DOCS_PERIGOSO.Next;

                                 end;

                                 tot.qNFe := tot.qNFe + 1;

                              end;

 

Erro_MDF-e.png

31171110861678000112580010000001031000001035-mdfe.xml

Editado por ALA
  • Moderadores
Postado
4 minutos atrás, ALA disse:

Bom di. Estou tentando envia o XML em anexo. Mas estou recebendo a msg abaixo. Engraçado que estou enviando o grupo solicitado.

Como está preenchendo a tag tpEmit (Tipo do Emitente) do MDFe?

Lembre que para tpEmit = 1 (Prestador de serviço de transporte) você deve informar CTe apenas.

Caso o tpEmit seja 2 (Transportador de carga própria) ou 3 (Prestador de serviço de transporte que emitirá CTe globalizado) você informa apenas NFe.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado (editado)

Engraçado, pensei que poderia ter no mesmo MDF-e os três tipos de documento

 

image.thumb.png.f06680c016efd0f2c8a48591fd0082a4.png

1 - CT-e
3 - NF-e
5 - MDF-e

Editado por ALA
Postado

image.thumb.png.9d68b083a5bff0c9c735edf1e76c8508.png

 

 

Parece que a tag "tipoDocumento" deve ser preenchida com os valores 1,3,5 mas não estou encontrando essa tag no ACBrMDFe

  • Moderadores
Postado
42 minutos atrás, ALA disse:

XML exemplo da net.. Não sei se esta correto. Gostaria de saber se posso enviar documentos diferentes no mesmo MDF-e. Tipo CT-e e NF-e no mesmo MDF-e..

LAYOUT 3.0 MDFe.xlsx

Esse não é o layout do MDFe.

Me parece ser um layout de integração de terceiros.

O layout oficial você encontra no Portal do MDFe:

https://mdfe-portal.sefaz.rs.gov.br/Site/Documentos#

E não é possível incluir CTe e NFe no mesmo MDFe.

Nem faz sentido fazer isso visto que informando o CTe automaticamente as NFe contidas nele já estarão referenciadas.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
2 horas atrás, BigWings disse:

Como está preenchendo a tag tpEmit (Tipo do Emitente) do MDFe?

Lembre que para tpEmit = 1 (Prestador de serviço de transporte) você deve informar CTe apenas.

Caso o tpEmit seja 2 (Transportador de carga própria) ou 3 (Prestador de serviço de transporte que emitirá CTe globalizado) você informa apenas NFe.

E quando for MDF-e deve informar 1 ou 2 ?

Obs.: Posso informar doc complementar MDF-e.

  • Moderadores
Postado
20 minutos atrás, ALA disse:

E quando for MDF-e deve informar 1 ou 2 ?

Não sei dizer...

O que o manual diz é que referenciar MDFe em outro MDFe só é aceito no modal aquaviário.

22 minutos atrás, ALA disse:

Obs.: Posso informar doc complementar MDF-e.

Foi uma pergunta? O que seria doc complementar?

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Este tópico foi criado há 2552 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.