DA# Macro_v2.13_20221217 Bereitstellung
Wir verteilen DA# Macro_v2.13_20221217, das zwei Fehler im Zusammenhang mit Reverse behebt. Die korrigierten Fehler lauten wie folgt.
- [Fix] Reverse: Die Einschränkung der in der Vorlage angegebenen Attributattributwerte (Standardisierung, Informationsschutzstatus, Informationsschutzstufe, Verschlüsselungsstatus, Verschlüsselung) wurde behoben.
- [Fix] Reverse: Fehler behoben, bei dem der Wert für die Informationsschutzstufe nicht festgelegt wurde
Als Referenz dient die Einführung in das DA#-Makro (DA#-Makro(1): DA#, DA#-API, DA#-Makro (Makro) – Übersicht – Produktivitätsfähigkeit (prodskill.com)) wurde basierend auf v2.12 erklärt.
1. Bug-Phänomen
1.1. Reverse: Der Wert des in der Vorlage angegebenen Attributs wird zurückgesetzt.
Hierbei handelt es sich um einen Fehler, bei dem die im „Spalten“-Blatt der Vorlagendatei angegebenen Werte nacheinander zurückgeschoben werden. Dieser Fehler wird beispielsweise reproduziert, wenn in der Vorlagendatei Folgendes eingetragen ist:
Die Werte, die für jedes Attributmerkmal eingegeben werden können, sind wie folgt.
- Standardisierung: Es kann nur einer der angegebenen Werte eingegeben werden
- Informationsschutzstatus: Es kann nur einer von J/N eingegeben werden
- Informationsschutzstufe: Zeichenfolge
- Verschlüsselung: Es kann nur Y/N eingegeben werden
- Scramble: String
Da die Werte, die eingegeben werden können, unterschiedlich sind, werden sie nicht richtig eingestellt, wenn sie einzeln gedrückt werden.
1.2. Umgekehrt: Wert für Informationsschutzebene nicht festgelegt
Hierbei handelt es sich um einen Fehler, bei dem der Wert nicht im Datenmodell festgelegt wird, obwohl im Bild oben der Wert „Information Protection Level“ eingegeben ist. Da der Wert „Information Protection Level“ nur zwischen J/N eingegeben werden kann, wird der Zeichenfolgenwert ignoriert und nicht eingegeben.
2. Änderungen
2.1. [Fix] Reverse: Das Pushback des in der Vorlage angegebenen Attributwerts wurde behoben.
Der Code (Teilauszug) vor der Änderung des Moduls modDAConstType lautet wie folgt.
'---------------------------------------------------------------------------------------------------- '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
DA_REVATTR_Inclusive_IDX wurde auskommentiert und die konstanten Werte wurden nach und nach reduziert. Dieser konstante Wert stellt die Spaltennummer des Blatts „Spalte“ in der Reverse-Vorlagendatei dar.
'---------------------------------------------------------------------------------------------------- '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. [Fix] Reverse: Fehler behoben, bei dem der Wert für die Informationsschutzstufe nicht festgelegt wurde
Der Wert der Informationssicherheitsstufe wurde in der SetValue-Prozedur der CDAAttribute-Klasse in die GetBoolean-Funktion konvertiert. Bei der Informationsschutzstufe handelt es sich nicht um einen Wert, der auf „J/N“ festgelegt ist, sondern muss unverändert auf die eingegebene Zeichenfolge festgelegt werden. Der Wert wurde jedoch nicht festgelegt, da die Funktion „GetBoolean“ unnötigerweise ausgeführt wurde.
Der Code wurde wie folgt geändert.
'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정보보호등급
Als Referenz wird die GetBoolean-Funktion wie folgt implementiert.
'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. Laden Sie DA# Macro_v2.13_20221217 herunter
Eine Version mit Fehlerbehebungen wurde auf Github veröffentlicht. Sie können es von der untenstehenden URL herunterladen.
https://github.com/DAToolset/DA-Macro/raw/main/DA%23%20Macro_v2.13_20221217.xlsm