Документы по НМА и расходам на НИОКР / Модуль менеджера

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

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

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
КонецПроцедуры

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

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

// 
// Параметры:
//  Параметры - Структура - 
// 
// Возвращаемое значение:
//  ФорматированнаяСтрока - Данные рабочего места
Функция ДанныеРабочегоМеста(Параметры) Экспорт

	Гиперссылка = Неопределено;
	
	ГиперСсылкаПринятиеКУчету = Неопределено;
	
	Если ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Документы.ПринятиеКУчетуНМА2_4)
		ИЛИ ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Документы.УлучшениеНМА) Тогда
		
		ГиперСсылкаПринятиеКУчету = ГиперСсылкаПринятиеКУчету(Параметры);
		
		Гиперссылка = Новый ФорматированнаяСтрока(НСтр("ru = 'К оформлению:'"), " ", ГиперСсылкаПринятиеКУчету);
	
	КонецЕсли;
		
	Возврат Гиперссылка;
	
КонецФункции

Функция ГиперСсылкаПринятиеКУчету(Параметры)

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

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

// Формирует форматированную строку для отображения гиперссылки
// 
// Параметры:
// 	Параметры - Массив из Структура, ТаблицаЗначений -
// 	
// Возвращаемое значение:
//  ФорматированнаяСтрока - Данные рабочего места
Функция СформироватьГиперссылкуКОформлениюФоновоеЗадание(Параметры) Экспорт
	
	КОформлению = ОбщегоНазначенияУТ.СформироватьГиперссылкуКОформлению(Параметры[0], Параметры[1]);
	Возврат КОформлению;
	
КонецФункции

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

#КонецЕсли

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