From 8399dba53ed02c559426034988c121bf2a59020d Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:28:52 +0300 Subject: [PATCH 1/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0=20=D1=81=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D1=8B=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D1=83=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D1=81=D1=80=D0=B0=D0=B2=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/v8runner.os b/src/v8runner.os index f79bb45..6758fab 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2112,16 +2112,23 @@ // ПутьКОтчету - Строка - Путь в который необходимо записать отчёт // ТипОтчета - ТипыОтчетовОСравнении - Тип отчёта о сравнении полный или краткий // ФорматОтчета - Строка - Формат файла отчета. Возмодные значения: txt, mxl +// Объекты - Структура - см. ОбъектыОтчетаСравненияМетаданных // ИмяРасширения - Строка - Имя расширения конфигурации // ПутьКФайлуПервойКонфигурации - Строка - Путь к файлу cf/cfe вместо использования основной конфигурации +// ПараметрыХранилища - Структура: +// * СтрокаПодключенияХранилище - Строка - Адрес хранилища +// * ПользовательХранилища - Строка - Имя пользователя хранилища +// * ПарольХранилища - Строка - Пароль пользователя хранилища // Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом( Знач ПутьКФайлуКонфигурации, Знач ПутьКОтчету, Знач ТипОтчета = Неопределено, Знач ФорматОтчета = "txt", + Знач Объекты = Неопределено, Знач ИмяРасширения = "", - Знач ПутьКФайлуПервойКонфигурации = Неопределено) Экспорт + Знач ПутьКФайлуПервойКонфигурации = Неопределено, + Знач ПараметрыХранилища = Неопределено) Экспорт Если ТипОтчета = Неопределено Тогда ТипОтчета = ТипыОтчетовОСравнении.Полный; @@ -2162,6 +2169,19 @@ КлючПутьКФайлуСравнения = "-SecondConfigurationKey"; КонецЕсли; + Если Объекты = Неопределено Тогда + Объекты = ОбъектыОтчетаСравненияМетаданных(); + КонецЕсли; + Если Объекты.Свойство("ИзмененныеОбъектыМетаданных") Тогда + ПараметрыЗапуска.Добавить("-IncludeChangedObjects"); + КонецЕсли; + Если Объекты.Свойство("УдаленныеОбъектыМетаданных") Тогда + ПараметрыЗапуска.Добавить("-IncludeDeletedObjects"); + КонецЕсли; + Если Объекты.Свойство("ДобавленныеОбъектыМетаданных") Тогда + ПараметрыЗапуска.Добавить("-IncludeAddedObjects"); + КонецЕсли; + ПараметрыЗапуска.Добавить(СтрШаблон("%1 %2", КлючПутьКФайлуСравнения, ОбернутьВКавычки(ПутьКФайлуКонфигурации))); @@ -2171,6 +2191,15 @@ ПараметрыЗапуска.Добавить(СтрШаблон("-ReportFile %1", ОбернутьВКавычки(ПутьКОтчету))); + Если НЕ ПараметрыХранилища = Неопределено Тогда + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """ + ПараметрыХранилища.СтрокаПодключенияХранилище + """"); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """ + ПараметрыХранилища.ПользовательХранилища + """"); + + Если ЗначениеЗаполнено(ПараметрыХранилища.ПарольХранилища) Тогда + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """ + ПараметрыХранилища.ПарольХранилища + """"); + КонецЕсли; + КонецЕсли; + ВыполнитьКоманду(ПараметрыЗапуска); КонецПроцедуры @@ -2942,6 +2971,24 @@ КонецФункции +// возвращает параметры строки соединения с базой +// +// Возвращаемое значение: +// - Структура +// * ИзмененныеОбъектыМетаданных - Булево - Измененные объекты метаданных +// * УдаленныеОбъектыМетаданных - Булево - Имя пользователя хранилища +// * ДобавленныеОбъектыМетаданных - Булево - Пароль пользователя хранилища +Функция ОбъектыОтчетаСравненияМетаданных() + + ОбъектыОтчета = Новый Структура; + ОбъектыОтчета.Вставить("ИзмененныеОбъектыМетаданных", Истина); + ОбъектыОтчета.Вставить("УдаленныеОбъектыМетаданных", Истина); + ОбъектыОтчета.Вставить("ДобавленныеОбъектыМетаданных", Истина); + + Возврат ОбъектыОтчета; + +КонецФункции + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); From 3dc1e1a608d9d2ea90bbf16907d07dbc90f7636a Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:30:59 +0300 Subject: [PATCH 2/8] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=20=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D1=83?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B2=20=D1=81=D1=80=D0=B0=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/v8runner.os b/src/v8runner.os index 6758fab..799375b 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2127,8 +2127,7 @@ Знач ФорматОтчета = "txt", Знач Объекты = Неопределено, Знач ИмяРасширения = "", - Знач ПутьКФайлуПервойКонфигурации = Неопределено, - Знач ПараметрыХранилища = Неопределено) Экспорт + Знач ПутьКФайлуПервойКонфигурации = Неопределено) Экспорт Если ТипОтчета = Неопределено Тогда ТипОтчета = ТипыОтчетовОСравнении.Полный; @@ -2191,15 +2190,6 @@ ПараметрыЗапуска.Добавить(СтрШаблон("-ReportFile %1", ОбернутьВКавычки(ПутьКОтчету))); - Если НЕ ПараметрыХранилища = Неопределено Тогда - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """ + ПараметрыХранилища.СтрокаПодключенияХранилище + """"); - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """ + ПараметрыХранилища.ПользовательХранилища + """"); - - Если ЗначениеЗаполнено(ПараметрыХранилища.ПарольХранилища) Тогда - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """ + ПараметрыХранилища.ПарольХранилища + """"); - КонецЕсли; - КонецЕсли; - ВыполнитьКоманду(ПараметрыЗапуска); КонецПроцедуры From 2b45ac655856084ae97766935af961117d72d452 Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:35:43 +0300 Subject: [PATCH 3/8] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=20=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D1=83?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B2=20=D1=81=D1=80=D0=B0=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/v8runner.os b/src/v8runner.os index 799375b..7d89fd1 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2115,10 +2115,6 @@ // Объекты - Структура - см. ОбъектыОтчетаСравненияМетаданных // ИмяРасширения - Строка - Имя расширения конфигурации // ПутьКФайлуПервойКонфигурации - Строка - Путь к файлу cf/cfe вместо использования основной конфигурации -// ПараметрыХранилища - Структура: -// * СтрокаПодключенияХранилище - Строка - Адрес хранилища -// * ПользовательХранилища - Строка - Имя пользователя хранилища -// * ПарольХранилища - Строка - Пароль пользователя хранилища // Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом( Знач ПутьКФайлуКонфигурации, From 2dbc1739792ddf50e24b8ee36c298c4cc4e02f0a Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:36:52 +0300 Subject: [PATCH 4/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B0=20=D0=9E=D0=B1?= =?UTF-8?q?=D1=8A=D0=B5=D0=BA=D1=82=D1=8B=D0=9E=D1=82=D1=87=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=D0=A1=D1=80=D0=B0=D0=B2=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v8runner.os b/src/v8runner.os index 7d89fd1..ab9271f 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2957,7 +2957,7 @@ КонецФункции -// возвращает параметры строки соединения с базой +// Возвращает объекты для параметров сравнения метаданных // // Возвращаемое значение: // - Структура From e85059a47e19af74fe5ffd5464540aedc23d6a98 Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:39:43 +0300 Subject: [PATCH 5/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/v8runner.os b/src/v8runner.os index ab9271f..9a73eac 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2167,13 +2167,16 @@ Если Объекты = Неопределено Тогда Объекты = ОбъектыОтчетаСравненияМетаданных(); КонецЕсли; - Если Объекты.Свойство("ИзмененныеОбъектыМетаданных") Тогда + Если Объекты.Свойство("ИзмененныеОбъектыМетаданных") + И Объекты.ИзмененныеОбъектыМетаданных Тогда ПараметрыЗапуска.Добавить("-IncludeChangedObjects"); КонецЕсли; - Если Объекты.Свойство("УдаленныеОбъектыМетаданных") Тогда + Если Объекты.Свойство("УдаленныеОбъектыМетаданных") + И Объекты.УдаленныеОбъектыМетаданных Тогда ПараметрыЗапуска.Добавить("-IncludeDeletedObjects"); КонецЕсли; - Если Объекты.Свойство("ДобавленныеОбъектыМетаданных") Тогда + Если Объекты.Свойство("ДобавленныеОбъектыМетаданных") + И Объекты.ДобавленныеОбъектыМетаданных Тогда ПараметрыЗапуска.Добавить("-IncludeAddedObjects"); КонецЕсли; From 04952cbc2fcd8e55a50a809b554d7e96cc0960c5 Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Thu, 9 Jul 2026 23:42:42 +0300 Subject: [PATCH 6/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/v8runner-test.os | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/v8runner-test.os b/tests/v8runner-test.os index ce210dc..056c2e1 100644 --- a/tests/v8runner-test.os +++ b/tests/v8runner-test.os @@ -627,6 +627,7 @@ ПутьКФайлуОтчета, , , + , ИмяРасширения ); From 5c284ad8f6c28622027993b2ea8ac0ee57658483 Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Mon, 20 Jul 2026 16:29:15 +0300 Subject: [PATCH 7/8] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=20=D0=BF=D0=BE=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 20 ++++++++++++++++++++ src/v8runner.os | 36 ++++++++++++++++++++++-------------- 2 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..ca1c6de --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // Используйте IntelliSense, чтобы узнать о возможных атрибутах. + // Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов. + // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Отладка 1Script", + "type": "oscript", + "request": "launch", + "program": "${file}", + "args": [], + "cwd": "${workspaceRoot}", + "env": {}, + "runtimeExecutable": "/opt/onescript-engine/bin/oscript", + "runtimeArgs": [], + "debugPort": 2801 + } + ] +} \ No newline at end of file diff --git a/src/v8runner.os b/src/v8runner.os index 9a73eac..862cd2b 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2167,16 +2167,13 @@ Если Объекты = Неопределено Тогда Объекты = ОбъектыОтчетаСравненияМетаданных(); КонецЕсли; - Если Объекты.Свойство("ИзмененныеОбъектыМетаданных") - И Объекты.ИзмененныеОбъектыМетаданных Тогда + Если ФлагСтруктуры(Объекты, "ИзмененныеОбъектыМетаданных") Тогда ПараметрыЗапуска.Добавить("-IncludeChangedObjects"); КонецЕсли; - Если Объекты.Свойство("УдаленныеОбъектыМетаданных") - И Объекты.УдаленныеОбъектыМетаданных Тогда + Если ФлагСтруктуры(Объекты, "УдаленныеОбъектыМетаданных") Тогда ПараметрыЗапуска.Добавить("-IncludeDeletedObjects"); КонецЕсли; - Если Объекты.Свойство("ДобавленныеОбъектыМетаданных") - И Объекты.ДобавленныеОбъектыМетаданных Тогда + Если ФлагСтруктуры(Объекты, "ДобавленныеОбъектыМетаданных") Тогда ПараметрыЗапуска.Добавить("-IncludeAddedObjects"); КонецЕсли; @@ -2961,23 +2958,34 @@ КонецФункции // Возвращает объекты для параметров сравнения метаданных -// +// Параметры: +// ИзмененныеОбъекты - Булево - включать в отчет измененные подчиненные объекты +// УдаленныеОбъекты - Булево - включать в отчет измененные подчиненные объекты +// ДобавленныеОбъекты - Булево - включать в отчет измененные подчиненные объекты // Возвращаемое значение: // - Структура -// * ИзмененныеОбъектыМетаданных - Булево - Измененные объекты метаданных -// * УдаленныеОбъектыМетаданных - Булево - Имя пользователя хранилища -// * ДобавленныеОбъектыМетаданных - Булево - Пароль пользователя хранилища -Функция ОбъектыОтчетаСравненияМетаданных() +// * ИзмененныеОбъектыМетаданных - Булево +// * УдаленныеОбъектыМетаданных - Булево +// * ДобавленныеОбъектыМетаданных - Булево +Функция ОбъектыОтчетаСравненияМетаданных(ИзмененныеОбъекты = Истина, + УдаленныеОбъекты = Истина, ДобавленныеОбъекты = Истина) Экспорт ОбъектыОтчета = Новый Структура; - ОбъектыОтчета.Вставить("ИзмененныеОбъектыМетаданных", Истина); - ОбъектыОтчета.Вставить("УдаленныеОбъектыМетаданных", Истина); - ОбъектыОтчета.Вставить("ДобавленныеОбъектыМетаданных", Истина); + ОбъектыОтчета.Вставить("ИзмененныеОбъектыМетаданных", ИзмененныеОбъекты); + ОбъектыОтчета.Вставить("УдаленныеОбъектыМетаданных", УдаленныеОбъекты); + ОбъектыОтчета.Вставить("ДобавленныеОбъектыМетаданных", ДобавленныеОбъекты); Возврат ОбъектыОтчета; КонецФункции +Функция ФлагСтруктуры(Структура, Ключ) + + ЗначениеКлюча = Неопределено; + Возврат Структура.Свойство(Ключ, ЗначениеКлюча) И ЗначениеКлюча = Истина; + +КонецФункции + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); From 8834125dc36e5776350ed365ab114964d1ca2d37 Mon Sep 17 00:00:00 2001 From: Nikita Buryakov Date: Tue, 21 Jul 2026 08:09:36 +0300 Subject: [PATCH 8/8] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BC=D1=83=D1=81=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index ca1c6de..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // Используйте IntelliSense, чтобы узнать о возможных атрибутах. - // Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов. - // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Отладка 1Script", - "type": "oscript", - "request": "launch", - "program": "${file}", - "args": [], - "cwd": "${workspaceRoot}", - "env": {}, - "runtimeExecutable": "/opt/onescript-engine/bin/oscript", - "runtimeArgs": [], - "debugPort": 2801 - } - ] -} \ No newline at end of file