RDT1C/CommonModules/ирСервер/Ext/Module.bsl
2016-12-04 00:14:16 +03:00

266 lines
15 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Поместить строку соединения во временное хранилище
Функция ПоместитьСтрокуСоединенияВХранилищеЛкс(Адрес) Экспорт
ПоместитьВоВременноеХранилище(СтрокаСоединенияИнформационнойБазы(), Адрес);
КонецФункции
// Получить строку соединения сервера
Функция ПолучитьСтрокуСоединенияСервераЛкс() Экспорт
Если ирКэш.ЭтоФайловаяБазаЛкс() Тогда
Результат = СтрокаСоединенияИнформационнойБазы();
Иначе
Если ирКэш.ЛиНемобильныйРежимЛкс() Тогда
АдресХранилища = ПоместитьВоВременноеХранилище("");
Параметры = Новый Массив();
Параметры.Добавить(АдресХранилища);
ФоновоеЗадание = ФоновыеЗадания.Выполнить("ирСервер.ПоместитьСтрокуСоединенияВХранилищеЛкс", Параметры);
ФоновоеЗадание.ОжидатьЗавершения();
Результат = ПолучитьИзВременногоХранилища(АдресХранилища);
Иначе
Результат = СтрокаСоединенияИнформационнойБазы();
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
/////////////////////////////////////////////
// Редиректы
Функция ПолучитьКаталогНастроекПриложения1СЛкс(ИспользоватьОбщийКаталогНастроек = Истина, СоздатьЕслиОтсутствует = Ложь) Экспорт
Результат = ирНеглобальный.ПолучитьКаталогНастроекПриложения1СЛкс(ИспользоватьОбщийКаталогНастроек, СоздатьЕслиОтсутствует);
Возврат Результат;
КонецФункции
Функция ПолучитьИмяФайлаАктивнойНастройкиТехноЖурналаЛкс() Экспорт
Результат = ирНеглобальный.ПолучитьИмяФайлаАктивнойНастройкиТехноЖурналаЛкс();
Возврат Результат;
КонецФункции
Функция ЛиКаталогТехножурналаСодержитБлокирующиеФайлыЛкс(КаталогЖурнала) Экспорт
Результат = ирНеглобальный.ЛиКаталогТехножурналаСодержитБлокирующиеФайлыЛкс(КаталогЖурнала);
Возврат Результат;
КонецФункции
Функция ЗаписатьТекстВФайлЛкс(ПолноеИмяФайла, Текст, Кодировка = Неопределено) Экспорт
Результат = ирНеглобальный.ЗаписатьТекстВФайлЛкс(ПолноеИмяФайла, Текст, Кодировка);
Возврат Результат;
КонецФункции
Функция ПрочитатьТекстИзФайлаЛкс(ПолноеИмяФайла, Кодировка = Неопределено) Экспорт
Результат = ирНеглобальный.ПрочитатьТекстИзФайлаЛкс(ПолноеИмяФайла, Кодировка);
Возврат Результат;
КонецФункции
Функция НайтиИменаФайловЛкс(Путь, Маска = Неопределено, ИскатьВПодкаталогах = Истина) Экспорт
Результат = ирНеглобальный.НайтиИменаФайловЛкс(Путь, Маска, ИскатьВПодкаталогах);
Возврат Результат;
КонецФункции
Функция ВычислитьРазмерКаталогаЛкс(Каталог, ВключаяПодкаталоги = Истина) Экспорт
Результат = ирНеглобальный.ВычислитьРазмерКаталогаЛкс(Каталог, ВключаяПодкаталоги);
Возврат Результат;
КонецФункции
Функция ПолучитьТекущуюДатуЛкс() Экспорт
Результат = ирНеглобальный.ПолучитьТекущуюДатуЛкс();
Возврат Результат;
КонецФункции
Процедура ОчиститьКаталогЖурналаЛкс(КаталогЖурнала, ВыводитьПредупрежденияИСообщения = Истина) Экспорт
ирНеглобальный.ОчиститьКаталогЖурналаЛкс(КаталогЖурнала, , ВыводитьПредупрежденияИСообщения);
КонецПроцедуры // ОчиститьКаталогЖурналаЛкс()
Процедура ВыполнитьЗапросЛкс(ТекстЗапроса) Экспорт
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Выполнить();
КонецПроцедуры
Процедура ПереместитьФайлЛкс(ИмяИсточника, ИмяПриемника) Экспорт
ПереместитьФайл(ИмяИсточника, ИмяПриемника);
КонецПроцедуры // ПереместитьФайл()
Функция ЛиФайлСуществуетЛкс(ПолноеИмяФайла, выхДатаИзменения = Неопределено) Экспорт
Файл1 = Новый Файл(ПолноеИмяФайла);
ФайлНайден = Файл1.Существует();
Если ФайлНайден Тогда
выхДатаИзменения = Файл1.ПолучитьВремяИзменения();
КонецЕсли;
Возврат ФайлНайден;
КонецФункции // ЛиФайлСуществует()
// Выполняет текст алгоритма.
//
// Параметры:
// ТекстДляВыполнения Строка;
// _АлгоритмОбъект - СправочникОбъект
// *СтруктураПараметров - Структура, *Неопределено.
//
Функция ВыполнитьАлгоритм(_ТекстДляВыполнения, _АлгоритмОбъект = Null, _Режим = Null,
_П0 = Null, _П1 = Null, _П2 = Null, _П3 = Null, _П4 = Null, _П5 = Null, _П6 = Null, _П7 = Null, _П8 = Null, _П9 = Null) Экспорт
Перем Результат;
Выполнить(_ТекстДляВыполнения);
Возврат Результат;
КонецФункции // ПозиционныйМетод()
Процедура ВыполнитьАлгоритмБезРезультата(_ТекстДляВыполнения) Экспорт
Выполнить(_ТекстДляВыполнения);
КонецПроцедуры
Функция ВычислитьВыражение(Выражение) Экспорт
Возврат Вычислить(Выражение);
КонецФункции
Процедура ЗаписатьОбъектЛкс(ХМЛ, СтруктураДополнительныхСвойств, РежимЗаписи = Неопределено) Экспорт
Объект = ирНеглобальный.ВосстановитьОбъектИзСтрокиXMLЛкс(ХМЛ);
ирНеглобальный.ВосстановитьДополнительныеСвойстваОбъектаЛкс(Объект, СтруктураДополнительныхСвойств);
//Если РежимЗаписи = Неопределено Тогда
// Объект.Записать();
//Иначе
// Объект.Записать(РежимЗаписи);
//КонецЕсли;
ирНеглобальный.ЗаписатьОбъектЛкс(Объект, Ложь, РежимЗаписи);
КонецПроцедуры
Процедура УдалитьОбъектЛкс(ХМЛ, СтруктураДополнительныхСвойств) Экспорт
Объект = ирНеглобальный.ВосстановитьОбъектИзСтрокиXMLЛкс(ХМЛ);
Объект.Прочитать();
ирНеглобальный.ВосстановитьДополнительныеСвойстваОбъектаЛкс(Объект, СтруктураДополнительныхСвойств);
//Объект.Удалить();
ирНеглобальный.УдалитьОбъектЛкс(Объект, Ложь);
КонецПроцедуры
Процедура УстановитьПометкуУдаленияОбъектаЛкс(ХМЛ, СтруктураДополнительныхСвойств, ЗначениеПометки = Истина) Экспорт
Объект = ирНеглобальный.ВосстановитьОбъектИзСтрокиXMLЛкс(ХМЛ);
ирНеглобальный.ВосстановитьДополнительныеСвойстваОбъектаЛкс(Объект, СтруктураДополнительныхСвойств);
//Если РежимЗаписи = Неопределено Тогда
// Объект.УстановитьПометкуУдаления(ЗначениеПометки);
//Иначе
Объект.УстановитьПометкуУдаления(ЗначениеПометки);
//КонецЕсли;
КонецПроцедуры
Функция ПолучитьИмяКомпьютераЛкс() Экспорт
Результат = ИмяКомпьютера();
Возврат ИмяКомпьютера();
КонецФункции
Функция ПолучитьИспользованиеСобытияЖурналаРегистрацииКакСтруктуру(ИмяСобытия) Экспорт
Результат = Новый Структура("Использование, ОписаниеИспользования");
ИспользованиеСобытия = ПолучитьИспользованиеСобытияЖурналаРегистрации(ИмяСобытия);
Результат.Использование = ИспользованиеСобытия.Использование;
Если ТипЗнч(ИспользованиеСобытия.ОписаниеИспользования) = Тип("Массив") И ИспользованиеСобытия.ОписаниеИспользования.Количество() > 0 Тогда
ОписаниеИспользования = Новый Массив();
Если ТипЗнч(ИспользованиеСобытия.ОписаниеИспользования[0]) = Тип("ОписаниеИспользованияСобытияДоступЖурналаРегистрации") Тогда
СтрокаКлючей = "Объект, ПоляРегистрации, ПоляДоступа";
ИначеЕсли ТипЗнч(ИспользованиеСобытия.ОписаниеИспользования[0]) = Тип("ОписаниеИспользованияСобытияОтказВДоступеЖурналаРегистрации") Тогда
СтрокаКлючей = "Объект, ПоляРегистрации";
Иначе
//ВызватьИсключение "Неизвестный тип " + ТипЗнч(ИспользованиеСобытия.ОписаниеИспользования[0]);
КонецЕсли;
Для Каждого ЭлементОписания Из ИспользованиеСобытия.ОписаниеИспользования Цикл
ЭлементМассива = Новый Структура(СтрокаКлючей);
ЗаполнитьЗначенияСвойств(ЭлементМассива, ЭлементОписания);
ОписаниеИспользования.Добавить(ЭлементМассива);
КонецЦикла;
Результат.ОписаниеИспользования = ОписаниеИспользования;
Иначе
Результат.ОписаниеИспользования = Неопределено;
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура УстановитьИспользованиеСобытияЖурналаРегистрацииПоСтруктуре(ИмяСобытия, пИспользованиеСобытия) Экспорт
ИспользованиеСобытия = Новый ИспользованиеСобытияЖурналаРегистрации;
ИспользованиеСобытия.Использование = пИспользованиеСобытия.Использование;
пОписаниеИспользования = Неопределено;
пИспользованиеСобытия.Свойство("ОписаниеИспользования", пОписаниеИспользования);
Если Истина
И ТипЗнч(пОписаниеИспользования) = Тип("Массив")
И пОписаниеИспользования.Количество() > 0
И (Ложь
Или ИмяСобытия = "_$Access$_.Access"
Или ИмяСобытия = "_$Access$_.AccessDenied") Тогда
ТипОписанияСтрокой = ?(ИмяСобытия = "_$Access$_.Access", "ОписаниеИспользованияСобытияДоступЖурналаРегистрации","ОписаниеИспользованияСобытияОтказВДоступеЖурналаРегистрации");
ОписаниеИспользования = Новый Массив();
Для Каждого пЭлементОписания Из пОписаниеИспользования Цикл
ЭлементОписания = Новый(ТипОписанияСтрокой);
ЗаполнитьЗначенияСвойств(ЭлементОписания, пЭлементОписания);
ОписаниеИспользования.Добавить(ЭлементОписания);
КонецЦикла;
ИспользованиеСобытия.ОписаниеИспользования = ОписаниеИспользования;
КонецЕсли;
УстановитьИспользованиеСобытияЖурналаРегистрации(ИмяСобытия, ИспользованиеСобытия)
КонецПроцедуры