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