Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаРабочегоВремени() Тогда
Предупреждение("Вход в конфигурацию во внерабочее время запрещен",10);
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаВыбораОбеда() Тогда
ОбщийМодульКлиент.ВыборОбедаПользователем();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Отказ)
Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаОкончанияРабочегоВремени() Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Если Вопрос("Вы хотите закончить работу с программой до окнчания рабочего дня",Режим) = КодВозвратаДиалога.Нет Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если (ПроверяемаяДата < НачалоРабочегоДня) или (ПроверяемаяДата > КонецРабочегоДня) Тогда
РабочееВремя = Ложь;
КонецЕсли;
Возврат РабочееВремя;
КонецФункции // ПроверкаРабочегоВремени()
Функция ЗаполнитьОбеды() Экспорт
СписокОбедов = Новый СписокЗначений;
ВариантыОбедов = Справочники.ВариантыОбедов.Выбрать();
Пока ВариантыОбедов.Следующий() Цикл
Если Не ВариантыОбедов.ПометкаУдаления Тогда
СписокОбедов.Добавить(ВариантыОбедов.Ссылка);
КонецЕсли;
КонецЦикла;
Возврат СписокОбедов;
КонецФункции // ЗаполнитьОбеды()
Процедура ЗаписатьОбеды(МассивОбедов) Экспорт
Если МассивОбедов.Количество() > 0 Тогда
Для каждого Элемент Из МассивОбедов Цикл
СписокОбедов = ОбщийМодульСервер.ЗаполнитьОбеды();
МассивОбедов = Новый Массив;
ВыбранОбед = Ложь;
Пока Не ВыбранОбед Цикл
СписокОбедов.ОтметитьЭлементы("Выберите обед");
Для каждого Строка Из СписокОбедов Цикл
Если Строка.Пометка Тогда
ВыбранОбед = Истина;
МассивОбедов.Добавить(Строка.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Процедура ПриНачалеРаботыСистемы()
ОбщиеФункцииСервер.ПроверкаПользователя();
Если (не ОбщиеФункцииСервер.ПроверкаАдминистратора()) и ОбщиеФункцииСервер.ОбедВторойРаз() Тогда
ОбщиеФункцииКлиент.ВыбратьОбеды();
КонецЕсли;
КонецПроцедуры
Общий модуль ОбщиеФункцииСервер
Функция ПолучитьДату() Экспорт
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
КонецФункции // ПолучитьДату() Экспорт()
Функция ГрафикКонстанты(ДатаЗапуска) Экспорт
Константы.НачалоРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),9,5,38));
Константы.ОкончаниеРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),18,11,42));
КонецФункции // УстановитьГрафик()
Функция КонстантуПолучить(Значение) Экспорт
Возврат Константы[Значение].Получить();
КонецФункции // КонстантуПолучить()
Функция ЗаполнитьОбеды(СписокОбедов) Экспорт
Спр = Справочники.ВариантыОбедов.Выбрать();
Пока спр.Следующий() Цикл
Если не Спр.ПометкаУдаления Тогда
СписокОбедов.Добавить(Спр.Наименование);
КонецЕсли;
КонецЦикла;
КонецФункции // ЗаполнитьОбеды()
Функция ЗаписатьОбеды(Обеды) Экспорт
Если Обеды.количество()>0 Тогда
Для каждого обед Из обеды Цикл
Спр = Справочники.ОбедыПользователей.СоздатьЭлемент();
Спр.Дата = ПолучитьДату();
Спр.ВариантОбеда = Справочники.ВариантыОбедов.НайтиПоНаименованию(Обед).Ссылка;
Спр.Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр.Записать();
КонецЦикла;
КонецЕсли;
КонецФункции // ЗаписатьОбеды(Обеды)()
&НаСервере
Функция ПроверкаПользователя() Экспорт
Спр = Справочники.Пользователи;
Пользователь = ПользователяПолучить();
Флаг = Ложь;
Выборка = Спр.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = Пользователь Тогда
Флаг = Истина;
КонецЕсли;
КонецЦикла;
Если Флаг = Ложь Тогда
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = Пользователь;
НовыйПользователь.Администратор = ?(Пользователь = "Администратор",Истина,Ложь);
НовыйПользователь.Записать();
КонецЕсли;
КонецФункции // ПолучитьПользователя()
Функция ПользователяПолучить() Экспорт
Возврат ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецФункции // ПользователяПолучить()
Функция ОбедВторойРаз() Экспорт
Дата = НачалоДня(ПолучитьДату());
Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр = Справочники.ОбедыПользователей;
Выборка = Спр.Выбрать(,Владелец,,);
Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Дата Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции // ОбедВторойРаз() Экспорт
Функция ПолучитьДату() Экспорт
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
КонецФункции // ПолучитьДату() Экспорт()
Функция ГрафикКонстанты(ДатаЗапуска) Экспорт
Константы.НачалоРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),9,5,38));
Константы.ОкончаниеРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),18,11,42));
КонецФункции // УстановитьГрафик()
Функция КонстантуПолучить(Значение) Экспорт
Возврат Константы[Значение].Получить();
КонецФункции // КонстантуПолучить()
Функция ЗаполнитьОбеды(СписокОбедов) Экспорт
Спр = Справочники.ВариантыОбедов.Выбрать();
Пока спр.Следующий() Цикл
Если не Спр.ПометкаУдаления Тогда
СписокОбедов.Добавить(Спр.Наименование);
КонецЕсли;
КонецЦикла;
КонецФункции // ЗаполнитьОбеды()
Функция ЗаписатьОбеды(Обеды) Экспорт
Если Обеды.количество()>0 Тогда
Для каждого обед Из обеды Цикл
Спр = Справочники.ОбедыПользователей.СоздатьЭлемент();
Спр.Дата = ПолучитьДату();
Спр.ВариантОбеда = Справочники.ВариантыОбедов.НайтиПоНаименованию(Обед).Ссылка;
Спр.Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр.Записать();
КонецЦикла;
КонецЕсли;
КонецФункции // ЗаписатьОбеды(Обеды)()
&НаСервере
Функция ПроверкаПользователя() Экспорт
Спр = Справочники.Пользователи;
Пользователь = ПользователяПолучить();
Флаг = Ложь;
Выборка = Спр.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = Пользователь Тогда
Флаг = Истина;
КонецЕсли;
КонецЦикла;
Если Флаг = Ложь Тогда
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = Пользователь;
НовыйПользователь.Администратор = ?(Пользователь = "Администратор",Истина,Ложь);
НовыйПользователь.Записать();
КонецЕсли;
КонецФункции // ПолучитьПользователя()
Функция ПользователяПолучить() Экспорт
Возврат ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецФункции // ПользователяПолучить()
Функция ОбедВторойРаз() Экспорт
Дата = НачалоДня(ПолучитьДату());
Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр = Справочники.ОбедыПользователей;
Выборка = Спр.Выбрать(,Владелец,,);
Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Дата Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции // ОбедВторойРаз() Экспорт
Функция ЗапускЗапрещен() Экспорт
ДатаЗапуска = ОбщиеФункцииСервер.ПолучитьДату();
НачалоРаботы = ОбщиеФункцииСервер.КонстантуПолучить("НачалоРаботы");
ОкончаниеРаботы = ОбщиеФункцииСервер.КонстантуПолучить("ОкончаниеРаботы");
Если ДатаЗапуска<НачалоРаботы ИЛИ ДатаЗапуска>ОкончаниеРаботы Тогда
Предупреждение("Не время работать!", 5);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции // ЗапускЗапрещен(НачалоРаботы) Экспорт()
Функция ЗавершениеЗапрещено() Экспорт
ОкончаниеРаботы = ОбщиеФункцииСервер.КонстантуПолучить("ОкончаниеРаботы");
ДатаВыхода = ОбщиеФункцииСервер.ПолучитьДату();
Если ДатаВыхода<ОкончаниеРаботы Тогда
Если Вопрос("Еще поработаем?!", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции // ЗавершениеЗапрещено(ОкончаниеРаботы) Экспорт()
Функция ВыбратьОбеды() Экспорт
СписокОбедов = Новый СписокЗначений;
ОбщиеФункцииСервер.ЗаполнитьОбеды(СписокОбедов);
Обеды = Новый Массив;
ВыбранОбед = Ложь;
Пока Не ВыбранОбед Цикл
СписокОбедов.ОтметитьЭлементы("Выберите обед");
Для каждого Строка Из СписокОбедов Цикл
Если Строка.Пометка Тогда
ВыбранОбед = Истина;
Обеды.Добавить(Строка.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОбщиеФункцииСервер.ЗаписатьОбеды(Обеды);
КонецФункции // ВыбратьОбеды()
Вход
Важно!
Для новых покупателей Базового курса - с чего начать
...........................................................
Все контакты Саппорта Spec8.ru
...........................................................
Как задавать вопросы по материалам курса и ДЗ
...........................................................
Что такое Мастер-группа
...........................................................
Все материалы этого сайта являются составной частью Базового / Продвинутого курсов по программированию - и являются объектами авторского и имущественного права.
Любое их распространение без письменного согласования с авторами запрещено.
Модуль управляемого приложения
ОбщийМодульСервер.ПроверкаПользователяПриВходе();
Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаРабочегоВремени() Тогда
Предупреждение("Вход в конфигурацию во внерабочее время запрещен",10);
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаВыбораОбеда() Тогда
ОбщийМодульКлиент.ВыборОбедаПользователем();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Отказ)
Если Не ОбщийМодульСервер.ПроверкаАдминистратора() Тогда
Если Не ОбщийМодульСервер.ПроверкаОкончанияРабочегоВремени() Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Если Вопрос("Вы хотите закончить работу с программой до окнчания рабочего дня",Режим) = КодВозвратаДиалога.Нет Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ОбщийМодульСервер
ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ИмяПользователя = ТекущийПользователь.Имя;
ПустаяСсылка = Справочники.Пользователи.ПустаяСсылка();
ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя);
Если ТекущийПользователь = ПустаяСсылка Тогда
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = ИмяПользователя;
НовыйПользователь.Записать();
КонецЕсли;
КонецПроцедуры // ПроверкаПользователя()
Функция ПроверкаАдминистратора() Экспорт
ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ИмяПользователя = ТекущийПользователь.Имя;
ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя);
Возврат ТекущийПользователь.Администратор;
КонецФункции // ПроверкаАдминистратора()
Функция ПроверкаОкончанияРабочегоВремени() Экспорт
РабочееВремя = Истина;
ТекЧас = Час(ТекущаяДата());
ТекМинута = Минута(ТекущаяДата());
ТекСекунда = Секунда(ТекущаяДата());
КонецРабочегоДня = Константы.КонецРабочегоДня.Получить()+0;
ПроверяемаяДата = Дата(1,1,1,ТекЧас,ТекМинута,ТекСекунда);
Если ПроверяемаяДата > КонецРабочегоДня Тогда
РабочееВремя = Ложь;
КонецЕсли;
Возврат РабочееВремя;
КонецФункции // ПроверкаРабочегоВремени()
Функция ПроверкаРабочегоВремени() Экспорт
РабочееВремя = Истина;
ТекЧас = Час(ТекущаяДата());
ТекМинута = Минута(ТекущаяДата());
ТекСекунда = Секунда(ТекущаяДата());
НачалоРабочегоДня = Константы.НачалоРабочегоДня.Получить()+0;
КонецРабочегоДня = Константы.КонецРабочегоДня.Получить()+0;
ПроверяемаяДата = Дата(1,1,1,ТекЧас,ТекМинута,ТекСекунда);
Если (ПроверяемаяДата < НачалоРабочегоДня) или (ПроверяемаяДата > КонецРабочегоДня) Тогда
РабочееВремя = Ложь;
КонецЕсли;
Возврат РабочееВремя;
КонецФункции // ПроверкаРабочегоВремени()
Функция ЗаполнитьОбеды() Экспорт
СписокОбедов = Новый СписокЗначений;
ВариантыОбедов = Справочники.ВариантыОбедов.Выбрать();
Пока ВариантыОбедов.Следующий() Цикл
Если Не ВариантыОбедов.ПометкаУдаления Тогда
СписокОбедов.Добавить(ВариантыОбедов.Ссылка);
КонецЕсли;
КонецЦикла;
Возврат СписокОбедов;
КонецФункции // ЗаполнитьОбеды()
Процедура ЗаписатьОбеды(МассивОбедов) Экспорт
Если МассивОбедов.Количество() > 0 Тогда
Для каждого Элемент Из МассивОбедов Цикл
Обед = Справочники.ОбедыПользователей.СоздатьЭлемент();
Обед.Дата = ТекущаяДата();
Обед.ВариантОбеда = Элемент;
Обед.Владелец = ВернутьТекущегоПользователя();
Обед.Записать();
КонецЦикла;
КонецЕсли;
КонецПроцедуры // ЗаписатьОбеды()
Функция ПроверкаВыбораОбеда() Экспорт
ОбедВыбран = Ложь;
НачалоРаботы = НачалоДня(ТекущаяДата());
ОбедыПользователей = Справочники.ОбедыПользователей.Выбрать(,ВернутьТекущегоПользователя());
Пока ОбедыПользователей.Следующий() Цикл
Если ОбедыПользователей.Дата >= НачалоРаботы Тогда
ОбедВыбран = Истина;
КонецЕсли;
КонецЦикла;
Возврат ОбедВыбран;
КонецФункции // ПроверкаВыбораОбеда()
Функция ВернутьТекущегоПользователя()
ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ИмяПользователя = ТекущийПользователь.Имя;
ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя);
Возврат ТекущийПользователь;
КонецФункции // ВернутьТекущегоПользователя()
ОбщийМодульКлиент
СписокОбедов = ОбщийМодульСервер.ЗаполнитьОбеды();
МассивОбедов = Новый Массив;
ВыбранОбед = Ложь;
Пока Не ВыбранОбед Цикл
СписокОбедов.ОтметитьЭлементы("Выберите обед");
Для каждого Строка Из СписокОбедов Цикл
Если Строка.Пометка Тогда
ВыбранОбед = Истина;
МассивОбедов.Добавить(Строка.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОбщийМодульСервер.ЗаписатьОбеды(МассивОбедов);
КонецФункции // ВыборОбедаПользователем()
Модуль Управляемого приложения
ОбщиеФункцииКлиент.УстановитьГрафик();
Отказ = ОбщиеФункцииКлиент.ЗапускЗапрещен();
КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Отказ)
Отказ = ОбщиеФункцииКлиент.ЗавершениеЗапрещено();
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
ОбщиеФункцииСервер.ПроверкаПользователя();
Если (не ОбщиеФункцииСервер.ПроверкаАдминистратора()) и ОбщиеФункцииСервер.ОбедВторойРаз() Тогда
ОбщиеФункцииКлиент.ВыбратьОбеды();
КонецЕсли;
КонецПроцедуры
Общий модуль ОбщиеФункцииСервер
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
КонецФункции // ПолучитьДату() Экспорт()
Функция ГрафикКонстанты(ДатаЗапуска) Экспорт
Константы.НачалоРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),9,5,38));
Константы.ОкончаниеРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),18,11,42));
КонецФункции // УстановитьГрафик()
Функция КонстантуПолучить(Значение) Экспорт
Возврат Константы[Значение].Получить();
КонецФункции // КонстантуПолучить()
Функция ЗаполнитьОбеды(СписокОбедов) Экспорт
Спр = Справочники.ВариантыОбедов.Выбрать();
Пока спр.Следующий() Цикл
Если не Спр.ПометкаУдаления Тогда
СписокОбедов.Добавить(Спр.Наименование);
КонецЕсли;
КонецЦикла;
КонецФункции // ЗаполнитьОбеды()
Функция ЗаписатьОбеды(Обеды) Экспорт
Если Обеды.количество()>0 Тогда
Для каждого обед Из обеды Цикл
Спр = Справочники.ОбедыПользователей.СоздатьЭлемент();
Спр.Дата = ПолучитьДату();
Спр.ВариантОбеда = Справочники.ВариантыОбедов.НайтиПоНаименованию(Обед).Ссылка;
Спр.Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр.Записать();
КонецЦикла;
КонецЕсли;
КонецФункции // ЗаписатьОбеды(Обеды)()
&НаСервере
Функция ПроверкаПользователя() Экспорт
Спр = Справочники.Пользователи;
Пользователь = ПользователяПолучить();
Флаг = Ложь;
Выборка = Спр.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = Пользователь Тогда
Флаг = Истина;
КонецЕсли;
КонецЦикла;
Если Флаг = Ложь Тогда
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = Пользователь;
НовыйПользователь.Администратор = ?(Пользователь = "Администратор",Истина,Ложь);
НовыйПользователь.Записать();
КонецЕсли;
КонецФункции // ПолучитьПользователя()
Функция ПроверкаАдминистратора() Экспорт
Спр = Справочники.Пользователи;
Возврат Спр.НайтиПоНаименованию(ПользователяПолучить()).Администратор;
КонецФункции // ПроверкаАдминистратора()
Функция ПользователяПолучить() Экспорт
Возврат ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецФункции // ПользователяПолучить()
Функция ОбедВторойРаз() Экспорт
Дата = НачалоДня(ПолучитьДату());
Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр = Справочники.ОбедыПользователей;
Выборка = Спр.Выбрать(,Владелец,,);
Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Дата Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции // ОбедВторойРаз() Экспорт
Функция ПолучитьДату() Экспорт
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
КонецФункции // ПолучитьДату() Экспорт()
Функция ГрафикКонстанты(ДатаЗапуска) Экспорт
Константы.НачалоРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),9,5,38));
Константы.ОкончаниеРаботы.Установить(Дата(Год(ДатаЗапуска),Месяц(ДатаЗапуска),День(ДатаЗапуска),18,11,42));
КонецФункции // УстановитьГрафик()
Функция КонстантуПолучить(Значение) Экспорт
Возврат Константы[Значение].Получить();
КонецФункции // КонстантуПолучить()
Функция ЗаполнитьОбеды(СписокОбедов) Экспорт
Спр = Справочники.ВариантыОбедов.Выбрать();
Пока спр.Следующий() Цикл
Если не Спр.ПометкаУдаления Тогда
СписокОбедов.Добавить(Спр.Наименование);
КонецЕсли;
КонецЦикла;
КонецФункции // ЗаполнитьОбеды()
Функция ЗаписатьОбеды(Обеды) Экспорт
Если Обеды.количество()>0 Тогда
Для каждого обед Из обеды Цикл
Спр = Справочники.ОбедыПользователей.СоздатьЭлемент();
Спр.Дата = ПолучитьДату();
Спр.ВариантОбеда = Справочники.ВариантыОбедов.НайтиПоНаименованию(Обед).Ссылка;
Спр.Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр.Записать();
КонецЦикла;
КонецЕсли;
КонецФункции // ЗаписатьОбеды(Обеды)()
&НаСервере
Функция ПроверкаПользователя() Экспорт
Спр = Справочники.Пользователи;
Пользователь = ПользователяПолучить();
Флаг = Ложь;
Выборка = Спр.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = Пользователь Тогда
Флаг = Истина;
КонецЕсли;
КонецЦикла;
Если Флаг = Ложь Тогда
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = Пользователь;
НовыйПользователь.Администратор = ?(Пользователь = "Администратор",Истина,Ложь);
НовыйПользователь.Записать();
КонецЕсли;
КонецФункции // ПолучитьПользователя()
Функция ПроверкаАдминистратора() Экспорт
Спр = Справочники.Пользователи;
Возврат Спр.НайтиПоНаименованию(ПользователяПолучить()).Администратор;
КонецФункции // ПроверкаАдминистратора()
Функция ПользователяПолучить() Экспорт
Возврат ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецФункции // ПользователяПолучить()
Функция ОбедВторойРаз() Экспорт
Дата = НачалоДня(ПолучитьДату());
Владелец = Справочники.Пользователи.НайтиПоНаименованию(ПользователяПолучить()).Ссылка;
Спр = Справочники.ОбедыПользователей;
Выборка = Спр.Выбрать(,Владелец,,);
Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Дата Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции // ОбедВторойРаз() Экспорт
Общий модуль ОбщиеФункцииКлиент
ДатаЗапуска = ОбщиеФункцииСервер.ПолучитьДату();
ОбщиеФункцииСервер.ГрафикКонстанты(ДатаЗапуска);
КонецПроцедуры
Функция ЗапускЗапрещен() Экспорт
ДатаЗапуска = ОбщиеФункцииСервер.ПолучитьДату();
НачалоРаботы = ОбщиеФункцииСервер.КонстантуПолучить("НачалоРаботы");
ОкончаниеРаботы = ОбщиеФункцииСервер.КонстантуПолучить("ОкончаниеРаботы");
Если ДатаЗапуска<НачалоРаботы ИЛИ ДатаЗапуска>ОкончаниеРаботы Тогда
Предупреждение("Не время работать!", 5);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции // ЗапускЗапрещен(НачалоРаботы) Экспорт()
Функция ЗавершениеЗапрещено() Экспорт
ОкончаниеРаботы = ОбщиеФункцииСервер.КонстантуПолучить("ОкончаниеРаботы");
ДатаВыхода = ОбщиеФункцииСервер.ПолучитьДату();
Если ДатаВыхода<ОкончаниеРаботы Тогда
Если Вопрос("Еще поработаем?!", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции // ЗавершениеЗапрещено(ОкончаниеРаботы) Экспорт()
Функция ВыбратьОбеды() Экспорт
СписокОбедов = Новый СписокЗначений;
ОбщиеФункцииСервер.ЗаполнитьОбеды(СписокОбедов);
Обеды = Новый Массив;
ВыбранОбед = Ложь;
Пока Не ВыбранОбед Цикл
СписокОбедов.ОтметитьЭлементы("Выберите обед");
Для каждого Строка Из СписокОбедов Цикл
Если Строка.Пометка Тогда
ВыбранОбед = Истина;
Обеды.Добавить(Строка.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОбщиеФункцииСервер.ЗаписатьОбеды(Обеды);
КонецФункции // ВыбратьОбеды()