NAVDEV Tips: Validación de controles en Dynamics NAV 2018

NAVDEV Tips: Validación de controles en Dynamics NAV 2018

Las validaciones siempre son importantes dentro del mundo de las aplicaciones, es por eso que no puede faltar dentro de Microsoft Dynamics NAV.

Existen varias formas de realizar validaciones. Aquí menciono dos:

  • Tablas: Las validaciones se realizan en los campos de las tablas, afectando a todos los demás objetos. Estas validaciones son generales y afectan a tablas y páginas.
  • Páginas: Las validaciones se realizan en los campos de la página. Por ejemplo, cuando sólo queremos realizar las validaciones en la página sin afectar a otras páginas.

Hoy, demostraré cómo validar un campo de tabla:

  • Afectaremos al campo RUC (“VAT Registation No.” en NAV):
  • En las tablas, seleccionamos la 79 (Company Information):
  • Nos dirigimos al campo 19 (VAT Registration Number):
  • Seleccionamos el botón que nos lleva al código C/AL:
  • Escribimos el código que valida nuestro campo:
  • VAT Registration No. - OnValidate()
    // "VAT Registration No." := UPPERCASE("VAT Registration No.");
    // IF "VAT Registration No." = xRec."VAT Registration No." THEN
    //  EXIT;
    // IF NOT VATRegNoFormat.Test("VAT Registration No.","Country/Region Code",'',DATABASE::"Company Information") THEN
    //  EXIT;
    // IF "Country/Region Code" = '' THEN
    //  EXIT;
    // IF VATRegNoSrvConfig.VATRegNoSrvIsEnabled THEN BEGIN
    //  VATRegistrationLogMgt.ValidateVATRegNoWithVIES(ResultRecordRef,Rec,"Primary Key",
    //    VATRegistrationLog."Account Type"::"Company Information","Country/Region Code");
    //  ResultRecordRef.SETTABLE(Rec);
    // END;
    
    ////CAMADO
    //Con esto verificamos que el RUC debe contener 8 caracteres como mínimo
    IF STRLEN("VAT Registration No.") < 8 THEN
      FIELDERROR("VAT Registration No.", 'El RUC debe contener como mínimo 8 caracteres');
    
    //Con esto verificamos que tenga el dígito verificador. En Paraguay, el RUC sería 1234567-8
    IF STRPOS("VAT Registration No.", '-') < 1 THEN
      FIELDERROR("VAT Registration No.", 'El RUC debe contener el DV (dígito verificador)');
    ////CAMADO
    
  • Probamos la validación con los datos de España:
  • Al colocar los datos del RUC de Paraguay...
  • La validación siempre se produce al salir del campo a validar.

De esta manera, hemos validado que se cumplan los requisitos para el RUC, en territorio paraguayo 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.