mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-12-24 22:14:31 +02:00
refacted predefined functions and removed bugs (#173)
* Доработана подсистема предопределенных значений для работы с группами
This commit is contained in:
parent
31532ec4a6
commit
eeac183ec4
@ -72,9 +72,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -18,9 +18,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -55,8 +55,33 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
|
||||
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
|
||||
Если Не ЭтоГруппа Тогда
|
||||
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
|
||||
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(ТипИнтеграции);
|
||||
|
||||
ЗаполнитьРеквизитыНаОснованииЭлементаНаследования(ЭлементНаследования);
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриЗаписи(Отказ)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // ОбработчикиСобытий
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ЗаполнитьРеквизитыНаОснованииЭлементаНаследования(ЭлементНаследования)
|
||||
|
||||
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог Тогда
|
||||
Порт = "";
|
||||
ВнешняяКомпонента = Неопределено;
|
||||
@ -114,23 +139,9 @@
|
||||
ИмяОбъекта = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриЗаписи(Отказ)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // ОбработчикиСобытий
|
||||
#КонецОбласти
|
||||
|
||||
#Иначе
|
||||
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
|
||||
|
@ -19,9 +19,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -19,9 +19,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -74,7 +74,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "ПроектнаяБиблиотекаПодсистем";
|
||||
Описание.Версия = "1.0.4.17";
|
||||
Описание.Версия = "1.0.4.18";
|
||||
|
||||
// Требуется библиотека стандартных подсистем.
|
||||
Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
|
||||
|
@ -882,6 +882,10 @@
|
||||
//
|
||||
Процедура ОбработатьСуществующийПредопределенныйЭлемент(Объект) Экспорт
|
||||
|
||||
Если пбп_ПереадресацияКлиентСервер.СвойствоСтруктуры(Объект.ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
пбп_ПредопределенныеЗначения.ОбновитьХешПредопределенногоЭлемента(Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -298,6 +298,8 @@
|
||||
Поля.Вставить("УровеньИерархии");
|
||||
Поля.Вставить("ИдентификаторРодитель");
|
||||
|
||||
ДополнитьИсключаемыеПоляДляРасчетХешаНастройкиИнтеграции(Поля);
|
||||
|
||||
Возврат Поля;
|
||||
|
||||
КонецФункции
|
||||
@ -313,8 +315,6 @@
|
||||
Поля.Вставить("ХешСумма");
|
||||
Поля.Вставить("УровеньИерархии");
|
||||
Поля.Вставить("ИдентификаторРодитель");
|
||||
Поля.Вставить("Пароль");
|
||||
Поля.Вставить("СписокЗначений");
|
||||
|
||||
Возврат Поля;
|
||||
|
||||
@ -357,4 +357,15 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДополнитьИсключаемыеПоляДляРасчетХешаНастройкиИнтеграции(Поля)
|
||||
|
||||
Поля.Вставить("Порт");
|
||||
Поля.Вставить("ВнешняяКомпонента");
|
||||
Поля.Вставить("УчетнаяЗапись");
|
||||
Поля.Вставить("ТипАвторизации");
|
||||
Поля.Вставить("ИмяОбъекта");
|
||||
Поля.Вставить("ИмяФайлаВнешнейКомпоненты");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -96,6 +96,9 @@
|
||||
|
||||
Параметры.Вставить("КлючиХешаЭлемент",
|
||||
пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мКолонки, Ложь));
|
||||
|
||||
мКолонки = ПолучитьПоляГруппы(МенеджерОбъекта, мКолонки);
|
||||
|
||||
Параметры.Вставить("КлючиХешаГруппа",
|
||||
пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мКолонки, Истина));
|
||||
|
||||
@ -254,7 +257,8 @@
|
||||
Для Каждого Строка Из ТаблицаПредопределенных Цикл
|
||||
ВыборкаДетальныеЗаписи.Сбросить();
|
||||
Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда
|
||||
Если ВыборкаДетальныеЗаписи.РучноеИзменение Или ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма Тогда
|
||||
Если ВыборкаДетальныеЗаписи.РучноеИзменение Или ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма
|
||||
И Не ВыборкаДетальныеЗаписи.ПометкаУдаления Тогда
|
||||
СтрокиДляУдаления.Добавить(Строка);
|
||||
Иначе
|
||||
ОбработатьСтроку(Строка, ВыборкаДетальныеЗаписи, ТаблицаКонфликтныхЭлементов, СтрокиДляУдаления);
|
||||
@ -326,6 +330,32 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует массив полей группы объекта метаданных
|
||||
//
|
||||
// Параметры:
|
||||
// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта
|
||||
// Поля - Массив - Поля предопределенного элемента.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - Строка
|
||||
//
|
||||
Функция ПолучитьПоляГруппы(МенеджерОбъекта, Поля) Экспорт
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта));
|
||||
|
||||
мПоляГруппы = Новый Массив;
|
||||
|
||||
Для Каждого Поле Из Поля Цикл
|
||||
Реквизит = ОбъектМетаданных.Реквизиты.Найти(Поле);
|
||||
Если Реквизит = Неопределено
|
||||
Или Реквизит.Использование <> Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента Тогда
|
||||
мПоляГруппы.Добавить(Поле);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат мПоляГруппы
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область РаботаСТаблицейПредопределенных
|
||||
|
||||
// Инициализирует предопределенные значения из таблицы.
|
||||
|
@ -211,7 +211,7 @@
|
||||
// Удалим "мусор" схемы запроса
|
||||
УдалитьНенужныеПоля(НовыйТекстЗапроса);
|
||||
|
||||
УстановитьНовыйТекстЗапроса(Запрос, ТекстЗапроса);
|
||||
УстановитьНовыйТекстЗапроса(Запрос, НовыйТекстЗапроса);
|
||||
|
||||
Возврат Запрос;
|
||||
|
||||
|
@ -57,7 +57,7 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item>
|
||||
</DefaultRoles>
|
||||
<Vendor>Первый БИТ</Vendor>
|
||||
<Version>1.0.4.17</Version>
|
||||
<Version>1.0.4.18</Version>
|
||||
<UpdateCatalogAddress/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
||||
|
@ -122,6 +122,10 @@
|
||||
мПоля.Добавить(КлючЗначение.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
Если ЭтоГруппа Тогда
|
||||
мПоля = пбп_ПредопределенныеЗначенияСлужебный.ПолучитьПоляГруппы(МенеджерОбъекта, мПоля);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мПоля, ЭтоГруппа);
|
||||
|
||||
КонецФункции
|
||||
|
Loading…
Reference in New Issue
Block a user