1
0
mirror of https://github.com/Bellerage-IT/bellerage-ssl.git synced 2024-11-30 09:06:46 +02:00

Добавлена модель запросов

This commit is contained in:
Dmitry Abramov 2023-01-11 00:41:45 +03:00
parent a7effc4275
commit 6597fdc7c3
18 changed files with 3247 additions and 16 deletions

View File

@ -0,0 +1,11 @@
CLIENT=false
EXTERNAL_CONN=false
MNG_CLIENT=false
MOBILE_AUTONOMOUS_SERVER=false
MOBILE_CLIENT=false
MOBILE_SERVER=false
MOBILE_THIN_CLIENT=false
SERVER=true
THIN_CLIENT=true
WEB_CLIENT=true
eclipse.preferences.version=1

View File

@ -0,0 +1,2 @@
ClientServer=true
eclipse.preferences.version=1

View File

@ -16,7 +16,7 @@
КонецЕсли;
Если ТипЗнч(НаборКлючей) <> Тип("Массив") Тогда
НаборКлючей = бф_ОбщегоНазначенияХТТП.ЗначениеВМассиве(НаборКлючей);
НаборКлючей = бф_ХТТПСлужебный.ЗначениеВМассиве(НаборКлючей);
КонецЕсли;
Значение = ЛокальныйКеш.Получить(НаборКлючей[0]);
@ -70,7 +70,7 @@
КонецЕсли;
Если ТипЗнч(НаборКлючей) <> Тип("Массив") Тогда
НаборКлючей = бф_ОбщегоНазначенияХТТП.ЗначениеВМассиве(НаборКлючей);
НаборКлючей = бф_ХТТПСлужебный.ЗначениеВМассиве(НаборКлючей);
КонецЕсли;
ТекСоответствие = ЛокальныйКеш.Получить(НаборКлючей[0]);
@ -83,7 +83,7 @@
КонецЕсли;
КонецЕсли;
НовыйНабор = бф_ОбщегоНазначенияХТТП.СкопироватьРекурсивно(НаборКлючей);
НовыйНабор = бф_ХТТПСлужебный.СкопироватьРекурсивно(НаборКлючей);
НовыйНабор.Удалить(0);
ПоместитьЗначениеВКеш(Значение, НовыйНабор, ЛокальныйКеш.Получить(НаборКлючей[0]));

View File

@ -73,7 +73,7 @@
Функция ЗарегистрироватьОшибку(Запрос, МетаданныеСервиса, ИнформацияОбОшибке)
ИдентификаторОшибки = ВРег(бф_ОбщегоНазначенияХТТП.КонтрольнаяСуммаСтрокой(Новый УникальныйИдентификатор()));
ИдентификаторОшибки = ВРег(бф_ХТТПСлужебный.КонтрольнаяСуммаСтрокой(Новый УникальныйИдентификатор()));
ИмяСобытия = СтрШаблон(
"%1.%2.%3.%4",
@ -103,14 +103,14 @@
ДанныеОшибки.Вставить("ТекстОшибки", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ДанныеОшибки.Вставить("Заголовки", Новый Соответствие());
бф_ОбщегоНазначенияХТТП.ДополнитьСоответствие(ДанныеОшибки.Получить("Заголовки"), Запрос.Заголовки);
бф_ХТТПСлужебный.ДополнитьСоответствие(ДанныеОшибки.Получить("Заголовки"), Запрос.Заголовки);
ДанныеОшибки.Получить("Заголовки").Удалить("Authorization");
ДанныеОшибки.Вставить("ПараметрыURL", Новый Соответствие());
бф_ОбщегоНазначенияХТТП.ДополнитьСоответствие(ДанныеОшибки.Получить("ПараметрыURL"), Запрос.ПараметрыURL);
бф_ХТТПСлужебный.ДополнитьСоответствие(ДанныеОшибки.Получить("ПараметрыURL"), Запрос.ПараметрыURL);
ДанныеОшибки.Вставить("ПараметрыЗапроса", Новый Соответствие());
бф_ОбщегоНазначенияХТТП.ДополнитьСоответствие(ДанныеОшибки.Получить("ПараметрыЗапроса"), Запрос.ПараметрыЗапроса);
бф_ХТТПСлужебный.ДополнитьСоответствие(ДанныеОшибки.Получить("ПараметрыЗапроса"), Запрос.ПараметрыЗапроса);
РазмерТела = Запрос.ПолучитьТелоКакПоток().Размер();
Если РазмерТела < бф_ОбработкаЗапросовПовтИсп.МаксимальныйРазмерТелаДляЛогирования() Тогда

View File

@ -137,7 +137,7 @@
Ссылка = XMLЗначение(Тип, Ид); // ЛюбаяСсылка
Если Не бф_ОбщегоНазначенияХТТП.СсылкаСуществует(Ссылка) Тогда
Если Не бф_ХТТПСлужебный.СсылкаСуществует(Ссылка) Тогда
ВызватьИсключениеПроверки(СтрШаблон("object with guid [%1] does not exist", Ид));
КонецЕсли;
@ -239,8 +239,8 @@
//@skip-check invocation-parameter-type-intersect
СтрокаJson = бф_КоннекторХТТП.ОбъектВJson(
Объект,
бф_ОбщегоНазначенияХТТП.ЗначениеПоКлючу(ДопПараметры, "ПараметрыПреобразованияJson"),
бф_ОбщегоНазначенияХТТП.ЗначениеПоКлючу(ДопПараметры, "ПараметрыЗаписиJson")
бф_ХТТПСлужебный.ЗначениеПоКлючу(ДопПараметры, "ПараметрыПреобразованияJson"),
бф_ХТТПСлужебный.ЗначениеПоКлючу(ДопПараметры, "ПараметрыЗаписиJson")
);
Ответ = ОтветИзСтроки(СтрокаJson, Код);
Ответ.Заголовки.Вставить("Content-Type", "application/json");

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ce68a9dc-f369-47ae-86ae-0d9fceed5707">
<name>бф_СхемаЗапроса</name>
<synonym>
<key>ru</key>
<value>Бф схема запроса</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -0,0 +1,69 @@
// Возвращает массив в свойств. Требования к свойствам такие же как при объявлении структуры.
//
// Параметры:
// Значение - Строка - свойства через запятую
// - Массив - возвращается в исходном массиве
// Возвращаемое значение:
// Массив - массив свойств
//
Функция Массив(Значение) Экспорт
ТипЗначения = ТипЗнч(Значение);
Если ТипЗначения = Тип("Массив") Тогда
Возврат Значение;
КонецЕсли;
Если ТипЗначения = Тип("Строка") И НЕ ПустаяСтрока(Значение) Тогда
Возврат СтрРазделить(СтрЗаменить(СтрЗаменить(Значение, " ", ""), Символы.ПС, ""), ",", Ложь);
КонецЕсли;
Возврат Новый Массив;
КонецФункции
Функция CamelCase(Строка) Экспорт
Состав = СтрРазделить(Строка, " ", Ложь);
Для й = 0 По Состав.ВГраница() Цикл
Слово = Состав[й];
Состав[й] = ВРег(Лев(Слово, 1)) + НРег(Прав(Слово, СтрДлина(Слово) - 1));
КонецЦикла;
Возврат СтрСоединить(Состав, "");
КонецФункции
Функция ФорматДатаВремя(ДатаВремя) Экспорт
СоставДаты = Новый Массив;
СоставДаты.Добавить(Год(ДатаВремя));
СоставДаты.Добавить(Месяц(ДатаВремя));
СоставДаты.Добавить(День(ДатаВремя));
Если НачалоДня(ДатаВремя) <> ДатаВремя Тогда
СоставДаты.Добавить(Час(ДатаВремя));
СоставДаты.Добавить(Минута(ДатаВремя));
СоставДаты.Добавить(Секунда(ДатаВремя));
КонецЕсли;
Возврат СтрЗаменить("ДАТАВРЕМЯ("+СтрСоединить(СоставДаты, ",")+")", Символы.НПП, "");
КонецФункции
Функция ЭкранироватьТекст(Знач ТекстоваяСтрока) Экспорт
ТекстоваяСтрока = СтрЗаменить(ТекстоваяСтрока, Символы.ПС, Символы.ПС+"|");
ТекстоваяСтрока = СтрЗаменить(ТекстоваяСтрока, """", """""");
Возврат ТекстоваяСтрока;
КонецФункции
// Возвращает эквивалент имени по значению уникального идентификатора
//
// Параметры:
// УИД - Уникальный идентификатор - Значение уникального идентификатора
//
// Возвращаемое значение:
// Имя - Строка, удовлетворяющая требованиям имен переменных
//
Функция ИмяПоУникальномуИдентификатору(Знач УИД = Неопределено) Экспорт
Если УИД = Неопределено Тогда
УИД = Новый УникальныйИдентификатор;
КонецЕсли;
Возврат "_" + СтрЗаменить(Строка(УИД), "-", "_");
КонецФункции
Функция ОкончаниеСтрокиПослеРазделителя(Строка, Разделитель = ".") Экспорт
Возврат Сред(Строка, СтрНайти(Строка, Разделитель, НаправлениеПоиска.СКонца)+1);
КонецФункции
Функция НачалоСтрокиПослеРазделителя(Строка, Разделитель = ".") Экспорт
Возврат Сред(Строка, СтрНайти(Строка, Разделитель, НаправлениеПоиска.СНачала)+1);
КонецФункции

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="939422f6-b29f-4038-99f0-3f1debd0031f">
<name>бф_СхемаЗапросаСлужебный</name>
<synonym>
<key>ru</key>
<value>Бф схема запроса служебный</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="43d57b9e-6e78-4aae-af8e-1d4fbc6da789">
<name>бф_ОбщегоНазначенияХТТП</name>
<name>бф_ХТТПСлужебный</name>
<synonym>
<key>ru</key>
<value>Бф общего назначения ХТТП</value>
<value>Бф ХТТПСлужебный</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>

View File

@ -51,6 +51,7 @@
<languageCode>ru</languageCode>
</languages>
<subsystems>Subsystem.бф_СтандартныеПодсистемы</subsystems>
<subsystems>Subsystem.МодельЗапроса</subsystems>
<commonModules>CommonModule.бф_ВосстановлениеXDTO</commonModules>
<commonModules>CommonModule.бф_ВосстановлениеXDTOПереопределяемый</commonModules>
<commonModules>CommonModule.бф_Кеширование</commonModules>
@ -61,13 +62,16 @@
<commonModules>CommonModule.бф_ОбработкаHTTPЗапросов</commonModules>
<commonModules>CommonModule.бф_ОбработкаЗапросовПереопределяемый</commonModules>
<commonModules>CommonModule.бф_ОбработкаЗапросовПовтИсп</commonModules>
<commonModules>CommonModule.бф_ОбщегоНазначенияХТТП</commonModules>
<commonModules>CommonModule.бф_ПроцессорыКоллекций</commonModules>
<commonModules>CommonModule.бф_ПроцессорыКоллекцийСлужебный</commonModules>
<commonModules>CommonModule.бф_СервисыОбщее</commonModules>
<commonModules>CommonModule.бф_СобытияФорм</commonModules>
<commonModules>CommonModule.бф_СобытияФормКлиент</commonModules>
<commonModules>CommonModule.бф_СхемаЗапроса</commonModules>
<commonModules>CommonModule.бф_СхемаЗапросаСлужебный</commonModules>
<commonModules>CommonModule.бф_ХТТПСлужебный</commonModules>
<xDTOPackages>XDTOPackage.ОбщегоНазначенияХТТП</xDTOPackages>
<dataProcessors>DataProcessor.бф_МодельЗапроса</dataProcessors>
<dataProcessors>DataProcessor.бф_ПроцессорКоллекций</dataProcessors>
<informationRegisters>InformationRegister.бф_ЗначенияКонстант</informationRegisters>
</mdclass:Configuration>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Объект</name>
<id>1</id>
<valueType>
<types>DataProcessorObject.бф_МодельЗапроса</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ObjectFormExtInfo"/>
</form:Form>

View File

@ -0,0 +1,9 @@
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Отказ = Истина;
Попытка
ОткрытьФорму("Обработка.КонструкторМоделиЗапроса.Форма.Форма");
Исключение
Сообщить("Обработка не предназначена для работы в интерактивном режиме!");
КонецПопытки;
КонецПроцедуры

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="586b775f-c840-4b11-a700-091fade4b5a7">
<producedTypes>
<objectType typeId="186cc151-b614-46d5-9342-00787f95c499" valueTypeId="accf43e7-9c99-490e-b1c2-f609f306acad"/>
<managerType typeId="731d2e6f-05dc-4c74-94df-05b59381cced" valueTypeId="96db3b12-b7fc-49ee-927e-304fd5f00766"/>
</producedTypes>
<name>бф_МодельЗапроса</name>
<synonym>
<key>ru</key>
<value>Бф модель запроса</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.бф_МодельЗапроса.Form.Форма</defaultForm>
<forms uuid="d73543d3-ef34-486a-836d-52d5cb45fed2">
<name>Форма</name>
<synonym>
<key>ru</key>
<value>Форма</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:DataProcessor>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Subsystem xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e1f6a4d7-e869-4414-a105-052246f462d4">
<name>МодельЗапроса</name>
<synonym>
<key>ru</key>
<value>Модель запроса</value>
</synonym>
<includeHelpInContents>true</includeHelpInContents>
<content>DataProcessor.бф_МодельЗапроса</content>
</mdclass:Subsystem>

View File

@ -6,7 +6,6 @@
<value>ХТТП</value>
</synonym>
<includeHelpInContents>true</includeHelpInContents>
<content>DataProcessor.бф_ПроцессорКоллекций</content>
<content>CommonModule.бф_ОбработкаHTTPЗапросов</content>
<content>CommonModule.бф_ПроцессорыКоллекций</content>
<content>CommonModule.бф_ПроцессорыКоллекцийСлужебный</content>
@ -15,9 +14,8 @@
<content>CommonModule.бф_Кеширование</content>
<content>CommonModule.бф_ОбработкаЗапросовПереопределяемый</content>
<content>CommonModule.бф_ОбработкаЗапросовПовтИсп</content>
<content>CommonModule.бф_ОбщегоНазначенияХТТП</content>
<content>CommonModule.бф_ХТТПСлужебный</content>
<content>CommonModule.бф_СервисыОбщее</content>
<content>XDTOPackage.ОбщегоНазначенияХТТП</content>
<content>Role.ПолныеПрава</content>
<parentSubsystem>Subsystem.бф_СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>