Загрузка данных
#Область ОчисткаДанных
Функция мТаблицаОчистить(пТип, пВид, пВладелец=Неопределено)
лЗапрос=Новый Запрос;
лЗапрос.Текст=
"ВЫБРАТЬ
| Таблица.Ссылка
|ИЗ
| "+пТип+"."+пВид+" КАК Таблица";
Если пВладелец<>Неопределено Тогда
лЗапрос.УстановитьПараметр("Владелец", пВладелец);
лЗапрос.Текст=лЗапрос.Текст+"
|ГДЕ
| Таблица.Владелец = &Владелец";
КонецЕсли;
лВыборка=лЗапрос.Выполнить().Выбрать();
Пока лВыборка.Следующий() Цикл
Попытка
лОбъект=лВыборка.Ссылка.ПолучитьОбъект();
лОбъект.ОбменДанными.Загрузка=Истина;
лОбъект.Удалить();
Исключение
КонецПопытки;
КонецЦикла;
КонецФункции
Функция мРегистрСведенийОчистить(пИмя)
лНаборЗаписей=РегистрыСведений[пИмя].СоздатьНаборЗаписей();
лНаборЗаписей.ОбменДанными.Загрузка=Истина;
лНаборЗаписей.Записать();
КонецФункции
Функция ОчиститьВсеДанные() Экспорт
лМассивНеОчищаемыеСправочники=СтрРазделить("ДрайверыОборудования/ПодключаемоеОборудование/РабочиеМеста/ТсПлатформаКонстанты/ТсПлатформаОбъектыКонфигурации", "/"); // /ТсПодключения/ТсОбменПравилаВыгрузокКонфигураций/ТсОбменПравилаВыгрузокТаблиц
Для Каждого лМетаОбъект Из Метаданные.Справочники Цикл
Если лМассивНеОчищаемыеСправочники.Найти(лМетаОбъект.Имя)<>Неопределено Тогда Продолжить; КонецЕсли;
мТаблицаОчистить("Справочник", лМетаОбъект.Имя);
КонецЦикла;
Для Каждого лМетаОбъект Из Метаданные.Документы Цикл мТаблицаОчистить("Документ", лМетаОбъект.Имя); КонецЦикла;
Для Каждого лМетаОбъект Из Метаданные.РегистрыСведений Цикл мРегистрСведенийОчистить(лМетаОбъект.Имя); КонецЦикла;
КонецФункции
#КонецОбласти
#Область Экран
// Возвращает диагональ основного экрана устройства.
Функция ДиагональЭкрана() Экспорт
лПараметрыЭкрана=ПараметрыЭкрана();
Если лПараметрыЭкрана.Количество()=0 Тогда Возврат ""; КонецЕсли;
Возврат лПараметрыЭкрана[0].Диагональ;
КонецФункции
// Возвращает массив с структурами параметров каждого экрана устройства.
Функция ПараметрыЭкрана() Экспорт
лИнформацияОбЭкранах=ПолучитьИнформациюЭкрановКлиента();
лМассивЭкраны=Новый Массив;
Если лИнформацияОбЭкранах=Неопределено Тогда Возврат лМассивЭкраны; КонецЕсли;
Для Каждого ДанныеОбЭкране Из лИнформацияОбЭкранах Цикл
лСтруктураПараметры=Новый Структура;
лСтруктураПараметры.Вставить("Ширина", ДанныеОбЭкране.Ширина);
лСтруктураПараметры.Вставить("Высота", ДанныеОбЭкране.Высота);
лСтруктураПараметры.Вставить("Разрешение", ДанныеОбЭкране.DPI);
лСтруктураПараметры.Вставить("СоотношениеСторон", ДанныеОбЭкране.Высота/ДанныеОбЭкране.Ширина);
лСтруктураПараметры.Вставить("ПортретнаяОриентация", ДанныеОбЭкране.Высота>ДанныеОбЭкране.Ширина);
лСтруктураПараметры.Вставить("Диагональ", Окр(Sqrt(Pow(ДанныеОбЭкране.Ширина, 2) + Pow(ДанныеОбЭкране.Высота, 2))/ДанныеОбЭкране.DPI, 0));
лМассивЭкраны.Добавить(лСтруктураПараметры);
КонецЦикла;
Возврат лМассивЭкраны;
КонецФункции
#КонецОбласти
#Область ОбработкаСобытий
Функция мФормаУстановитьШрифт(пФорма)
лРазмерШрифта=Константы.ТсМПРазмерШрифта.Получить();
Если лРазмерШрифта=0 Тогда Возврат Истина; КонецЕсли;
Для Каждого лЭлемент Из пФорма.Элементы Цикл
Если ТсПлатформаОбщий.СуществуетСвойство(лЭлемент, "Шрифт") Тогда
лЭлемент.Шрифт=Новый Шрифт(лЭлемент.Шрифт,, лРазмерШрифта);
КонецЕсли;
Если ТсПлатформаОбщий.СуществуетСвойство(лЭлемент, "ШрифтЗаголовка") Тогда
лЭлемент.ШрифтЗаголовка=Новый Шрифт(лЭлемент.ШрифтЗаголовка,, лРазмерШрифта);
КонецЕсли;
КонецЦикла;
КонецФункции
Функция ПриСозданииНаСервере(пФорма, пОтказ, пСтандартнаяОбработка) Экспорт
// Исправление глюка с режимом выбора
Если ТсПлатформаОбщий.ПолучитьСвойство(пФорма.Параметры, "РежимВыбора", Ложь) и пФорма.Элементы.Найти("Список")<>Неопределено Тогда
пФорма.Элементы.Список.РежимВыбора=Истина;
КонецЕсли;
мФормаУстановитьШрифт(пФорма);
КонецФункции
#КонецОбласти
//#Область Уведомления
//Процедура СформироватьЗаписьУведомленияПоОбъекту(Объект, Описание, ДатаНачала, ПериодУведомления=15) Экспорт
// Если Не Константы.ТсМПНеПоказыватьОповещения.Получить() Тогда Возврат; КонецЕсли;
// Уведомление=Новый Структура();
// Уведомление.Вставить("ПериодУведомления", ПериодУведомления);
// Уведомление.Вставить("Ссылка", Объект);
// Уведомление.Вставить("Сообщение", Описание);
// Уведомление.Вставить("ДатаИВремяСобытия", ДатаНачала);
// Уведомление.Вставить("ДатаИВремяУведомления", ДатаНачала - ПериодУведомления * 60);
// ЗаписатьСообщениеУведомления(Уведомление);
//КонецПроцедуры
//Процедура ЗаписатьСообщениеУведомления(Уведомление) Экспорт
// Если Не ЗначениеЗаполнено(Уведомление.Ссылка) Тогда Возврат; КонецЕсли;
// Если ТекущаяДата()>=Уведомление.ДатаИВремяУведомления Тогда Возврат; КонецЕсли; // Уведомления в прошедшем времени не имеют смысла
//
// // Добавляем данные записи
// Запись=РегистрыСведений.ОбъектыУведомлений.СоздатьМенеджерЗаписи();
// Запись.Объект=Уведомление.Ссылка;
// Запись.ДатаВремяУведомления=Уведомление.ДатаИВремяУведомления;
// Запись.Сообщение=Уведомление.Сообщение;
// Запись.ДатаИВремяСобытия=Уведомление.ДатаИВремяСобытия;
// Запись.Записать(Истина);
//КонецПроцедуры
//#КонецОбласти
#Область СобытияПриЗаписи
Функция ПередЗаписью(пИсточник, пОтказ) Экспорт
//Если пОтказ Тогда Возврат Ложь; КонецЕсли;
//Если пИсточник.ОбменДанными.Загрузка Тогда Возврат Истина; КонецЕсли;
//Если Не ТсПлатформаОбщий.КонстантаПолучить("ТсСобытияИспользовать", Ложь) Тогда Возврат Истина; КонецЕсли;
//
//УстановитьПривилегированныйРежим(Истина);
//
//лМодуль=ТсПлатформаМодули.События();
//Если лМодуль=Неопределено Тогда Возврат Ложь; КонецЕсли; // Модуль не проинициализирован
//лМодуль.СобытиеПередЗаписью(пИсточник, пОтказ);
КонецФункции
Функция ПередЗаписьюДокумент(пИсточник, пОтказ, пРежимЗаписи, пРежимПроведения) Экспорт
//Если пОтказ Тогда Возврат Ложь; КонецЕсли;
//Если пИсточник.ОбменДанными.Загрузка Тогда Возврат Истина; КонецЕсли;
//Если Не ТсПлатформаОбщий.КонстантаПолучить("ТсСобытияИспользовать", Ложь) Тогда Возврат Истина; КонецЕсли;
//
//УстановитьПривилегированныйРежим(Истина);
//
//лМодуль=ТсПлатформаМодули.События();
//Если лМодуль=Неопределено Тогда Возврат Ложь; КонецЕсли; // Модуль не проинициализирован
//лМодуль.СобытиеПередЗаписьюДокумент(пИсточник, пОтказ, пРежимЗаписи, пРежимПроведения);
КонецФункции
Функция ПередЗаписьюРегистр(пИсточник, пОтказ, пЗамещение=Неопределено) Экспорт
Если пОтказ Тогда Возврат Ложь; КонецЕсли;
Если пИсточник.ОбменДанными.Загрузка Тогда Возврат Истина; КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
//Если ТсПлатформаОбщий.КонстантаПолучить("ТсСобытияИспользовать", Ложь) Тогда
// лМодуль=ТсПлатформаМодули.События();
// Если лМодуль<>Неопределено Тогда лМодуль.ПриЗаписи(пИсточник, пОтказ, пЗамещение); КонецЕсли; // Модуль проинициализирован
//КонецЕсли;
//Если ТсПлатформаОбщий.КонстантаПолучить("ТсОбменИспользовать", Ложь) Тогда
лМодульОбмена=ТсПлатформаМодули.ОбменОбщий();
Если лМодульОбмена<>Неопределено Тогда лМодульОбмена.ЗарегистрироватьОбъектыНабораЗаписейКВыгрузкеПередЗаписью(пИсточник, пЗамещение); КонецЕсли; // Модуль проинициализирован
//КонецЕсли;
КонецФункции
Функция ПриЗаписи(пИсточник, пОтказ, пЗамещение=Неопределено) Экспорт
Если пОтказ Тогда Возврат Ложь; КонецЕсли;
Если пИсточник.ОбменДанными.Загрузка Тогда Возврат Истина; КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
//Если ТсПлатформаОбщий.КонстантаПолучить("ТсСобытияИспользовать", Ложь) Тогда
// лМодуль=ТсПлатформаМодули.События();
// Если лМодуль<>Неопределено Тогда лМодуль.СобытиеПриЗаписи(пИсточник, пОтказ); КонецЕсли; // Модуль проинициализирован
//КонецЕсли;
//Если ТсПлатформаОбщий.КонстантаПолучить("ТсОбменИспользовать", Ложь) Тогда
лМодульОбмена=ТсПлатформаМодули.ОбменОбщий();
Если лМодульОбмена<>Неопределено Тогда // Модуль проинициализирован
Если пЗамещение=Неопределено Тогда
лМодульОбмена.ЗарегистрироватьОбъектКВыгрузке(пИсточник);
Иначе
лМодульОбмена.ЗарегистрироватьОбъектыНабораЗаписейКВыгрузке(пИсточник, пЗамещение);
КонецЕсли;
КонецЕсли;
//КонецЕсли;
КонецФункции
#КонецОбласти
Функция Инициализировать() Экспорт
Если Не ЗначениеЗаполнено(Константы.ТсМПМасштабШрифтовОтчетов.Получить()) Тогда Константы.ТсМПМасштабШрифтовОтчетов.Установить(100); КонецЕсли;
Если Не ЗначениеЗаполнено(Константы.ТсМПМасштабКолонокОтчетов.Получить()) Тогда Константы.ТсМПМасштабКолонокОтчетов.Установить(100); КонецЕсли;
//ПолнотекстовыйПоиск.УстановитьРежимПолнотекстовогоПоиска(РежимПолнотекстовогоПоиска.Запретить);
КонецФункции