1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2025-02-15 13:33:22 +02:00

Рефакторинг областей, исправление по , исправление создания экземпляра регламентного задания очистки истории истеграции с помощью БСП, добавление в ОМ ИнтеграцииСервер процедуры удаления экземпляра регламентного задания и зашифровку в Base64

This commit is contained in:
vladislav permichev 2022-07-27 19:46:44 +03:00
parent 39ac9be595
commit a222ed2fac
5 changed files with 87 additions and 30 deletions
src
Catalogs
__ИсторияИнтеграции
Ext
Forms
ФормаСписка/Ext/Form
ФормаЭлемента/Ext/Form
__НастройкиИнтеграции/Forms/ФормаЭлемента/Ext/Form
CommonModules/__ИнтеграцииСервер/Ext

@ -1,4 +1,7 @@

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПередУдалением(Отказ)
Если ОбменДанными.Загрузка Тогда
@ -9,3 +12,9 @@
ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов", Истина);
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытий
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'; en = 'Invalid object call on client.'");
#КонецЕсли

@ -1,4 +1,4 @@
#Область ОбработчикиКомандФормы
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@ -23,6 +23,10 @@
КонецПроцедуры
#КонецОбласти // ОбработчикиСобытийФормы
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура НастроитьРасписаниеРегламентногоЗадания(Команда)
@ -34,26 +38,30 @@
#КонецОбласти // ОбработчикиКомандФормы
#Область ВспомогательныеПроцедурыИФункции
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция ПолучитьРегламентноеЗадание()
МассивЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(
Новый Структура("Ключ, Метаданные",
"__ОчисткаИсторииИнтеграции", Метаданные.РегламентныеЗадания.__ОчисткаИсторииИнтеграции));
Если МассивЗаданий.Количество() = 0 Тогда
РегЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.__ОчисткаИсторииИнтеграции);
РегЗадание.Ключ = "__ОчисткаИсторииИнтеграции";
РегЗадание.Использование = Истина;
РегЗадание.Расписание = Метаданные.РегламентныеЗадания.__ОчисткаИсторииИнтеграции.Расписание;
РегЗадание.Записать();
// ++ Обход ошибки отстутствия модуля БСП, не переносить
РегламентныеЗаданияСервер = Неопределено;
// -- Обход ошибки отстутствия модуля БСП, не переносить
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("Ключ" , "__ОчисткаИсторииИнтеграции");
ПараметрыЗадания.Вставить("Метаданные" , Метаданные.РегламентныеЗадания.__ОчисткаИсторииИнтеграции);
МассивРегламентныхЗаданий = РегламентныеЗаданияСервер.НайтиЗадания(ПараметрыЗадания);
Если МассивРегламентныхЗаданий.Количество() Тогда
РегламентноеЗадание = МассивРегламентныхЗаданий[0];
Иначе
РегЗадание = МассивЗаданий[0];
ПараметрыЗадания.Вставить("Использование" , Истина);
ПараметрыЗадания.Вставить("Расписание" , Новый РасписаниеРегламентногоЗадания());
РегламентноеЗадание = РегламентныеЗаданияСервер.ДобавитьЗадание(ПараметрыЗадания);
КонецЕсли;
Возврат РегЗадание;
Возврат РегламентноеЗадание;
КонецФункции
@ -84,4 +92,4 @@
КонецПроцедуры
#КонецОбласти // ВспомогательныеПроцедурыИФункции
#КонецОбласти // СлужебныеПроцедурыИФункции

@ -22,7 +22,7 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти // ОбработчикиСобытийФормы
#Область СлужебныеПроцедурыИФункции
@ -35,4 +35,4 @@
КонецФункции
#КонецОбласти
#КонецОбласти // СлужебныеПроцедурыИФункции

@ -66,7 +66,7 @@
#КонецОбласти // ОбработчикиСобытийФормы
#Область ОбработчикиКоманд
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ДобавитьОбщие(Команда)
@ -86,7 +86,17 @@
КонецПроцедуры
#КонецОбласти // ОбработчикиКоманд
&НаКлиенте
Процедура ПоказатьЗначения(Команда)
Пометка = НЕ Элементы.СписокНастроекПоказатьЗначения.Пометка;
Элементы.СписокНастроекПоказатьЗначения.Пометка = Пометка;
Элементы.СписокНастроекЗначениеПредставление.Видимость = Пометка;
Элементы.СписокНастроекЗначение.Видимость = НЕ Пометка;
КонецПроцедуры
#КонецОбласти // ОбработчикиКомандФормы
#Область СлужебныеПроцедурыИФункции
@ -116,14 +126,4 @@
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьЗначения(Команда)
Пометка = НЕ Элементы.СписокНастроекПоказатьЗначения.Пометка;
Элементы.СписокНастроекПоказатьЗначения.Пометка = Пометка;
Элементы.СписокНастроекЗначениеПредставление.Видимость = Пометка;
Элементы.СписокНастроекЗначение.Видимость = НЕ Пометка;
КонецПроцедуры
#КонецОбласти // СлужебныеПроцедурыИФункции

@ -1,5 +1,27 @@
#Область ПрограммныйИнтерфейс
// Процедура удаляет экземпляр регламентного задания.
//
// Параметры:
// КлючЗадания - Строка - Ключ регламентного задания
//
Процедура УдалитьЭкземплярРегламентногоЗадания(КлючЗадания) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить
РегламентныеЗаданияСервер = Неопределено;
// -- Обход ошибки отстутствия модуля БСП, не переносить
ОтборЗадания = Новый Структура;
ОтборЗадания.Вставить("Ключ", КлючЗадания);
МассивРегламентныхЗаданий = РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗадания);
Если МассивРегламентныхЗаданий.Количество() Тогда
РегламентноеЗадание = МассивРегламентныхЗаданий[0];
РегламентныеЗаданияСервер.УдалитьЗадание(РегламентноеЗадание.УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
// Процедура создает запись справочника История интеграции с информацией о событии интеграции
//
// Параметры:
@ -145,6 +167,24 @@
КонецФункции
// Функция возвращает строку, закодированную в base64.
//
// Параметры:
// ПодготовленнаяСтрока - Строка - Исходная строка, которую необходимо конвертировать в Base64
// КодировкаТекста - Строка - Кодировка текста
//
// Возвращаемое значение:
// Строка - Зашифрованная строка в Base64
//
Функция ЗашифроватьBase64Сервер(ПодготовленнаяСтрока, КодировкаТекста = "UTF-8") Экспорт
ДвоичныеДанныеСтроки = ПолучитьДвоичныеДанныеИзСтроки(ПодготовленнаяСтрока, КодировкаТекста);
Base64Hash = ПолучитьBase64СтрокуИзДвоичныхДанных(ДвоичныеДанныеСтроки);
Возврат Base64Hash;
КонецФункции
#КонецОбласти // ПрограммныйИнтерфейс
#Область СлужебныеПроцедурыИФункции