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