Схемы обеспечения / Модуль менеджера

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

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

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

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

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

#КонецЕсли

#Область ОбработчикиСобытий

Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
	Если ВидФормы = "ФормаОбъекта" Тогда
		СтандартнаяОбработка = Ложь;
		Параметры.Вставить("Источник", "СхемаОбеспечения");
		ВыбраннаяФорма = Метаданные.Обработки.НастройкаСпособовОбеспеченияПотребностей.Формы.Форма;
	КонецЕсли;
КонецПроцедуры

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

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