#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт
НеРедактируемыеРеквизиты = Новый Массив;
Возврат НеРедактируемыеРеквизиты;
КонецФункции
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
Результат = Новый Массив;
Результат.Добавить("ПериодичностьОформленияВыработки");
Результат.Добавить("ИспользоватьКТУ");
Результат.Добавить("ИспользоватьТарифныеСтавки");
Результат.Добавить("ИспользоватьОтработанноеВремя");
Результат.Добавить("ИспользоватьБригадныеНаряды;
|ВидыНарядовБригады, ВидыНарядовРаботники, ВидыНарядовБригадыИРаботники");
Результат.Добавить("ИспользоватьПерсональныеНаряды;
|ВидыНарядовБригады, ВидыНарядовРаботники, ВидыНарядовБригадыИРаботники");
Результат.Добавить("СпособНастройкиГрафикаРаботы");
Результат.Добавить("ГрафикиРаботы; ГрафикРаботы");
Результат.Добавить("ПроизводственноеПодразделение");
Результат.Добавить("ПроизводствоПоЗаказам");
Результат.Добавить("ПроизводствоБезЗаказов");
Результат.Добавить("ИспользуетсяСписаниеЗатратНаВыпуск;
|ОтдельнымДокументом, ПоПравиламРаспределения");
Возврат Результат;
КонецФункции
Функция ПолучитьПодразделениеДиспетчерПоУмолчанию(Знач Пользователь = Неопределено) Экспорт
Подразделение = Справочники.СтруктураПредприятия.ПустаяСсылка();
Возврат Подразделение;
КонецФункции
Функция КоличествоПодразделенийДиспетчеров() Экспорт
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос(
"ВЫБРАТЬ
| КОЛИЧЕСТВО(*) КАК Количество
|ИЗ
| Справочник.СтруктураПредприятия КАК СтруктураПредприятия
|ГДЕ
| НЕ СтруктураПредприятия.ПометкаУдаления
| И СтруктураПредприятия.ПодразделениеДиспетчер
| И СтруктураПредприятия.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОрганизацийПодразделений.Действует)");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Количество = Выборка.Количество;
Иначе
Количество = 0;
КонецЕсли;
Возврат Количество;
КонецФункции
Функция ИспользуетсяНесколькоПодразделенийДиспетчеров() Экспорт
Возврат КоличествоПодразделенийДиспетчеров() > 1;
КонецФункции
#Область Команды
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Команда = Документы.ПоручениеЭкспедитору.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Если Команда <> Неопределено Тогда
Команда.РежимЗаписи = "";
КонецЕсли;
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Ссылка)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ЗначениеЗаполнено(Параметры.СтрокаПоиска) Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 51
| СтруктураПредприятия.Ссылка КАК Ссылка,
| СтруктураПредприятия.Представление КАК Представление,
| СтруктураПредприятия.ПометкаУдаления КАК ПометкаУдаления,
| ВЫБОР
| КОГДА СтруктураПредприятия.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОрганизацийПодразделений.НеДействует)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НеДействует,
| СтруктураПредприятия.Код КАК Код,
| ЛОЖЬ КАК ПодборПоКоду
|ИЗ
| Справочник.СтруктураПредприятия КАК СтруктураПредприятия
|ГДЕ
| СтруктураПредприятия.Наименование ПОДОБНО &Текст
| И НЕ СтруктураПредприятия.ПометкаУдаления
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 51
| СтруктураПредприятия.Ссылка,
| СтруктураПредприятия.Представление,
| СтруктураПредприятия.ПометкаУдаления,
| ВЫБОР
| КОГДА СтруктураПредприятия.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОрганизацийПодразделений.НеДействует)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| СтруктураПредприятия.Код,
| ИСТИНА
|ИЗ
| Справочник.СтруктураПредприятия КАК СтруктураПредприятия
|ГДЕ
| СтруктураПредприятия.Код ПОДОБНО &Текст
| И НЕ СтруктураПредприятия.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| Представление";
Запрос.УстановитьПараметр("Текст", "%" + СокрЛП(Параметры.СтрокаПоиска) + "%");
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ДанныеВыбора = Новый СписокЗначений;
Пока Выборка.Следующий() Цикл
ШаблонПредставления = "%1 (%2)";
Если Выборка.ПодборПоКоду Тогда
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, Выборка.Код, Выборка.Представление);
Иначе
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, Выборка.Представление, Выборка.Код);
КонецЕсли;
Если Выборка.НеДействует Тогда
Элемент = Новый Структура;
Элемент.Вставить("Значение", Выборка.Ссылка);
Элемент.Вставить("ПометкаУдаления", Выборка.ПометкаУдаления);
ТекстПредупреждения = НСтр("ru = 'Выбрано недействующее подразделение.'");
Элемент.Вставить("Предупреждение", ТекстПредупреждения);
ДанныеВыбора.Добавить(Элемент, Представление);
Иначе
ДанныеВыбора.Добавить(Выборка.Ссылка, Представление);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Отчеты
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли