#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ИнвентаризацияОС") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Команда = Документы.ПринятиеКУчетуОС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 1);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.ПринятиеКУчетуОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 2);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.ПеремещениеОС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 3);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.ПеремещениеОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 4);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.ПереоценкаОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 5);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.СписаниеОС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 6);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.СписаниеОС2_4.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 7);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
Команда = Документы.ПрекращениеДоговораАренды.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, 8);
Если Команда <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(
Команда, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ИнвентаризацияОС);
КонецЕсли;
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ИнвентаризацияОС) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ИнвентаризацияОС.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ИнвентаризацияОС);
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВнеоборотныеАктивы2_2,ИспользоватьВнеоборотныеАктивы2_4";
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
#Область ЗаполнениеНаОсновании
Функция ДанныеЗаполненияНаОснованииИнвентаризации22(ДокументОснование, ДействияДокументовНаОсновании = "", Знач МассивНомеровСтрок=Неопределено) Экспорт
ВозвращаемоеЗначение = Новый Структура("Реквизиты, ТабличнаяЧасть");
МВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("Ссылка", ДокументОснование);
#Область ТекстЗапроса
Запрос.Текст=
"ВЫБРАТЬ
| ИнвентаризацияОС.Дата КАК ДатаДокумента,
| ИнвентаризацияОС.Организация КАК Организация
|ИЗ
| Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
|ГДЕ
| ИнвентаризацияОС.Ссылка = &Ссылка";
#КонецОбласти
Результат = Запрос.Выполнить();
ВозвращаемоеЗначение.Вставить("Реквизиты", Результат);
Выборка = Результат.Выбрать();
Если Не Выборка.Следующий() Тогда
Возврат ВозвращаемоеЗначение;
КонецЕсли;
ДобавитьВременнуюТаблицуСозданныхДокументовНаОсновании(МВТ, ДокументОснование, ДействияДокументовНаОсновании);
Запрос.УстановитьПараметр("Дата", Выборка.ДатаДокумента);
МассивДействий = Перечисления.ДействияНаОснованииИнвентаризации.МассивЗначенийПоЗаданнымИменам(ДействияДокументовНаОсновании);
Запрос.УстановитьПараметр("МассивДействийЗадан", МассивДействий.Количество()<>0);
Запрос.УстановитьПараметр("МассивДействий", МассивДействий);
Запрос.УстановитьПараметр("МассивНомеровСтрок", ?(МассивНомеровСтрок=Неопределено, Новый Массив, МассивНомеровСтрок));
Запрос.УстановитьПараметр("МассивНомеровСтрокЗадан", ?(МассивНомеровСтрок=Неопределено, Ложь, Истина));
#Область ТекстЗапроса
Запрос.Текст=
"ВЫБРАТЬ
| Операция.Ссылка КАК ИнвентаризацияСсылка,
| Операция.Организация КАК ИнвентаризацияОрганизация,
| Операция.Подразделение КАК ИнвентаризацияПодразделение,
| ТабличнаяЧасть.ОбъектУчета КАК ОсновноеСредство,
| ТабличнаяЧасть.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
| ТабличнаяЧасть.НаличиеПоДаннымУчета КАК НаличиеПоДаннымУчета,
| ТабличнаяЧасть.СтоимостьФактическая КАК СтоимостьФактическая,
| ТабличнаяЧасть.НаличиеФактическое КАК НаличиеФактическое,
| ТабличнаяЧасть.МОЛ КАК МОЛ,
| ТабличнаяЧасть.Действие
|ПОМЕСТИТЬ втДанныеДокумента
|ИЗ
| Документ.ИнвентаризацияОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Ссылка = &Ссылка
| И (НЕ &МассивНомеровСтрокЗадан
| ИЛИ ТабличнаяЧасть.НомерСтроки В (&МассивНомеровСтрок))
|;
|
|
|ВЫБРАТЬ
| втДанныеДокумента.ОсновноеСредство КАК ОсновноеСредство,
| втДанныеДокумента.ИнвентаризацияПодразделение КАК Подразделение,
| втДанныеДокумента.МОЛ КАК МОЛ,
| Местонахождения.МОЛ КАК УчетМОЛ,
| Местонахождения.Местонахождение КАК УчетПодразделение,
| ПервоначальныеСведенияОС.Контрагент КАК Арендодатель,
| ПорядокУчетаОСБУ.СостояниеБУ КАК УчетСостояние,
| втДанныеДокумента.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
| втДанныеДокумента.НаличиеПоДаннымУчета КАК НаличиеПоДаннымУчета,
| втДанныеДокумента.СтоимостьФактическая КАК СтоимостьФактическая,
| втДанныеДокумента.НаличиеФактическое КАК НаличиеФактическое,
| втДанныеДокумента.Действие КАК Действие
|ПОМЕСТИТЬ втДанныеЗаполнения
|ИЗ
| втДанныеДокумента КАК втДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| втДанныеДокумента.ИнвентаризацияОрганизация,
| втДанныеДокумента.ОсновноеСредство
| ИЗ
| втДанныеДокумента КАК втДанныеДокумента)) КАК Местонахождения
| ПО втДанныеДокумента.ОсновноеСредство = Местонахождения.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(
| &Дата,
| (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| втДанныеДокумента.ИнвентаризацияОрганизация,
| втДанныеДокумента.ОсновноеСредство
| ИЗ
| втДанныеДокумента КАК втДанныеДокумента)) КАК ПорядокУчетаОСБУ
| ПО втДанныеДокумента.ОсновноеСредство = ПорядокУчетаОСБУ.ОсновноеСредство
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И (Организация, ОсновноеСредство) В
| (ВЫБРАТЬ
| втДанныеДокумента.ИнвентаризацияОрганизация,
| втДанныеДокумента.ОсновноеСредство
| ИЗ
| втДанныеДокумента КАК втДанныеДокумента)) КАК ПервоначальныеСведенияОС
| ПО втДанныеДокумента.ОсновноеСредство = ПервоначальныеСведенияОС.ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| втДанныеЗаполнения.ОсновноеСредство,
| втДанныеЗаполнения.Подразделение,
| втДанныеЗаполнения.МОЛ,
| втДанныеЗаполнения.УчетМОЛ,
| втДанныеЗаполнения.УчетПодразделение,
| втДанныеЗаполнения.УчетСостояние,
| втДанныеЗаполнения.СтоимостьПоДаннымУчета,
| втДанныеЗаполнения.НаличиеПоДаннымУчета,
| втДанныеЗаполнения.СтоимостьФактическая,
| втДанныеЗаполнения.НаличиеФактическое,
| втДанныеЗаполнения.Действие,
| втДокументыНаОсновании.Ссылка КАК АктуальныйДокумент,
| втДанныеЗаполнения.ОсновноеСредство.Код КАК ИнвентарныйНомер,
| втДанныеЗаполнения.ОсновноеСредство.ГруппаОС КАК ГруппаОС
|ИЗ
| втДанныеЗаполнения КАК втДанныеЗаполнения
| ЛЕВОЕ СОЕДИНЕНИЕ втДокументыНаОсновании КАК втДокументыНаОсновании
| ПО втДанныеЗаполнения.ОсновноеСредство = втДокументыНаОсновании.ОсновноеСредство
| И втДанныеЗаполнения.Действие = втДокументыНаОсновании.Действие
| И (втДанныеЗаполнения.Подразделение = втДокументыНаОсновании.Подразделение
| ИЛИ втДанныеЗаполнения.Действие = ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПрекращениеДоговораАренды))
|ГДЕ
| (НЕ &МассивДействийЗадан
| ИЛИ втДанныеЗаполнения.Действие В (&МассивДействий))
| И втДокументыНаОсновании.Ссылка ЕСТЬ NULL ";
#КонецОбласти
ВозвращаемоеЗначение.Вставить("ТабличнаяЧасть", Запрос.Выполнить());
Возврат ВозвращаемоеЗначение;
КонецФункции
Функция ДанныеЗаполненияНаОснованииИнвентаризации24(ДокументОснование, Дата, ДействияДокументовНаОсновании = "", Знач МассивНомеровСтрок = Неопределено) Экспорт
ВозвращаемоеЗначение = Новый Структура("Реквизиты, ТабличнаяЧасть");
ТекстЗапроса =
"ВЫБРАТЬ
| ИнвентаризацияОС.Дата КАК ДатаДокумента,
| ИнвентаризацияОС.Организация КАК Организация,
| ИнвентаризацияОС.Подразделение КАК Местонахождение,
| ИнвентаризацияОС.МОЛ КАК МОЛ,
| ИСТИНА КАК ОтражатьВРегл,
| ИСТИНА КАК ОтражатьВУпрУчете
|ИЗ
| Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
|ГДЕ
| ИнвентаризацияОС.Ссылка = &Ссылка";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Ссылка", ДокументОснование);
Результат = Запрос.Выполнить();
ВозвращаемоеЗначение.Вставить("Реквизиты", Результат);
Выборка = Результат.Выбрать();
Если Не Выборка.Следующий() Тогда
Возврат ВозвращаемоеЗначение;
КонецЕсли;
МенеджерТаблиц = Новый МенеджерВременныхТаблиц;
МассивДействий = Перечисления.ДействияНаОснованииИнвентаризации.МассивЗначенийПоЗаданнымИменам(ДействияДокументовНаОсновании);
ДобавитьСозданныеДокументыНаОсновании2_4(МенеджерТаблиц, ДокументОснование, МассивДействий);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументОснование);
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("МассивДействийЗадан", ЗначениеЗаполнено(МассивДействий));
Запрос.УстановитьПараметр("МассивДействий", МассивДействий);
Запрос.УстановитьПараметр("МассивНомеровСтрок", ?(МассивНомеровСтрок = Неопределено, Новый Массив, МассивНомеровСтрок));
Запрос.УстановитьПараметр("МассивНомеровСтрокЗадан", ?(МассивНомеровСтрок = Неопределено, Ложь, Истина));
Запрос.Текст =
"ВЫБРАТЬ
| ИнвентаризацияОС.ОбъектУчета КАК ОсновноеСредство,
| ИнвентаризацияОС.МОЛ КАК МОЛПолучатель,
| ВЫРАЗИТЬ(ИнвентаризацияОС.ОбъектУчета КАК Справочник.ОбъектыЭксплуатации).Код КАК ИнвентарныйНомер,
| ВЫРАЗИТЬ(ИнвентаризацияОС.ОбъектУчета КАК Справочник.ОбъектыЭксплуатации).ГруппаОС КАК ГруппаОС,
| ИнвентаризацияОС.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
| ИнвентаризацияОС.СтоимостьФактическая КАК СтоимостьФактическая,
| МестонахождениеОС.Организация КАК МестонахождениеОрганизация,
| МестонахождениеОС.Местонахождение КАК МестонахождениеПодразделение,
| МестонахождениеОС.МОЛ КАК МестонахождениеМОЛ
|ИЗ
| Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ втДокументыНаОсновании2_4 КАК ДокументыНаОсновании
| ПО ИнвентаризацияОС.ОбъектУчета = ДокументыНаОсновании.ОсновноеСредство
| И ИнвентаризацияОС.Действие = ДокументыНаОсновании.Действие
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ОсновноеСредство В (
| ВЫБРАТЬ
| ИнвентаризацияОС.ОбъектУчета
| ИЗ
| Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОС
| ГДЕ
| ИнвентаризацияОС.Ссылка = &Ссылка)) КАК МестонахождениеОС
| ПО МестонахождениеОС.ОсновноеСредство = ИнвентаризацияОС.ОбъектУчета
|ГДЕ
| ИнвентаризацияОС.Ссылка = &Ссылка
| И (НЕ &МассивНомеровСтрокЗадан
| ИЛИ ИнвентаризацияОС.НомерСтроки В (&МассивНомеровСтрок))
| И (НЕ &МассивДействийЗадан
| ИЛИ ИнвентаризацияОС.Действие В (&МассивДействий))
| И ДокументыНаОсновании.Ссылка ЕСТЬ NULL";
ВозвращаемоеЗначение.Вставить("ТабличнаяЧасть", Запрос.Выполнить());
Возврат ВозвращаемоеЗначение;
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Функция ДанныеУчета(Организация, Подразделение, МОЛ, Дата, ХозяйственнаяОперация, СписокОС = Неопределено) Экспорт
ТекущиеДанныеУчета = Новый ТаблицаЗначений;
ТекущиеДанныеУчета.Колонки.Добавить("ОбъектУчета", Новый ОписаниеТипов("СправочникСсылка.ОбъектыЭксплуатации, СправочникСсылка.ОбъектыСтроительства"));
ТекущиеДанныеУчета.Колонки.Добавить("ОрганизацияПоДаннымУчета", Новый ОписаниеТипов("СправочникСсылка.Организации"));
ТекущиеДанныеУчета.Колонки.Добавить("ПодразделениеПоДаннымУчета", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"));
ТекущиеДанныеУчета.Колонки.Добавить("МОЛ", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
ТекущиеДанныеУчета.Колонки.Добавить("МОЛПоДаннымУчета", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
ТекущиеДанныеУчета.Колонки.Добавить("ОрганизацииВзаимосвязаны", Новый ОписаниеТипов("Булево"));
ТекущиеДанныеУчета.Колонки.Добавить("ПолученоВАренду", Новый ОписаниеТипов("Булево"));
ТекущиеДанныеУчета.Колонки.Добавить("Договор", Новый ОписаниеТипов("СправочникСсылка.ДоговорыАренды, СправочникСсылка.ДоговорыКонтрагентов"));
ТекущиеДанныеУчета.Колонки.Добавить("НаличиеПоДаннымУчета", Новый ОписаниеТипов("Булево"));
ТекущиеДанныеУчета.Колонки.Добавить("Состояние", Новый ОписаниеТипов("ПеречислениеСсылка.СостоянияОС"));
ТекущиеДанныеУчета.Колонки.Добавить("СтоимостьПоДаннымУчета");
ТекущиеДанныеУчета.Колонки.Добавить("ИнвентарныйНомер");
ТекущиеДанныеУчета.Колонки.Добавить("Код");
ТекущиеДанныеУчета.Колонки.Добавить("ХозяйственнаяОперация");
Если СписокОС <> Неопределено И СписокОС.Количество() = 0 Тогда
Возврат ТекущиеДанныеУчета;
КонецЕсли;
ТекстЗапроса = ?(ВнеоборотныеАктивы.ИспользуетсяУправлениеВНА_2_4(Дата),
ТекстЗапросаДанныеУчета24(ХозяйственнаяОперация),
ТекстЗапросаДанныеУчета22(ХозяйственнаяОперация));
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Подразделение", Подразделение);
Запрос.УстановитьПараметр("МОЛ", МОЛ);
Запрос.УстановитьПараметр("ПоВсемМОЛ", НЕ ЗначениеЗаполнено(МОЛ));
Запрос.УстановитьПараметр("ХозяйственнаяОперация", ХозяйственнаяОперация);
Запрос.УстановитьПараметр("СписокОС", ?(СписокОС <> Неопределено, СписокОС, Новый Массив));
Запрос.УстановитьПараметр("ПоСпискуОС", ?(СписокОС <> Неопределено, Истина, Ложь));
Запрос.УстановитьПараметр("Дата", ?(ЗначениеЗаполнено(Дата), КонецДня(Дата), КонецДня(ТекущаяДатаСеанса())));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ВзаимосвязанныеОрганизации = Справочники.Организации.МассивВзаимосвязанныхОрганизаций(Организация);
Пока Выборка.Следующий() Цикл
ДанныеУчета = ТекущиеДанныеУчета.Добавить();
ЗаполнитьЗначенияСвойств(ДанныеУчета, Выборка);
ДанныеУчета.ОрганизацииВзаимосвязаны =
Выборка.ОрганизацияПоДаннымУчета = Организация
ИЛИ ВзаимосвязанныеОрганизации.Найти(Выборка.ОрганизацияПоДаннымУчета) <> Неопределено;
КонецЦикла;
Возврат ТекущиеДанныеУчета;
КонецФункции
Процедура ЗаполнитьДанныеУчета(Объект, КоллекцияСтрок, ЭтоЧтениеОбъекта, ЗаполнитьСлужебныеРеквизиты = Ложь) Экспорт
СписокОС = Новый Массив;
Для каждого ДанныеСтроки Из КоллекцияСтрок Цикл
СписокОС.Добавить(ДанныеСтроки.ОбъектУчета);
КонецЦикла;
ДанныеУчетаПоСтрокам = ДанныеУчета(
Объект.Организация,
Объект.Подразделение,
Объект.МОЛ,
Объект.Дата,
Объект.ХозяйственнаяОперация,
СписокОС);
ИспользуетсяУправлениеВНА_2_4 = ВнеоборотныеАктивы.ИспользуетсяУправлениеВНА_2_4(Объект.Дата);
Для каждого ДанныеСтроки Из КоллекцияСтрок Цикл
ДанныеУчета = ДанныеУчетаПоСтрокам.Найти(ДанныеСтроки.ОбъектУчета, "ОбъектУчета");
ПараметрыИнвентаризации = Новый Структура;
ПараметрыИнвентаризации.Вставить("Организация", Объект.Организация);
ПараметрыИнвентаризации.Вставить("Подразделение", Объект.Подразделение);
ПараметрыИнвентаризации.Вставить("МОЛ", Объект.МОЛ);
ВнеоборотныеАктивыКлиентСерверЛокализация.ЗаполнитьДанныеУчетаВСтрокеИнвентаризацииОС(
ДанныеСтроки,
ДанныеУчета,
ПараметрыИнвентаризации,
ЭтоЧтениеОбъекта,
ЗаполнитьСлужебныеРеквизиты,
ИспользуетсяУправлениеВНА_2_4);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ИнвентаризацияОС";
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ВЗапросеЕстьИсточник = Истина;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ПометкаУдаления,
| ДанныеДокумента.Номер,
| ДанныеДокумента.Проведен,
| ДанныеДокумента.Комментарий,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация,
| ДанныеДокумента.Ответственный
|ИЗ
| Документ.ИнвентаризацияОС КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ИнвентаризацияОС"));
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Проведен КАК Проведен,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ИдентификаторМетаданных КАК ТипСсылки,
| ЛОЖЬ КАК ОтражатьВРеглУчете,
| ЛОЖЬ КАК ОтражатьВУпрУчете,
| ТаблицаОС.ОбъектУчета КАК ОсновноеСредство
|ИЗ
| Документ.ИнвентаризацияОС КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияОС.ОС КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
| И ТаблицаОС.ОбъектУчета ССЫЛКА Справочник.ОбъектыЭксплуатации
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ИНВ1";
КомандаПечати.Представление = НСтр("ru = 'ИНВ-1 (Инвентаризационная опись)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ИНВ18";
КомандаПечати.Представление = НСтр("ru = 'ИНВ-18 (Сличительная ведомость)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ИНВ22";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьИНВ22";
КомандаПечати.Представление = НСтр("ru = 'ИНВ-22 (Приказ о проведении инвентаризации)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецПроцедуры
Функция ДанныеДляПечатнойФормыИНВ22(ПараметрыПечати, МассивОбъектов) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивСсылок", МассивОбъектов);
Запрос.УстановитьПараметр("НаименованиеИмуществаОбязательствШапка", НСтр("ru = 'основных средств'"));
Запрос.УстановитьПараметр("НаименованиеИмуществаОбязательствПодвал", НСтр("ru = 'основные средства'"));
Запрос.Текст =
"ВЫБРАТЬ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| ИнвентаризацияОС.Дата КАК Дата,
| ИнвентаризацияОС.Номер КАК Номер,
| &НаименованиеИмуществаОбязательствШапка КАК НаименованиеИмуществаОбязательствШапка,
| &НаименованиеИмуществаОбязательствПодвал КАК НаименованиеИмуществаОбязательствПодвал,
| ИнвентаризацияОС.Организация КАК Организация,
| ИнвентаризацияОС.Подразделение КАК ПодразделениеОрганизации,
| ИнвентаризацияОС.Подразделение.Наименование КАК Подразделение,
| ИнвентаризацияОС.ДатаНачалаИнвентаризации КАК ДатаНачалаИнвентаризации,
| ИнвентаризацияОС.ДатаОкончанияИнвентаризации КАК ДатаОкончанияИнвентаризации,
| ИнвентаризацияОС.ДокументОснованиеДата КАК ДокументОснованиеДата,
| ИнвентаризацияОС.ДокументОснованиеНомер КАК ДокументОснованиеНомер,
| ИнвентаризацияОС.ПричинаПроведенияИнвентаризации КАК ПричинаПроведенияИнвентаризации,
| ИнвентаризацияОС.ИнвентаризационнаяКомиссия.(
| Ссылка,
| НомерСтроки,
| ФизЛицо.Наименование КАК ФИОПолные,
| """" КАК Должность,
| Председатель КАК Председатель
| ) КАК ИнвентаризационнаяКомиссия
|ИЗ
| Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
|ГДЕ
| ИнвентаризацияОС.Ссылка В(&МассивСсылок)
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка
|АВТОУПОРЯДОЧИВАНИЕ";
Возврат Запрос.Выполнить();
КонецФункции
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ИНВ1") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ИНВ1",
НСтр("ru = 'ИНВ-1 (Инвентаризационная опись)'"),
ПечатьИНВ1(МассивОбъектов, ОбъектыПечати, ПараметрыПечати));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ИНВ18") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ИНВ18",
НСтр("ru = 'ИНВ-18 (Сличительная ведомость)'"),
ПечатьИНВ18(МассивОбъектов, ОбъектыПечати, ПараметрыПечати));
КонецЕсли;
КонецПроцедуры
Функция ПечатьИНВ1(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
ТаблицаИтогов = Новый ТаблицаЗначений();
ТаблицаИтогов.Колонки.Добавить("ПорядковыйНомерИтогов");
ТаблицаИтогов.Колонки.Добавить("ИтогНаличиеФактическое");
ТаблицаИтогов.Колонки.Добавить("ИтогСтоимостьФактическая");
ТаблицаИтогов.Колонки.Добавить("ИтогНаличиеПоДаннымУчета");
ТаблицаИтогов.Колонки.Добавить("ИтогСтоимостьПоДаннымУчета");
ТаблицаИтогов.Колонки.Добавить("КоличествоФактическоеПрописью");
ТаблицаИтогов.Колонки.Добавить("СтоимостьФактическаяПрописью");
ЗаголовокРазделаПодписей = Новый Структура();
ЗаголовокРазделаПодписей.Вставить("МОЛ", НСтр("ru = 'Лицо(а), ответственное(ые) за сохранность основных средств:'"));
ЗаголовокРазделаПодписей.Вставить("ПредседательКомиссии", НСтр("ru = 'Председатель комиссии'"));
ЗаголовокРазделаПодписей.Вставить("ЧленыКомиссии", НСтр("ru = 'Члены комиссии'"));
ЗаголовокРазделаПодписей.Вставить("Проверяющий", НСтр("ru = 'Указанные в настоящей описи данные и расчеты проверил'"));
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияОС_ИНВ1";
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ИнвентаризацияОС.ПФ_MXL_ИНВ1");
Шапка = Макет.ПолучитьОбласть("Шапка");
Расписка = Макет.ПолучитьОбласть("Расписка");
Примечание = Макет.ПолучитьОбласть("Примечание");
Подпись = Макет.ПолучитьОбласть("Подпись");
ПолеДаты = Макет.ПолучитьОбласть("ПолеДаты");
ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
ИтогоПоОписи = Макет.ПолучитьОбласть("ИтогоПоОписи");
Итоги = Макет.ПолучитьОбласть("Итоги");
Подсчеты = Макет.ПолучитьОбласть("Подсчеты");
Претензии = Макет.ПолучитьОбласть("Претензии");
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ИнвентаризацияОСОС.Ссылка КАК Ссылка,
| ИнвентаризацияОСОС.Ссылка.Дата КАК Дата,
| ИнвентаризацияОСОС.НомерСтроки КАК НомерСтроки,
| ИнвентаризацияОСОС.ОбъектУчета КАК ОсновноеСредство,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.Ссылка.МОЛ <> ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ТОГДА ИнвентаризацияОСОС.Ссылка.МОЛ
| ИНАЧЕ ИнвентаризацияОСОС.МОЛ
| КОНЕЦ КАК МОЛ,
| ИнвентаризацияОСОС.Ссылка.Организация КАК Организация,
| ИнвентаризацияОСОС.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
| ИнвентаризацияОСОС.СтоимостьФактическая КАК СтоимостьФактическая,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.НаличиеПоДаннымУчета = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК НаличиеПоДаннымУчета,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.НаличиеФактическое = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК НаличиеФактическое
|ПОМЕСТИТЬ ТаблицаОС
|ИЗ
| Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОСОС
|ГДЕ
| ИнвентаризацияОСОС.Ссылка В(&МассивОбъектов)
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация,
| Ссылка
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.МОЛ КАК МОЛ
|ПОМЕСТИТЬ МестонахождениеОС
|ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Период КАК Период,
| МАКСИМУМ(ТаблицаРегистра.Регистратор) КАК Регистратор
| ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| МАКСИМУМ(ТаблицаРегистра.Период) КАК Период
| ИЗ
| ТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = ТаблицаОС.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = ТаблицаОС.ОсновноеСредство)
| И (ТаблицаРегистра.Период <= ТаблицаОС.Дата)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство) КАК СрезПериод
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезПериод.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезПериод.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезПериод.Период)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство,
| ТаблицаРегистра.Период) КАК СрезРегистратор
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезРегистратор.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезРегистратор.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезРегистратор.Период)
| И (ТаблицаРегистра.Регистратор = СрезРегистратор.Регистратор)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ КАК ДатаВводаВЭксплуатациюБУ,
| ТаблицаРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ,
| ТаблицаРегистра.Контрагент КАК Арендодатель
|ПОМЕСТИТЬ ПервоначальныеСведенияОС
|ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Период КАК Период,
| МАКСИМУМ(ТаблицаРегистра.Регистратор) КАК Регистратор
| ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| МАКСИМУМ(ТаблицаРегистра.Период) КАК Период
| ИЗ
| ТаблицаОС КАК ТаблицаОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = ТаблицаОС.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = ТаблицаОС.ОсновноеСредство)
| И (ТаблицаРегистра.Период <= ТаблицаОС.Дата)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство) КАК СрезПериод
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезПериод.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезПериод.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезПериод.Период)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство,
| ТаблицаРегистра.Период) КАК СрезРегистратор
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезРегистратор.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезРегистратор.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезРегистратор.Период)
| И (ТаблицаРегистра.Регистратор = СрезРегистратор.Регистратор)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаОС.Ссылка,
| ТаблицаОС.НомерСтроки,
| ТаблицаОС.ОсновноеСредство,
| ТаблицаОС.Организация,
| ТаблицаОС.СтоимостьПоДаннымУчета,
| ТаблицаОС.СтоимостьФактическая,
| ТаблицаОС.НаличиеПоДаннымУчета,
| ТаблицаОС.НаличиеФактическое,
| ТаблицаОС.ОсновноеСредство.ИнвентарныйНомер КАК ИнвентарныйНомер,
| ЕСТЬNULL(МестонахождениеОС.МОЛ, НЕОПРЕДЕЛЕНО) КАК МОЛ,
| ВЫБОР
| КОГДА ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ ССЫЛКА Документ.ПоступлениеАрендованныхОС
| ТОГДА ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ДокументАренды,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.Арендодатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА """"
| КОГДА ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ ССЫЛКА Документ.ПринятиеКУчетуОС
| ИЛИ ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ ССЫЛКА Документ.ПринятиеКУчетуОС2_4
| ТОГДА ""Принятие к учету""
| КОГДА ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ ССЫЛКА Документ.ПоступлениеАрендованныхОС
| ТОГДА ""Поступление арендованных ОС""
| КОГДА ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ ССЫЛКА Документ.ЗаключениеДоговораАренды
| ТОГДА ""Поступление предметов лизинга""
| КОГДА НЕ ВводОстатковВнеоборотныхАктивов.Ссылка ЕСТЬ NULL
| И ВводОстатковВнеоборотныхАктивов.НазваниеДокументаПринятияКУчету <> """"
| ТОГДА ВводОстатковВнеоборотныхАктивов.НазваниеДокументаПринятияКУчету
| КОГДА НЕ ВводОстатковВнеоборотныхАктивов24.Ссылка ЕСТЬ NULL
| И ВводОстатковВнеоборотныхАктивов24.НазваниеДокументаПринятияКУчету <> """"
| ТОГДА ВводОстатковВнеоборотныхАктивов24.НазваниеДокументаПринятияКУчету
| КОГДА НЕ ВводОстатковВнеоборотныхАктивов.Ссылка ЕСТЬ NULL
| ИЛИ НЕ ВводОстатковВнеоборотныхАктивов24.Ссылка ЕСТЬ NULL
| ТОГДА ""Ввод остатков""
| ИНАЧЕ """"
| КОНЕЦ КАК ДокументАрендыПредставление,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.Арендодатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА """"
| КОГДА НЕ ВводОстатковВнеоборотныхАктивов.Ссылка ЕСТЬ NULL
| И ВводОстатковВнеоборотныхАктивов.НомерДокументаПринятияКУчету <> """"
| ТОГДА ВводОстатковВнеоборотныхАктивов.НомерДокументаПринятияКУчету
| КОГДА НЕ ВводОстатковВнеоборотныхАктивов24.Ссылка ЕСТЬ NULL
| И ВводОстатковВнеоборотныхАктивов24.НомерДокументаПринятияКУчету <> """"
| ТОГДА ВводОстатковВнеоборотныхАктивов24.НомерДокументаПринятияКУчету
| ИНАЧЕ РеестрДокументов.НомерДокументаИБ
| КОНЕЦ КАК ДокументАрендыНомер,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ПервоначальныеСведенияОС.Арендодатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА ПервоначальныеСведенияОС.ДатаВводаВЭксплуатациюБУ
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК ДокументАрендыДата,
|
| ЕСТЬNULL(ПервоначальныеСведенияОС.Арендодатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК Арендодатель
|ПОМЕСТИТЬ ОСИСведения
|ИЗ
| ТаблицаОС КАК ТаблицаОС
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО ТаблицаОС.ОсновноеСредство = МестонахождениеОС.ОсновноеСредство
| И ТаблицаОС.Организация = МестонахождениеОС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО ТаблицаОС.ОсновноеСредство = ПервоначальныеСведенияОС.ОсновноеСредство
| И ТаблицаОС.Организация = ПервоначальныеСведенияОС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ПО РеестрДокументов.Ссылка = ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ
| И НЕ РеестрДокументов.ДополнительнаяЗапись
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатковВнеоборотныхАктивов.ОС КАК ВводОстатковВнеоборотныхАктивов
| ПО (ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ = ВводОстатковВнеоборотныхАктивов.Ссылка)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = ВводОстатковВнеоборотныхАктивов.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатковВнеоборотныхАктивов2_4.ОС КАК ВводОстатковВнеоборотныхАктивов24
| ПО (ПервоначальныеСведенияОС.ДокументВводаВЭксплуатациюБУ = ВводОстатковВнеоборотныхАктивов24.Ссылка)
| И (ПервоначальныеСведенияОС.ОсновноеСредство = ВводОстатковВнеоборотныхАктивов24.ОсновноеСредство)
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| ИнвентаризацияОС.Дата КАК Дата,
| ТаблицаОС.МОЛ КАК МОЛ
|ИЗ
| Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаОС КАК ТаблицаОС
| ПО ИнвентаризацияОС.Ссылка = ТаблицаОС.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| МАКСИМУМ(ВЫБОР КОГДА ОСИСведения.Арендодатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЕстьСобственные,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОСИСведения.Арендодатель) КАК КоличествоАрендодателей,
| МАКСИМУМ(ОСИСведения.Арендодатель) КАК Арендодатель
|ИЗ
| Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОСИСведения КАК ОСИСведения
| ПО (ОСИСведения.Ссылка = ОСИСведения.Ссылка)
|
|СГРУППИРОВАТЬ ПО
| ИнвентаризацияОС.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| ИнвентаризацияОС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИнвентаризацияОС.Дата КАК Дата,
| ИнвентаризацияОС.Номер КАК Номер,
| ИнвентаризацияОС.Организация КАК Организация,
| ИнвентаризацияОС.Подразделение КАК Подразделение,
| ИнвентаризацияОС.Подразделение.Представление КАК ПодразделениеПредставление,
| ИнвентаризацияОС.ДатаНачалаИнвентаризации КАК ДатаНачалаИнвентаризации,
| ИнвентаризацияОС.ДатаОкончанияИнвентаризации КАК ДатаОкончанияИнвентаризации,
| ИнвентаризацияОС.ДокументОснованиеВид КАК ДокументОснованиеВид,
| ИнвентаризацияОС.ДокументОснованиеДата КАК ДокументОснованиеДата,
| ИнвентаризацияОС.ДокументОснованиеНомер КАК ДокументОснованиеНомер,
| ОСИСведения.НомерСтроки КАК НомерСтроки,
| ОСИСведения.НомерСтроки КАК МинНомерСтроки,
| ОСИСведения.НомерСтроки КАК МаксНомерСтроки,
| ОСИСведения.ОсновноеСредство,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОСИСведения.ОсновноеСредство) = ТИП(Справочник.ОбъектыСтроительства)
| ТОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыСтроительства).Наименование
| КОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).НаименованиеПолное ПОДОБНО """"
| ТОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).Наименование
| ИНАЧЕ ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).НаименованиеПолное
| КОНЕЦ КАК ОсновноеСредствоНаименованиеПолное,
| ОСИСведения.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
| ОСИСведения.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
| ОСИСведения.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
| ОСИСведения.СтоимостьПоДаннымУчета,
| ОСИСведения.СтоимостьФактическая КАК СтоимостьФактическая,
| ОСИСведения.НаличиеПоДаннымУчета КАК НаличиеПоДаннымУчета,
| ОСИСведения.НаличиеФактическое КАК НаличиеФактическое,
| ОСИСведения.ИнвентарныйНомер,
| ИнвентаризацияОС.ИнвентаризационнаяКомиссия.(
| ФизЛицо,
| Председатель КАК Председатель
| ) КАК Комиссия,
| ОСИСведения.ДокументАрендыПредставление,
| ОСИСведения.ДокументАрендыНомер,
| ОСИСведения.ДокументАрендыДата,
| ОСИСведения.Арендодатель
|ИЗ
| ОСИСведения КАК ОСИСведения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
| ПО ОСИСведения.Ссылка = ИнвентаризацияОС.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка,
| ОСИСведения.НомерСтроки";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаМОЛ = РезультатЗапроса[РезультатЗапроса.ВГраница()-2].Выбрать();
ВыборкаАрендодатель = РезультатЗапроса[РезультатЗапроса.ВГраница()-1].Выбрать();
Док = РезультатЗапроса[РезультатЗапроса.ВГраница()].Выбрать();
ПервыйДокумент = Истина;
Пока Док.СледующийПоЗначениюПоля("Ссылка") Цикл
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ТаблицаИтогов.Очистить();
ТаблицаИнвентаризационнаяКомиссия = Док.Комиссия.Выгрузить();
Если Док.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнвентаризацияОС Тогда
РежимСобственности = НСтр("ru = 'в собственности'");
Иначе
РежимСобственности = "";
КонецЕсли;
Арендодатель = Неопределено;
Если ВыборкаАрендодатель.НайтиСледующий(Док.Ссылка, "Ссылка") Тогда
Если ВыборкаАрендодатель.ЕстьСобственные И ВыборкаАрендодатель.КоличествоАрендодателей > 1 Тогда
РежимСобственности = НСтр("ru = 'в собственности организации, в т.ч. арендованные'");
ИначеЕсли НЕ ВыборкаАрендодатель.ЕстьСобственные Тогда
Если ВыборкаАрендодатель.КоличествоАрендодателей = 1 Тогда
Арендодатель = ВыборкаАрендодатель.Арендодатель;
КонецЕсли;
РежимСобственности = НСтр("ru='арендованные'");
КонецЕсли;
КонецЕсли;
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Док.Организация, Док.Дата);
Шапка.Параметры.Заполнить(Док);
Шапка.Параметры.Организация = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации);
Шапка.Параметры.ОрганизацияКодПоОКПО = СведенияОбОрганизации.КодПоОКПО;
Шапка.Параметры.РежимСобственности = РежимСобственности;
Шапка.Параметры.Подразделение = Док.ПодразделениеПредставление;
Шапка.Параметры.Местонахождение = Док.ПодразделениеПредставление;
Шапка.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Док.Номер);
Шапка.Параметры.ДатаДокумента = Док.Дата;
Шапка.Параметры.Арендодатель = Арендодатель;
ТабличныйДокумент.Вывести(Шапка);
ТабличныйДокумент.Вывести(Расписка);
ВыборкаМОЛ.СледующийПоЗначениюПоля("Ссылка");
МассивМОЛ = Новый Массив;
Пока ВыборкаМОЛ.Следующий() Цикл
Если МассивМОЛ.Найти(ВыборкаМОЛ.МОЛ) = Неопределено Тогда
МассивМОЛ.Добавить(ВыборкаМОЛ.МОЛ);
КонецЕсли;
КонецЦикла;
ВыводитьЗаголовок = Истина;
ВыводитьПримечание = Истина;
ДанныеМОЛ = УправлениеВнеоборотнымиАктивамиПереопределяемый.ДанныеФизЛиц(Док.Организация, МассивМОЛ, Док.Дата);
Для каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
ПодписьСПримечанием = Новый Массив;
ПодписьСПримечанием.Добавить(Подпись);
ПодписьСПримечанием.Добавить(Примечание);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ПодписьСПримечанием) Тогда
ТабличныйДокумент.Вывести(Примечание);
ВыводитьПримечание = Ложь;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.МОЛ, "");
Подпись.Параметры.Должность = СтрокаМОЛ.Должность;
Подпись.Параметры.РасшифровкаПодписи = СтрокаМОЛ.Представление;
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
Если ДанныеМОЛ.Количество() < 3 Тогда
ПодписьСПримечанием = Новый Массив;
ПодписьСПримечанием.Добавить(Подпись);
ПодписьСПримечанием.Добавить(Примечание);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ПодписьСПримечанием) Тогда
ТабличныйДокумент.Вывести(Примечание);
ВыводитьПримечание = Ложь;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Для Итератор = ДанныеМОЛ.Количество() + 1 По 3 Цикл
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.МОЛ, "");
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
КонецЕсли;
Если ВыводитьПримечание Тогда
ТабличныйДокумент.Вывести(Примечание);
КонецЕсли;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ЗаголовокТаблицы);
ПорядковыйНомерИтогов = 1;
НаличиеФактическоеПоСтранице = 0;
СтоимостьФактическаяПоСтранице = 0;
НаличиеПоДаннымУчетаПоСтранице = 0;
СтоимостьПоДаннымУчетаПоСтранице = 0;
КоличествоПорядковыхНомеровНаСтранице = 0;
НаличиеФактическоеПоОписи = 0;
СтоимостьФактическаяПоОписи = 0;
КоличествоПорядковыхНомеровПоОписи = 0;
Пока Док.Следующий() Цикл
СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
СтрокаТаблицы.Параметры.Заполнить(Док);
СтрокаТаблицы.Параметры.ДокументАрендыНомер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Док.ДокументАрендыНомер, Истина, Ложь);
СтрокаТаблицы.Области.НаличиеФактическое.Имя = "НаличиеФактическое" + Формат(Док.НомерСтроки, "ЧДЦ=0; ЧН=; ЧГ=");
СтрокаТаблицы.Области.СтоимостьФактическая.Имя = "СтоимостьФактическая" + Формат(Док.НомерСтроки, "ЧДЦ=0; ЧН=; ЧГ=");
СтрокаТаблицы.Области.НаличиеПоДаннымУчета.Имя = "НаличиеПоДаннымУчета" + Формат(Док.НомерСтроки, "ЧДЦ=0; ЧН=; ЧГ=");
СтрокаТаблицы.Области.СтоимостьПоДаннымУчета.Имя = "СтоимостьПоДаннымУчета" + Формат(Док.НомерСтроки, "ЧДЦ=0; ЧН=; ЧГ=");
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(СтрокаТаблицы);
СтрокаСПодвалом.Добавить(ИтогоПоСтранице);
СтрокаСПодвалом.Добавить(Итоги);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, СтрокаСПодвалом) Тогда
ИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
ИтогоПоСтранице.Области.ИтогНаличиеФактическое.Имя = "ИтогНаличиеФактическое" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогСтоимостьФактическая.Имя = "ИтогСтоимостьФактическая" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогНаличиеПоДаннымУчета.Имя = "ИтогНаличиеПоДаннымУчета" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогСтоимостьПоДаннымУчета.Имя = "ИтогСтоимостьПоДаннымУчета" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Параметры.ИтогСтоимостьФактическая = СтоимостьФактическаяПоСтранице;
ИтогоПоСтранице.Параметры.ИтогНаличиеФактическое = НаличиеФактическоеПоСтранице;
ИтогоПоСтранице.Параметры.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
ИтогоПоСтранице.Параметры.ИтогНаличиеПоДаннымУчета = НаличиеПоДаннымУчетаПоСтранице;
ТабличныйДокумент.Вывести(ИтогоПоСтранице);
Итоги = Макет.ПолучитьОбласть("Итоги");
Итоги.Области.КоличествоФактическоеПрописью.Имя = "КоличествоФактическоеПрописью" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
Итоги.Области.СтоимостьФактическаяПрописью.Имя = "СтоимостьФактическаяПрописью" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
КоличествоФактическоеПрописью = ЧислоПрописью(НаличиеФактическоеПоСтранице,, ",,,ж,,,,,0");
СтоимостьФактическаяПрописью = РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(СтоимостьФактическаяПоСтранице,
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Док.Организация));
Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(КоличествоПорядковыхНомеровНаСтранице,, ",,,м,,,,,0");
Итоги.Параметры.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
Итоги.Параметры.СтоимостьФактическаяПрописью = СтоимостьФактическаяПрописью;
ТабличныйДокумент.Вывести(Итоги);
НоваяСтрока = ТаблицаИтогов.Добавить();
НоваяСтрока.ПорядковыйНомерИтогов = ПорядковыйНомерИтогов;
НоваяСтрока.ИтогНаличиеФактическое = НаличиеФактическоеПоСтранице;
НоваяСтрока.ИтогСтоимостьФактическая = СтоимостьФактическаяПоСтранице;
НоваяСтрока.ИтогНаличиеПоДаннымУчета = НаличиеПоДаннымУчетаПоСтранице;
НоваяСтрока.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
НоваяСтрока.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
НоваяСтрока.СтоимостьФактическаяПрописью = СтоимостьФактическаяПрописью;
ПорядковыйНомерИтогов = ПорядковыйНомерИтогов + 1;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ЗаголовокТаблицы);
НаличиеФактическоеПоСтранице = 0;
СтоимостьФактическаяПоСтранице = 0;
НаличиеПоДаннымУчетаПоСтранице = 0;
СтоимостьПоДаннымУчетаПоСтранице = 0;
КоличествоПорядковыхНомеровНаСтранице = 0;
КонецЕсли;
ТабличныйДокумент.Вывести(СтрокаТаблицы);
НаличиеФактическоеПоСтранице = НаличиеФактическоеПоСтранице + Док.НаличиеФактическое;
СтоимостьФактическаяПоСтранице = СтоимостьФактическаяПоСтранице + Док.СтоимостьФактическая;
НаличиеПоДаннымУчетаПоСтранице = НаличиеПоДаннымУчетаПоСтранице + Док.НаличиеПоДаннымУчета;
СтоимостьПоДаннымУчетаПоСтранице = СтоимостьПоДаннымУчетаПоСтранице + Док.СтоимостьПоДаннымУчета;
КоличествоПорядковыхНомеровНаСтранице = КоличествоПорядковыхНомеровНаСтранице + 1;
НаличиеФактическоеПоОписи = НаличиеФактическоеПоОписи + Док.НаличиеФактическое;
СтоимостьФактическаяПоОписи = СтоимостьФактическаяПоОписи + Док.СтоимостьФактическая;
КоличествоПорядковыхНомеровПоОписи = КоличествоПорядковыхНомеровПоОписи + 1;
КонецЦикла;
ИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
ИтогоПоСтранице.Области.ИтогНаличиеФактическое.Имя = "ИтогНаличиеФактическое" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогСтоимостьФактическая.Имя = "ИтогСтоимостьФактическая" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогНаличиеПоДаннымУчета.Имя = "ИтогНаличиеПоДаннымУчета" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Области.ИтогСтоимостьПоДаннымУчета.Имя = "ИтогСтоимостьПоДаннымУчета" + Формат(ПорядковыйНомерИтогов, "ЧДЦ=0; ЧН=; ЧГ=");
ИтогоПоСтранице.Параметры.ИтогСтоимостьФактическая = СтоимостьФактическаяПоСтранице;
ИтогоПоСтранице.Параметры.ИтогНаличиеФактическое = НаличиеФактическоеПоСтранице;
ИтогоПоСтранице.Параметры.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
ИтогоПоСтранице.Параметры.ИтогНаличиеПоДаннымУчета = НаличиеПоДаннымУчетаПоСтранице;
ТабличныйДокумент.Вывести(ИтогоПоСтранице);
Итоги = Макет.ПолучитьОбласть("Итоги");
Итоги.Области.КоличествоФактическоеПрописью.Имя = "КоличествоФактическоеПрописью" + ПорядковыйНомерИтогов;
Итоги.Области.СтоимостьФактическаяПрописью.Имя = "СтоимостьФактическаяПрописью" + ПорядковыйНомерИтогов;
КоличествоФактическоеПрописью = ЧислоПрописью(НаличиеФактическоеПоСтранице,, ",,,ж,,,,,0");
СтоимостьФактическаяПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(СтоимостьФактическаяПоСтранице,
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Док.Организация));
Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(КоличествоПорядковыхНомеровНаСтранице,, ",,,м,,,,,0");
Итоги.Параметры.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
Итоги.Параметры.СтоимостьФактическаяПрописью = СтоимостьФактическаяПрописью;
ТабличныйДокумент.Вывести(Итоги);
НоваяСтрока = ТаблицаИтогов.Добавить();
НоваяСтрока.ПорядковыйНомерИтогов = ПорядковыйНомерИтогов;
НоваяСтрока.ИтогНаличиеФактическое = НаличиеФактическоеПоСтранице;
НоваяСтрока.ИтогСтоимостьФактическая = СтоимостьФактическаяПоСтранице;
НоваяСтрока.ИтогНаличиеПоДаннымУчета = НаличиеПоДаннымУчетаПоСтранице;
НоваяСтрока.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
НоваяСтрока.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
НоваяСтрока.СтоимостьФактическаяПрописью = СтоимостьФактическаяПрописью;
ПорядковыйНомерИтогов = ПорядковыйНомерИтогов + 1;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ИтогоПоОписи);
Итоги = Макет.ПолучитьОбласть("Итоги");
Итоги.Области.КоличествоФактическоеПрописью.Имя = "КоличествоФактическоеПрописьюПоОписи";
Итоги.Области.СтоимостьФактическаяПрописью.Имя = "СтоимостьФактическаяПрописьюПоОписи";
Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(КоличествоПорядковыхНомеровПоОписи,, ",,,м,,,,,0");
Итоги.Параметры.КоличествоФактическоеПрописью = ЧислоПрописью(НаличиеФактическоеПоОписи,, ",,,ж,,,,,0");
Итоги.Параметры.СтоимостьФактическаяПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(СтоимостьФактическаяПоОписи,
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Док.Организация));
ТабличныйДокумент.Вывести(Итоги);
ТабличныйДокумент.Вывести(Подсчеты);
ПредседательКомиссии = ТаблицаИнвентаризационнаяКомиссия.Найти(Истина, "Председатель");
Если ПредседательКомиссии <> Неопределено И ПредседательКомиссии.Председатель Тогда
ДанныеПредседателя = УправлениеВнеоборотнымиАктивамиПереопределяемый.ДанныеФизЛица(Док.Организация, ПредседательКомиссии.ФизЛицо, Док.Дата);
Подпись.Параметры.ЗаголовокРазделаПодписей = ЗаголовокРазделаПодписей.ПредседательКомиссии;
Подпись.Параметры.Должность = ДанныеПредседателя.Должность;
Подпись.Параметры.РасшифровкаПодписи = ДанныеПредседателя.Представление;
Иначе
Подпись.Параметры.ЗаголовокРазделаПодписей = ЗаголовокРазделаПодписей.ПредседательКомиссии;
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
КонецЕсли;
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Истина;
КоличествоЧленовКомиссии = 0;
Для каждого ЧленКомиссии Из ТаблицаИнвентаризационнаяКомиссия Цикл
Если ЧленКомиссии.Председатель Тогда
Продолжить;
КонецЕсли;
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, Подпись) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
КоличествоЧленовКомиссии = КоличествоЧленовКомиссии + 1;
ДанныеЧленаКомиссии = УправлениеВнеоборотнымиАктивамиПереопределяемый.ДанныеФизЛица(Док.Организация, ЧленКомиссии.ФизЛицо, Док.Дата);
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.ЧленыКомиссии, "");
Подпись.Параметры.Должность = ДанныеЧленаКомиссии.Должность;
Подпись.Параметры.РасшифровкаПодписи = ДанныеЧленаКомиссии.Представление;
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
Если КоличествоЧленовКомиссии < 3 Тогда
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, Подпись) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Для Итератор = КоличествоЧленовКомиссии + 1 По 3 Цикл
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.ЧленыКомиссии, "");
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
КонецЕсли;
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(Претензии);
Для Итератор = 1 По ДанныеМОЛ.Количество() Цикл
СтрокаСПодвалом.Добавить(Подпись);
КонецЦикла;
СтрокаСПодвалом.Добавить(ПолеДаты);
СтрокаСПодвалом.Добавить(Подпись);
СтрокаСПодвалом.Добавить(ПолеДаты);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, СтрокаСПодвалом) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
Если Док.Количество() > 0 Тогда
Претензии.Параметры.НомерСтрокиНачальный = 1;
Претензии.Параметры.НомерСтрокиКонечный = Док.МаксНомерСтроки;
Иначе
Претензии.Параметры.НомерСтрокиНачальный = "______";
Претензии.Параметры.НомерСтрокиКонечный = "______";
КонецЕсли;
ТабличныйДокумент.Вывести(Претензии);
ВыводитьЗаголовок = Истина;
Для каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
ПодписьСДатой = Новый Массив;
ПодписьСДатой.Добавить(Подпись);
ПодписьСДатой.Добавить(ПолеДаты);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ПодписьСДатой) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.МОЛ, "");
Подпись.Параметры.Должность = СтрокаМОЛ.Должность;
Подпись.Параметры.РасшифровкаПодписи = СтрокаМОЛ.Представление;
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
Если ДанныеМОЛ.Количество() < 3 Тогда
ПодписьСДатой = Новый Массив;
ПодписьСДатой.Добавить(Подпись);
ПодписьСДатой.Добавить(ПолеДаты);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ПодписьСДатой) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Для Итератор = (ДанныеМОЛ.Количество() + 1) По 3 Цикл
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей.МОЛ, "");
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
КонецЕсли;
ПолеДаты.Параметры.Дата = Формат(Док.Дата, "ДЛФ=DD");
ТабличныйДокумент.Вывести(ПолеДаты);
ПодписьСДатой = Новый Массив;
ПодписьСДатой.Добавить(Подпись);
ПодписьСДатой.Добавить(ПолеДаты);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ПодписьСДатой) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Подпись.Параметры.ЗаголовокРазделаПодписей = ЗаголовокРазделаПодписей.Проверяющий;
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
ТабличныйДокумент.Вывести(Подпись);
ПолеДаты.Параметры.Дата = НСтр("ru = '""______"" ___________________________ _______ г.'");
ТабличныйДокумент.Вывести(ПолеДаты);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Док.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Возврат ТабличныйДокумент;
КонецФункции
Функция ПечатьИНВ18(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияОС_ИНВ18";;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ИнвентаризацияОС.ПФ_MXL_ИНВ18");
Шапка = Макет.ПолучитьОбласть("Шапка");
СекцияМОЛ = Макет.ПолучитьОбласть("СекцияМОЛ");
СтрокаНадТаблицей = Макет.ПолучитьОбласть("СтрокаНадТаблицей");
ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
ПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ПодписьГлавногоБухгалтера = Макет.ПолучитьОбласть("ПодписьГлавногоБухгалтера");
ШапкаПодписейМОЛ = Макет.ПолучитьОбласть("ШапкаПодписейМОЛ");
Подпись = Макет.ПолучитьОбласть("Подпись");
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ИнвентаризацияОСОС.Ссылка КАК Ссылка,
| ИнвентаризацияОСОС.Ссылка.Дата КАК Дата,
| ИнвентаризацияОСОС.НомерСтроки КАК НомерСтроки,
| ИнвентаризацияОСОС.ОбъектУчета КАК ОсновноеСредство,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.Ссылка.МОЛ <> ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ТОГДА ИнвентаризацияОСОС.Ссылка.МОЛ
| ИНАЧЕ ИнвентаризацияОСОС.МОЛ
| КОНЕЦ КАК МОЛ,
| ИнвентаризацияОСОС.Ссылка.Организация КАК Организация,
| ИнвентаризацияОСОС.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
| ИнвентаризацияОСОС.СтоимостьФактическая КАК СтоимостьФактическая,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.НаличиеПоДаннымУчета = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК НаличиеПоДаннымУчета,
| ВЫБОР
| КОГДА ИнвентаризацияОСОС.НаличиеФактическое = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК НаличиеФактическое
|ПОМЕСТИТЬ ТаблицаОС
|ИЗ
| Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОСОС
|ГДЕ
| ИнвентаризацияОСОС.Ссылка В(&МассивОбъектов)
| И ИнвентаризацияОСОС.НаличиеПоДаннымУчета <> ИнвентаризацияОСОС.НаличиеФактическое
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство,
| Организация,
| Ссылка
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.МОЛ КАК МОЛ
|ПОМЕСТИТЬ МестонахождениеОС
|ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Период КАК Период,
| МАКСИМУМ(ТаблицаРегистра.Регистратор) КАК Регистратор
| ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| МАКСИМУМ(ТаблицаРегистра.Период) КАК Период
| ИЗ
| ТаблицаОС КАК ТаблицаОС
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = ТаблицаОС.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = ТаблицаОС.ОсновноеСредство)
| И (ТаблицаРегистра.Период <= ТаблицаОС.Дата)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство) КАК СрезПериод
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезПериод.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезПериод.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезПериод.Период)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство,
| ТаблицаРегистра.Период) КАК СрезРегистратор
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезРегистратор.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезРегистратор.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезРегистратор.Период)
| И (ТаблицаРегистра.Регистратор = СрезРегистратор.Регистратор)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.ДатаВводаВЭксплуатациюБУ КАК ДатаВводаВЭксплуатациюБУ,
| ТаблицаРегистра.ДокументВводаВЭксплуатациюБУ КАК ДокументВводаВЭксплуатациюБУ,
| ТаблицаРегистра.Контрагент КАК Арендодатель
|ПОМЕСТИТЬ ПервоначальныеСведенияОС
|ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаРегистра.Период КАК Период,
| МАКСИМУМ(ТаблицаРегистра.Регистратор) КАК Регистратор
| ИЗ
| (ВЫБРАТЬ
| ТаблицаРегистра.Организация КАК Организация,
| ТаблицаРегистра.ОсновноеСредство КАК ОсновноеСредство,
| МАКСИМУМ(ТаблицаРегистра.Период) КАК Период
| ИЗ
| ТаблицаОС КАК ТаблицаОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = ТаблицаОС.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = ТаблицаОС.ОсновноеСредство)
| И (ТаблицаРегистра.Период <= ТаблицаОС.Дата)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство) КАК СрезПериод
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезПериод.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезПериод.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезПериод.Период)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
| СГРУППИРОВАТЬ ПО
| ТаблицаРегистра.Организация,
| ТаблицаРегистра.ОсновноеСредство,
| ТаблицаРегистра.Период) КАК СрезРегистратор
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОС КАК ТаблицаРегистра
| ПО (ТаблицаРегистра.Организация = СрезРегистратор.Организация)
| И (ТаблицаРегистра.ОсновноеСредство = СрезРегистратор.ОсновноеСредство)
| И (ТаблицаРегистра.Период = СрезРегистратор.Период)
| И (ТаблицаРегистра.Регистратор = СрезРегистратор.Регистратор)
| И (ТаблицаРегистра.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
| И (ТаблицаРегистра.Активность)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ТаблицаОС.Ссылка,
| ТаблицаОС.НомерСтроки,
| ТаблицаОС.ОсновноеСредство,
| ТаблицаОС.Организация,
| ТаблицаОС.СтоимостьПоДаннымУчета,
| ТаблицаОС.СтоимостьФактическая,
| ТаблицаОС.НаличиеПоДаннымУчета,
| ТаблицаОС.НаличиеФактическое,
| ВЫРАЗИТЬ(ТаблицаОС.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер КАК ИнвентарныйНомер,
| ЕСТЬNULL(МестонахождениеОС.МОЛ, НЕОПРЕДЕЛЕНО) КАК МОЛ,
| ЕСТЬNULL(ПервоначальныеСведенияОС.Арендодатель, НЕОПРЕДЕЛЕНО) КАК Арендодатель
|ПОМЕСТИТЬ ОСИСведения
|ИЗ
| ТаблицаОС КАК ТаблицаОС
| ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
| ПО ТаблицаОС.ОсновноеСредство = МестонахождениеОС.ОсновноеСредство
| И ТаблицаОС.Организация = МестонахождениеОС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ ПервоначальныеСведенияОС КАК ПервоначальныеСведенияОС
| ПО ТаблицаОС.ОсновноеСредство = ПервоначальныеСведенияОС.ОсновноеСредство
| И ТаблицаОС.Организация = ПервоначальныеСведенияОС.Организация
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| ИнвентаризацияОС.Дата КАК Дата,
| ТаблицаОС.МОЛ
|ИЗ
| ТаблицаОС КАК ТаблицаОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
| ПО ТаблицаОС.Ссылка = ИнвентаризацияОС.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ИнвентаризацияОС.Ссылка КАК Ссылка,
| ИнвентаризацияОС.Дата КАК Дата,
| ИнвентаризацияОС.Номер КАК Номер,
| ИнвентаризацияОС.Организация КАК Организация,
| ИнвентаризацияОС.Подразделение КАК Подразделение,
| ИнвентаризацияОС.Подразделение.Представление КАК ПодразделениеПредставление,
| ИнвентаризацияОС.ДатаНачалаИнвентаризации КАК ДатаНачалаИнвентаризации,
| ИнвентаризацияОС.ДатаОкончанияИнвентаризации КАК ДатаОкончанияИнвентаризации,
| ИнвентаризацияОС.ДокументОснованиеВид КАК ДокументОснованиеВид,
| ИнвентаризацияОС.ДокументОснованиеДата КАК ДокументОснованиеДата,
| ИнвентаризацияОС.ДокументОснованиеНомер КАК ДокументОснованиеНомер,
| ОСИСведения.НомерСтроки КАК НомерСтроки,
| ОСИСведения.НомерСтроки КАК МинНомерСтроки,
| ОСИСведения.НомерСтроки КАК МаксНомерСтроки,
| ОСИСведения.ОсновноеСредство,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОСИСведения.ОсновноеСредство) = ТИП(Справочник.ОбъектыСтроительства)
| ТОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыСтроительства).Наименование
| КОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).НаименованиеПолное ПОДОБНО """"
| ТОГДА ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).Наименование
| ИНАЧЕ ВЫРАЗИТЬ(ОСИСведения.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации).НаименованиеПолное
| КОНЕЦ КАК ОсновноеСредствоНаименованиеПолное,
| ОСИСведения.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
| ОСИСведения.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
| ОСИСведения.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
| ОСИСведения.СтоимостьПоДаннымУчета,
| ОСИСведения.СтоимостьФактическая КАК СтоимостьФактическая,
| ОСИСведения.НаличиеПоДаннымУчета КАК НаличиеПоДаннымУчета,
| ОСИСведения.НаличиеФактическое КАК НаличиеФактическое,
| ОСИСведения.ИнвентарныйНомер,
| ИнвентаризацияОС.ИнвентаризационнаяКомиссия.(
| ФизЛицо,
| Председатель КАК Председатель
| ) КАК Комиссия,
| ОСИСведения.Арендодатель
|ИЗ
| ОСИСведения КАК ОСИСведения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
| ПО (ИнвентаризацияОС.Ссылка = ОСИСведения.Ссылка)
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка,
| ОСИСведения.НомерСтроки";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаМОЛ = РезультатЗапроса[РезультатЗапроса.ВГраница()-1].Выбрать();
Док = РезультатЗапроса[РезультатЗапроса.ВГраница()].Выбрать();
ПервыйДокумент = Истина;
Пока Док.СледующийПоЗначениюПоля("Ссылка") Цикл
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Док.Организация, Док.Дата);
Шапка.Параметры.Подразделение = Строка(Док.Подразделение);
Шапка.Параметры.Заполнить(Док);
Шапка.Параметры.Организация = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации);
Шапка.Параметры.ОрганизацияКодПоОКПО = СведенияОбОрганизации.КодПоОКПО;
Шапка.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Док.Номер);
Шапка.Параметры.ДатаДокумента = Док.Дата;
ТабличныйДокумент.Вывести(Шапка);
ВыборкаМОЛ.СледующийПоЗначениюПоля("Ссылка");
МассивМОЛ = Новый Массив;
Пока ВыборкаМОЛ.Следующий() Цикл
Если МассивМОЛ.Найти(ВыборкаМОЛ.МОЛ) = Неопределено Тогда
МассивМОЛ.Добавить(ВыборкаМОЛ.МОЛ);
КонецЕсли;
КонецЦикла;
ДанныеМОЛ = УправлениеВнеоборотнымиАктивамиПереопределяемый.ДанныеФизЛиц(Док.Организация, МассивМОЛ, Док.Дата);
Для каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, СекцияМОЛ) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
СекцияМОЛ.Параметры.Должность = СтрокаМОЛ.Должность;
СекцияМОЛ.Параметры.ФИО = СтрокаМОЛ.Представление;
ТабличныйДокумент.Вывести(СекцияМОЛ);
КонецЦикла;
Если ДанныеМОЛ.Количество() < 2 Тогда
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, СекцияМОЛ) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
Для Итератор = ДанныеМОЛ.Количество() + 1 По 2 Цикл
СекцияМОЛ.Параметры.Должность = "";
СекцияМОЛ.Параметры.ФИО = "";
ТабличныйДокумент.Вывести(СекцияМОЛ);
КонецЦикла;
КонецЕсли;
ШапкаТаблицы = Новый Массив;
ШапкаТаблицы.Добавить(СтрокаНадТаблицей);
ШапкаТаблицы.Добавить(ЗаголовокТаблицы);
ШапкаТаблицы.Добавить(СтрокаТаблицы);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ШапкаТаблицы) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(СтрокаНадТаблицей);
ТабличныйДокумент.Вывести(ЗаголовокТаблицы);
ИтогИзлишекКоличество = 0;
ИтогИзлишекСтоимость = 0;
ИтогНедостачаКоличество = 0;
ИтогНедостачаСтоимость = 0;
Пока Док.Следующий() Цикл
СтрокаТаблицы.Параметры.Заполнить(Док);
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(СтрокаТаблицы);
СтрокаСПодвалом.Добавить(ПодвалТаблицы);
Если Док.МаксНомерСтроки = Док.Количество() Тогда
СтрокаСПодвалом.Добавить(ПодписьГлавногоБухгалтера);
КонецЕсли;
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, СтрокаСПодвалом) Тогда
ПодвалТаблицы.Параметры.ИтогИзлишекКоличество = ИтогИзлишекКоличество;
ПодвалТаблицы.Параметры.ИтогИзлишекСтоимость = ИтогИзлишекСтоимость;
ПодвалТаблицы.Параметры.ИтогНедостачаКоличество = ИтогНедостачаКоличество;
ПодвалТаблицы.Параметры.ИтогНедостачаСтоимость = ИтогНедостачаСтоимость;
ТабличныйДокумент.Вывести(ПодвалТаблицы);
ИтогИзлишекКоличество = 0;
ИтогИзлишекСтоимость = 0;
ИтогНедостачаКоличество = 0;
ИтогНедостачаСтоимость = 0;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ЗаголовокТаблицы);
КонецЕсли;
РазницаПоНаличию = Док.НаличиеФактическое - Док.НаличиеПоДаннымУчета;
РазницаПоСтоимости = Док.СтоимостьФактическая - Док.СтоимостьПоДаннымУчета;
ИзлишекКоличество = ?(РазницаПоНаличию > 0, РазницаПоНаличию, 0);
ИзлишекСтоимость = ?(РазницаПоСтоимости > 0, РазницаПоСтоимости, 0);
НедостачаКоличество = ?(РазницаПоНаличию < 0, -РазницаПоНаличию, 0);
НедостачаСтоимость = ?(РазницаПоСтоимости < 0, -РазницаПоСтоимости, 0);
ИтогИзлишекКоличество = ИтогИзлишекКоличество + ИзлишекКоличество;
ИтогИзлишекСтоимость = ИтогИзлишекСтоимость + ИзлишекСтоимость;
ИтогНедостачаКоличество = ИтогНедостачаКоличество + НедостачаКоличество;
ИтогНедостачаСтоимость = ИтогНедостачаСтоимость + НедостачаСтоимость;
СтрокаТаблицы.Параметры.ИзлишекКоличество = ИзлишекКоличество;
СтрокаТаблицы.Параметры.ИзлишекСтоимость = ИзлишекСтоимость;
СтрокаТаблицы.Параметры.НедостачаКоличество = НедостачаКоличество;
СтрокаТаблицы.Параметры.НедостачаСтоимость = НедостачаСтоимость;
ТабличныйДокумент.Вывести(СтрокаТаблицы);
КонецЦикла;
ПодвалТаблицы.Параметры.ИтогИзлишекКоличество = ИтогИзлишекКоличество;
ПодвалТаблицы.Параметры.ИтогИзлишекСтоимость = ИтогИзлишекСтоимость;
ПодвалТаблицы.Параметры.ИтогНедостачаКоличество = ИтогНедостачаКоличество;
ПодвалТаблицы.Параметры.ИтогНедостачаСтоимость = ИтогНедостачаСтоимость;
ТабличныйДокумент.Вывести(ПодвалТаблицы);
Руководители = ОтветственныеЛицаБП.ОтветственныеЛица(Док.Организация, Док.Дата, Док.Подразделение);
ПодписьГлавногоБухгалтера.Параметры.РасшифровкаПодписи = Руководители.ГлавныйБухгалтерПредставление;
ТабличныйДокумент.Вывести(ПодписьГлавногоБухгалтера);
Подписи = Новый Массив;
Подписи.Добавить(ШапкаПодписейМОЛ);
Подписи.Добавить(Подпись);
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, Подписи) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(ШапкаПодписейМОЛ);
ЗаголовокРазделаПодписей = НСтр("ru = 'Материально ответственное(ые) лицо(а)'");
ВыводитьЗаголовок = Истина;
Для каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, Подпись) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей, "");
Подпись.Параметры.Должность = СтрокаМОЛ.Должность;
Подпись.Параметры.РасшифровкаПодписи = СтрокаМОЛ.Представление;
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
Если ДанныеМОЛ.Количество() < 2 Тогда
Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, Подпись) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ВыводитьЗаголовок = Истина;
КонецЕсли;
Для Итератор = (ДанныеМОЛ.Количество() + 1) По 2 Цикл
Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок, ЗаголовокРазделаПодписей, "");
Подпись.Параметры.Должность = "";
Подпись.Параметры.РасшифровкаПодписи = "";
ТабличныйДокумент.Вывести(Подпись);
ВыводитьЗаголовок = Ложь;
КонецЦикла;
КонецЕсли;
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Док.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Возврат ТабличныйДокумент;
КонецФункции
#КонецОбласти
#Область ЗаполнениеНаОсновании
Процедура ДобавитьСозданныеДокументыНаОсновании2_4(МенеджерТаблиц, ДокументОснование, МассивДействий = Неопределено)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерТаблиц;
Запрос.УстановитьПараметр("МассивДействийЗадан", ЗначениеЗаполнено(МассивДействий));
Запрос.УстановитьПараметр("МассивДействий", МассивДействий);
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
Запрос.Текст=
"ВЫБРАТЬ
| Операция.Ссылка КАК Ссылка,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Перемещение) КАК Действие,
| Операция.ПодразделениеПолучатель КАК Подразделение,
| Операция.Подразделение КАК ПодразделениеПолучатель
|ПОМЕСТИТЬ втДокументыНаОснованииДанные
|ИЗ
| Документ.ПеремещениеОС2_4 КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПеремещениеОС2_4.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Перемещение) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПринятиеКУчету),
| Операция.Местонахождение,
| Операция.Местонахождение
|ИЗ
| Документ.ПринятиеКУчетуОС2_4 КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС2_4.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПринятиеКУчету) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Списание),
| Операция.Подразделение,
| Операция.Подразделение
|ИЗ
| Документ.СписаниеОС2_4 КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеОС2_4.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Списание) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Переоценка),
| Операция.Подразделение,
| Операция.Подразделение
|ИЗ
| Документ.ПереоценкаОС2_4 КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПереоценкаОС2_4.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Переоценка) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ВыбытиеАрендованныхОС),
| Операция.Подразделение,
| Операция.Подразделение
|ИЗ
| Документ.ВыбытиеАрендованныхОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВыбытиеАрендованныхОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументНаОсновании
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ВыбытиеАрендованныхОС) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПрекращениеДоговораАренды),
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО
|ИЗ
| Документ.ПрекращениеДоговораАренды КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПрекращениеДоговораАренды.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПрекращениеДоговораАренды) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ХозрасчетныйСубконто.Значение,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция),
| Хозрасчетный.ПодразделениеДт,
| NULL
|ИЗ
| Документ.ОперацияБух.ЗаполнениеДвижений КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
| ПО Операция.Ссылка = Хозрасчетный.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
| ПО (Хозрасчетный.Регистратор = ХозрасчетныйСубконто.Регистратор)
| И (Хозрасчетный.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки)
| И (ХозрасчетныйСубконто.Вид В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства)))
| И (ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет))
|ГДЕ
| Операция.Ссылка.Проведен
| И Операция.Документ = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ХозрасчетныйСубконто.Значение,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция),
| Хозрасчетный.ПодразделениеКт,
| NULL
|ИЗ
| Документ.ОперацияБух.ЗаполнениеДвижений КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
| ПО Операция.Ссылка = Хозрасчетный.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
| ПО (Хозрасчетный.Регистратор = ХозрасчетныйСубконто.Регистратор)
| И (Хозрасчетный.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки)
| И (ХозрасчетныйСубконто.Вид В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства)))
| И (ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит))
|ГДЕ
| Операция.Ссылка.Проведен
| И Операция.Документ = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция) В (&МассивДействий))
|;
|
|
|ВЫБРАТЬ
| МИНИМУМ(втДокументыНаОснованииДанные.Ссылка) КАК Ссылка,
| втДокументыНаОснованииДанные.ОсновноеСредство КАК ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие КАК Действие,
| втДокументыНаОснованииДанные.Подразделение КАК Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель КАК ПодразделениеПолучатель
|ПОМЕСТИТЬ втДокументыНаОсновании2_4
|ИЗ
| втДокументыНаОснованииДанные КАК втДокументыНаОснованииДанные
|
|СГРУППИРОВАТЬ ПО
| втДокументыНаОснованииДанные.ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие,
| втДокументыНаОснованииДанные.Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель
|;
|
|
|УНИЧТОЖИТЬ втДокументыНаОснованииДанные";
Запрос.Выполнить();
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ТекстЗапросаДанныеУчета22(ХозяйственнаяОперация)
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнвентаризацияНезавершенногоСтроительства Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК ОбъектУчета,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).Код КАК Код,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер КАК ИнвентарныйНомер,
| ХозрасчетныйОстатки.СуммаОстаток КАК СтоимостьПоДаннымУчета,
| &Организация КАК ОрганизацияПоДаннымУчета,
| &Подразделение КАК ПодразделениеПоДаннымУчета,
| НЕОПРЕДЕЛЕНО КАК МОЛПоДаннымУчета,
| ЛОЖЬ КАК ПолученоВАренду,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету) КАК Состояние,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата,
| Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы)),
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства),
| &ПоСпискуОС
| И Субконто1 В (&СписокОС)
| ИЛИ НЕ &ПоСпискуОС
| И Организация = &Организация
| И Подразделение = &Подразделение) КАК ХозрасчетныйОстатки
|
|УПОРЯДОЧИТЬ ПО
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).Представление,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер";
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнвентаризацияВложенийВОС Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК ОбъектУчета,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).Код КАК Код,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер КАК ИнвентарныйНомер,
| ХозрасчетныйОстатки.СуммаОстаток КАК СтоимостьПоДаннымУчета,
| &Организация КАК ОрганизацияПоДаннымУчета,
| &Подразделение КАК ПодразделениеПоДаннымУчета,
| НЕОПРЕДЕЛЕНО КАК МОЛПоДаннымУчета,
| ЛОЖЬ КАК ПолученоВАренду,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету) КАК Состояние,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата,
| Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы)),
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
| &ПоСпискуОС
| И Субконто1 В (&СписокОС)
| ИЛИ НЕ &ПоСпискуОС
| И Организация = &Организация
| И Подразделение = &Подразделение) КАК ХозрасчетныйОстатки
|
|УПОРЯДОЧИТЬ ПО
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).Представление,
| ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| ПорядокУчетаОСБУ.ОсновноеСредство КАК ОсновноеСредство,
| ПорядокУчетаОСБУ.Организация КАК Организация,
| ПорядокУчетаОСБУ.СостояниеБУ КАК Состояние
|ПОМЕСТИТЬ СостояниеОС
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(
| &Дата,
| &ПоСпискуОС
| И ОсновноеСредство В (&СписокОС)
| ИЛИ НЕ &ПоСпискуОС
| И Организация = &Организация) КАК ПорядокУчетаОСБУ
|ГДЕ
| (&ПоСпискуОС
| ИЛИ ПорядокУчетаОСБУ.СостояниеБУ В (
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету),
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКЗабалансовомуУчету)))
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| МестонахождениеОС.ОсновноеСредство КАК ОсновноеСредство,
| МестонахождениеОС.Организация КАК Организация,
| МестонахождениеОС.Местонахождение КАК Подразделение,
| МестонахождениеОС.МОЛ КАК МОЛ
|ПОМЕСТИТЬ СписокОС
|ИЗ
| РегистрСведений.МестонахождениеОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ОсновноеСредство В
| (ВЫБРАТЬ
| СостояниеОС.ОсновноеСредство
| ИЗ
| СостояниеОС КАК СостояниеОС)) КАК МестонахождениеОС
|ГДЕ
| (&ПоСпискуОС
| ИЛИ МестонахождениеОС.Организация = &Организация
| И МестонахождениеОС.Местонахождение = &Подразделение
| И (МестонахождениеОС.МОЛ = &МОЛ ИЛИ &ПоВсемМОЛ))
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| Подразделение
|;
|
|
|ВЫБРАТЬ
| АрендованныеОС.ОсновноеСредство КАК ОсновноеСредство,
| АрендованныеОС.Договор КАК Договор
|ПОМЕСТИТЬ АрендованныеОС
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В
| (ВЫБРАТЬ
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОС КАК СписокОС)) КАК АрендованныеОС
|ГДЕ
| АрендованныеОС.Состояние В (
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ЗаключенДоговорАренды),
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде))
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| СчетаБухгалтерскогоУчета.СчетУчета КАК СчетУчета
|ПОМЕСТИТЬ СчетаУчета
|ИЗ
| РегистрСведений.ПорядокУчетаОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В
| (ВЫБРАТЬ
| Т.ОсновноеСредство
| ИЗ
| СостояниеОС КАК Т)) КАК СчетаБухгалтерскогоУчета
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПараметрыЦелевогоФинансированияОС.СчетУчета
|ИЗ
| РегистрСведений.ПараметрыЦелевогоФинансированияОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В
| (ВЫБРАТЬ
| Т.ОсновноеСредство
| ИЗ
| СостояниеОС КАК Т)) КАК ПараметрыЦелевогоФинансированияОС
|;
|
|
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство,
| СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК Сумма
|ПОМЕСТИТЬ СтоимостьОС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата,
| Счет В
| (ВЫБРАТЬ
| Т.СчетУчета
| ИЗ
| СчетаУчета КАК Т),
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
| (Организация, Подразделение, Субконто1) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.Подразделение,
| СписокОС.ОсновноеСредство
| ИЗ
| СписокОС КАК СписокОС)) КАК ХозрасчетныйОстатки
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстатки.Субконто1
|;
|
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
| СписокОС.ОсновноеСредство.Представление КАК ОбъектУчетаПредставление,
| СписокОС.ОсновноеСредство.Код КАК Код,
| СписокОС.ОсновноеСредство.ИнвентарныйНомер КАК ИнвентарныйНомер,
| СписокОС.Организация КАК ОрганизацияПоДаннымУчета,
| СписокОС.Подразделение КАК ПодразделениеПоДаннымУчета,
| СписокОС.МОЛ КАК МОЛ,
| СписокОС.МОЛ КАК МОЛПоДаннымУчета,
| НЕ АрендованныеОС.ОсновноеСредство ЕСТЬ NULL КАК ПолученоВАренду,
| ЕСТЬNULL(АрендованныеОС.Договор, НЕОПРЕДЕЛЕНО) КАК Договор,
| ЕСТЬNULL(СостояниеОС.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету)) КАК Состояние,
| ЕСТЬNULL(СтоимостьОС.Сумма, 0) КАК СтоимостьПоДаннымУчета,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| СписокОС КАК СписокОС
| ЛЕВОЕ СОЕДИНЕНИЕ СостояниеОС КАК СостояниеОС
| ПО СписокОС.ОсновноеСредство = СостояниеОС.ОсновноеСредство
| ЛЕВОЕ СОЕДИНЕНИЕ АрендованныеОС КАК АрендованныеОС
| ПО СписокОС.ОсновноеСредство = АрендованныеОС.ОсновноеСредство
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС КАК СтоимостьОС
| ПО СписокОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОбъектыЭксплуатации.Ссылка,
| ОбъектыЭксплуатации.Представление,
| ОбъектыЭксплуатации.Код,
| ОбъектыЭксплуатации.ИнвентарныйНомер,
| NULL,
| NULL,
| NULL,
| NULL,
| ЛОЖЬ,
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету),
| 0,
| &ХозяйственнаяОперация
|ИЗ
| Справочник.ОбъектыЭксплуатации КАК ОбъектыЭксплуатации
| ЛЕВОЕ СОЕДИНЕНИЕ СписокОС КАК СписокОС
| ПО (СписокОС.ОсновноеСредство = ОбъектыЭксплуатации.Ссылка)
|ГДЕ
| &ПоСпискуОС
| И ОбъектыЭксплуатации.Ссылка В(&СписокОС)
| И СписокОС.ОсновноеСредство ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| ОбъектУчетаПредставление,
| ИнвентарныйНомер";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДанныеУчета24(ХозяйственнаяОперация)
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнвентаризацияНезавершенногоСтроительства Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| СтатьиРасходов.Ссылка КАК Ссылка
|ПОМЕСТИТЬ втСтатьиРасходов
|ИЗ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
|ГДЕ
| СтатьиРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И СтатьиРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| И СтатьиРасходов.РасходыНаОбъектыСтроительства
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК ОбъектУчета,
| ПрочиеРасходы.СуммаРеглОстаток КАК СтоимостьПоДаннымУчета,
| ПрочиеРасходы.Организация КАК ОрганизацияПоДаннымУчета,
| ПрочиеРасходы.Подразделение КАК ПодразделениеПоДаннымУчета,
| НЕОПРЕДЕЛЕНО КАК МОЛПоДаннымУчета,
| ЛОЖЬ КАК ПолученоВАренду,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету) КАК Состояние,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| РегистрНакопления.ПрочиеРасходы.Остатки(
| &Дата,
| (НЕ &ПоСпискуОС ИЛИ АналитикаРасходов В (&СписокОС))
| И Организация = &Организация
| И Подразделение = &Подразделение
| И АналитикаРасходов ССЫЛКА Справочник.ОбъектыСтроительства
| И СтатьяРасходов В
| (ВЫБРАТЬ
| СтатьиРасходов.Ссылка
| ИЗ
| втСтатьиРасходов КАК СтатьиРасходов)) КАК ПрочиеРасходы
|ГДЕ
| ПрочиеРасходы.СуммаРеглОстаток <> 0
|
|УПОРЯДОЧИТЬ ПО
| ВЫРАЗИТЬ(ПрочиеРасходы.АналитикаРасходов КАК Справочник.ОбъектыСтроительства).Представление";
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнвентаризацияВложенийВОС Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| СтатьиРасходов.Ссылка КАК Ссылка
|ПОМЕСТИТЬ втСтатьиРасходов
|ИЗ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
|ГДЕ
| СтатьиРасходов.ТипРасходов = ЗНАЧЕНИЕ(Перечисление.ТипыРасходов.ФормированиеСтоимостиВНА)
| И СтатьиРасходов.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| И СтатьиРасходов.РасходыНаОбъектыЭксплуатации
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ПрочиеРасходы.АналитикаРасходов КАК ОбъектУчета,
| ВЫРАЗИТЬ(ПрочиеРасходы.АналитикаРасходов КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер КАК ИнвентарныйНомер,
| ВЫРАЗИТЬ(ПрочиеРасходы.АналитикаРасходов КАК Справочник.ОбъектыЭксплуатации).Код КАК Код,
| ПрочиеРасходы.СуммаРеглОстаток КАК СтоимостьПоДаннымУчета,
| ПрочиеРасходы.Организация КАК ОрганизацияПоДаннымУчета,
| ПрочиеРасходы.Подразделение КАК ПодразделениеПоДаннымУчета,
| НЕОПРЕДЕЛЕНО КАК МОЛПоДаннымУчета,
| ЛОЖЬ КАК ПолученоВАренду,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету) КАК Состояние,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| РегистрНакопления.ПрочиеРасходы.Остатки(
| &Дата,
| (НЕ &ПоСпискуОС ИЛИ АналитикаРасходов В (&СписокОС))
| И Организация = &Организация
| И Подразделение = &Подразделение
| И АналитикаРасходов ССЫЛКА Справочник.ОбъектыЭксплуатации
| И СтатьяРасходов В
| (ВЫБРАТЬ
| СтатьиРасходов.Ссылка
| ИЗ
| втСтатьиРасходов КАК СтатьиРасходов)) КАК ПрочиеРасходы
|ГДЕ
| ПрочиеРасходы.СуммаРеглОстаток <> 0
|
|УПОРЯДОЧИТЬ ПО
| ВЫРАЗИТЬ(ПрочиеРасходы.АналитикаРасходов КАК Справочник.ОбъектыЭксплуатации).Представление,
| ВЫРАЗИТЬ(ПрочиеРасходы.АналитикаРасходов КАК Справочник.ОбъектыЭксплуатации).ИнвентарныйНомер";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| ПорядокУчетаОСБУ.ОсновноеСредство КАК ОсновноеСредство,
| ПорядокУчетаОСБУ.СостояниеБУ КАК Состояние
|ПОМЕСТИТЬ СостояниеОС
|ИЗ
| РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И Организация = &Организация
| И (НЕ &ПоСпискуОС
| ИЛИ ОсновноеСредство В (&СписокОС))) КАК ПорядокУчетаОСБУ
|ГДЕ
| (&ПоСпискуОС
| ИЛИ ПорядокУчетаОСБУ.СостояниеБУ В (
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету),
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКЗабалансовомуУчету)))
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА МестонахождениеОС.Арендатор = &Организация
| ТОГДА МестонахождениеОС.Арендатор
| ИНАЧЕ МестонахождениеОС.Организация
| КОНЕЦ КАК Организация,
| МестонахождениеОС.Местонахождение КАК Подразделение,
| МестонахождениеОС.МОЛ КАК МОЛ,
| МестонахождениеОС.ОсновноеСредство КАК ОсновноеСредство
|ПОМЕСТИТЬ СписокОС
|ИЗ
| РегистрСведений.МестонахождениеОС.СрезПоследних(
| &Дата,
| ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
| И ОсновноеСредство В
| (ВЫБРАТЬ
| СостояниеОС.ОсновноеСредство
| ИЗ
| СостояниеОС)) КАК МестонахождениеОС
|ГДЕ
| (&ПоСпискуОС
| ИЛИ (МестонахождениеОС.Организация = &Организация
| ИЛИ МестонахождениеОС.Арендатор = &Организация)
| И МестонахождениеОС.Местонахождение = &Подразделение
| И (МестонахождениеОС.МОЛ = &МОЛ ИЛИ &ПоВсемМОЛ))
|
|ИНДЕКСИРОВАТЬ ПО
| Организация,
| ОсновноеСредство,
| Подразделение
|;
|
|
|ВЫБРАТЬ
| АрендованныеОС.ОсновноеСредство КАК ОсновноеСредство,
| АрендованныеОС.Договор КАК Договор
|ПОМЕСТИТЬ АрендованныеОС
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В
| (ВЫБРАТЬ
| СостояниеОС.ОсновноеСредство
| ИЗ
| СостояниеОС КАК СостояниеОС)) КАК АрендованныеОС
|ГДЕ
| АрендованныеОС.Состояние В (
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ЗаключенДоговорАренды),
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВАренде))
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновноеСредство
|;
|
|
|ВЫБРАТЬ
| СтоимостьОС.Организация КАК Организация,
| СтоимостьОС.Подразделение КАК Подразделение,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| СтоимостьОС.СтоимостьРеглОстаток + СтоимостьОС.СтоимостьЦФОстаток КАК СтоимостьПоДаннымУчета,
| СтоимостьОС.ЗалоговаяСтоимостьОстаток КАК ЗалоговаяСтоимость
|ПОМЕСТИТЬ СтоимостьОС
|ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(
| &Дата,
| (Организация, ОсновноеСредство, Подразделение) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство,
| СписокОС.Подразделение
| ИЗ
| СписокОС)) КАК СтоимостьОС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СтоимостьОС.Арендатор КАК Организация,
| СтоимостьОС.Подразделение КАК Подразделение,
| СтоимостьОС.ОсновноеСредство КАК ОсновноеСредство,
| 0 КАК СтоимостьПоДаннымУчета,
| СтоимостьОС.ЗалоговаяСтоимостьОстаток КАК ЗалоговаяСтоимость
|ИЗ
| РегистрНакопления.СтоимостьОС.Остатки(
| &Дата,
| (Арендатор, ОсновноеСредство, Подразделение) В
| (ВЫБРАТЬ
| СписокОС.Организация,
| СписокОС.ОсновноеСредство,
| СписокОС.Подразделение
| ИЗ
| СписокОС)) КАК СтоимостьОС
|;
|
|
|ВЫБРАТЬ
| СписокОС.ОсновноеСредство КАК ОбъектУчета,
| СписокОС.ОсновноеСредство.Представление КАК ОбъектУчетаПредставление,
| СписокОС.ОсновноеСредство.ИнвентарныйНомер КАК ИнвентарныйНомер,
| СписокОС.ОсновноеСредство.Код КАК Код,
| СписокОС.Организация КАК ОрганизацияПоДаннымУчета,
| СписокОС.Подразделение КАК ПодразделениеПоДаннымУчета,
| СписокОС.МОЛ КАК МОЛ,
| СписокОС.МОЛ КАК МОЛПоДаннымУчета,
| ВЫБОР
| КОГДА СостояниеОС.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКЗабалансовомуУчету)
| ТОГДА ЕСТЬNULL(СтоимостьОС.ЗалоговаяСтоимость, 0)
| ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СтоимостьПоДаннымУчета, 0)
| КОНЕЦ КАК СтоимостьПоДаннымУчета,
| НЕ АрендованныеОС.ОсновноеСредство ЕСТЬ NULL КАК ПолученоВАренду,
| ЕСТЬNULL(АрендованныеОС.Договор, НЕОПРЕДЕЛЕНО) КАК Договор,
| ЕСТЬNULL(СостояниеОС.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету)) КАК Состояние,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| СписокОС КАК СписокОС
|
| ЛЕВОЕ СОЕДИНЕНИЕ СостояниеОС КАК СостояниеОС
| ПО (СостояниеОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
| ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьОС КАК СтоимостьОС
| ПО (СтоимостьОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
| И (СтоимостьОС.Организация = СписокОС.Организация)
| И (СтоимостьОС.Подразделение = СписокОС.Подразделение)
|
| ЛЕВОЕ СОЕДИНЕНИЕ АрендованныеОС КАК АрендованныеОС
| ПО (АрендованныеОС.ОсновноеСредство = СписокОС.ОсновноеСредство)
|
|ГДЕ
| СостояниеОС.Состояние В (
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету),
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКЗабалансовомуУчету))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОбъектыЭксплуатации.Ссылка,
| ОбъектыЭксплуатации.Представление,
| ОбъектыЭксплуатации.Код,
| ОбъектыЭксплуатации.ИнвентарныйНомер,
| NULL,
| NULL,
| NULL,
| NULL,
| 0,
| ЛОЖЬ,
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Перечисление.СостоянияОС.НеПринятоКУчету),
| &ХозяйственнаяОперация
|ИЗ
| Справочник.ОбъектыЭксплуатации КАК ОбъектыЭксплуатации
| ЛЕВОЕ СОЕДИНЕНИЕ СписокОС КАК СписокОС
| ПО (СписокОС.ОсновноеСредство = ОбъектыЭксплуатации.Ссылка)
|ГДЕ
| &ПоСпискуОС
| И ОбъектыЭксплуатации.Ссылка В(&СписокОС)
| И СписокОС.ОсновноеСредство ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| ОбъектУчетаПредставление,
| ИнвентарныйНомер";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьВременнуюТаблицуСозданныхДокументовНаОсновании(МВТ, ДокументОснование, ДействияДокументовНаОсновании = "")
МассивДействий = Перечисления.ДействияНаОснованииИнвентаризации.МассивЗначенийПоЗаданнымИменам(ДействияДокументовНаОсновании);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("МассивДействийЗадан", МассивДействий.Количество()<>0);
Запрос.УстановитьПараметр("МассивДействий", МассивДействий);
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
ДобавитьСозданныеДокументыНаОсновании2_4(МВТ, ДокументОснование, МассивДействий);
Запрос.Текст=
"ВЫБРАТЬ
| Операция.Ссылка КАК Ссылка,
| ТабличнаяЧасть.ОсновноеСредство КАК ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Перемещение) КАК Действие,
| Операция.ПодразделениеПолучатель КАК Подразделение,
| Операция.Подразделение КАК ПодразделениеПолучатель
|ПОМЕСТИТЬ втДокументыНаОснованииДанные
|ИЗ
| Документ.ПеремещениеОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПеремещениеОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументНаОсновании
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Перемещение) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПринятиеКУчету),
| Операция.Подразделение,
| NULL
|ИЗ
| Документ.ПринятиеКУчетуОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументНаОсновании
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ПринятиеКУчету) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Списание),
| Операция.Подразделение,
| Операция.Подразделение
|ИЗ
| Документ.СписаниеОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументНаОсновании
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Списание) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ТабличнаяЧасть.ОсновноеСредство,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ВыбытиеАрендованныхОС),
| Операция.Подразделение,
| Операция.Подразделение
|ИЗ
| Документ.ВыбытиеАрендованныхОС КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВыбытиеАрендованныхОС.ОС КАК ТабличнаяЧасть
| ПО Операция.Ссылка = ТабличнаяЧасть.Ссылка
|ГДЕ
| Операция.Проведен
| И Операция.ДокументНаОсновании
| И Операция.ДокументОснование = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.ВыбытиеАрендованныхОС) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ХозрасчетныйСубконто.Значение,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция),
| Хозрасчетный.ПодразделениеДт,
| NULL
|ИЗ
| Документ.ОперацияБух.ЗаполнениеДвижений КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
| ПО Операция.Ссылка = Хозрасчетный.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
| ПО (Хозрасчетный.Регистратор = ХозрасчетныйСубконто.Регистратор)
| И (Хозрасчетный.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки)
| И (ХозрасчетныйСубконто.Вид В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства)))
| И (ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет))
|ГДЕ
| Операция.Ссылка.Проведен
| И Операция.Документ = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция) В (&МассивДействий))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Операция.Ссылка,
| ХозрасчетныйСубконто.Значение,
| ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция),
| Хозрасчетный.ПодразделениеКт,
| NULL
|ИЗ
| Документ.ОперацияБух.ЗаполнениеДвижений КАК Операция
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
| ПО Операция.Ссылка = Хозрасчетный.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
| ПО (Хозрасчетный.Регистратор = ХозрасчетныйСубконто.Регистратор)
| И (Хозрасчетный.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки)
| И (ХозрасчетныйСубконто.Вид В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства)))
| И (ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит))
|ГДЕ
| Операция.Ссылка.Проведен
| И Операция.Документ = &ДокументОснование
| И (НЕ &МассивДействийЗадан ИЛИ ЗНАЧЕНИЕ(Перечисление.ДействияНаОснованииИнвентаризации.Операция) В (&МассивДействий))
|;
|
|
|ВЫБРАТЬ
| МИНИМУМ(втДокументыНаОснованииДанные.Ссылка) КАК Ссылка,
| втДокументыНаОснованииДанные.ОсновноеСредство КАК ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие КАК Действие,
| втДокументыНаОснованииДанные.Подразделение КАК Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель КАК ПодразделениеПолучатель
|ПОМЕСТИТЬ втДокументыНаОсновании
|ИЗ
| (ВЫБРАТЬ
| втДокументыНаОснованииДанные.Ссылка КАК Ссылка,
| втДокументыНаОснованииДанные.ОсновноеСредство КАК ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие КАК Действие,
| втДокументыНаОснованииДанные.Подразделение КАК Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель КАК ПодразделениеПолучатель
| ИЗ
| втДокументыНаОснованииДанные КАК втДокументыНаОснованииДанные
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| втДокументыНаОснованииДанные.Ссылка,
| втДокументыНаОснованииДанные.ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие,
| втДокументыНаОснованииДанные.Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель
| ИЗ
| втДокументыНаОсновании2_4 КАК втДокументыНаОснованииДанные) КАК втДокументыНаОснованииДанные
|
|СГРУППИРОВАТЬ ПО
| втДокументыНаОснованииДанные.ОсновноеСредство,
| втДокументыНаОснованииДанные.Действие,
| втДокументыНаОснованииДанные.Подразделение,
| втДокументыНаОснованииДанные.ПодразделениеПолучатель
|;
|
|
|УНИЧТОЖИТЬ втДокументыНаОснованииДанные";
Запрос.Выполнить();
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли