Skip to content

Commit

Permalink
Изменил хранилище для сохранения библиотеки картинок в портативном
Browse files Browse the repository at this point in the history
варианте, в некоторых платформах оно не работало
  • Loading branch information
LevkinSergey committed Jan 9, 2022
1 parent e77c60f commit 3541d61
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@
ЭтоГлавнаяОбработка = Параметры.ЭтоГлавнаяОбработка;
ПрефиксПеременных = Параметры.ПрефиксПеременныхИПроцедур;
ЭтоКлиентскийОбщийМодуль = Параметры.ЭтоКлиентскийОбщийМодуль;

Если ЭтоМодульФормы Тогда
ТекстСтроковыхФункцийРежимСовместимости= Параметры.ТекстыСтроковыхФункцияДляСовместимости.МодульФормы;
Иначе
ТекстСтроковыхФункцийРежимСовместимости= Параметры.ТекстыСтроковыхФункцияДляСовместимости.Модуль;
КонецЕсли;

ОписаниеРасширения= Параметры.ОписаниеРасширения;
КонецПроцедуры

Expand All @@ -72,7 +72,7 @@
Возврат;
КонецЕсли;
УстановилиОбъявлениеСпискаПеременных=Истина;

КодДляВставки = "
// |&НаКлиенте
// |Перем "+ПрефиксПеременных+"МестоположениеОбработки;
Expand Down Expand Up @@ -109,20 +109,20 @@
КонецПроцедуры // ПосетитьОбъявления()

Функция ТекстОпределенияПеременныхОбщихМодулей()

Если ЭтоМодульФормы Тогда
ТекстПроцедур = "
|&НаКлиентеНаСервереБезКонтекста
|Функция " + ПрефиксПеременных + "ОбщийМодульПоИмени(ИмяМодуля, УИ_ГЕНЕРАЦИЯ_КэшОбщихМодулей=Неопределено, Форма = Неопределено)
|";

Иначе
ТекстПроцедур = "
|Функция " + ПрефиксПеременных + "ОбщийМодульПоИмени(ИмяМодуля)
|";

КонецЕсли;

ТекстПроцедур = ТекстПроцедур+ "
|
| Если УИ_ГЕНЕРАЦИЯ_КэшОбщихМодулей=Неопределено Тогда
Expand Down Expand Up @@ -153,7 +153,7 @@
| ОбщийМодуль=ВнешниеОбработки.Создать(ИмяМодуля);
| #КонецЕсли";
Иначе

Если ЭтоГлавнаяОбработка Тогда
ТекстПроцедур = ТекстПроцедур + "
| Если Не ЭтоАдресВременногоХранилища(ЭтотОбъект.ИспользуемоеИмяФайла) Тогда
Expand All @@ -171,13 +171,13 @@
|";
КонецЕсли;
ТекстПроцедур = ТекстПроцедур + "
|
|
| Возврат ОбщийМодуль;
|КонецФункции
|
|"+?(ЭтоМодульФормы,"&НаСервереБезКонтекста","")+"
|Функция "+ПрефиксПеременных+"УИ_БиблиотекаКартинок()
| АдресБиблиотеки=УИ_ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(УИ_ОбщегоНазначенияКлиентСервер.КлючОбъектаВХранилищеНастроек(), ""АдресЛокальнойБиблиотекиКартинок"", , ,
| АдресБиблиотеки = УИ_ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(УИ_ОбщегоНазначенияКлиентСервер.КлючОбъектаВХранилищеНастроек(), ""АдресЛокальнойБиблиотекиКартинок"", , ,
| ИмяПользователя());
|
| Возврат ПолучитьИзВременногоХранилища(АдресБиблиотеки);
Expand All @@ -189,9 +189,9 @@
| Возврат Найти(СтрокаСоединенияИнформационнойБазы(), ""File="") > 0;
|КонецФункции
|";

ТекстПроцедур=ТекстПроцедур+ТекстСтроковыхФункцийРежимСовместимости+Символы.ПС;

Если ЭтоМодульФормы Или ЭтоКлиентскийОбщийМодуль Тогда
Если ЭтоМодульФормы Тогда
ТекстПроцедур=ТекстПроцедур+"
Expand All @@ -200,46 +200,46 @@
ТекстПроцедур=ТекстПроцедур+"
|#Если Клиент Тогда";
КонецЕсли;

ТекстПроцедур = ТекстПроцедур + "
|Функция "+ПрефиксПеременных+"УИ_ПараметрыПриложения()
|Окна=ПолучитьОкна();
|
|Для Каждого ТекОкно ИЗ Окна Цикл
| Для Каждого Форма ИЗ ТекОкно.Содержимое Цикл
| Если ТипЗнч(Форма)<>УИ_ОбщегоНазначенияКлиентСервер.ТипУправляемойФормы() Тогда
| Продолжить;
| КонецЕсли;
|
| Если Форма.ИмяФормы=""ВнешняяОбработка.УИ_ПортативныеУниверсальныеИнструменты.Форма.Форма"" Тогда
| Возврат Форма.УИ_ПараметрыПриложения_Портативные;
| КонецЕсли;
| КонецЦикла;
|КонецЦикла;
|
|Возврат Новый Соответствие;
|
|КонецФункции
|
|";

Если ЭтоКлиентскийОбщийМодуль Тогда
ТекстПроцедур=ТекстПроцедур+"
|#КонецЕсли";
КонецЕсли;
|Функция "+ПрефиксПеременных+"УИ_ПараметрыПриложения()
|Окна=ПолучитьОкна();
|
|Для Каждого ТекОкно ИЗ Окна Цикл
| Для Каждого Форма ИЗ ТекОкно.Содержимое Цикл
| Если ТипЗнч(Форма)<>УИ_ОбщегоНазначенияКлиентСервер.ТипУправляемойФормы() Тогда
| Продолжить;
| КонецЕсли;
|
| Если Форма.ИмяФормы=""ВнешняяОбработка.УИ_ПортативныеУниверсальныеИнструменты.Форма.Форма"" Тогда
| Возврат Форма.УИ_ПараметрыПриложения_Портативные;
| КонецЕсли;
| КонецЦикла;
|КонецЦикла;
|
|Возврат Новый Соответствие;
|
|КонецФункции
|
|";
Если ЭтоКлиентскийОбщийМодуль Тогда
ТекстПроцедур=ТекстПроцедур+"
|#КонецЕсли";
КонецЕсли;
КонецЕсли;

Если Не ЭтоМодульФормы И ЭтоГлавнаяОбработка Тогда
ТекстПроцедур=ТекстПроцедур+"
| Функция "+ПрефиксПеременных+"СтруктураОбщихМодулей()
| Структура=Новый Структура;
|";

Для Каждого ОбщийМодуль Из ОписаниеРасширения.ОбщиеМодули Цикл
ТекстПроцедур=ТекстПроцедур+"
| Структура.Вставить("""+ОбщийМодуль.Имя+""","""+ОбщийМодуль.Имя+".epf"");";
КонецЦикла;

ТекстПроцедур=ТекстПроцедур+"
| Возврат Структура;
| КонецФункции
Expand Down Expand Up @@ -268,7 +268,7 @@
| КонецПроцедуры
|";
КонецЕсли;

ТекстПроцедур=Символы.ПС+ТекстПроцедур+Символы.ПС;
Возврат ТекстПроцедур;
КонецФункции
Expand All @@ -284,19 +284,19 @@
КонецЕсли;
Позиция=ТекОбъявление.Конец.Позиция+ТекОбъявление.Конец.Длина;
Прервать;

КонецЦикла;

Если Позиция=Неопределено Тогда
Если Модуль.Операторы.Количество() > 0 Тогда
Позиция=Модуль.Операторы[0].Начало.Позиция;
КонецЕсли;
КонецЕсли;

Если Позиция=Неопределено Тогда
Возврат;
КонецЕсли;

Вставка(ТекстОпределенияПеременныхОбщихМодулей(), Позиция);
// Если Модуль.Операторы.Количество() > 0 Тогда
// Вставка(ТекстОпределенияПеременныхОбщихМодулей(), Модуль.Операторы[0].Начало.Позиция);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -549,47 +549,44 @@

Процедура ХранилищеСохранить(МенеджерХранилища, КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек,
ИмяПользователя, ОбновитьПовторноИспользуемыеЗначения)

Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);

МенеджерХранилища.Сохранить(КлючОбъекта, КлючНастроек(КлючНастроек), Настройки, ОписаниеНастроек, ИмяПользователя);

Если ОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры

Функция ХранилищеЗагрузить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, ОписаниеНастроек,
ИмяПользователя)

Результат = Неопределено;
УстановитьПривилегированныйРежим(Истина);

Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Результат = МенеджерХранилища.Загрузить(КлючОбъекта, КлючНастроек(КлючНастроек), ОписаниеНастроек,
Результат = МенеджерХранилища.Загрузить(КлючОбъекта, КлючНастроек(КлючНастроек), ОписаниеНастроек,
ИмяПользователя);
КонецЕсли;

Если Результат = Неопределено Тогда
Результат = ЗначениеПоУмолчанию;
Иначе
УстановитьПривилегированныйРежим(Истина);
Если УдалитьБитыеСсылки(Результат) Тогда
Результат = ЗначениеПоУмолчанию;
КонецЕсли;
КонецЕсли;

УстановитьПривилегированныйРежим(Ложь);
Возврат Результат;

КонецФункции

Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя)

Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя);
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя);
УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры

Expand Down Expand Up @@ -4503,7 +4500,6 @@
//
Процедура ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек = Неопределено,
ИмяПользователя = Неопределено, ОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт

ХранилищеСохранить(ХранилищеОбщихНастроек, КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя,
ОбновитьПовторноИспользуемыеЗначения);

Expand All @@ -4525,6 +4521,7 @@
// ОбновитьПовторноИспользуемыеЗначения - Булево - выполнить одноименный метод платформы.
//
Процедура ХранилищеОбщихНастроекСохранитьМассив(НесколькоНастроек, ОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт
УстановитьПривилегированныйРежим(Истина);

Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
Expand All @@ -4537,6 +4534,7 @@
Если ОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@

&НаСервере
Процедура ЗаписатьАдресЛокальнойБиблиотекиКартинокВХранилищеНастроек(Адрес)
УИ_ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить(
УИ_ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
УИ_ОбщегоНазначенияКлиентСервер.КлючОбъектаВХранилищеНастроек(), "АдресЛокальнойБиблиотекиКартинок", Адрес, ,
ИмяПользователя());
КонецПроцедуры
Expand Down

0 comments on commit 3541d61

Please sign in to comment.