You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Рефакторинг SQLite и VK, тесты CLI для новых методов TG
This commit is contained in:
12328
service/dictionaries/en.json
vendored
12328
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
8
src/ru/OInt/core/Modules/OPI_SQLite.os
vendored
8
src/ru/OInt/core/Modules/OPI_SQLite.os
vendored
@@ -391,9 +391,11 @@
|
||||
|
||||
ТекущийПараметр = Формат(ТекущийПараметр, "ДФ='yyyy-MM-dd HH:MM:ss'");
|
||||
|
||||
ИначеЕсли Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
Иначе
|
||||
|
||||
Если Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
18
src/ru/OInt/core/Modules/OPI_VK.os
vendored
18
src/ru/OInt/core/Modules/OPI_VK.os
vendored
@@ -140,21 +140,21 @@
|
||||
, Знач СсылкаПодЗаписью = ""
|
||||
, Знач Параметры = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(СсылкаПодЗаписью);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Реклама);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Объекты);
|
||||
|
||||
Параметры = ПолучитьСтандартныеПараметры(Параметры);
|
||||
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
|
||||
СтрокаВложений = СтрСоединить(Объекты, ",");
|
||||
СтрокаВложений = СтрокаВложений + СсылкаПодЗаписью;
|
||||
РекламаЧисло = ?(Реклама, 1, 0);
|
||||
|
||||
Параметры.Вставить("message" , Текст);
|
||||
Параметры.Вставить("attachments" , СтрокаВложений);
|
||||
Параметры.Вставить("mark_as_ads" , ?(Реклама, 1, 0));
|
||||
Параметры.Вставить("close_comments", ?(Реклама, 1, 0));
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , "Строка", Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("attachments" , СтрокаВложений, "Строка", Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("mark_as_ads" , РекламаЧисло , "Число" , Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("close_comments", РекламаЧисло , "Число" , Параметры_);
|
||||
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.post", Параметры);
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.post", Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@@ -171,10 +171,8 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
|
||||
Функция УдалитьПост(Знач IDПоста, Знач Параметры = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
|
||||
|
||||
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
|
||||
Параметры_.Вставить("post_id", IDПоста);
|
||||
OPI_Инструменты.ДобавитьПоле("post_id", IDПоста, "Строка", Параметры_);
|
||||
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.delete", Параметры_);
|
||||
|
||||
|
868
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
868
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
File diff suppressed because it is too large
Load Diff
184
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
184
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
@@ -70,94 +70,20 @@
|
||||
, Знач Транзакция = Истина
|
||||
, Знач Соединение = "") Экспорт
|
||||
|
||||
Result_ = "result";
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивДанных);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Транзакция);
|
||||
|
||||
Соединение = ОткрытьСоединениеВМодуле(Модуль.ИмяКоннектора(), Соединение);
|
||||
|
||||
Если Не ЭтоКомпонента(Соединение) Тогда
|
||||
Возврат Соединение;
|
||||
Соединение = ОткрытьСоединениеВМодуле(Модуль.ИмяКоннектора(), Соединение);
|
||||
ПроблемныйЭтап = ОбработатьНачалоЗаписи(Модуль, Транзакция, Соединение);
|
||||
|
||||
Если ЗначениеЗаполнено(ПроблемныйЭтап) Тогда
|
||||
Возврат ПроблемныйЭтап;
|
||||
КонецЕсли;
|
||||
|
||||
Если Транзакция Тогда
|
||||
СтруктураОбработки = ОбработатьЗаписи(Модуль, Таблица, МассивДанных, Транзакция, Соединение);
|
||||
СтруктураРезультата = ОбработатьКонецЗаписи(СтруктураОбработки, Модуль, Транзакция, Соединение);
|
||||
|
||||
Начало = Модуль.ВыполнитьЗапросSQL("BEGIN TRANSACTION", , , Соединение);
|
||||
|
||||
Если Не Начало[Result_] Тогда
|
||||
Возврат Начало;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Счетчик = 0;
|
||||
СчетчикУспешных = 0;
|
||||
|
||||
Ошибка = Ложь;
|
||||
МассивОшибок = Новый Массив;
|
||||
ОшибкаКоллекции = "Invalid data";
|
||||
|
||||
СтруктураРезультата = Новый Структура;
|
||||
|
||||
Для Каждого Запись Из МассивДанных Цикл
|
||||
|
||||
Счетчик = Счетчик + 1;
|
||||
Ошибка = Ложь;
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Запись, ОшибкаКоллекции);
|
||||
Исключение
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, ОшибкаКоллекции));
|
||||
Ошибка = Истина;
|
||||
|
||||
Если Транзакция Тогда
|
||||
Прервать;
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Результат = ДобавитьЗапись(Модуль, Таблица, Запись, Соединение);
|
||||
|
||||
Если Результат[Result_] Тогда
|
||||
|
||||
СчетчикУспешных = СчетчикУспешных + 1;
|
||||
|
||||
Иначе
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, Результат["error"]));
|
||||
Ошибка = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Если Ошибка Тогда
|
||||
|
||||
Откат = Модуль.ВыполнитьЗапросSQL("ROLLBACK", , , Соединение);
|
||||
|
||||
СчетчикУспешных = 0;
|
||||
СтруктураРезультата.Вставить("rollback", Откат);
|
||||
|
||||
Иначе
|
||||
|
||||
Завершение = Модуль.ВыполнитьЗапросSQL("COMMIT", , , Соединение);
|
||||
СтруктураРезультата.Вставить("commit", Завершение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураРезультата.Вставить(Result_ , МассивОшибок.Количество() = 0);
|
||||
СтруктураРезультата.Вставить("rows" , СчетчикУспешных);
|
||||
СтруктураРезультата.Вставить("errors", МассивОшибок);
|
||||
|
||||
Возврат СтруктураРезультата;
|
||||
Возврат СтруктураРезультата;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -608,6 +534,99 @@
|
||||
|
||||
#Область Вспомогательные
|
||||
|
||||
Функция ОбработатьЗаписи(Знач Модуль, Знач Таблица, Знач МассивДанных, Знач Транзакция, Знач Соединение)
|
||||
|
||||
МассивОшибок = Новый Массив;
|
||||
ОшибкаКоллекции = "Invalid data";
|
||||
Счетчик = 0;
|
||||
СчетчикУспешных = 0;
|
||||
|
||||
Для Каждого Запись Из МассивДанных Цикл
|
||||
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Запись, ОшибкаКоллекции);
|
||||
Исключение
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, ОшибкаКоллекции));
|
||||
|
||||
Если Транзакция Тогда
|
||||
Прервать;
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Результат = ДобавитьЗапись(Модуль, Таблица, Запись, Соединение);
|
||||
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
СчетчикУспешных = СчетчикУспешных + 1;
|
||||
|
||||
Иначе
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, Результат["error"]));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Новый Структура("МассивОшибок,СчетчикУспешных", МассивОшибок, СчетчикУспешных);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбработатьНачалоЗаписи(Знач Модуль, Знач Транзакция, Знач Соединение)
|
||||
|
||||
Если Не ЭтоКомпонента(Соединение) Тогда
|
||||
Возврат Соединение;
|
||||
КонецЕсли;
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Начало = Модуль.ВыполнитьЗапросSQL("BEGIN TRANSACTION", , , Соединение);
|
||||
|
||||
Если Не Начало["result"] Тогда
|
||||
Возврат Начало;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбработатьКонецЗаписи(Знач СтруктураОбработки, Знач Модуль, Знач Транзакция, Знач Соединение)
|
||||
|
||||
СтруктураРезультата = Новый Структура;
|
||||
|
||||
МассивОшибок = СтруктураОбработки["МассивОшибок"];
|
||||
СчетчикУспешных = СтруктураОбработки["СчетчикУспешных"];
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Если МассивОшибок.Количество() > 0 Тогда
|
||||
|
||||
Откат = Модуль.ВыполнитьЗапросSQL("ROLLBACK", , , Соединение);
|
||||
|
||||
СчетчикУспешных = 0;
|
||||
СтруктураРезультата.Вставить("rollback", Откат);
|
||||
|
||||
Иначе
|
||||
|
||||
Завершение = Модуль.ВыполнитьЗапросSQL("COMMIT", , , Соединение);
|
||||
СтруктураРезультата.Вставить("commit", Завершение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураРезультата.Вставить("result", МассивОшибок.Количество() = 0);
|
||||
СтруктураРезультата.Вставить("rows" , СчетчикУспешных);
|
||||
СтруктураРезультата.Вставить("errors", МассивОшибок);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьЗапись(Знач Модуль, Знач Таблица, Знач Запись, Знач Соединение)
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
@@ -888,7 +907,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Схема["filter"].Добавить(ОсновнаяСтруктура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@@ -493,7 +493,8 @@
|
||||
|
||||
Процедура ЗаписатьЛогCLI(Знач Результат, Знач Метод, Знач Библиотека = "") Экспорт
|
||||
|
||||
ЗаписатьЛог(Результат, Метод + " (CLI)");
|
||||
Шаблон = "%1 (CLI, %2)";
|
||||
ЗаписатьЛог(Результат, СтрШаблон(Шаблон, Метод, Библиотека));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2130,9 +2131,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@@ -391,9 +391,11 @@
|
||||
|
||||
ТекущийПараметр = Формат(ТекущийПараметр, "ДФ='yyyy-MM-dd HH:MM:ss'");
|
||||
|
||||
ИначеЕсли Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
Иначе
|
||||
|
||||
Если Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
@@ -140,21 +140,21 @@
|
||||
, Знач СсылкаПодЗаписью = ""
|
||||
, Знач Параметры = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(СсылкаПодЗаписью);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Реклама);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Объекты);
|
||||
|
||||
Параметры = ПолучитьСтандартныеПараметры(Параметры);
|
||||
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
|
||||
СтрокаВложений = СтрСоединить(Объекты, ",");
|
||||
СтрокаВложений = СтрокаВложений + СсылкаПодЗаписью;
|
||||
РекламаЧисло = ?(Реклама, 1, 0);
|
||||
|
||||
Параметры.Вставить("message" , Текст);
|
||||
Параметры.Вставить("attachments" , СтрокаВложений);
|
||||
Параметры.Вставить("mark_as_ads" , ?(Реклама, 1, 0));
|
||||
Параметры.Вставить("close_comments", ?(Реклама, 1, 0));
|
||||
OPI_Инструменты.ДобавитьПоле("message" , Текст , "Строка", Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("attachments" , СтрокаВложений, "Строка", Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("mark_as_ads" , РекламаЧисло , "Число" , Параметры_);
|
||||
OPI_Инструменты.ДобавитьПоле("close_comments", РекламаЧисло , "Число" , Параметры_);
|
||||
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.post", Параметры);
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.post", Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@@ -171,10 +171,8 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
|
||||
Функция УдалитьПост(Знач IDПоста, Знач Параметры = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
|
||||
|
||||
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
|
||||
Параметры_.Вставить("post_id", IDПоста);
|
||||
OPI_Инструменты.ДобавитьПоле("post_id", IDПоста, "Строка", Параметры_);
|
||||
|
||||
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.delete", Параметры_);
|
||||
|
||||
|
@@ -70,94 +70,20 @@
|
||||
, Знач Транзакция = Истина
|
||||
, Знач Соединение = "") Экспорт
|
||||
|
||||
Result_ = "result";
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивДанных);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Транзакция);
|
||||
|
||||
Соединение = ОткрытьСоединениеВМодуле(Модуль.ИмяКоннектора(), Соединение);
|
||||
|
||||
Если Не ЭтоКомпонента(Соединение) Тогда
|
||||
Возврат Соединение;
|
||||
Соединение = ОткрытьСоединениеВМодуле(Модуль.ИмяКоннектора(), Соединение);
|
||||
ПроблемныйЭтап = ОбработатьНачалоЗаписи(Модуль, Транзакция, Соединение);
|
||||
|
||||
Если ЗначениеЗаполнено(ПроблемныйЭтап) Тогда
|
||||
Возврат ПроблемныйЭтап;
|
||||
КонецЕсли;
|
||||
|
||||
Если Транзакция Тогда
|
||||
СтруктураОбработки = ОбработатьЗаписи(Модуль, Таблица, МассивДанных, Транзакция, Соединение);
|
||||
СтруктураРезультата = ОбработатьКонецЗаписи(СтруктураОбработки, Модуль, Транзакция, Соединение);
|
||||
|
||||
Начало = Модуль.ВыполнитьЗапросSQL("BEGIN TRANSACTION", , , Соединение);
|
||||
|
||||
Если Не Начало[Result_] Тогда
|
||||
Возврат Начало;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Счетчик = 0;
|
||||
СчетчикУспешных = 0;
|
||||
|
||||
Ошибка = Ложь;
|
||||
МассивОшибок = Новый Массив;
|
||||
ОшибкаКоллекции = "Invalid data";
|
||||
|
||||
СтруктураРезультата = Новый Структура;
|
||||
|
||||
Для Каждого Запись Из МассивДанных Цикл
|
||||
|
||||
Счетчик = Счетчик + 1;
|
||||
Ошибка = Ложь;
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Запись, ОшибкаКоллекции);
|
||||
Исключение
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, ОшибкаКоллекции));
|
||||
Ошибка = Истина;
|
||||
|
||||
Если Транзакция Тогда
|
||||
Прервать;
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Результат = ДобавитьЗапись(Модуль, Таблица, Запись, Соединение);
|
||||
|
||||
Если Результат[Result_] Тогда
|
||||
|
||||
СчетчикУспешных = СчетчикУспешных + 1;
|
||||
|
||||
Иначе
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, Результат["error"]));
|
||||
Ошибка = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Если Ошибка Тогда
|
||||
|
||||
Откат = Модуль.ВыполнитьЗапросSQL("ROLLBACK", , , Соединение);
|
||||
|
||||
СчетчикУспешных = 0;
|
||||
СтруктураРезультата.Вставить("rollback", Откат);
|
||||
|
||||
Иначе
|
||||
|
||||
Завершение = Модуль.ВыполнитьЗапросSQL("COMMIT", , , Соединение);
|
||||
СтруктураРезультата.Вставить("commit", Завершение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураРезультата.Вставить(Result_ , МассивОшибок.Количество() = 0);
|
||||
СтруктураРезультата.Вставить("rows" , СчетчикУспешных);
|
||||
СтруктураРезультата.Вставить("errors", МассивОшибок);
|
||||
|
||||
Возврат СтруктураРезультата;
|
||||
Возврат СтруктураРезультата;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -608,6 +534,99 @@
|
||||
|
||||
#Область Вспомогательные
|
||||
|
||||
Функция ОбработатьЗаписи(Знач Модуль, Знач Таблица, Знач МассивДанных, Знач Транзакция, Знач Соединение)
|
||||
|
||||
МассивОшибок = Новый Массив;
|
||||
ОшибкаКоллекции = "Invalid data";
|
||||
Счетчик = 0;
|
||||
СчетчикУспешных = 0;
|
||||
|
||||
Для Каждого Запись Из МассивДанных Цикл
|
||||
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Запись, ОшибкаКоллекции);
|
||||
Исключение
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, ОшибкаКоллекции));
|
||||
|
||||
Если Транзакция Тогда
|
||||
Прервать;
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Результат = ДобавитьЗапись(Модуль, Таблица, Запись, Соединение);
|
||||
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
СчетчикУспешных = СчетчикУспешных + 1;
|
||||
|
||||
Иначе
|
||||
|
||||
МассивОшибок.Добавить(Новый Структура("row,error", Счетчик, Результат["error"]));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Новый Структура("МассивОшибок,СчетчикУспешных", МассивОшибок, СчетчикУспешных);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбработатьНачалоЗаписи(Знач Модуль, Знач Транзакция, Знач Соединение)
|
||||
|
||||
Если Не ЭтоКомпонента(Соединение) Тогда
|
||||
Возврат Соединение;
|
||||
КонецЕсли;
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Начало = Модуль.ВыполнитьЗапросSQL("BEGIN TRANSACTION", , , Соединение);
|
||||
|
||||
Если Не Начало["result"] Тогда
|
||||
Возврат Начало;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбработатьКонецЗаписи(Знач СтруктураОбработки, Знач Модуль, Знач Транзакция, Знач Соединение)
|
||||
|
||||
СтруктураРезультата = Новый Структура;
|
||||
|
||||
МассивОшибок = СтруктураОбработки["МассивОшибок"];
|
||||
СчетчикУспешных = СтруктураОбработки["СчетчикУспешных"];
|
||||
|
||||
Если Транзакция Тогда
|
||||
|
||||
Если МассивОшибок.Количество() > 0 Тогда
|
||||
|
||||
Откат = Модуль.ВыполнитьЗапросSQL("ROLLBACK", , , Соединение);
|
||||
|
||||
СчетчикУспешных = 0;
|
||||
СтруктураРезультата.Вставить("rollback", Откат);
|
||||
|
||||
Иначе
|
||||
|
||||
Завершение = Модуль.ВыполнитьЗапросSQL("COMMIT", , , Соединение);
|
||||
СтруктураРезультата.Вставить("commit", Завершение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураРезультата.Вставить("result", МассивОшибок.Количество() = 0);
|
||||
СтруктураРезультата.Вставить("rows" , СчетчикУспешных);
|
||||
СтруктураРезультата.Вставить("errors", МассивОшибок);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьЗапись(Знач Модуль, Знач Таблица, Знач Запись, Знач Соединение)
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
@@ -888,7 +907,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Схема["filter"].Добавить(ОсновнаяСтруктура);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@@ -493,7 +493,8 @@
|
||||
|
||||
Процедура ЗаписатьЛогCLI(Знач Результат, Знач Метод, Знач Библиотека = "") Экспорт
|
||||
|
||||
ЗаписатьЛог(Результат, Метод + " (CLI)");
|
||||
Шаблон = "%1 (CLI, %2)";
|
||||
ЗаписатьЛог(Результат, СтрШаблон(Шаблон, Метод, Библиотека));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
868
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
868
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user