From f130de9fc94733e26480e8dcfc00ee6e41f27fbf Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Sun, 24 May 2026 13:25:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D0=B0=D0=BC=20=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/md/Start/Component-requirements.md | 6 +++++- docs/ru/md/Start/Component-requirements.md | 4 ++++ service/releases.json | 4 ++-- .../OPI_ИнструментыВызовСервера/Module.bsl | 12 +++++++++--- .../src/CommonModules/OPI_Криптография/Module.bsl | 2 -- .../OPI_ПолучениеДанныхТестов/Module.bsl | 12 ++++++++---- .../BSL/Tests/src/CommonModules/OPIt_TCP/Module.bsl | 3 ++- 7 files changed, 30 insertions(+), 13 deletions(-) diff --git a/docs/en/md/Start/Component-requirements.md b/docs/en/md/Start/Component-requirements.md index f5d87539f2d..5754843c6b7 100644 --- a/docs/en/md/Start/Component-requirements.md +++ b/docs/en/md/Start/Component-requirements.md @@ -54,7 +54,11 @@ If there is no such note, the library was implemented **without** external compo Methods that rely on external components can run on **server** or **client** in the 1C:Enterprise build. On the **server**, AddIns are loaded transparently. On the **client**, they require an **interactive install** on that workstation. The process starts on the **first** call for each AddIn you use: the platform shows a dialog and may raise an exception telling you to call the same function again after installation. -Besides on-demand installation, you can pre-install selected AddIns on a client using the **`Control panel (OPI)`** data processor. +Besides on-demand installation, you can pre-install selected AddIns on a client using the **`Control panel (OPI)`** data processor + +:::warning +При обновлении Открытого пакета интеграций до новой версии, компоненты на клиенте необходимо установить заново через панель управления (пошаговая инструкция присутствует на форме обработки). В противном случае новые функции, реализованные в коде 1С, могут оказаться несовместимы с функциями компонент, которые остались на клиентской машине после предыдущей установки +::: ## FAQ diff --git a/docs/ru/md/Start/Component-requirements.md b/docs/ru/md/Start/Component-requirements.md index 2bf071d0501..cbe27ca83ef 100644 --- a/docs/ru/md/Start/Component-requirements.md +++ b/docs/ru/md/Start/Component-requirements.md @@ -56,6 +56,10 @@ sidebar_position: 6 Кроме автоматической установки компонент по необходимости, выбранные компоненты могут также быть установлены на конкретном клиенте заранее через обработку `Панель управления (ОПИ)` +:::warning +При обновлении Открытого пакета интеграций до новой версии, компоненты на клиенте необходимо установить заново через панель управления (пошаговая инструкция присутствует на форме обработки). В противном случае новые функции, реализованные в коде 1С, могут оказаться несовместимы с функциями компонент, которые остались на клиентской машине после предыдущей установки +::: + ## FAQ Некоторые вопросы о работе и реализации внешних компонент, несвязанные напрямую с работой ОПИ diff --git a/service/releases.json b/service/releases.json index efc15cf3b18..2768df677fc 100644 --- a/service/releases.json +++ b/service/releases.json @@ -69,8 +69,8 @@ { "lib": "All", "icon": "media/logo.png", - "description_ru": "Общая оптимизация инструментария", - "description_en": "General tooling optimizations" + "description_ru": "Общая оптимизация инструментария и повышение надежности компонент", + "description_en": "General tooling and AddIns optimizations" } ] }, diff --git a/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_ИнструментыВызовСервера/Module.bsl b/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_ИнструментыВызовСервера/Module.bsl index 66d6b823d86..18bc091f556 100644 --- a/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_ИнструментыВызовСервера/Module.bsl +++ b/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_ИнструментыВызовСервера/Module.bsl @@ -200,16 +200,22 @@ КонецФункции Функция ПолучитьХешHMAC(Знач Ключ, Знач Данные, Знач ФункцияХеша) Экспорт - + + Если ТипЗнч(Ключ) = Тип("Строка") Тогда + БуферКлюча = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки(Ключ)); + Иначе + БуферКлюча = Ключ; + КонецЕсли; + РазмерБлока = 64; Ipad = ПолучитьБуферДвоичныхДанныхИзHexСтроки(ПовторитьСтроку("36", РазмерБлока)); Opad = ПолучитьБуферДвоичныхДанныхИзHexСтроки(ПовторитьСтроку("5c", РазмерБлока)); - Ipad.ЗаписатьПобитовоеИсключительноеИли(0, Ключ); + Ipad.ЗаписатьПобитовоеИсключительноеИли(0, БуферКлюча); Ikeypad = ПолучитьДвоичныеДанныеИзБуфераДвоичныхДанных(ipad); - Opad.ЗаписатьПобитовоеИсключительноеИли(0, Ключ); + Opad.ЗаписатьПобитовоеИсключительноеИли(0, БуферКлюча); Okeypad = ПолучитьДвоичныеДанныеИзБуфераДвоичныхДанных(opad); Возврат Хеш(СклеитьДвоичныеДанные(okeypad, Хеш(СклеитьДвоичныеДанные(ikeypad, Данные), ФункцияХеша)), ФункцияХеша); diff --git a/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_Криптография/Module.bsl b/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_Криптография/Module.bsl index 765f78caead..7a9fbe10201 100644 --- a/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_Криптография/Module.bsl +++ b/src/ru/BSL/OpenIntegrations/src/CommonModules/OPI_Криптография/Module.bsl @@ -161,8 +161,6 @@ Ключ = Лев(Ключ + ПовторитьСтроку("00", РазмерБлока), РазмерБлока * Дважды); КонецЕсли; - Ключ = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки(Ключ)); - Результат = OPI_ИнструментыВызовСервера.ПолучитьХешHMAC(Ключ, Данные, ФункцияХеша); Возврат Результат; diff --git a/src/ru/BSL/Tests/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/BSL/Tests/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index 452cc9485c1..c4f3276d21b 100644 --- a/src/ru/BSL/Tests/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/src/ru/BSL/Tests/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -11006,12 +11006,16 @@ Попытка Результат["origin"] = "***"; Результат["files"]["file1"] = "..."; - Исключение + Исключение + Попытка - ВызватьИсключение Результат.ПолучитьЛог(Истина); - Исключение + Лог = Результат.ПолучитьЛог(Истина); + Исключение ВызватьИсключение ПолучитьСтрокуИзДвоичныхДанных(Результат); - КонецПопытки; + КонецПопытки; + + ВызватьИсключение Лог; + КонецПопытки; ОжидаетЧто(СтрНайти(ЛогСтрокой, "добавление полей тела в строку для подписи")).Равно(0); diff --git a/src/ru/BSL/Tests/src/CommonModules/OPIt_TCP/Module.bsl b/src/ru/BSL/Tests/src/CommonModules/OPIt_TCP/Module.bsl index 52630e193b3..2db4ecc311e 100644 --- a/src/ru/BSL/Tests/src/CommonModules/OPIt_TCP/Module.bsl +++ b/src/ru/BSL/Tests/src/CommonModules/OPIt_TCP/Module.bsl @@ -128,7 +128,8 @@ Возврат; КонецЕсли; - ПараметрыТеста = Новый Структура; + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("TCP_Address", ПараметрыТеста); TCP_ЗапуститьСервер(ПараметрыТеста); TCP_ОстановитьСервер(ПараметрыТеста);