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.
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