Ir para conteúdo
  • Cadastre-se

dev botao

Validação dos Campos


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

Recommended Posts

Amigos, estou tendo problemas para validação dos campos no Modal Ferroviário...

Pelo que consta no Manual do CTe os dados da Ferrovia Substituída e dos vagões DCL não são obrigatórios. Mas no "Validar" do componente segue a mensagem de erro...

Content for element '{http://www.portalfiscal.inf.br/cte}ferrov' is incomplete according to the DTD/Schema.

Expecting: {http://www.portalfiscal.inf.br/cte}ferroSub, {http://www.portalfiscal.inf.br/cte}DCL, {http://www.portalfiscal.inf.br/cte}d....

Quando eu alimento o componente, eu coloquei 1 condição para ele não inserir nada nos campos do componente referentes a esses dados...

E agora? Coloco como obrigatório o preenchimento para o cliente ou é erro em meu código?

Alexandre De Carli,
Gerente de Projetos na empresa Econtabil Software.


email: [email protected]
site: http://www.extremeprogramming.wordpress.com
Pato Branco - PR

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Alexandre,

Segundo o manual devem ser preenchidos os campos: tpTraf, fluxo e vFrete (pág. 112)

Os grupos ferroSub e DCL são opcionais, mas o grupo detVag é obrigatório (pág. 114)

Dentro do grupo detVag temos os seguintes campos que deve ser preenchidos: nVag, pesoR e pesoBC.

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Alexandre,

No manual o grupo ferroSub é opcional (pág. 112), o grupo DCL também é opcional (pág. 113), e o grupo detVag é obrigatório (pág. 114).

Na pág. 112 temos o campo idTrem (#385) Identificação do trem, que é opcional, mas na observação esta escrito: Para o caso de ausência de DCL.

Checando o schema: cteTiposBasico_v1.03 não encontrei nada relacionando o idTrem (#385) com o grupo DCL.

Duvidas: você esta informado o idTrem (#385) ? o schema de tipos basicos é o da versão 1.03 ?

Se você tem o XML gerado que não esta validando, seria possivel postar ele ?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

O Grande problema é que eu nem sequer passo algum valor para o ferroSub e DCL e o componente reclama o não preenchimento dele no comando "Validar"...

Cheguei a comentar o código de alimentação mas o problema continua... Alguma sugestão?

Código:

//            if (Filtra_Numeros(cdsFerrovarioCNPJ.AsString)<>'') or (cdsFerrovarioRAZSOCIAL_NOME.AsString <> '') or

//               (cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString <> '') or (cdsFerrovarioINSCE.AsString <> '')

//            then begin

//

//               Ferrov.ferroSub.CNPJ := Filtra_Numeros(cdsFerrovarioCNPJ.AsString);

//               Ferrov.ferroSub.cInt :=

//                cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString;

//               Ferrov.ferroSub.IE := cdsFerrovarioINSCE.AsString;

//               Ferrov.ferroSub.xNome := cdsFerrovarioRAZSOCIAL_NOME.AsString;

//

//               Ferrov.ferroSub.EnderFerro.xLgr := cdsFerrovarioLOGRADOURO.AsString;

//               Ferrov.ferroSub.EnderFerro.nro :=

//                cdsFerrovarioENDER_NUMERO.AsString;

//               Ferrov.ferroSub.EnderFerro.xCpl :=

//                cdsFerrovarioCOMPLEMENTO.AsString;

//               Ferrov.ferroSub.EnderFerro.xBairro := cdsFerrovarioBAIRRO.AsString;

//               Ferrov.ferroSub.EnderFerro.cMun :=

//                cdsFerrovarioMUNICIPIO_IBGE.AsInteger;

//               Ferrov.ferroSub.EnderFerro.xMun :=

//                cdsFerrovarioMUNICIPIO_NOME.AsString;

//               Ferrov.ferroSub.EnderFerro.CEP := StrToIntDef

//                (Filtra_Numeros(cdsFerrovarioCEP.AsString), 0);

//               Ferrov.ferroSub.EnderFerro.UF := cdsFerrovarioMUNICIPIO_UF.AsString;

//            end;


//            if not cdsDCL.IsEmpty then

//            begin

//               cdsDCL.DisableControls;

//               cdsDCL.First;

//               while not cdsDCL.Eof do

//               begin

//                  with Ferrov.DCL.Add do

//                  begin

//                     serie := cdsDCLSERIE_DCL.AsString;

//                     nDCL := IntToStr(cdsDCLNUMERO_DCL.AsInteger);

//                     dEmi := cdsDCLDT_EMISSAO.AsDateTime;

//                     qVag := cdsDCLQUANT_VAGOES.AsInteger;

//                     pCalc := cdsDCLPESO.AsCurrency;

//                     vTar := cdsDCLVLR_TARIFA.AsCurrency;

//                     vFrete := cdsDCLVLR_FRETE.AsCurrency;

//                     vSAcess := cdsDCLVLR_SERVICOS_ACESSORIOS.AsCurrency;

//                     vTServ := cdsDCLVLR_TOTAL_SERVICO.AsCurrency;

//                     idTrem := cdsDCLID_TREM.AsString;

//

//                     if not cdsVagoesDCL.IsEmpty then

//                     begin

//                        cdsVagoesDCL.DisableControls;

//                        cdsVagoesDCL.First;

//                        while not cdsVagoesDCL.Eof do

//                        begin

//                           with detVagDCL.Add do

//                           begin

//                              nVag := cdsVagoesDCLNUM_VAGAO.AsInteger;

//                              cap := cdsVagoesDCLCAP_TONELADAS.AsCurrency;

//                              tpVag := cdsVagoesDCLTP_VAGAO.AsString;

//                              pesoR := cdsVagoesDCLPESO_REAL.AsCurrency;

//                              pesoBC :=

//                               cdsVagoesDCLPESO_BASE_CALC_FRETE.AsCurrency;

//

//                              if not cdsLacresDCL.IsEmpty then

//                              begin

//                                 cdsLacresDCL.DisableControls;

//                                 cdsLacresDCL.First;

//                                 while not cdsLacresDCL.Eof do

//                                 begin

//                                    with lacDetVagDCL.Add do

//                                    begin

//                                       lacDetVagDCL.Items[k].nLacre :=

//                                        cdsLacresDCLNUMERO_LACRE.AsString;

//                                       cdsLacresDCL.Next;

//                                    end;

//                                 end;

//                                 cdsLacresDCL.EnableControls;

//                              end;

//

//                              if not cdsContainersDCL.IsEmpty then

//                              begin

//                                 cdsContainersDCL.DisableControls;

//                                 cdsContainersDCL.First;

//                                 while not cdsContainersDCL.Eof do

//                                 begin

//                                    with contDCL.Add do

//                                    begin

//                                       nCont :=

//                                        cdsContainersDCLNUMERO_CONTAINER.AsString;

//                                       dPrev :=

//                                        cdsContainersDCLDT_PREV_ENTREGA

//                                        .AsDateTime;

//                                       cdsContainersDCL.Next;

//                                    end;

//                                 end;

//                                 cdsContainersDCL.EnableControls;

//                              end;

//                              cdsVagoesDCL.Next;

//                           end;

//                        end;

//                        cdsVagoesDCL.EnableControls;

//                     end;

//

//                  end;

//                  cdsDCL.Next;

//                  Inc(i);

//               end;

//               cdsDCL.EnableControls;

//            end;


            if not cdsvagoes.IsEmpty then

            begin

               cdsvagoes.DisableControls;

               cdsvagoes.First;

               while not cdsvagoes.Eof do

               begin

                  with Ferrov.detVag.Add do

                  begin

                     nVag := cdsVagoesNUM_VAGAO.AsInteger;

                     cap := cdsVagoesCAP_TONELADAS.AsCurrency;

                     tpVag := cdsVagoesTP_VAGAO.AsString;

                     pesoR := cdsVagoesPESO_REAL.AsCurrency;

                     pesoBC := cdsVagoesPESO_BASE_CALC_FRETE.AsCurrency;


                     if not cdsVagoesLacres.IsEmpty then

                     begin

                        cdsVagoesLacres.DisableControls;

                        cdsVagoesLacres.First;


                        while not cdsVagoesLacres.Eof do

                        begin

                           with lacDetVag.Add do

                           begin

                              nLacre := cdsVagoesLacresNUMERO_LACRE.AsString;

                              cdsVagoesLacres.Next;

                           end;

                        end;

                        cdsVagoesLacres.EnableControls;

                     end;


                     if not cdsVagoesContainers.IsEmpty then

                     begin

                        cdsVagoesContainers.DisableControls;

                        cdsVagoesContainers.First;


                        while not cdsVagoesLacres.Eof do

                        begin

                           with contVag.Add do

                           begin

                              nCont :=

                               cdsVagoesContainersNUMERO_CONTAINER.AsString;

                              dPrev :=

                               cdsVagoesContainersDT_PREV_ENTREGA.AsDateTime;


                              cdsVagoesLacres.Next;

                           end;

                        end;

                        cdsVagoesLacres.EnableControls;

                     end;


                     cdsvagoes.Next;


                  end;

               end;


               cdsvagoes.EnableControls;

            end;


Mas ele passa no código referente ao DetVag

Alexandre De Carli,
Gerente de Projetos na empresa Econtabil Software.


email: [email protected]
site: http://www.extremeprogramming.wordpress.com
Pato Branco - PR

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4748 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.