Skip to content

Commit cb49dc1

Browse files
authored
Merge branch 'infina15:master' into master
2 parents f85a8a4 + 6137743 commit cb49dc1

File tree

6 files changed

+48
-12
lines changed

6 files changed

+48
-12
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ oproxy init
7272
```bsl
7373
Функция ОбработкаПомещенияВХранилище(ПараметрыЗапроса) Экспорт
7474
СообщениеОбОшибке = "";
75-
Если ПараметрыЗапроса.ИмяБазы = "baza1" Тогда
75+
Если ПараметрыЗапроса.ИмяСистемы = "baza1" Тогда
7676
Если НЕ СтрНачинаетсяС(ПараметрыЗапроса.Комментарий, "ERP-") Тогда
7777
СообщениеОбОшибке = "Комментарий должен начинаться с ""ERP-""!";
7878
Иначе

features/ПроверкиПроксиСервера_Пример.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
//СИСТЕМНЫЙ КОД ---
4646

4747
//СИСТЕМНЫЙ КОД +++
48-
Функция ПостОбработкаПомещенияВХранилище() Экспорт
48+
Функция ПостОбработкаПомещенияВХранилище(ПараметрыЗапроса) Экспорт
4949
РезультатБулево = Истина;
5050
//СИСТЕМНЫЙ КОД ---
5151

packagedef

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55

66

77
Описание.Имя("oproxy")
8-
.Версия("0.0.6")
8+
.Версия("0.0.7")
99
.Автор("Юрий Камисов")
1010
.АдресАвтора("https://github.com/infina15")
1111
.Описание("TCP прокси-сервер хранилища конфигураций 1С")
12-
.ВерсияСреды("1.9.1")
12+
.ВерсияСреды("1.9.2")
1313
.ВключитьФайл("src")
1414
.ВключитьФайл("tests")
1515
.ВключитьФайл("tasks")
1616
.ВключитьФайл("features")
1717
.ВключитьФайл("packagedef")
1818
.ЗависитОт("autumn", "4.0.0")
1919
.ЗависитОт("autumn-cli", "1.0.6")
20+
.ЗависитОт("autumn-logos", "1.2.0")
2021
.ЗависитОт("asserts", "1.4.0")
2122
.ЗависитОт("1commands", "1.5.0")
2223
.РазработкаЗависитОт("1testrunner")

src/main.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#Использовать autumn
22
#Использовать autumn-cli
3+
#Использовать autumn-logos
34
#Использовать ".."
45

56
Поделка = Новый Поделка;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
&Аннотация("ЛогОпрокси")
2+
&Лог("oscript.lib.oproxy")
3+
Процедура ПриСозданииОбъекта()
4+
5+
КонецПроцедуры

src/Классы/ОбработчикСоединений.os

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,37 @@
44
Перем ПриветствиеХранилища;
55
Перем ПустыеДД;
66

7+
&ЛогОпрокси
8+
Перем Лог;
9+
710
&Желудь
811
Процедура ПриСозданииОбъекта()
912
ПриветствиеХранилища = ПолучитьДвоичныеДанныеИзHexСтроки("53F5C61A7B");
1013
ПустыеДД = ПолучитьДвоичныеДанныеИзHexСтроки("");
1114
КонецПроцедуры
1215

1316
Процедура ОбработатьСоединение(Соединение_Конфигуратор) Экспорт
17+
1418
Соединение_Хранилище = Неопределено;
1519
Пока Соединение_Конфигуратор.Активно Цикл
16-
Если ИзКонфигуратораВХранилище(Соединение_Конфигуратор, Соединение_Хранилище) Тогда
20+
21+
ПараметрыЗапросаПостОбработка = Неопределено;
22+
Если ИзКонфигуратораВХранилище(Соединение_Конфигуратор, Соединение_Хранилище, ПараметрыЗапросаПостОбработка) Тогда
1723
ИзХранилищаВКонфигуратор(Соединение_Конфигуратор, Соединение_Хранилище);
18-
ПостОбработкаПомещенияВХранилище();
1924
КонецЕсли;
25+
26+
Если ПараметрыЗапросаПостОбработка <> Неопределено Тогда
27+
ПостОбработкаПомещенияВХранилище(ПараметрыЗапросаПостОбработка);
28+
КонецЕсли;
29+
2030
КонецЦикла;
31+
2132
Соединение_Конфигуратор.Закрыть();
2233
Соединение_Хранилище.Закрыть();
34+
2335
КонецПроцедуры
2436

25-
Функция ИзКонфигуратораВХранилище(Соединение_Конфигуратор, Соединение_Хранилище)
37+
Функция ИзКонфигуратораВХранилище(Соединение_Конфигуратор, Соединение_Хранилище, ПараметрыЗапросаПостОбработка)
2638
ДанныеСоединения = Неопределено;
2739
ЕстьПодключениеКХранилищу = Соединение_Хранилище <> Неопределено;
2840
Если НЕ ЕстьПодключениеКХранилищу Тогда
@@ -41,7 +53,8 @@
4153
ПараметрыЗапроса = ОбработкаДанных.ПолучитьПараметрыЗапроса(ДанныеСоединения);
4254
Если ПараметрыЗапроса <> Неопределено
4355
И ПараметрыЗапроса.Проверять = Истина Тогда
44-
ПродолжитьСоединение = ОбработатьПроверяемыйЗапрос(Соединение_Конфигуратор, Соединение_Хранилище, ДанныеСоединения);
56+
ПродолжитьСоединение = ОбработатьПроверяемыйЗапрос(Соединение_Конфигуратор, Соединение_Хранилище,
57+
ДанныеСоединения, ПараметрыЗапросаПостОбработка);
4558
Возврат ПродолжитьСоединение;
4659
КонецЕсли;
4760
КонецЕсли;
@@ -53,10 +66,13 @@
5366
ЭтоКонецСообщения = ОбработкаДанных.ЕстьКонецСообщения(ДанныеСоединения);
5467
КонецЕсли;
5568
КонецЦикла;
69+
5670
Возврат НЕ ЭтоПинг;
71+
5772
КонецФункции
5873

59-
Функция ОбработатьПроверяемыйЗапрос(Соединение_Конфигуратор, Соединение_Хранилище, ДанныеСоединения)
74+
Функция ОбработатьПроверяемыйЗапрос(Соединение_Конфигуратор, Соединение_Хранилище,
75+
ДанныеСоединения, ПараметрыЗапросаПостОбработка)
6076
МассивДДЗапроса = Новый Массив;
6177
МассивДДЗапроса.Добавить(ДанныеСоединения);
6278
Пока НЕ ОбработкаДанных.ЕстьКонецСообщения(ДанныеСоединения) Цикл
@@ -69,23 +85,29 @@
6985
Попытка
7086
Если ПараметрыЗапроса.ИмяМетода = "DevDepot_commitObjects" Тогда
7187
ТекстОшибки = ПроверкиПроксиСервера.ОбработкаПомещенияВХранилище(ПараметрыЗапроса);
88+
ПараметрыЗапросаПостОбработка = ПараметрыЗапроса;
7289
ИначеЕсли ПараметрыЗапроса.ИмяМетода = "DevDepot_changeVersion" Тогда
7390
ТекстОшибки = ПроверкиПроксиСервера.ОбработкаИзмененияВерсииХранилища(ПараметрыЗапроса);
91+
ПараметрыЗапросаПостОбработка = ПараметрыЗапроса;
7492
КонецЕсли;
7593
Исключение
7694
ТекстОшибки = СтрШаблон("Ошибка вызова функции в файле ""ПроверкиПроксиСервера.os"": %1", ОписаниеОшибки());
95+
Лог.Ошибка(ТекстОшибки);
7796
КонецПопытки;
7897
ЕстьОшибка = НЕ ПустаяСтрока(ТекстОшибки);
7998
Если ЕстьОшибка Тогда
8099
ДД = ОбработкаДанных.ПолучитьДвоичныеДанныеОтветаОшибки(ТекстОшибки);
81100
Соединение_Конфигуратор.ОтправитьДвоичныеДанные(ДД);
101+
ПараметрыЗапросаПостОбработка = Неопределено;
82102
Возврат Ложь;
83103
Иначе
84104
Для Каждого ДанныеСоединения Из МассивДДЗапроса Цикл
85105
Соединение_Хранилище.ОтправитьДвоичныеДанные(ДанныеСоединения);
86106
КонецЦикла;
87107
КонецЕсли;
108+
88109
Возврат НЕ ЕстьОшибка;
110+
89111
КонецФункции
90112

91113
Процедура ИзХранилищаВКонфигуратор(Соединение_Конфигуратор, Соединение_Хранилище)
@@ -104,6 +126,13 @@
104126
Соединение_Хранилище.ПрочитатьДвоичныеДанные();
105127
КонецПроцедуры
106128

107-
Процедура ПостОбработкаПомещенияВХранилище()
108-
РезультатБулево = ПроверкиПроксиСервера.ПостОбработкаПомещенияВХранилище();
109-
КонецПроцедуры
129+
Процедура ПостОбработкаПомещенияВХранилище(ПараметрыЗапроса)
130+
131+
Попытка
132+
РезультатБулево = ПроверкиПроксиСервера.ПостОбработкаПомещенияВХранилище(ПараметрыЗапроса);
133+
Исключение
134+
ТекстОшибки = СтрШаблон("Ошибка вызова функции пост обработки в файле ""ПроверкиПроксиСервера.os"": %1", ОписаниеОшибки());
135+
Лог.Ошибка(ТекстОшибки);
136+
КонецПопытки;
137+
138+
КонецПроцедуры

0 commit comments

Comments
 (0)