Программное получения текстового представления хэшсуммы расширения.
☑
0
Lama12
22.07.22
✎
12:16
Как получить текстовое представление (такое как в списке расширений) хэшсуммы расширения?
Пример.
В списке расширений у расширения хэшсумма выглядит так - Тип строка. Значение - "x+XA6Ll5DsnYreZP8wP8V0qXUik="
У объекта Расширение, при программной работе - Тип бинарные данные. Значение - "C7 E5 C0 E8 B9 79 0E C9 D8 AD E6 4F F3 03 FC 57 4A 97 52 29".
Нужно программно получить значение "x+XA6Ll5DsnYreZP8wP8V0qXUik=" при работе с объектом расширение. Как?
1
Кура-Цеце
22.07.22
✎
12:20
&AtServer
Procedure UpdateAtServer(Val currentExtensionID = Undefined)
Var extensions, extension, extensionsItem;
ExtensionsList.Clear();
extensions = ConfigurationExtensions.Get(Undefined);
For each extension in extensions Do
extensionsItem = ExtensionsList.Add();
extensionsItem.UUID = extension.UUID;
extensionsItem.Name = extension.Name;
extensionsItem.Version = extension.Version;
if IsBlankString(extensionsItem.Synonym) Then
extensionsItem.Synonym = extensionsItem.Name;
EndIf;
extensionsItem.UnsafeActionProtection = extension.UnsafeActionProtection.WarnAboutUnsafeActions;
extensionsItem.HashSum = Base64Строка(extension.HashSum);
if TypeOf(extension.SafeMode) = TypeOf(False) Then
extensionsItem.SecurityProfileName = "";
extensionsItem.SafeModeCheck = extension.SafeMode;
Else
extensionsItem.SecurityProfileName = extension.SafeMode;
extensionsItem.SafeModeCheck = True;
EndIf;
If currentExtensionID = extension.UUID Then
Items.ExtensionsList.CurrentRow = extensionsItem.GetID();
EndIf;
extensionsItem.UsePurpose = String(extension.Purpose);
extensionsItem._ReadOnly = ЗначениеЗаполнено(extension.MasterNode) and (extension.MasterNode = ExchangePlans.MasterNode());
extensionsItem.Scope = String(extension.Scope);
extensionsItem.IsActivated = extension.Active;
extensionsItem.UsedInDistributedInfoBase = extension.UsedInDistributedInfoBase;
extensionsItem.UseDefaultRolesForAllUsers = extension.UseDefaultRolesForAllUsers;
EndDo;
EndProcedure
2
Кура-Цеце
22.07.22
✎
12:20
У них внутри так написано
3
Lama12
22.07.22
✎
12:24
(1) Понял. Совпало. Спасибо.
А откуда код?
4
Lama12
22.07.22
✎
12:27
(2) Из внутренней обработки что ли? Или из 1C:ERP WE&
5
Кура-Цеце
22.07.22
✎
12:33
(4) Из внутренней обработки
6
Кура-Цеце
22.07.22
✎
12:36
Там всё как с матерщиной. Без вкраплений великого и могучего не взлетает.
7
Eiffil123
22.07.22
✎
12:43
TypeOf(extension.SafeMode) = TypeOf(False)
прикольно. почему не используют = Тип("Булево")
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший