DA# Macro_v2.13_20221217 Implementación

Distribuya DA# Macro_v2.13_20221217 que corrige dos errores relacionados con el reverso. Los errores corregidos son:

  • [Reparar] Inverso: modificar el valor del atributo de atributo especificado en la plantilla (estandarización, protección de la información, nivel de protección de la información, encriptación, codificación)
  • [Fijar] Inverso: se corrigió un error por el cual no se establecía el valor del nivel de protección de la información

Como referencia, la introducción de la macro DA# (Macro DA#(1): DA#, DA# API, descripción general de la macro DA#: habilidad de productividad (prodskill.com)) se explicó en base a v2.12.

1. Fenómenos de errores

1.1. Inversa: Empuje el valor del atributo Attribute especificado en la plantilla

Este es un error en el que el valor especificado en la hoja "Columna" del archivo de plantilla se retrocede uno por uno. Por ejemplo, este error se reproduce cuando se ingresa lo siguiente en el archivo de plantilla.

template에 지정한 값 밀림
Empuje el valor especificado en la plantilla

Los valores que se pueden ingresar para cada atributo son los siguientes.

  • Estandarización: solo se puede ingresar uno de los valores fijos
  • Si la información está protegida: solo se puede ingresar uno de S/N
  • Nivel de protección de la información: Cadena
  • Cifrado: solo se puede ingresar uno de S/N
  • revolver: cadena

Dado que los valores que se pueden ingresar son diferentes, no se establece normalmente si se presiona uno por uno.

1.2. Inversa: valor del nivel de protección de la información no establecido

Este es un error en el que el valor no está establecido en el modelo de datos a pesar de que el valor del "Nivel de seguridad de la información" está ingresado en la imagen de arriba. Dado que solo se puede ingresar uno de Y/N para el valor del "nivel de protección de la información", no se ingresa ignorando el valor de la cadena.

2. Modificaciones

2.1. [Reparar] Inverso: modificar el valor del atributo especificado en la plantilla

El código (algunos extractos) antes del cambio del módulo modDAConstType es el siguiente.

'----------------------------------------------------------------------------------------------------
'Reverse Attribute property Index
Public Const DA_REVATTR_Sequence_IDX As Long = 0
Public Const DA_REVATTR_ModelName_IDX As Long = 1
Public Const DA_REVATTR_EntityName_IDX As Long = 2
Public Const DA_REVATTR_Name_IDX As Long = 3
...
Public Const DA_REVATTR_Inclusive_IDX As Long = 27
Public Const DA_REVATTR_StandardType_IDX As Long = 28
Public Const DA_REVATTR_PrivacyAct_IDX As Long = 29
Public Const DA_REVATTR_PrivacyGrade_IDX As Long = 30
Public Const DA_REVATTR_Encryption_IDX As Long = 31
Public Const DA_REVATTR_EncryptionMethod_IDX As Long = 32

Comenté DA_REVATTR_Inclusive_IDX y reduje el valor constante en uno después de eso. Este valor constante indica el orden de las columnas de la hoja "Columna" del archivo de plantilla inversa.

'----------------------------------------------------------------------------------------------------
'Reverse Attribute property Index
Public Const DA_REVATTR_Sequence_IDX As Long = 0
Public Const DA_REVATTR_ModelName_IDX As Long = 1
Public Const DA_REVATTR_EntityName_IDX As Long = 2
Public Const DA_REVATTR_Name_IDX As Long = 3
...
'Public Const DA_REVATTR_Inclusive_IDX As Long = 27 '2022-12-17 주석 처리(Reverse에는 사용하지 않도록 처리함)
Public Const DA_REVATTR_StandardType_IDX As Long = 27
Public Const DA_REVATTR_PrivacyAct_IDX As Long = 28
Public Const DA_REVATTR_PrivacyGrade_IDX As Long = 29
Public Const DA_REVATTR_Encryption_IDX As Long = 30
Public Const DA_REVATTR_EncryptionMethod_IDX As Long = 31

2.2. [Fijar] Inverso: se corrigió un error por el cual no se establecía el valor del nivel de protección de la información

En el procedimiento SetValue de la clase CDAAttribute, el valor del nivel de seguridad de la información se convirtió en la función GetBoolean. El nivel de protección de la información no es un valor que deba establecerse como Y/N, y la cadena de entrada debe establecerse como está, pero el valor no se estableció porque la función GetBoolean se ejecutó innecesariamente.

Modifiqué el código de la siguiente manera.

'DA# Attribute 개체에 값 설정
Public Sub SetValue(ByRef aodAttribute As Modeler5.Attribute)
    ....
    '-- 변경 전 코드
    arrAttr(Modeler5.ATR_PRIVACYGRADE) = GetBoolean(Me.m_s정보보호등급)

    '-- 변경 후 코드
    arrAttr(Modeler5.ATR_PRIVACYGRADE) = Me.m_s정보보호등급

Como referencia, la función GetBoolean se implementa de la siguiente manera.

'Text(Y, N)의 Boolean value 변환(True, False)
Public Function GetBoolean(aValue As String) As Boolean
    GetBoolean = IIf(UCase(Trim(aValue)) = "Y", True, False) 'Y=True, Else=False
End Function

3. Descargar DA# Macro_v2.13_20221217

Se ha subido una versión con errores corregidos a github. Puede descargarlo desde la siguiente URL.

https://github.com/DAToolset/DA-Macro/raw/main/DA%23%20Macro_v2.13_20221217.xlsm

Deja una respuesta

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

es_ESEspañol