Загрузка данных
&НаКлиенте
Процедура мСканироватьШтрихкодОповещение(пШтрихКод, пРезультат, пСообщение, пПараметры) Экспорт
Если пРезультат Тогда
Если Не ЗначениеЗаполнено(пШтрихКод) Тогда Возврат; КонецЕсли;
#Если МобильноеПриложениеКлиент Тогда
СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов();
#КонецЕсли
пПараметры.Форма.ОбработатьШтрихкод(пШтрихКод);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура мВводШтрихкодаОповещение(пРезультат, пПараметры) Экспорт
Если Не ЗначениеЗаполнено(пРезультат) Тогда Возврат; КонецЕсли;
пПараметры.Форма.ОбработатьШтрихкод(пРезультат);
КонецПроцедуры
&НаКлиенте
Функция СканироватьШтрихкод(пФорма) Экспорт
#Если МобильноеПриложениеКлиент или МобильныйКлиент Тогда
Если Не СредстваМультимедиа.ПоддерживаетсяСканированиеШтрихКодов() Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Устройство не поддерживает сканирование штрихкодов.'; en = 'The device doesn''t support scanning of barcodes.'"));
Возврат Неопределено;
КонецЕсли;
лОписаниеОповещения=Новый ОписаниеОповещения("мСканироватьШтрихкодОповещение", ЭтотОбъект, Новый Структура("Форма", пФорма));
СредстваМультимедиа.ПоказатьСканированиеШтрихКодов(НСтр("ru = 'Сканируйте штрихкод'; en = 'Scan barcode'"), лОписаниеОповещения,, ТипШтрихКода.Все);
//лВзаимодействие=Новый ЗапускПриложенияМобильногоУстройства();
//лВзаимодействие.Действие="com.google.zxing.client.android.SCAN";
//лВзаимодействие.Запустить(Истина);
//Если мКоличество(лВзаимодействие.ДополнительныеДанные)=0 Тогда Возврат Неопределено; КонецЕсли;
//Попытка
// лШтрихкод=лВзаимодействие.ДополнительныеДанные.Получить("SCAN_RESULT").Значение;
//Исключение
// Сообщить("Не найден ключ: SCAN_RESULT, в ответе приложения");
//
// Для Каждого лКлючИзЗначение Из лВзаимодействие.ДополнительныеДанные Цикл
// Сообщить(лКлючИзЗначение.Ключ+" - "+лКлючИзЗначение.Значение);
// КонецЦикла;
// Возврат Неопределено;
//КонецПопытки;
//Возврат лШтрихкод;
#Иначе
лОписаниеОповещения=Новый ОписаниеОповещения("мВводШтрихкодаОповещение", ЭтотОбъект, Новый Структура("Форма", пФорма));
ПоказатьВводСтроки(лОписаниеОповещения,, "Введите штрихкод", 0, Истина);
#КонецЕсли
КонецФункции
&НаКлиенте
Функция ЗначениеСериализовать(пЗначение) Экспорт
лОбъектXDTO=СериализаторXDTO.ЗаписатьXDTO(пЗначение);
лЗаписьXML=Новый ЗаписьXML;
лПараметрыЗаписиXML=Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
лЗаписьXML.УстановитьСтроку(лПараметрыЗаписиXML);
ФабрикаXDTO.ЗаписатьXML(лЗаписьXML, лОбъектXDTO);
Возврат лЗаписьXML.Закрыть();
КонецФункции
&НаСервереБезКонтекста
Функция мНепоказыватьОповещения()
Возврат Истина;
//Возврат Константы.ТсМПНепоказыватьОповещения.Получить();
КонецФункции
&НаКлиенте
Функция мПолучитьИдентификаторПодписчикаУведомлений()
Если мНепоказыватьОповещения() Тогда Возврат Неопределено; КонецЕсли;
#Если МобильноеПриложениеКлиент Тогда
Попытка
Возврат ЗначениеСериализовать(ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений()); // "854446314459"
Исключение
лИнформацияОбОшибке=ИнформацияОбОшибке();
Сообщить(ТсПлатформаОбщий.ПолучитьПолноеОписаниеОшибки(лИнформацияОбОшибке));
Возврат Неопределено;
КонецПопытки;
#КонецЕсли
Возврат Неопределено;
КонецФункции
&НаСервереБезКонтекста
Функция мОбновитьИДПодписчикаВОсновнойКонфигурации(пИДПодписчика, пВыводитьОшибки=Истина) Экспорт
//лСтруктураОтвета=ТсМПОбменДанными.ЗапросPOSTКОсновномуСерверу("RefreshID", Новый Структура("ИдентификаторПодписчика", пИДПодписчика));
//Если лСтруктураОтвета=Неопределено Тогда Возврат Ложь; КонецЕсли;
//
//Если лСтруктураОтвета.Ошибка и пВыводитьОшибки Тогда
// лТекстОшибки="При обновлении идентификатора подписчика возникла ошибка: "+лСтруктураОтвета.ТекстОшибки;
// Сообщить(лТекстОшибки);
// Возврат Ложь;
//КонецЕсли;
//Возврат Истина;
КонецФункции
&НаКлиенте
Функция ОбновитьИДПодписчика(пОбновитьПринудительно=Ложь) Экспорт
лИДПодписчика=мПолучитьИдентификаторПодписчикаУведомлений();
Если Не ЗначениеЗаполнено(лИДПодписчика) Тогда Возврат Ложь; КонецЕсли;
Возврат мОбновитьИДПодписчикаВОсновнойКонфигурации(лИДПодписчика);
КонецФункции
&НаКлиенте
Функция ОтчетОткрыть(пОтчет, пВладелецФормы=Неопределено) Экспорт
ОткрытьФорму(ТсПлатформаОбщий.ПолучитьИмяОбъектаФормы(ИмяФормы)+".Форма.Отчет", Новый Структура("Отчет", пОтчет), пВладелецФормы, пОтчет);
КонецФункции
&НаКлиенте
Функция ОбработкаКоманды(пФорма, пКоманда) Экспорт
Если пКоманда.Имя="ВыполнитьСинхронизацию" Тогда
//!!!!!!!!!!!!!!!!!мВыполнитьОбменСервер();
//лСписок=пФорма.Элементы.Найти("Список");
//Если лСписок<>Неопределено Тогда лСписок.Обновить(); КонецЕсли;
//Возврат Истина;
КонецЕсли;
Если пФорма.ИмяФормы="Обработка.ТсЗаявки.Форма.Форма" Тогда
Если пКоманда.Имя="НеПоказыватьЗавершенные" Тогда
пФорма.НеПоказыватьЗавершенные=Не пФорма.НеПоказыватьЗавершенные;
пФорма.Элементы.ФормаНеПоказыватьЗавершенные.Пометка=пФорма.НеПоказыватьЗавершенные;
пФорма.СобытиеНаСервере("ОбновитьИнтерфейс");
ТсПлатформаМодули.ТзКлиент().ДеревоРазвернуть(пФорма.Элементы.ДеревоДействия, пФорма.ДеревоДействия);
КонецЕсли;
ИначеЕсли пФорма.ИмяФормы="Справочник.ТсЗаявки.Форма.ФормаСписка" Тогда
Если пКоманда.Имя="ПоказатьДокументыДвижения" Тогда
лТекЗаявка=пФорма.Элементы.Список.ТекущаяСтрока;
ОткрытьФорму("Документ.ТсПроцессыДвижение.ФормаСписка", Новый Структура("Отбор", Новый Структура("Объект", лТекЗаявка)), пФорма, лТекЗаявка);
ИначеЕсли пКоманда.Имя="НеПоказыватьЗавершенные" Тогда
пФорма.НеПоказыватьЗавершенные=Не пФорма.НеПоказыватьЗавершенные;
пФорма.Элементы.ФормаНеПоказыватьЗавершенные.Пометка=пФорма.НеПоказыватьЗавершенные;
ТсПлатформаМодули.Компоновка().ОтборУстановить(пФорма.Список.КомпоновщикНастроек.Настройки, "Состояние.КонечноеСостояние", Ложь, Новый Структура("Использование, РежимОтображения", пФорма.НеПоказыватьЗавершенные,, РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный));
КонецЕсли;
ИначеЕсли пФорма.ИмяФормы="Справочник.ТсМПОтчеты.Форма.ФормаСписка" Тогда
Если пКоманда.Имя="Запустить" Тогда
лТекСтрока=пФорма.Элементы.Список.ТекущаяСтрока;
Если ТипЗнч(лТекСтрока)<>Тип("СправочникСсылка.ТсМПОтчеты") Тогда Возврат Истина; КонецЕсли;
ОтчетОткрыть(лТекСтрока);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаКлиенте
Функция ЭлементНачалоВыбора(пФорма, пЭлемент, пДанныеВыбора, пСтандартнаяОбработка) Экспорт
Если пФорма.ИмяФормы="Справочник.ТсЗаявки.Форма.ФормаСписка" Тогда
Если пЭлемент.Имя="СостояниеПроцесса" Тогда
Если Не ЗначениеЗаполнено(пФорма.ТипПроцесса) Тогда Возврат Истина; КонецЕсли;
пСтандартнаяОбработка=Ложь;
ОткрытьФорму("Справочник.ТсПроцессыСостояния.ФормаВыбора", Новый Структура("РежимВыбора, Отбор, ТекущаяСтрока", Истина, Новый Структура("Владелец", пФорма.ТипПроцесса), пФорма.СостояниеПроцесса), пЭлемент, пЭлемент);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаКлиенте
Функция ЭлементВыбор(пФорма, пЭлемент, пПараметр1=Неопределено, пПараметр2=Неопределено, пПараметр3=Неопределено) Экспорт
Если ТипЗнч(пЭлемент)=Тип("ТабличныйДокумент") Тогда
пОбласть=пПараметр1;
//пСтандартнаяОбработка=пПараметр2;
Иначе // данные параметры действую только для списков
пВыбраннаяСтрока =пПараметр1;
пПоле =пПараметр2;
//пСтандартнаяОбработка =пПараметр3;
КонецЕсли;
Если пФорма.ИмяФормы="Справочник.ТсМПОтчеты.Форма.ФормаСписка" Тогда
Если пЭлемент.Имя="Список" Тогда
пПараметр3=Ложь;
лТекСтрока=пФорма.Элементы.Список.ТекущаяСтрока;
Если ТипЗнч(лТекСтрока)<>Тип("СправочникСсылка.ТсМПОтчеты") Тогда Возврат Истина; КонецЕсли;
ОтчетОткрыть(лТекСтрока);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаКлиенте
Функция ЭлементПередНачаломИзменения(пФорма, пЭлемент, пОтказ) Экспорт
Если пФорма.ИмяФормы="Справочник.ТсМПОтчеты.Форма.ФормаСписка" Тогда
Если пЭлемент.Имя="Список" Тогда
пОтказ=Истина;
лТекСтрока=пФорма.Элементы.Список.ТекущаяСтрока;
Если ТипЗнч(лТекСтрока)<>Тип("СправочникСсылка.ТсМПОтчеты") Тогда Возврат Истина; КонецЕсли;
ОтчетОткрыть(лТекСтрока);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаКлиенте
Функция ЭлементОбработкаЗапросаОбновления(пФорма) Экспорт
Если пФорма.ИмяФормы="Обработка.ТсЗаявки.Форма.Форма" Тогда
пФорма.СобытиеНаСервере("ОбновитьИнтерфейс");
ТсПлатформаМодули.ТзКлиент().ДеревоРазвернуть(пФорма.Элементы.ДеревоДействия, пФорма.ДеревоДействия);
ИначеЕсли пФорма.ИмяФормы="Справочник.ТсЗаявки.Форма.ФормаСписка"
или пФорма.ИмяФормы="Справочник.ТсКонфигурацииСтрокиТаблиц.Форма.ФормаСписка"
или пФорма.ИмяФормы="Справочник.ТсПользователиКонтакты.Форма.ФормаСписка"
или пФорма.ИмяФормы="Справочник.ТсМПОтчеты.Форма.ФормаСписка"
Тогда
//!!!!!!!!!!!!!!!!!!!!!!
//мОбменЗагрузить();
//Оповестить("ВыполненаЗагрузкаДанных");
//пФорма.Элементы.Список.Обновить();
КонецЕсли;
КонецФункции
#Область УведомленияИнтерфейс
//&НаКлиенте
//Процедура ПодключитьОбработкуДоставляемыхУведомлений() Экспорт
// #Если МобильноеПриложениеКлиент Тогда
// //лОписаниеОповещения=Новый ОписаниеОповещения("ОбработчикДоставляемыхУведомлений", ЭтотОбъект);
// //ДоставляемыеУведомления.ПодключитьОбработчикУведомлений(лОписаниеОповещения);
// ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("ПриПолученииУведомления");
// #КонецЕсли
//КонецПроцедуры
&НаСервереБезКонтекста
Функция мУведомлениеПолучитьСсылку(пИмяМетаданных, пИдентификатор)
Попытка
лУИД=Новый УникальныйИдентификатор(пИдентификатор);
Исключение
Возврат Неопределено;
КонецПопытки;
лСсылка=Неопределено;
Если Не Метаданные.Документы.Найти(пИмяМетаданных)=Неопределено Тогда
лСсылка=Документы[пИмяМетаданных].ПолучитьСсылку(лУИД);
ИначеЕсли Не Метаданные.Справочники.Найти(пИмяМетаданных)=Неопределено Тогда
лСсылка=Справочники[пИмяМетаданных].ПолучитьСсылку(лУИД);
Иначе
Возврат Неопределено;
КонецЕсли;
Попытка
Если лСсылка.ПолучитьОбъект()=Неопределено Тогда Возврат Неопределено; КонецЕсли;
Исключение
Возврат Неопределено;
КонецПопытки;
Возврат лСсылка;
КонецФункции
&НаКлиенте
Процедура ОбработчикДоставляемыхУведомлений(пУведомление, пЛокальное, пПоказано, пПараметры=Неопределено) Экспорт
//#Если МобильноеПриложениеКлиент Тогда
//ДоставляемыеУведомления.УстановитьНаклейку(0);
//#КонецЕсли
//
//Если Не ЗначениеЗаполнено(пУведомление.Данные) Тогда Сообщить(пУведомление.Текст); Возврат; КонецЕсли;
//
//лМассивДанные=СтрРазделить(пУведомление.Данные, "/");
//Если лМассивДанные[0]<>"Ссылка" Тогда Сообщить(пУведомление.Текст); Возврат; КонецЕсли;
//
//мВыполнитьОбменСервер();
//Оповестить("ВыполненаЗагрузкаДанных");
//
//лСсылка=мУведомлениеПолучитьСсылку(лМассивДанные[1], лМассивДанные[2]);
//Если лСсылка=Неопределено Тогда
// //ОбновитьЛокальныеУведомленияНаУстройстве();
// Возврат;
//КонецЕсли;
//
//лСтруктураПараметры=Новый Структура;
//лСтруктураПараметры.Вставить("ИмяМетаданных", лМассивДанные[1]);
//лСтруктураПараметры.Вставить("Идентификатор", лМассивДанные[2]);
//лСтруктураПараметры.Вставить("Ссылка", лСсылка);
//лСтруктураПараметры.Вставить("Текст", пУведомление.Текст);
//лОписаниеОповещения=Новый ОписаниеОповещения("ОбработкаРешенияПоказатьОбъектУведомления", ЭтотОбъект, лСтруктураПараметры);
//
//лКнопки=Новый СписокЗначений;
//лКнопки.Добавить("Открыть" , НСтр("ru='Просмотреть'; en='View'"));
////лКнопки.Добавить("Отложить", НСтр("ru='Отложить на 15 мин.'; en='Postpone for 15 min.'")); // !!!
//лКнопки.Добавить("Закрыть" , НСтр("ru='Закрыть'; en='Close'"));
//
//ПоказатьВопрос(лОписаниеОповещения, пУведомление.Текст, лКнопки, , "Закрыть");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура мУведомленияУдалитьЗаписьСообщенияПоОбъекту(Ссылка)
Набор=РегистрыСведений.ОбъектыУведомлений.СоздатьНаборЗаписей();
Набор.Отбор.Объект.Установить(Ссылка);
Набор.Записать(Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаРешенияПоказатьОбъектУведомления(Решение, пПараметры) Экспорт
мУведомленияУдалитьЗаписьСообщенияПоОбъекту(пПараметры.Ссылка);
Если Решение="Открыть" Тогда
ОткрытьФормуОбъектаУведомления(пПараметры.ИмяМетаданных, пПараметры.Ссылка);
//ИначеЕсли Решение="Отложить" Тогда
// ЛокальныеУведомленияВызовСервера.СформироватьЗаписьУведомленияПоОбъекту(пПараметры.Ссылка, пПараметры.Текст, ТекущаяДата() + 15 * 60, 0);
КонецЕсли;
//ОбновитьЛокальныеУведомленияНаУстройстве();
КонецПроцедуры
//&НаСервереБезКонтекста
//Функция мУведомленияПолучитьДанныеДляЛокальныхУведомления(Просроченных)
// лМассивУведомления=Новый Массив;
//
// Просроченных=0;
// Если Константы.ТсМПНеПоказыватьОповещения.Получить() Тогда Возврат лМассивУведомления; КонецЕсли;
//
// // Инициализируем объект выборки данных
// Запрос=Новый Запрос();
// Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
// Запрос.Текст=
// "ВЫБРАТЬ
// | ОбъектыУведомлений.Объект КАК Ссылка,
// | ОбъектыУведомлений.Сообщение КАК Описание,
// | ОбъектыУведомлений.ДатаВремяУведомления КАК ДатаВремяУведомления,
// | ОбъектыУведомлений.ДатаИВремяСобытия,
// | ВЫБОР
// | КОГДА &ТекущаяДата >= ОбъектыУведомлений.ДатаВремяУведомления
// | ТОГДА ИСТИНА
// | ИНАЧЕ ЛОЖЬ
// | КОНЕЦ КАК Просрочено,
// | ВЫБОР ТИПЗНАЧЕНИЯ(ОбъектыУведомлений.Объект)
// | КОГДА ТИП(Документ.ЗаказКлиента)
// | ТОГДА ""ЗаказКлиента""
// | КОГДА ТИП(Документ.ЗаказНаПеремещение)
// | ТОГДА ""ЗаказНаПеремещение""
// | КОНЕЦ КАК Тип
// |ИЗ
// | РегистрСведений.ОбъектыУведомлений КАК ОбъектыУведомлений
// |ГДЕ
// | НЕ ОбъектыУведомлений.Обработано
// | И НЕ ОбъектыУведомлений.Объект.ПометкаУдаления";
//
// // Получаем данные из ИБ
// Выборка=Запрос.Выполнить().Выбрать();
// Пока Выборка.Следующий() Цикл
// Если Выборка.Просрочено Тогда Просроченных=Просроченных+1; КонецЕсли;
//
// // Если срок не указан то уведомлять не о чем
// Если Не ЗначениеЗаполнено(Выборка.ДатаВремяУведомления) Тогда Продолжить; КонецЕсли;
// // Уведомления о просроченных объектах не выводятся
// Если ТекущаяДата()>=Выборка.ДатаВремяУведомления Тогда Продолжить; КонецЕсли;
// Запись=Новый Структура("Описание, ДатаВремяУведомления, ДатаИВремяСобытия, Данные, Интервал");
// Запись.Описание=Выборка.Описание;
// Запись.ДатаВремяУведомления=УниверсальноеВремя(Выборка.ДатаВремяУведомления);
// Запись.ДатаИВремяСобытия=Выборка.ДатаИВремяСобытия;
// Запись.Интервал=0;
// Запись.Данные=СтрШаблон("Ссылка\%1\%2;%3", Выборка.Тип, Строка(Выборка.Ссылка.УникальныйИдентификатор()), Выборка.ДатаИВремяСобытия);
//
// лМассивУведомления.Добавить(Запись);
// КонецЦикла;
//
// Возврат лМассивУведомления;
//КонецФункции
//&НаКлиенте
//Процедура ОбновитьЛокальныеУведомленияНаУстройстве() Экспорт
// Просроченных=0;
// МассивДанных=мУведомленияПолучитьДанныеДляЛокальныхУведомления(Просроченных);
//
// #Если МобильноеПриложениеКлиент Тогда
// УдалитьВсеЛокальныеУведомленияНаКлиенте();
// Для Каждого Запись Из МассивДанных Цикл
// ПоместитьУведомлениеВУстройство(СоздатьЛокальноеУведомление(Запись));
// КонецЦикла;
// #КонецЕсли
//КонецПроцедуры
&НаКлиенте
Процедура УдалитьВсеЛокальныеУведомленияНаКлиенте() Экспорт
#Если МобильноеПриложениеКлиент Тогда
ДоставляемыеУведомления.ОтменитьЛокальныеУведомления();
ДоставляемыеУведомления.УстановитьНаклейку(0);
#КонецЕсли
КонецПроцедуры
#КонецОбласти
#Область Уведомления
&НаКлиенте
Процедура ПоместитьУведомлениеВУстройство(Уведомление=Неопределено)
// Если уведомление не задано, то просто выходим.
Если Уведомление=Неопределено Тогда
Возврат;
КонецЕсли;
#Если МобильноеПриложениеКлиент Тогда
// Помещаем уведомление в систему устройства
ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуОбъектаУведомления(пИмяМетаданных, пСсылка)
лСтруктураПараметры=Новый Структура("Ключ", пСсылка);
Если пИмяМетаданных="ЗаказКлиента" Тогда
ОткрытьФорму("Документ.ЗаказКлиента.Форма.ФормаДокумента", лСтруктураПараметры);
ИначеЕсли пИмяМетаданных="ЗаказНаПеремещение" Тогда
ОткрытьФорму("Документ.ЗаказНаПеремещение.Форма.ФормаДокумента", лСтруктураПараметры);
КонецЕсли;
КонецПроцедуры
//&НаКлиенте
//Функция СформироватьТекстДатыУведомления(Дата)
// Если НачалоДня(ТекущаяДата())=НачалоДня(Дата) Тогда
// Представление=
// СтрШаблон(
// НСтр("ru='Сегодня в %1'; en='Today at %1'"), Формат(Дата, "ДФ=HH:mm"));
// ИначеЕсли НачалоДня(ТекущаяДата())+86400=НачалоДня(Дата) Тогда
// Представление=
// СтрШаблон(
// НСтр("ru='Завтра в %1'; en='Tomorrow at %1'"), Формат(Дата, "ДФ=HH:mm"));
// Иначе
// Представление=
// СтрШаблон(
// НСтр("ru='%1 в %2'; en='%1 at %2'"),
// Формат(Дата, "ДФ='dd MMMM'"), Формат(Дата, "ДФ=HH:mm"));
// КонецЕсли;
// Возврат Представление;
//КонецФункции
&НаКлиенте
Функция СоздатьЛокальноеУведомление(ДанныеУведомления)
#Если МобильноеПриложениеКлиент Тогда
// Проверяем дату предполагаемого показа
Если Не ДанныеУведомления.ДатаВремяУведомления='00010101' И УниверсальноеВремя(ТекущаяДата()) >= ДанныеУведомления.ДатаВремяУведомления Тогда Возврат Неопределено; КонецЕсли;
Уведомление=Новый ДоставляемоеУведомление;
Уведомление.ДатаПоявленияУниверсальноеВремя=ДанныеУведомления.ДатаВремяУведомления;
Уведомление.Заголовок=НСтр("ru='МП для УТ'; en='1C:MA for UT'");
Уведомление.Текст=ДанныеУведомления.Описание;
Уведомление.Данные=ДанныеУведомления.Данные;
Уведомление.Наклейка=0;
Уведомление.ЗвуковоеОповещение=ЗвуковоеОповещение.ПоУмолчанию;
Уведомление.ИнтервалПовтора=ДанныеУведомления.Интервал;
Возврат Уведомление;
#КонецЕсли
КонецФункции
#КонецОбласти
//&НаСервере
//Функция мОтключитьПолнотекстовыйПоиск() // какие то проблемы с ним, рекомендовали отключить
// ПолнотекстовыйПоиск.УстановитьРежимПолнотекстовогоПоиска(РежимПолнотекстовогоПоиска.Запретить);
//КонецФункции
&НаКлиенте
Функция ПриНачалеРаботыСистемы() Экспорт
ОбновитьИДПодписчика();
//мОтключитьПолнотекстовыйПоиск();
//ПодключитьОбработкуДоставляемыхУведомлений();
#Если МобильноеПриложениеКлиент Тогда
ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("ПриПолученииУведомления");
#КонецЕсли
КонецФункции
&НаСервереБезКонтекста
Процедура мВыгрузитьВОсновнуюБазуНаСервере()
Сообщить("Выгрузка выполнена!");
КонецПроцедуры
&НаКлиенте
Функция мВыгрузитьВОсновнуюБазуОповещение(пРезультат, пПараметры) Экспорт
Если пРезультат<>КодВозвратаДиалога.Да Тогда Возврат Истина; КонецЕсли;
мВыгрузитьВОсновнуюБазуНаСервере();
Элементы.Список.Обновить();
КонецФункции
&НаКлиенте
Функция ОбменВыполнить() Экспорт
лОписаниеОповещения=Новый ОписаниеОповещения("мВыгрузитьВОсновнуюБазуОповещение", ЭтотОбъект);
ПоказатьВопрос(лОписаниеОповещения, "Выгрузить документы в основную базу?", РежимДиалогаВопрос.ДаНет);
КонецФункции
&НаСервереБезКонтекста
Функция мЦветСтиляПолучить(пИмя)
Возврат ЦветаСтиля[пИмя];
КонецФункции
&НаКлиенте
Функция ФормаСтатусУстановить(пФорма, пСтрокаСтатуса, пОшибка=Ложь) Экспорт
пФорма.СтрокаСтатуса=пСтрокаСтатуса;
пФорма.Элементы.СтрокаСтатуса.ЦветТекста=?(пОшибка, мЦветСтиляПолучить("ЦветОсобогоТекста"), WebЦвета.Зеленый);
КонецФункции