Шаблоны ввода нефинансовых показателей / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Проверяет использование объекта
//
// Параметры:
//  Параметры		- Структура - содержит объект использование которого нужно проверить
//  АдресХранилища	- Строка - адрес хранилища в которое будут помещен результат проверки.
//
Процедура ПроверитьИспользованиеОбъекта(Параметры, АдресХранилища) Экспорт
	
	ЕстьСсылки = ОбщегоНазначенияВызовСервера.ЕстьСсылкиНаОбъект(Параметры.Объект);
	
	
	ПоместитьВоВременноеХранилище(ЕстьСсылки, АдресХранилища);
	
КонецПроцедуры

// Возвращает имена блокируемых реквизитов для механизма блокирования реквизитов БСП.
// 
// Возвращаемое значение:
// 	Массив - имена блокируемых реквизитов:
//		* БлокируемыйРеквизит - Строка - Имя блокируемого реквизита.
//
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
	
	Результат = Новый Массив;
	Результат.Добавить("ТипФормыВводаПоказателей");
	
	Возврат Результат;
	
КонецФункции

Функция ШаблонИспользуетсяВДокументах(Знач Шаблон, Знач ДокументИсключение = Неопределено) Экспорт
	
	Если Не ЗначениеЗаполнено(Шаблон) Тогда
		Возврат Ложь;
	КонецЕсли;
	
	Если Не ЗначениеЗаполнено(ДокументИсключение) Тогда
		ДокументИсключение = Документы.УстановкаЗначенийНефинансовыхПоказателей.ПустаяСсылка();
	КонецЕсли;
	
	Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
	                      |	ДокументУстановкаЗначений.Ссылка
	                      |ИЗ
	                      |	Документ.УстановкаЗначенийНефинансовыхПоказателей КАК ДокументУстановкаЗначений
	                      |ГДЕ
	                      |	ДокументУстановкаЗначений.ШаблонВвода = &ШаблонВвода
	                      |	И НЕ ДокументУстановкаЗначений.Ссылка = &Исключение");
	
	Запрос.УстановитьПараметр("ШаблонВвода", Шаблон);
	Запрос.УстановитьПараметр("Исключение", ДокументИсключение);
	
	УстановитьПривилегированныйРежим(Истина);
	Возврат Не Запрос.Выполнить().Пустой();
	
КонецФункции

// Функция определяет шаблон ввода для выбранного нефинансового показателя.
//
// Возвращает шаблон ввода нефинансового показателя, если найден один шаблон.
// Возвращает Неопределено, если шаблон не найден или шаблонов больше одного.
//
// Параметры:
//  Показатель - СправочникСсылка.НефинансовыеПоказателиБюджетов - Нефинансовый показатель
//
// Возвращаемое значение:
//	СправочникСсылка.ШаблоныВводаНефинансовыхПоказателей - Найденный шаблон ввода.
//
Функция ШаблонВводаПоУмолчанию(Показатель) Экспорт
	
	Результат = Неопределено;
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 2
	|	ПоказателиШаблона.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ШаблоныВводаНефинансовыхПоказателей.ПоказателиШаблона КАК ПоказателиШаблона
	|ГДЕ
	|	НЕ ПоказателиШаблона.Ссылка.ПометкаУдаления
	|	И ПоказателиШаблона.Показатель = &Показатель
	|");
	
	Запрос.УстановитьПараметр("Показатель", Показатель);
	
	РезультатЗапроса = Запрос.Выполнить();
	Если Не РезультатЗапроса.Пустой() Тогда
		Выборка = РезультатЗапроса.Выбрать();
		Если Выборка.Количество() = 1 Тогда
			Выборка.Следующий();
			Результат = Выборка.Ссылка;
		КонецЕсли;
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции


#КонецОбласти

#КонецЕсли

Связанные материалы