#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("НематериальныеАктивы");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОсновныеСредства");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
РеализацияУслугПрочихАктивовЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.РеализацияУслугПрочихАктивов") Тогда
ДокументСсылка = Документ.Ссылка;
ДокументОбъект = Документ;
Иначе
ДокументСсылка = Документ;
ДокументОбъект = Документ.ПолучитьОбъект();
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если ДопПараметры <> Неопределено
И ДопПараметры.Свойство("МенеджерВременныхТаблиц")
И ДопПараметры.МенеджерВременныхТаблиц <> Неопределено Тогда
Запрос.МенеджерВременныхТаблиц = ДопПараметры.МенеджерВременныхТаблиц;
Иначе
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
КонецЕсли;
ПолучитьДанныеДокумента(Запрос, ДокументСсылка);
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаДокументыПоНМА(ТекстыЗапроса, Регистры, ДокументОбъект);
ТекстЗапросаТаблицаИнвестицииВАренду(Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
РеализацияУслугПрочихАктивовЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
КонецЕсли;
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
Функция ТаблицыОтложенногоФормированияДвижений(МенеджерВременныхТаблиц) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ПолучитьДанныеДокументаОтложенногоПроведения(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтПериодыДокументов");
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
ТекстыЗапроса = Новый СписокЗначений;
ТекстЗапросаТаблицаВтОстаточнаяСтоимость(ТекстыЗапроса);
ТекстЗапросаТаблицаСтоимостьНМА(ТекстыЗапроса);
ТекстЗапросаТаблицаПрочиеРасходыОтложенныеДвижения(Запрос, ТекстыЗапроса);
ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивыОтложенныеДвижения(Запрос, ТекстыЗапроса);
РеализацияУслугПрочихАктивовЛокализация.ТаблицыОтложенногоФормированияДвижений(ТекстыЗапроса);
ТаблицыДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса);
Возврат ТаблицыДвижений;
КонецФункции
Функция ТаблицыДвиженийПриЗакрытииРасходовОтВыбытияОС(МенеджерВременныхТаблиц, ПериодДвижений) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ПериодДвижений", ПериодДвижений);
ПолучитьДанныеДокументаОтложенногоПроведения(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(Запрос, Запрос.Параметры,, "ВтПериодыДокументов");
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения();
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
ЗакрытиеРасходовОтВыбытияОС.УстановитьПараметрыЗапроса(Запрос);
ТекстыЗапроса = Новый СписокЗначений;
ЗакрытиеРасходовОтВыбытияОС.ТекстЗапросаТаблицаПрочиеРасходы(ТекстыЗапроса);
ЗакрытиеРасходовОтВыбытияОС.ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(ТекстыЗапроса);
ЗакрытиеРасходовОтВыбытияОС.ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(ТекстыЗапроса);
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
ДопПараметры.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ДопПараметры.ТолькоПомеченные = Истина;
ТаблицыДляДвижений = ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
Возврат ТаблицыДляДвижений;
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ДоверенностьВыданная.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаРеализации.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПоступлениеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПриходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ОперацияПоПлатежнойКарте.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПоручениеЭкспедитору.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
РеализацияУслугПрочихАктивовЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.РеализацияУслугПрочихАктивов) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.РеализацияУслугПрочихАктивов.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.РеализацияУслугПрочихАктивов);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
ВзаиморасчетыСервер.КарточкаРасчетовСКлиентом_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
ВзаиморасчетыСервер.ЗадолженностьКлиентов_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
РеализацияУслугПрочихАктивовЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Реквизиты = Новый Структура("Дата, ХозяйственнаяОперация, Организация",
'00010101', Перечисления.ХозяйственныеОперации.РеализацияКлиенту, Справочники.Организации.ПустаяСсылка());
Реквизиты.Вставить("Партнер", Справочники.Партнеры.ПустаяСсылка());
Реквизиты.Вставить("Контрагент", Справочники.Контрагенты.ПустаяСсылка());
Реквизиты.Вставить("Договор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
Реквизиты.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
Реквизиты.Вставить("ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПустаяСсылка());
Реквизиты.Вставить("ПоЗаказу", Ложь);
Реквизиты.Вставить("Валюта", Справочники.Валюты.ПустаяСсылка());
Реквизиты.Вставить("ВалютаВзаиморасчетов", Справочники.Валюты.ПустаяСсылка());
Реквизиты.Вставить("СуммаДокумента", 0);
Реквизиты.Вставить("СуммаВзаиморасчетов", 0);
Реквизиты.Вставить("Курс", 1);
Реквизиты.Вставить("Кратность", 1);
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Данные.Дата КАК Дата,
| (ВЫБОР КОГДА Данные.ХозяйственнаяОперация=ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИНАЧЕ Данные.ХозяйственнаяОперация КОНЕЦ) КАК ХозяйственнаяОперация,
| Данные.Организация КАК Организация,
| Данные.Партнер КАК Партнер,
| Данные.Контрагент КАК Контрагент,
| Данные.Договор КАК Договор,
| Данные.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Данные.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК ПоЗаказу,
| Данные.Валюта КАК Валюта,
| Данные.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Данные.СуммаДокумента КАК СуммаДокумента,
| (ВЫБОР КОГДА Данные.Проведен ТОГДА Данные.СуммаВзаиморасчетов ИНАЧЕ 0 КОНЕЦ) КАК СуммаВзаиморасчетов,
| Данные.КурсЧислитель КАК Курс,
| Данные.КурсЗнаменатель КАК Кратность
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК Данные
|ГДЕ
| Данные.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Реквизиты, Выборка);
КонецЕсли;
Возврат Реквизиты;
КонецФункции
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат РеализацияУслугПрочихАктивовЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат РеализацияУслугПрочихАктивовЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
Функция ПараметрыНастройкиСчетовУчета(ХозяйственнаяОперация) Экспорт
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект.Расходы";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияВРеглУчете";
ПараметрыНастройки.СтатьяАктивовПассивов = "СтатьяАктивовПассивов";
ПараметрыНастройки.ДоступностьПоОперации = НЕ
(ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав);
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("РасходыПредставлениеОтраженияВРеглУчете");
Возврат ПараметрыНастройки;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик(ХозяйственнаяОперация, РеализацияВзаимозависимомуЛицу) Экспорт
МассивПаметровВыбора = Новый Массив;
#Область РасходыСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расходы";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасходыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("РасходыАналитикаРасходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РасходыСтатьяАктивовПассивов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расходы";
ПараметрыВыбора.Статья = "СтатьяАктивовПассивов";
ПараметрыВыбора.ДоступностьПоОперации = НЕ
(ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав);
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасходыСтатьяАктивовПассивов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("РасходыАналитикаАктивовПассивов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РасходыСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расходы";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.ДоступностьПоОперации =
РеализацияВзаимозависимомуЛицу
И (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав);
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасходыСтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("РасходыАналитикаДоходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ДоходыСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Доходы";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ДоходыСтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("ДоходыАналитикаДоходов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
#Область ОбязательныеПараметры
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
#КонецОбласти
#Область НеобязательныеПараметры
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Доходы";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплаты";
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "ДоходыСуммаВзаиморасчетов";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
#КонецОбласти
#Область РедактированиеВалютИВалютныхСуммДокумента
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
#КонецОбласти
#Область ГрафикПлановойОплатыИДатаПлатежа
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЕстьДатаПереходаПраваСобственности = ПолучитьФункциональнуюОпцию("ИспользоватьОтгрузкуБезПереходаПраваСобственности2_0");
СтруктураПараметров.ГрафикОплаты = "Объект.ГрафикОплаты";
#КонецОбласти
#Область СостояниеВзаиморасчетов
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "ДекорацияСостояниеРасчетов";
#КонецОбласти
#Область ОграниченияЗадолженностиПоДоговору
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиТекст = "ДекорацияОграничениеЗадолженности";
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиКартинка = "КартинкаОтгрузкаЗапрещена";
#КонецОбласти
Возврат СтруктураПараметров;
КонецФункции
#Область ПроверкиПриСменеСтатуса
Функция СтатусыДокументаИзменяемыеИзСписка() Экспорт
Таблица = ОбщегоНазначенияУТ.ТаблицаСтатусовИзменяемыхИзСписка();
Если ПолучитьФункциональнуюОпцию("ИспользоватьОтгрузкуБезПереходаПраваСобственности") Тогда
ОбщегоНазначенияУТ.ДобавитьСтрокуВТаблицуСтатусовИзменяемыхИзСписка(Таблица, Перечисления.СтатусыРеализацийТоваровУслуг.ВПути, НСтр("ru='Передано'"));
ОбщегоНазначенияУТ.ДобавитьСтрокуВТаблицуСтатусовИзменяемыхИзСписка(Таблица, Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено);
КонецЕсли;
Возврат Таблица;
КонецФункции
Функция СформироватьЗапросПроверкиПриСменеСтатуса(МассивДокументов, НовыйСтатус, ДополнительныеПараметры) Экспорт
ЗначениеНовогоСтатуса = Перечисления.СтатусыРеализацийТоваровУслуг[НовыйСтатус];
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокументов.Ссылка КАК Ссылка,
| ПРЕДСТАВЛЕНИЕ(ТаблицаДокументов.Ссылка) КАК Представление,
| ПРЕДСТАВЛЕНИЕ(ТаблицаДокументов.Статус) КАК ПредставлениеТекущегоСтатуса,
| ПРЕДСТАВЛЕНИЕ(&Статус) КАК ПредставлениеНовогоСтатуса,
| ВЫБОР
| КОГДА ТаблицаДокументов.Статус = &Статус ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК СтатусСовпадает,
| ТаблицаДокументов.Проведен КАК Проведен,
| ТаблицаДокументов.ПометкаУдаления КАК ПометкаУдаления,
| ИСТИНА КАК ЗаписьПроведением,
| ЛОЖЬ КАК РеализацияПоЗаказам,
|
| ТаблицаДокументов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ ТаблицаДокументов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов) КАК ЭтоРеализацияКлиенту,
|
| ТаблицаДокументов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ ТаблицаДокументов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав) КАК ЭтоРеализацияБезПереходаПраваСобственности,
|
| ТаблицаДокументов.Дата КАК Дата,
| ТаблицаДокументов.ДатаПереходаПраваСобственности КАК ДатаПереходаПраваСобственности
|
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ТаблицаДокументов
|ГДЕ
| ТаблицаДокументов.Ссылка В(&МассивДокументов)
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Статус", ЗначениеНовогоСтатуса);
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
Возврат Запрос;
КонецФункции
Функция ПроверкаПередСменойСтатуса(ВыборкаПроверки, НовыйСтатус, ДополнительныеПараметры) Экспорт
Перем ДатаПереходаПраваСобственности;
Отказ = Ложь;
ЗначениеНовогоСтатуса = Перечисления.СтатусыРеализацийТоваровУслуг[НовыйСтатус];
Если ДополнительныеПараметры <> Неопределено Тогда
ДополнительныеПараметры.Свойство("НоваяДата", ДатаПереходаПраваСобственности);
КонецЕсли;
Если ВыборкаПроверки.ЭтоРеализацияКлиенту Тогда
ТекстОшибки = НСтр("ru='У документа %Документ% статус ""%Статус%"" не установлен, т.к. для реализаций с операцией ""Реализация клиенту"" статусы не применимы'");
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", ВыборкаПроверки.Ссылка);
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Статус%", ВыборкаПроверки.ПредставлениеНовогоСтатуса);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, ВыборкаПроверки.Ссылка, , , Отказ);
ИначеЕсли ЗначениеНовогоСтатуса = Перечисления.СтатусыРеализацийТоваровУслуг.ВПути
И Не ВыборкаПроверки.ЭтоРеализацияБезПереходаПраваСобственности Тогда
ТекстОшибки = НСтр("ru='У документа %Документ% статус ""%Статус%"" не установлен, т.к. этот статус применим
|только для реализаций с операцией ""Реализация (товары в пути)""'");
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", ВыборкаПроверки.Ссылка);
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Статус%", ВыборкаПроверки.ПредставлениеНовогоСтатуса);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, ВыборкаПроверки.Ссылка, , , Отказ);
ИначеЕсли ЗначениеНовогоСтатуса = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено
И ВыборкаПроверки.ЭтоРеализацияБезПереходаПраваСобственности
И ДатаПереходаПраваСобственности < НачалоДня(ВыборкаПроверки.Дата) Тогда
ТекстОшибки = НСтр("ru='У документа %Документ% не установлена дата перехода права собственности ""%ДатаПерехода%"",
|так как она не может быть меньше даты документа ""%Дата%""'");
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", ВыборкаПроверки.Ссылка);
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%ДатаПерехода%", Формат(ДатаПереходаПраваСобственности, "ДЛФ=D"));
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Дата%", Формат(ВыборкаПроверки.Дата, "ДЛФ=D"));
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, ВыборкаПроверки.Ссылка, , , Отказ);
КонецЕсли;
Возврат НЕ Отказ;
КонецФункции
#КонецОбласти
#Область УчетНДС
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
Если ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияУслугПрочихАктивов")
Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
ДанныеОбъекта = Объект;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Организация,Дата,Договор,НаправлениеДеятельности");
КонецЕсли;
ПараметрыЗаполнения.Организация = ДанныеОбъекта.Организация;
ПараметрыЗаполнения.Дата = ДанныеОбъекта.Дата;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = ДанныеОбъекта.НаправлениеДеятельности;
ПараметрыЗаполнения.РеализацияПрочихАктивов = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурВыданных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурВыданных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
ПараметрыРегистрации.РеализацияРаботУслуг = Истина;
ПараметрыРегистрации.РеализацияПрочихАктивов = (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов);
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)";
КонецПроцедуры
#КонецОбласти
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Менеджер", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Менеджер";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Менеджер";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетОрганизации", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетКонтрагента", Параметры);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ДатаПереходаПраваСобственности КАК ДатаПереходаПраваСобственности,
| ДанныеДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Валюта КАК Валюта,
| ВЫБОР КОГДА ДанныеДокумента.КурсЧислитель = 0
| ТОГДА 1
| ИНАЧЕ ДанныеДокумента.КурсЧислитель
| КОНЕЦ КАК Курс,
| ВЫБОР КОГДА ДанныеДокумента.КурсЗнаменатель = 0
| ТОГДА 1
| ИНАЧЕ ДанныеДокумента.КурсЗнаменатель
| КОНЕЦ Кратность,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Статус КАК Статус,
| ДанныеДокумента.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Договор.ТипДоговора КАК ТипДоговора,
| ДанныеДокумента.Договор.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ИдентификаторОбъектаРасчетов КАК ИдентификаторОбъектаРасчетов,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Реквизиты = Запрос.Выполнить().Выбрать();
Реквизиты.Следующий();
ПереходПраваСобственности = (Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И Реквизиты.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено;
СписокОперацийПрочаяВыручка = Новый Массив;
СписокОперацийПрочаяВыручка.Добавить(Перечисления.ХозяйственныеОперации.РеализацияКлиенту);
СписокОперацийПрочаяВыручка.Добавить(Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов);
СписокОперацийПрочаяВыручка.Добавить(Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде);
Запрос.УстановитьПараметр("Валюта", Реквизиты.Валюта);
Запрос.УстановитьПараметр("Курс", Реквизиты.Курс);
Запрос.УстановитьПараметр("Кратность", Реквизиты.Кратность);
Запрос.УстановитьПараметр("ВалютаВзаиморасчетов", Реквизиты.ВалютаВзаиморасчетов);
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", Реквизиты.ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("ДатаПлатежа", Реквизиты.ДатаПлатежа);
Запрос.УстановитьПараметр("ДатаПереходаПраваСобственности", Реквизиты.ДатаПереходаПраваСобственности);
Запрос.УстановитьПараметр("ПереходПраваСобственности", ПереходПраваСобственности);
Запрос.УстановитьПараметр("ФормаОплаты", Реквизиты.ФормаОплаты);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("ЦенаВключаетНДС", ?(Реквизиты.ЦенаВключаетНДС, 0, 1));
Запрос.УстановитьПараметр("Подразделение", Реквизиты.Подразделение);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Реквизиты.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("Статус", Реквизиты.Статус);
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("ТипДоговора", Реквизиты.ТипДоговора);
Запрос.УстановитьПараметр("Контрагент", Реквизиты.Контрагент);
Запрос.УстановитьПараметр("ДопустимаяСуммаЗадолженности", Реквизиты.ДопустимаяСуммаЗадолженности);
Запрос.УстановитьПараметр("НалогообложениеНДС", Реквизиты.НалогообложениеНДС);
Запрос.УстановитьПараметр("Партнер", Реквизиты.Партнер);
Запрос.УстановитьПараметр("ГруппаФинансовогоУчета", Реквизиты.ГруппаФинансовогоУчета);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Реквизиты.НаправлениеДеятельности);
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("СуммаДокумента", Реквизиты.СуммаДокумента);
Запрос.УстановитьПараметр("Номер", Реквизиты.Номер);
Запрос.УстановитьПараметр("Комментарий", Реквизиты.Комментарий);
Запрос.УстановитьПараметр("ПометкаУдаления", Реквизиты.ПометкаУдаления);
Запрос.УстановитьПараметр("Проведен", Реквизиты.Проведен);
Запрос.УстановитьПараметр("Менеджер", Реквизиты.Менеджер);
Запрос.УстановитьПараметр("Автор", Реквизиты.Автор);
Запрос.УстановитьПараметр("ОбъектРасчетов", Реквизиты.ОбъектРасчетов);
Запрос.УстановитьПараметр("ИдентификаторОбъектаРасчетов", Реквизиты.ИдентификаторОбъектаРасчетов);
Запрос.УстановитьПараметр("СписокОперацийПрочаяВыручка", СписокОперацийПрочаяВыручка);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации", Реквизиты.НастройкаХозяйственнойОперации);
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ПолучитьДанныеДокумента(Запрос, ДокументСсылка)
СписокЗапросов = Новый Массив;
ТекстЗапросаДанныеДокументаШапка(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаДоходы(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаРасходы(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежа(СписокЗапросов);
ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежаСОбъектамиРасчетов(СписокЗапросов);
ТекстЗапроса = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Выполнить();
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаШапка(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата,
| ДанныеДокумента.ДатаПереходаПраваСобственности,
| ДанныеДокумента.ДатаПлатежа,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Партнер,
| ДанныеДокумента.Контрагент,
| ДанныеДокумента.Грузоотправитель,
| ДанныеДокумента.Грузополучатель,
| ДанныеДокумента.Валюта,
| ДанныеДокумента.КурсЧислитель,
| ДанныеДокумента.КурсЗнаменатель,
| ДанныеДокумента.ВалютаВзаиморасчетов,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.ЦенаВключаетНДС,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.ХозяйственнаяОперация,
| ДанныеДокумента.Статус,
| ДанныеДокумента.ФормаОплаты,
| ДанныеДокумента.Договор,
| ДанныеДокумента.Договор.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
| ДанныеДокумента.НалогообложениеНДС,
| ДанныеДокумента.ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельности.УчетРасчетовСПоставщиками КАК НаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеДокумента.Номер,
| ДанныеДокумента.Менеджер,
| ДанныеДокумента.Автор,
| ДанныеДокумента.СуммаДокумента,
| ДанныеДокумента.СуммаВзаиморасчетов,
| ДанныеДокумента.ПорядокРасчетов,
| ДанныеДокумента.Комментарий,
| ДанныеДокумента.ПометкаУдаления,
| ДанныеДокумента.Проведен,
| ДанныеДокумента.ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетов,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ДанныеДокументаШапка
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаДоходы(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаДокумента.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаДокумента.СтатьяДоходов.ДоходыПоОбъектамЭксплуатации КАК ДоходыПоОбъектамЭксплуатации,
| ТаблицаДокумента.СтатьяДоходов.ДоходыПоНМАиНИОКР КАК ДоходыПоНМАиНИОКР,
| ТаблицаДокумента.Содержание КАК Содержание,
| ТаблицаДокумента.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТаблицаДокумента.КодТНВЭД КАК КодТНВЭД,
| ТаблицаДокумента.Количество КАК Количество,
| ТаблицаДокумента.СуммаСНДС КАК СуммаСНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.АрендныйКомпонентДоговора КАК АрендныйКомпонентДоговора,
| ТаблицаДокумента.ПредметАренды КАК ПредметАренды
|ПОМЕСТИТЬ ДанныеДокументаТаблицаДоходы
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаРасходы(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтатьяРасходов,
| ТаблицаДокумента.СтатьяРасходов.ВариантРаспределенияРасходовУпр КАК СтатьяРасходовВариантРаспределенияРасходовУпр,
| ТаблицаДокумента.АналитикаРасходов,
| ТаблицаДокумента.СтатьяАктивовПассивов,
| ТаблицаДокумента.АналитикаАктивовПассивов,
| ВЫБОР КОГДА ЛОЖЬ
| ТОГДА ТаблицаДокумента.Ссылка.НаправлениеДеятельности
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаДокумента.АналитикаАктивовПассивов) = ТИП(Справочник.ОбъектыЭксплуатации)
| ТОГДА ТаблицаДокумента.АналитикаАктивовПассивов.НаправлениеДеятельности
| ИНАЧЕ ТаблицаДокумента.Ссылка.НаправлениеДеятельности
| КОНЕЦ КАК АналитикаАктивовПассивовНаправлениеДеятельности,
| ТаблицаДокумента.ВнеоборотныйАктив,
| ТаблицаДокумента.ВосстановитьАмортизационнуюПремию,
| ТаблицаДокумента.ВидАктива,
| ТаблицаДокумента.НастройкаСчетовУчета,
|
| ТаблицаДокумента.Сумма,
| ТаблицаДокумента.СуммаРегл,
| ТаблицаДокумента.ПостояннаяРазница,
| ТаблицаДокумента.ВременнаяРазница,
| ТаблицаДокумента.СуммаАмортизационнойПремии
|ПОМЕСТИТЬ ДанныеДокументаТаблицаРасходы
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Расходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежа(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРасшифровкаПлатежа.Ссылка КАК Ссылка,
| ТаблицаРасшифровкаПлатежа.НомерСтроки,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов,
|
| ТаблицаРасшифровкаПлатежа.Сумма,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
|ПОМЕСТИТЬ ДанныеДокументаТаблицаРасшифровкаПлатежа
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
|ГДЕ
| ТаблицаРасшифровкаПлатежа.Ссылка В (&Ссылка)
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежаСОбъектамиРасчетов(СписокЗапросов)
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРасшифровкаПлатежа.Ссылка КАК Ссылка,
| ТаблицаРасшифровкаПлатежа.НомерСтроки,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетов,
|
| ДанныеОбъектРасчетов.Подразделение КАК ОбъектРасчетовПодразделение,
| ДанныеОбъектРасчетов.Организация КАК ОбъектРасчетовОрганизация,
| ДанныеОбъектРасчетов.Ссылка КАК ОбъектРасчетовСсылка,
|
| ТаблицаРасшифровкаПлатежа.Сумма,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
|ПОМЕСТИТЬ ДанныеДокументаТаблицаРасшифровкаПлатежаСОбъектамиРасчетов
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияУслугПрочихАктивов.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасшифровкаПлатежа.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ДанныеОбъектРасчетов
| ПО ТаблицаДокумента.Договор = ДанныеОбъектРасчетов.Объект
| И НЕ ДанныеОбъектРасчетов.ПометкаУдаления
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуВзаиморасчетов",Коэффициенты.КоэффициентПересчетаВВалютуВзаиморасчетов);
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПРПереноса", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРеглПереноса", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ВтТаблицаПрочиеДоходы";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаДоходы.Количество КАК Количество,
| ТаблицаДоходы.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДоходы.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДоходы.АрендныйКомпонентДоговора КАК АрендныйКомпонентДоговора,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| ТОГДА &НастройкаХозяйственнойОперации
| КОГДА ТаблицаДоходы.АрендныйКомпонентДоговора
| ТОГДА &НастройкаХозяйственнойОперации
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтТаблицаПрочиеДоходы
|ИЗ
| ДанныеДокументаТаблицаДоходы КАК ТаблицаДоходы
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаДоходы.Ссылка = Суммы.Ссылка
| И ТаблицаДоходы.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ТаблицаДоходы.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПрочаяВыручка";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаПрочиеДоходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстПрочаяВыручка =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА &ПереходПраваСобственности
| ТОГДА &ДатаПереходаПраваСобственности
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
|
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ФизическоеЛицо,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаДоходы.Количество КАК Количество,
|
| ТаблицаДоходы.СуммаБезНДСУпр КАК ВыручкаБезНДСУпр,
| ТаблицаДоходы.СуммаБезНДСРегл КАК ВыручкаБезНДСРегл,
| ТаблицаДоходы.СуммаСНДСУпр - ТаблицаДоходы.СуммаБезНДСУпр КАК НДСУпр,
| ТаблицаДоходы.НДСРегл КАК НДСРегл,
| ТаблицаДоходы.СтавкаНДС КАК СтавкаНДС,
| &НалогообложениеНДС КАК НалогообложениеНДС,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДоходы.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| &ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаДоходы.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаПрочиеДоходы КАК ТаблицаДоходы
|
|ГДЕ
| (&ХозяйственнаяОперация В (&СписокОперацийПрочаяВыручка)
| ИЛИ &ПереходПраваСобственности)
| И НЕ (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| И ТаблицаДоходы.АрендныйКомпонентДоговора)";
ДоходыИРасходыСервер.ОтразитьПрочуюВыручку(Запрос, ТекстыЗапроса, Регистры, ТекстПрочаяВыручка);
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных =
"ВЫБРАТЬ
| ""Доходы"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Дата КАК ПериодБазыНДС,
| ДанныеДокумента.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| ДанныеДокументаТаблицаДоходы КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаДокумента.Ссылка = ДанныеДокумента.Ссылка
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено) Тогда
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР КОГДА &ПереходПраваСобственности
| ТОГДА &ДатаПереходаПраваСобственности
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
| ВЫБОР
| КОГДА ТаблицаДоходы.ДоходыПоОбъектамЭксплуатации
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОС)
| КОГДА ТаблицаДоходы.ДоходыПоНМАиНИОКР
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияНМА)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияПрочихУслуг)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| &Договор КАК Договор,
| &ОбъектРасчетов КАК ОбъектРасчетов,
|
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходовРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ТаблицаДоходы.АналитикаДоходов КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК Сумма,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДС,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаДоходы.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаДоходы.СуммаСНДС - ТаблицаДоходы.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДоходы.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаДоходы.СуммаВзаиморасчетов - ВЫБОР КОГДА ТаблицаДоходы.СуммаСНДС <> 0 ТОГДА
| ВЫРАЗИТЬ(ТаблицаДоходы.СуммаВзаиморасчетов * ТаблицаДоходы.СуммаНДС / ТаблицаДоходы.СуммаСНДС КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ДанныеДокументаТаблицаДоходы КАК ТаблицаДоходы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО ТаблицаДоходы.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаДоходы.Ссылка = Суммы.Ссылка
| И ТаблицаДоходы.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ТаблицаДоходы.Ссылка В (&Ссылка)
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| И ТаблицаДоходы.АрендныйКомпонентДоговора = ЛОЖЬ
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| ИЛИ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Иначе
Возврат "";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияДоходыРасходыПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
МассивЗапросов = Новый Массив;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР КОГДА &ПереходПраваСобственности
| ТОГДА &ДатаПереходаПраваСобственности
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочиеРасходыАктивыПассивы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
|
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаРасходы.СтатьяАктивовПассивов КАК Статья,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ТаблицаРасходы.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчета,
|
| &Подразделение КАК КорПодразделение,
| &НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ТаблицаРасходы.СтатьяРасходов КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаДоходов,
| ТаблицаРасходы.АналитикаРасходов КАК КорАналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаФинансовогоУчета,
|
| ТаблицаРасходы.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ТаблицаРасходы.СтатьяРасходовВариантРаспределенияРасходовУпр = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаСебестоимостьТоваров)
| ИЛИ НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| ИНАЧЕ
| ТаблицаРасходы.Сумма
| КОНЕЦ КАК СуммаУпр,
| ТаблицаРасходы.СуммаРегл КАК СуммаРегл,
|
| &Валюта КАК Валюта,
| ВЫБОР &Валюта
| КОГДА &ВалютаУправленческогоУчета ТОГДА ТаблицаРасходы.Сумма
| КОГДА &ВалютаРегламентированногоУчета ТОГДА ТаблицаРасходы.СуммаРегл
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаРасходы.СуммаРегл /&Курс * &Кратность КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаВВалюте
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаРасходы
|ГДЕ
| ТаблицаРасходы.Ссылка = &Ссылка
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| И &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&НаправлениеДеятельности КАК НаправлениеДеятельности,",
"ТаблицаРасходы.АналитикаАктивовПассивовНаправлениеДеятельности КАК НаправлениеДеятельности,");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР КОГДА &ПереходПраваСобственности
| ТОГДА &ДатаПереходаПраваСобственности
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяАктивовПассивов КАК Статья,
| ВЫБОР
| КОГДА ТаблицаДокумента.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаДокумента.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
|
| ТаблицаДокумента.Сумма КАК Сумма
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.Сумма <> 0
| И &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаДокумента.СтатьяАктивовПассивов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПустаяСсылка)
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| ИЛИ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено))
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&НаправлениеДеятельности КАК НаправлениеДеятельности",
"ТаблицаДокумента.АналитикаАктивовПассивовНаправлениеДеятельности КАК НаправлениеДеятельности");
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ"
+ РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы(Ложь);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Иначе
Возврат "";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВременнаяТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяВременнойТаблицы = "ВтДвиженияКонтрагентКонтрагент";
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ДанныеДокумента.КорПартнер КАК КорПартнер,
| ДанныеДокумента.КорКонтрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.КорНаправлениеДеятельностиУчетРасчетовСПоставщиками, ЛОЖЬ) ТОГДА
| ДанныеДокумента.КорНаправлениеДеятельности
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ДанныеДокумента.КорДоговор КАК КорДоговор,
| ДанныеДокумента.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммЗадолженности.ДолгКлиента) КАК ТипСуммы,
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммЗадолженности.ДолгКлиента) КАК КорТипСуммы,
| &Валюта КАК Валюта,
|
| СУММА(ДанныеДокумента.Сумма) КАК Сумма,
| СУММА(ДанныеДокумента.СуммаРегл) КАК СуммаРегл,
| СУММА(ДанныеДокумента.СуммаВВалюте) КАК СуммаВВалюте,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СУММА(ДанныеДокумента.СуммаВВалютеВзаиморасчетов) КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.КорВалютаВзаиморасчетов КАК КорВалютаВзаиморасчетов,
| СУММА(ДанныеДокумента.КорСуммаВВалютеВзаиморасчетов) КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ИсточникГФУРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.КорИсточникГФУРасчетов КАК КорИсточникГФУРасчетов
|ПОМЕСТИТЬ ВтДвиженияКонтрагентКонтрагент
|ИЗ (
| ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносЗадолженностиМеждуФилиалами) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовПодразделение КАК Подразделение,
|
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками КАК НаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеДокумента.Договор КАК Договор,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК ОбъектРасчетов,
|
| НЕОПРЕДЕЛЕНО КАК КорПартнер,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовОрганизация КАК КорКонтрагент,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками КАК КорНаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеДокумента.Договор КАК КорДоговор,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК КорОбъектРасчетов,
|
| ВЫБОР КОГДА ДанныеДокумента.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
| КОГДА ДанныеДокумента.Валюта = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.Сумма
| ИНАЧЕ
| ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА ДанныеДокумента.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
| КОГДА ДанныеДокумента.Валюта = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.Сумма
| ИНАЧЕ
| ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
| ТаблицаРасшифровкаПлатежа.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК КорВалютаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК КорСуммаВВалютеВзаиморасчетов,
|
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК ИсточникГФУРасчетов,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК КорИсточникГФУРасчетов
| ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасшифровкаПлатежаСОбъектамиРасчетов КАК ТаблицаРасшифровкаПлатежа
| ПО ДанныеДокумента.Ссылка = ТаблицаРасшифровкаПлатежа.Ссылка
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ТаблицаРасшифровкаПлатежа.ОбъектРасчетовОрганизация <> ДанныеДокумента.Организация
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносЗадолженностиМеждуФилиалами) КАК ХозяйственнаяОперация,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовОрганизация КАК Организация,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовПодразделение КАК Подразделение,
|
| НЕОПРЕДЕЛЕНО КАК Партнер,
| ДанныеДокумента.Организация КАК Контрагент,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками КАК НаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеДокумента.Договор КАК Договор,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК ОбъектРасчетов,
|
| ДанныеДокумента.Партнер КАК КорПартнер,
| ДанныеДокумента.Контрагент КАК КорКонтрагент,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками КАК КорНаправлениеДеятельностиУчетРасчетовСПоставщиками,
| ДанныеДокумента.Договор КАК КорДоговор,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК КорОбъектРасчетов,
|
| ВЫБОР КОГДА ДанныеДокумента.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
| КОГДА ДанныеДокумента.Валюта = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.Сумма
| ИНАЧЕ
| ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА ДанныеДокумента.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
| КОГДА ДанныеДокумента.Валюта = &ВалютаРегламентированногоУчета
| ТОГДА ТаблицаРасшифровкаПлатежа.Сумма
| ИНАЧЕ
| ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаРегл,
| ТаблицаРасшифровкаПлатежа.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК КорВалютаВзаиморасчетов,
| ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК КорСуммаВВалютеВзаиморасчетов,
|
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК ИсточникГФУРасчетов,
| ТаблицаРасшифровкаПлатежа.ОбъектРасчетовСсылка КАК КорИсточникГФУРасчетов
| ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасшифровкаПлатежаСОбъектамиРасчетов КАК ТаблицаРасшифровкаПлатежа
| ПО ДанныеДокумента.Ссылка = ТаблицаРасшифровкаПлатежа.Ссылка
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ТаблицаРасшифровкаПлатежа.ОбъектРасчетовОрганизация <> ДанныеДокумента.Организация
|
| ) КАК ДанныеДокумента
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Период,
| ДанныеДокумента.ХозяйственнаяОперация,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.Партнер,
| ДанныеДокумента.Контрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельностиУчетРасчетовСПоставщиками, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ,
| ДанныеДокумента.Договор,
| ДанныеДокумента.ОбъектРасчетов,
| ДанныеДокумента.КорПартнер,
| ДанныеДокумента.КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.КорНаправлениеДеятельностиУчетРасчетовСПоставщиками, ЛОЖЬ) ТОГДА
| ДанныеДокумента.КорНаправлениеДеятельности
| КОНЕЦ,
| ДанныеДокумента.КорДоговор,
| ДанныеДокумента.КорОбъектРасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов,
| ДанныеДокумента.КорВалютаВзаиморасчетов,
| ДанныеДокумента.ИсточникГФУРасчетов,
| ДанныеДокумента.КорИсточникГФУРасчетов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияКонтрагентКонтрагент";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДвиженияКонтрагентКонтрагент", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДвиженияКонтрагентКонтрагент.Период КАК Период,
| ДвиженияКонтрагентКонтрагент.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДвиженияКонтрагентКонтрагент.Организация КАК Организация,
| ДвиженияКонтрагентКонтрагент.Подразделение КАК Подразделение,
| ДвиженияКонтрагентКонтрагент.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ДвиженияКонтрагентКонтрагент.Партнер КАК Партнер,
| ДвиженияКонтрагентКонтрагент.Контрагент КАК Контрагент,
| ДвиженияКонтрагентКонтрагент.Договор КАК Договор,
| ДвиженияКонтрагентКонтрагент.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ДвиженияКонтрагентКонтрагент.КорПартнер КАК КорПартнер,
| ДвиженияКонтрагентКонтрагент.КорКонтрагент КАК КорКонтрагент,
| ДвиженияКонтрагентКонтрагент.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДвиженияКонтрагентКонтрагент.КорДоговор КАК КорДоговор,
| ДвиженияКонтрагентКонтрагент.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ДвиженияКонтрагентКонтрагент.ТипСуммы КАК ТипСуммы,
| ДвиженияКонтрагентКонтрагент.КорТипСуммы КАК КорТипСуммы,
| ДвиженияКонтрагентКонтрагент.Валюта КАК Валюта,
|
| ДвиженияКонтрагентКонтрагент.Сумма КАК Сумма,
| ДвиженияКонтрагентКонтрагент.СуммаРегл КАК СуммаРегл,
| ДвиженияКонтрагентКонтрагент.СуммаВВалюте КАК СуммаВВалюте,
|
| ДвиженияКонтрагентКонтрагент.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДвиженияКонтрагентКонтрагент.СуммаВВалютеВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ДвиженияКонтрагентКонтрагент.КорВалютаВзаиморасчетов КАК КорВалютаВзаиморасчетов,
| ДвиженияКонтрагентКонтрагент.КорСуммаВВалютеВзаиморасчетов КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДвиженияКонтрагентКонтрагент.ИсточникГФУРасчетов КАК ИсточникГФУРасчетов,
| ДвиженияКонтрагентКонтрагент.КорИсточникГФУРасчетов КАК КорИсточникГФУРасчетов
|
|ИЗ
| ВтДвиженияКонтрагентКонтрагент КАК ДвиженияКонтрагентКонтрагент
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаПрочиеДоходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДвиженияКонтрагентКонтрагент", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
Если ДокументОбъект <> Неопределено Тогда
ПереходПраваСобственности =
(ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено;
Иначе
ПереходПраваСобственности = Ложь;
КонецЕсли;
МассивЗапросов = Новый Массив;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ПереходПраваСобственности Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ВЫБОР КОГДА &ПереходПраваСобственности
| ТОГДА &ДатаПереходаПраваСобственности
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяАктивовПассивов КАК Статья,
| ТаблицаДокумента.АналитикаАктивовПассивов КАК Аналитика,
| ТаблицаДокумента.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| ТаблицаДокумента.СуммаРегл КАК СуммаРегл,
| ТаблицаДокумента.Сумма КАК СуммаУпр,
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДС,
| ТаблицаДокумента.ПостояннаяРазница КАК ПостояннаяРазница,
| ТаблицаДокумента.ВременнаяРазница КАК ВременнаяРазница,
|
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаДокумента.СтатьяАктивовПассивов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПустаяСсылка)
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| ИЛИ &ПереходПраваСобственности)
| И (ТаблицаДокумента.Сумма <> 0 ИЛИ ТаблицаДокумента.СуммаРегл <> 0)
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&НаправлениеДеятельности КАК НаправлениеДеятельности",
"ТаблицаДокумента.АналитикаАктивовПассивовНаправлениеДеятельности КАК НаправлениеДеятельности");
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус <> Перечисления.СтатусыРеализацийТоваровУслуг.КПредоплате) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.НДСПоОтгрузкамБезПереходаПраваСобственности) КАК Статья,
| &Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| ТаблицаДоходы.НДСРегл КАК СуммаРегл,
| ТаблицаДоходы.СуммаСНДСУпр - ТаблицаДоходы.СуммаБезНДСУпр КАК СуммаУпр,
| ТаблицаДоходы.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаДоходы.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.НачислениеНДСпоОтгрузкеТоваровВПути) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаПрочиеДоходы КАК ТаблицаДоходы
|ГДЕ
| &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И &Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.КПредоплате)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ПереходПраваСобственности Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &ДатаПереходаПраваСобственности КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.НДСПоОтгрузкамБезПереходаПраваСобственности) КАК Статья,
| &Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| ТаблицаДоходы.НДСРегл КАК СуммаРегл,
| ТаблицаДоходы.СуммаСНДСУпр - ТаблицаДоходы.СуммаБезНДСУпр КАК СуммаУпр,
| ТаблицаДоходы.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаДоходы.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| &ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаДоходы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаДоходы.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаПрочиеДоходы КАК ТаблицаДоходы
|ГДЕ
| &ПереходПраваСобственности
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
МассивЗапросов.Добавить(ПрочиеАктивыПассивыСервер.ТекстЗапросаВзаимозачетСФилиалами(Истина, Истина));
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.РеализацияУслугПрочихАктивов";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
ИначеЕсли ИмяРегистра = "ДокументыПоОС" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, ИмяРегистра, Неопределено);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ДокументыПоНМА" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДокументыПоНМА(ТекстыЗапроса, ИмяРегистра, Неопределено);
СинонимТаблицыДокумента = "ТаблицаНМА";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов"
ИЛИ ИмяРегистра = "ДокументыПоОС"
ИЛИ ИмяРегистра = "ДокументыПоНМА" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.РеализацияУслугПрочихАктивов"));
ЗначенияПараметровПроведения.Вставить("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
ЗначенияПараметровПроведения.Вставить("СтатьяАП_ЦФ", ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансЦелевоеФинансирование);
ЗначенияПараметровПроведения.Вставить("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
ЗначенияПараметровПроведения.Вставить("ВедетсяРегламентированныйУчетВНА", ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА());
ЗначенияПараметровПроведения.Вставить("ДатаНачалаУчетаВнеоборотныхАктивов2_4", ВнеоборотныеАктивыЛокализация.ДатаНачалаУчетаВнеоборотныхАктивов2_4());
ЗначенияПараметровПроведения.Вставить("ИспользоватьВнеоборотныеАктивы2_2", ПолучитьФункциональнуюОпцию("ИспользоватьВнеоборотныеАктивы2_2"));
ЗначенияПараметровПроведения.Вставить("ИспользоватьВнеоборотныеАктивы2_4", ПолучитьФункциональнуюОпцию("ИспользоватьВнеоборотныеАктивы2_4"));
ЗначенияПараметровПроведения.Вставить("СтатьяАП_ОС", ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансОсновныеСредства);
ЗначенияПараметровПроведения.Вставить("СтатьяАП_НМА", ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансНематериальныеАктивы);
Если Реквизиты <> Неопределено Тогда
ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат ЗначенияПараметровПроведения;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
МассивЗапросов = Новый Массив;
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 0
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов КАК АналитикаРасходов,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДСУпр,
| ТаблицаДокумента.СуммаРегл КАК СуммаСНДСРегл,
| ТаблицаДокумента.СуммаРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.ПостояннаяРазница КАК ПостояннаяРазница,
| ТаблицаДокумента.ВременнаяРазница КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|";
МассивЗапросов.Добавить(ТекстЗапроса);
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов КАК АналитикаРасходов,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДСУпр,
| ТаблицаДокумента.СуммаРегл КАК СуммаСНДСРегл,
| ТаблицаДокумента.СуммаРегл КАК СуммаБезНДСРегл,
| ТаблицаДокумента.ПостояннаяРазница КАК ПостояннаяРазница,
| ТаблицаДокумента.ВременнаяРазница КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов КАК АналитикаРасходов,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
| 0 КАК СуммаСНДСРегл,
| 0 КАК СуммаБезНДСРегл,
| ТаблицаДокумента.ПостояннаяРазница КАК ПостояннаяРазница,
| -(ТаблицаДокумента.СуммаРегл - ТаблицаДокумента.ВременнаяРазница) КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &ДатаПереходаПраваСобственности КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов КАК АналитикаРасходов,
| &НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДС,
| ТаблицаДокумента.Сумма КАК СуммаБезНДСУпр,
| ТаблицаДокумента.СуммаРегл КАК СуммаСНДСРегл,
| ТаблицаДокумента.СуммаРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| ТаблицаДокумента.СуммаРегл КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| И &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаРасходы", "Документ.РеализацияУслугПрочихАктивов.Расходы");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект = Неопределено) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, ДокументОбъект);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| &Статус КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЦенности =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| Доходы.Ссылка КАК Ссылка,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Грузоотправитель КАК Грузоотправитель,
| ДанныеДокумента.Грузополучатель КАК Грузополучатель,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ЛОЖЬ КАК РеализацияЧерезКомиссионера,
| Доходы.Ссылка КАК ДокументРеализации,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиРеализации,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК РеализацияВРозницу,
| ВЫБОР КОГДА Доходы.АрендныйКомпонентДоговора
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетов
| КОНЕЦ КАК ОбъектРасчетов,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| Доходы.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК НоменклатураНабора,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНабора,
| Доходы.Содержание КАК Содержание,
| Доходы.Количество КАК Количество,
| Доходы.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| Доходы.КодТНВЭД КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| Доходы.НомерСтроки КАК НомерСтроки,
| Доходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА Доходы.АрендныйКомпонентДоговора
| ТОГДА &ИдентификаторОбъектаРасчетов
| ИНАЧЕ Доходы.ИдентификаторСтроки
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| ТОГДА &НастройкаХозяйственнойОперации
| КОГДА Доходы.АрендныйКомпонентДоговора
| ТОГДА &НастройкаХозяйственнойОперации
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияКлиенту)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| ДанныеДокументаТаблицаДоходы КАК Доходы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО Доходы.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| Доходы.Ссылка В (&Ссылка)
|";
УчетНДСУП.ОтразитьРеализациюКлиенту(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецПроцедуры
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ВЫБОР
| КОГДА
| (ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ
| ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И ДанныеДокументаШапка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА ДанныеДокументаШапка.ДатаПереходаПраваСобственности
| ИНАЧЕ ДанныеДокументаШапка.Дата
| КОНЕЦ КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ВЫБОР
| КОГДА
| (ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ
| ДанныеДокументаШапка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И ДанныеДокументаШапка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА ДанныеДокументаШапка.ДатаПереходаПраваСобственности
| ИНАЧЕ ДанныеДокументаШапка.Дата
| КОНЕЦ КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| ДанныеДокументаТаблицаРасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Продажа
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено)
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде Тогда
ТекстПродажа = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| Неопределено КАК ЗаказПродажи,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.СуммаДокумента КАК Сумма,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| ВЫБОР
| КОГДА (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА Таблица.ДатаПереходаПраваСобственности
| ИНАЧЕ Таблица.Дата
| КОНЕЦ КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА Таблица.ДатаПереходаПраваСобственности
| ИНАЧЕ Таблица.Дата
| КОНЕЦ КАК ДатаКурса,
| Таблица.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитПослеОтгрузки) КАК ВариантОплаты,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| ДанныеДокументаШапка КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| ИЛИ (Таблица.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)))";
Иначе
ТекстПродажа = "";
КонецЕсли;
#КонецОбласти
#Область УвеличениеПланаОплат
ТекстПланированиеОплат = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.ФормаОплаты КАК ФормаОплаты,
|
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитПослеОтгрузки) КАК ВариантОплаты,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
|
| ИСТИНА КАК ИсключатьПриКонтроле,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка) КАК ЗаказПродажи,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|
|ИЗ
| ДанныеДокументаШапка КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)";
#КонецОбласти
#Область Продажа
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ((ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
И ДокументОбъект.Статус = Перечисления.СтатусыРеализацийТоваровУслуг.Отгружено)
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде Тогда
ТекстТовары = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Контрагент КАК Контрагент,
| Таблица.Договор КАК Договор,
| Таблица.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Дата КАК ДатаОтгрузки,
| ВЫБОР
| КОГДА (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И НЕ Таблица.Статус В (
| ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.КПредоплате),
| ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено))
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК УвеличитьОтгружается,
| ВЫБОР КОГДА Таблица.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде))
| ИЛИ Таблица.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК УменьшитьОтгружается,
| Таблица.СуммаВзаиморасчетов КАК УвеличитьКОтгрузке,
| Таблица.СуммаВзаиморасчетов КАК УменьшитьКОтгрузке,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка) КАК ЗаказПродажи,
| 0 КАК ЗалогЗаТару,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
|
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| ВЫБОР
| КОГДА (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА Таблица.ДатаПереходаПраваСобственности
| ИНАЧЕ Таблица.Дата
| КОНЕЦ КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.Валюта КАК ВалютаДокумента
|ИЗ
| ДанныеДокументаШапка КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И (Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| ИЛИ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| ИЛИ (Таблица.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И Таблица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)))";
Иначе
ТекстПродажа = "";
КонецЕсли;
#КонецОбласти
#Область ЗачетАванса
ТекстЗачетАванса = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
| ВЫБОР
| КОГДА (ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ИЛИ ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
| И ДанныеДокумента.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| ТОГДА ДанныеДокумента.ДатаПереходаПраваСобственности
| ИНАЧЕ ДанныеДокумента.Дата
| КОНЕЦ КАК ДатаКурса,
| ВЫБОР КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав)
| ИЛИ ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РезервированиеАвансаКлиента)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса)
| КОНЕЦ КАК ХозяйственнаяОперация
|
|ИЗ
| ДанныеДокументаТаблицаРасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаШапка КАК ДанныеДокумента
| ПО Таблица.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеПродажи(Запрос, ТекстыЗапроса, Регистры, ТекстПродажа, ТекстПланированиеОплат, ТекстЗачетАванса, ТекстТовары);
#Область РеализацияВПути
ТекстПланированиеОплат = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Таблица.ФормаОплаты КАК ФормаОплаты,
|
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитПослеОтгрузки) КАК ВариантОплаты,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
| ИСТИНА КАК ИсключатьПриКонтроле
|
|ИЗ
| ДанныеДокументаШапка КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыРеализацийТоваровУслуг.Отгружено)
| И Таблица.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеРасчетыСКлиентамиПланОплат(Запрос, ТекстыЗапроса, Регистры, ТекстПланированиеОплат);
КонецПроцедуры
Процедура ПолучитьДанныеДокументаОтложенногоПроведения(Запрос)
СписокЗапросов = Новый Массив;
#Область ДанныеДокументаРеквизиты
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.Статус КАК Статус,
| ДанныеДокумента.ДатаПереходаПраваСобственности КАК ДатаПереходаПраваСобственности,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
|
| ВЫБОР
| КОГДА ДанныеДокумента.КурсЧислитель = 0
| ТОГДА 1
| ИНАЧЕ ДанныеДокумента.КурсЧислитель
| КОНЕЦ КАК Курс,
|
| ВЫБОР
| КОГДА ДанныеДокумента.КурсЗнаменатель = 0
| ТОГДА 1
| ИНАЧЕ ДанныеДокумента.КурсЗнаменатель
| КОНЕЦ Кратность
|
|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
|
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ДанныеДокументаТаблицаРасходы
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ВнеоборотныйАктив КАК ВнеоборотныйАктив,
| ТаблицаДокумента.ВнеоборотныйАктив КАК ОсновноеСредство,
| ТаблицаДокумента.ВнеоборотныйАктив КАК НематериальныйАктив,
| ТаблицаДокумента.ВидАктива КАК ВидАктива,
| ТаблицаДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаДокумента.ВосстановитьАмортизационнуюПремию КАК ВосстановитьАмортизационнуюПремию,
| ТаблицаДокумента.СуммаАмортизационнойПремии КАК СуммаАмортизационнойПремии,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ДанныеДокументаТаблицаРасходы
|
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Расходы КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (
| ВЫБРАТЬ
| ВтСписокДокументов.Ссылка
| ИЗ
| ВтСписокДокументов КАК ВтСписокДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВтПериодыДокументов
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокументаРеквизиты.Организация КАК Организация,
| НАЧАЛОПЕРИОДА(ДанныеДокументаРеквизиты.Период, МЕСЯЦ) КАК Период
|
|ПОМЕСТИТЬ ВтПериодыДокументов
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокументаРеквизиты
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаРеквизиты.Организация КАК Организация,
| НАЧАЛОПЕРИОДА(ДанныеДокументаРеквизиты.ДатаПереходаПраваСобственности, МЕСЯЦ) КАК Период
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокументаРеквизиты
|
|ГДЕ
| ДанныеДокументаРеквизиты.ДатаПереходаПраваСобственности <> ДАТАВРЕМЯ(1,1,1)
| И НАЧАЛОПЕРИОДА(ДанныеДокументаРеквизиты.ДатаПереходаПраваСобственности, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(ДанныеДокументаРеквизиты.Период, МЕСЯЦ)
|
|ИНДЕКСИРОВАТЬ ПО
| Период,
| Организация
|";
СписокЗапросов.Добавить(ТекстЗапроса);
#КонецОбласти
Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
Запрос.Выполнить();
КонецПроцедуры
Процедура ТекстЗапросаТаблицаПрочиеРасходыОтложенныеДвижения(Запрос, ТекстыЗапроса)
ИмяРегистра = "ПрочиеРасходы";
ДопПоля = "Регистратор";
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПараметрыУчетаОС(ТекстыЗапроса, "ДанныеДокументаТаблицаРасходы");
СписокЗапросовОбъединение = Новый Массив;
#Область СписаниеОстаточнойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| ДанныеДокумента.Организация КАК Организация,
| ОстаточнаяСтоимость.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ОстаточнаяСтоимость.СтатьяРасходов КАК СтатьяРасходов,
| ОстаточнаяСтоимость.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ОстаточнаяСтоимость.Стоимость КАК СуммаСНДС,
| ОстаточнаяСтоимость.Стоимость КАК СуммаБезНДС,
| ОстаточнаяСтоимость.Стоимость КАК СуммаБезНДСУпр,
| ОстаточнаяСтоимость.СтоимостьРегл КАК СуммаСНДСРегл,
| ОстаточнаяСтоимость.СтоимостьРегл КАК СуммаБезНДСРегл,
| ОстаточнаяСтоимость.СтоимостьПР КАК ПостояннаяРазница,
| ОстаточнаяСтоимость.СтоимостьВР КАК ВременнаяРазница,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СебестоимостьРеализацииНМА) КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
| ОстаточнаяСтоимость.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СебестоимостьРеализацииНМА) КАК НастройкаХозяйственнойОперации,
| ДанныеДокумента.Ссылка КАК Регистратор
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОстаточнаяСтоимость КАК ОстаточнаяСтоимость
| ПО ОстаточнаяСтоимость.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| И ОстаточнаяСтоимость.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА)
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВосстановлениеАмортизационнойПремии
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
|
| ДанныеДокумента.Организация КАК Организация,
| ПараметрыУчетаОС.Местонахождение КАК Подразделение,
| ПараметрыУчетаОС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РасходыПриПродажеОС) КАК СтатьяРасходов,
| ПараметрыУчетаОС.ОсновноеСредство КАК АналитикаРасходов,
| ДанныеДокумента.НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
| 0 КАК СуммаСНДСРегл,
| 0 КАК СуммаБезНДСРегл,
| -Строки.СуммаАмортизационнойПремии КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВосстановлениеАмортизационнойПремии) КАК ХозяйственнаяОперация,
| Неопределено КАК АналитикаУчетаНоменклатуры,
|
| Строки.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВосстановлениеАмортизационнойПремии) КАК НастройкаХозяйственнойОперации,
| ДанныеДокумента.Ссылка КАК Регистратор
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК Строки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = Строки.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыУчетаОС КАК ПараметрыУчетаОС
| ПО ПараметрыУчетаОС.Ссылка = Строки.Ссылка
| И ПараметрыУчетаОС.ОсновноеСредство = Строки.ВнеоборотныйАктив
|
|ГДЕ
| Строки.ВосстановитьАмортизационнуюПремию
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, "ВтИсходныеПрочиеРасходы");
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы(ДопПоля, Истина);
ТекстыЗапроса.Добавить(ТекстЗапроса, "ВтПрочиеРасходы");
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы(ДопПоля, Истина);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияДоходыРасходыПрочиеАктивыПассивыОтложенныеДвижения(Запрос, ТекстыЗапроса)
ИмяРегистра = "ДвиженияДоходыРасходыПрочиеАктивыПассивы";
СписокЗапросовОбъединение = Новый Массив;
#Область СписаниеОстаточнойСтоимости
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СебестоимостьРеализацииНМА) КАК ХозяйственнаяОперация,
|
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ОстаточнаяСтоимость.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| &СтатьяАП_НМА КАК Статья,
|
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ОстаточнаяСтоимость.ВнеоборотныйАктив КАК АналитикаАктивовПассивов,
| ОстаточнаяСтоимость.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ОстаточнаяСтоимость.СтатьяРасходов КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаДоходов,
| ОстаточнаяСтоимость.АналитикаРасходов КАК КорАналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаАктивовПассивов,
| ОстаточнаяСтоимость.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
|
| ОстаточнаяСтоимость.Стоимость КАК Сумма,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ОстаточнаяСтоимость.СтатьяРасходов.ВариантРаспределенияРасходовУпр, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаСебестоимостьТоваров)
| ИЛИ НЕ ЕСТЬNULL(ПараметрыПартионногоУчета.УправленческийУчетОрганизаций, ЛОЖЬ)
| ТОГДА 0
| ИНАЧЕ ОстаточнаяСтоимость.Стоимость
| КОНЕЦ КАК СуммаУпр,
|
| ОстаточнаяСтоимость.СтоимостьРегл + ОстаточнаяСтоимость.СтоимостьЦФ КАК СуммаРегл,
|
| ДанныеДокумента.Валюта КАК Валюта,
|
| ВЫБОР
| КОГДА ДанныеДокумента.Валюта = &ВалютаУправленческогоУчета
| ТОГДА ОстаточнаяСтоимость.Стоимость
| КОГДА ДанныеДокумента.Валюта = ДанныеДокумента.ВалютаРегламентированногоУчета
| ТОГДА ОстаточнаяСтоимость.СтоимостьРегл
| ИНАЧЕ ВЫРАЗИТЬ(ОстаточнаяСтоимость.СтоимостьРегл / ДанныеДокумента.Курс * ДанныеДокумента.Кратность КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаВВалюте
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОстаточнаяСтоимость КАК ОстаточнаяСтоимость
| ПО ОстаточнаяСтоимость.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПараметрыПартионногоУчетаДляПроведения КАК ПараметрыПартионногоУчета
| ПО ПараметрыПартионногоУчета.Период = НАЧАЛОПЕРИОДА(ДанныеДокумента.Период, МЕСЯЦ)
| И ПараметрыПартионногоУчета.Организация = ДанныеДокумента.Организация
|
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| И ОстаточнаяСтоимость.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА)
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПризнаниеДоходовОтЦелевогоФинансирования
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ДвижениеДоходовЗаСчетАктивовПассивов) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
|
| ДанныеДокумента.Подразделение КАК Подразделение,
| ОстаточнаяСтоимость.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ОстаточнаяСтоимость.СтатьяДоходов КАК Статья,
| ОстаточнаяСтоимость.АналитикаДоходов КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ОстаточнаяСтоимость.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
|
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| &СтатьяАП_ЦФ КАК КорСтатья,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаРасходов,
| ОстаточнаяСтоимость.ВнеоборотныйАктив КАК КорАналитикаАктивовПассивов,
| ОстаточнаяСтоимость.ГруппаФинансовогоУчета КАК КорГруппаФинансовогоУчета,
|
| 0 КАК Сумма,
| 0 КАК СуммаУпр,
| ОстаточнаяСтоимость.СтоимостьЦФ КАК СуммаРегл,
|
| ДанныеДокумента.Валюта КАК Валюта,
| 0 КАК СуммаВВалюте
|
|ИЗ
| ДанныеДокументаРеквизиты КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОстаточнаяСтоимость КАК ОстаточнаяСтоимость
| ПО ОстаточнаяСтоимость.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ОстаточнаяСтоимость.СтоимостьЦФ <> 0
|";
СписокЗапросовОбъединение.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(СписокЗапросовОбъединение, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДокументыПоОС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
МассивЗапросов = Новый Массив;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаОС.ВнеоборотныйАктив КАК ОсновноеСредство
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасходы КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
| И (ТаблицаОС.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.ОсновноеСредство)
| ИЛИ ТаблицаОС.ВидАктива ЕСТЬ NULL)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаОС.ПредметАренды КАК ОсновноеСредство
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаДоходы КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде)
| И ЕСТЬNULL(ТаблицаОС.АрендныйКомпонентДоговора, ЛОЖЬ)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаОС.АналитикаАктивовПассивов КАК ОсновноеСредство
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасходы КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ИспользоватьВнеоборотныеАктивы2_2
| И ТаблицаОС.АналитикаАктивовПассивов ССЫЛКА Справочник.ОбъектыЭксплуатации
| И ТаблицаОС.АналитикаАктивовПассивов <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
| И НЕ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаОС.АналитикаДоходов КАК ОсновноеСредство
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаДоходы КАК ТаблицаОС
| ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасходы КАК ТаблицаРасходы
| ПО ТаблицаОС.Ссылка = ТаблицаРасходы.Ссылка
| И ТаблицаОС.АналитикаДоходов = ТаблицаРасходы.АналитикаАктивовПассивов
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ИспользоватьВнеоборотныеАктивы2_2
| И ТаблицаРасходы.Ссылка ЕСТЬ NULL
| И ТаблицаОС.АналитикаДоходов ССЫЛКА Справочник.ОбъектыЭксплуатации
| И ТаблицаОС.АналитикаДоходов <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
| И НЕ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияУслугПоАренде))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаДоходы", "Документ.РеализацияУслугПрочихАктивов.Доходы");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаРасходы", "Документ.РеализацияУслугПрочихАктивов.Расходы");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.РеализацияУслугПрочихАктивов");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДокументыПоНМА(ТекстыЗапроса, Регистры, ДокументОбъект)
ИмяРегистра = "ДокументыПоНМА";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
МассивЗапросов = Новый Массив;
Если ДокументОбъект = Неопределено
ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаНМА.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаНМА.ВнеоборотныйАктив КАК НематериальныйАктив
|ИЗ
| ДанныеДокументаШапка КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасходы КАК ТаблицаНМА
| ПО ТаблицаНМА.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (ТаблицаНМА.ВидАктива В (
| ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА),
| ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НИОКР))
| ИЛИ ТаблицаНМА.ВидАктива ЕСТЬ NULL)
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов)
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаНМА.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаНМА.АналитикаАктивовПассивов КАК НематериальныйАктив
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаНМА
|ГДЕ
| ТаблицаНМА.Ссылка = &Ссылка
| И &ИспользоватьВнеоборотныеАктивы2_2
| И ТаблицаНМА.АналитикаАктивовПассивов ССЫЛКА Справочник.НематериальныеАктивы
| И ТаблицаНМА.АналитикаАктивовПассивов <> ЗНАЧЕНИЕ(Справочник.НематериальныеАктивы.ПустаяСсылка)
| И НЕ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если ДокументОбъект = Неопределено
ИЛИ (ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов
И ДокументОбъект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав) Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаНМА.НомерСтроки-1, 0) КАК НомерЗаписи,
| &Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Проведен КАК Проведен,
| ИСТИНА КАК ОтражатьВРеглУчете,
| ИСТИНА КАК ОтражатьВУпрУчете,
| ТаблицаНМА.АналитикаДоходов КАК НематериальныйАктив
|ИЗ
| ДанныеДокументаТаблицаДоходы КАК ТаблицаНМА
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаРасходы КАК ТаблицаРасходы
| ПО ТаблицаНМА.Ссылка = ТаблицаРасходы.Ссылка
| И ТаблицаНМА.АналитикаДоходов = ТаблицаРасходы.АналитикаАктивовПассивов
|ГДЕ
| ТаблицаНМА.Ссылка = &Ссылка
| И &ИспользоватьВнеоборотныеАктивы2_2
| И ТаблицаРасходы.Ссылка ЕСТЬ NULL
| И ТаблицаНМА.АналитикаДоходов ССЫЛКА Справочник.НематериальныеАктивы
| И ТаблицаНМА.АналитикаДоходов <> ЗНАЧЕНИЕ(Справочник.НематериальныеАктивы.ПустаяСсылка)
| И НЕ &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав))
|";
МассивЗапросов.Добавить(ТекстЗапроса);
КонецЕсли;
Если МассивЗапросов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивЗапросов, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Если ДокументОбъект = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаДоходы", "Документ.РеализацияУслугПрочихАктивов.Доходы");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаТаблицаРасходы", "Документ.РеализацияУслугПрочихАктивов.Расходы");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДанныеДокументаШапка", "Документ.РеализацияУслугПрочихАктивов");
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаСтоимостьНМА(ТекстыЗапроса)
ИмяРегистра = "СтоимостьНМА";
ТекстЗапросаТаблицаВтОстаточнаяСтоимость(ТекстыЗапроса);
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Период КАК Период,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СебестоимостьРеализацииНМА) КАК ХозяйственнаяОперация,
|
| ТаблицаСтоимости.Организация КАК Организация,
| ТаблицаСтоимости.Подразделение КАК Подразделение,
| ТаблицаСтоимости.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаСтоимости.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаСтоимости.ВнеоборотныйАктив КАК НематериальныйАктив,
|
| ТаблицаСтоимости.Стоимость КАК Стоимость,
| ТаблицаСтоимости.СтоимостьРегл КАК СтоимостьРегл,
| ТаблицаСтоимости.СтоимостьНУ КАК СтоимостьНУ,
| ТаблицаСтоимости.СтоимостьПР КАК СтоимостьПР,
| ТаблицаСтоимости.СтоимостьВР КАК СтоимостьВР,
| ТаблицаСтоимости.СтоимостьЦФ КАК СтоимостьЦФ,
| ТаблицаСтоимости.СтоимостьНУЦФ КАК СтоимостьНУЦФ,
| ТаблицаСтоимости.СтоимостьПРЦФ КАК СтоимостьПРЦФ,
| ТаблицаСтоимости.СтоимостьВРЦФ КАК СтоимостьВРЦФ,
|
| ТаблицаСтоимости.СтатьяРасходов КАК КорСтатьяРасходов,
| ТаблицаСтоимости.АналитикаРасходов КАК КорАналитикаРасходов,
|
| ДанныеДокумента.Подразделение КАК КорПодразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ТаблицаСтоимости.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СебестоимостьРеализацииНМА) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| втОстаточнаяСтоимость КАК ТаблицаСтоимости
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаРеквизиты КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаСтоимости.Ссылка
|
|ГДЕ
| ТаблицаСтоимости.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаВтТаблицаВНА(ТекстыЗапроса)
ИмяТаблицы = "втТаблицаВНА";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаОС(ТекстыЗапроса, "ДанныеДокументаТаблицаРасходы");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтМестонахождениеОС(ТекстыЗапроса, "ДанныеДокументаТаблицаРасходы");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтПорядокУчетаНМА(ТекстыЗапроса, "ДанныеДокументаТаблицаРасходы");
ВнеоборотныеАктивыСлужебный.ТекстЗапросаТаблицаВтМестоУчетаНМА(ТекстыЗапроса, "ДанныеДокументаТаблицаРасходы");
ТекстЗапроса = РеализацияУслугПрочихАктивовЛокализация.ТекстЗапросаТаблицаВтТаблицаВНА(ТекстыЗапроса);
Если ТекстЗапроса = Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаВНА.Ссылка КАК Ссылка,
| МестонахождениеОС.Организация КАК Организация,
| МестонахождениеОС.Местонахождение КАК Подразделение,
| ТаблицаВНА.ВидАктива КАК ВидАктива,
| ТаблицаВНА.ВнеоборотныйАктив КАК ВнеоборотныйАктив,
| ЛОЖЬ КАК НедвижимоеИмущество,
|
| ПорядокУчета.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчета.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ТаблицаВНА.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВНА.АналитикаРасходов КАК АналитикаРасходов,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
|
| ТаблицаВНА.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ втТаблицаВНА
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаВНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаОС КАК ПорядокУчета
| ПО ПорядокУчета.Ссылка = ТаблицаВНА.Ссылка
| И ПорядокУчета.ОсновноеСредство = ТаблицаВНА.ВнеоборотныйАктив
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестонахождениеОС КАК МестонахождениеОС
| ПО МестонахождениеОС.Ссылка = ТаблицаВНА.Ссылка
| И МестонахождениеОС.ОсновноеСредство = ТаблицаВНА.ВнеоборотныйАктив
|ГДЕ
| ТаблицаВНА.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.ОсновноеСредство)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВНА.Ссылка КАК Ссылка,
| МестоУчетаНМА.Организация КАК Организация,
| МестоУчетаНМА.Подразделение КАК Подразделение,
| ТаблицаВНА.ВидАктива КАК ВидАктива,
| ТаблицаВНА.ВнеоборотныйАктив КАК ВнеоборотныйАктив,
| ЛОЖЬ КАК НедвижимоеИмущество,
|
| ПорядокУчета.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ПорядокУчета.ГруппаФинансовогоУчета КАК НаправлениеДеятельности,
|
| ТаблицаВНА.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВНА.АналитикаРасходов КАК АналитикаРасходов,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
|
| ТаблицаВНА.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ДанныеДокументаТаблицаРасходы КАК ТаблицаВНА
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПорядокУчетаНМА КАК ПорядокУчета
| ПО ПорядокУчета.Ссылка = ТаблицаВНА.Ссылка
| И ПорядокУчета.НематериальныйАктив = ТаблицаВНА.ВнеоборотныйАктив
|
| ЛЕВОЕ СОЕДИНЕНИЕ втМестоУчетаНМА КАК МестоУчетаНМА
| ПО МестоУчетаНМА.Ссылка = ТаблицаВНА.Ссылка
| И МестоУчетаНМА.НематериальныйАктив = ТаблицаВНА.ВнеоборотныйАктив
|
|ГДЕ
| ТаблицаВНА.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтОстаточнаяСтоимость(ТекстыЗапроса)
ИмяТаблицы = "втОстаточнаяСтоимость";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтТаблицаВНА(ТекстыЗапроса);
ТекстЗапроса =
"//Списание остаточной стоимости
|ВЫБРАТЬ
| ТаблицаВНА.Ссылка КАК Ссылка,
| ТаблицаВНА.Организация КАК Организация,
| ТаблицаВНА.Подразделение КАК Подразделение,
| ТаблицаВНА.ВидАктива КАК ВидАктива,
| ТаблицаВНА.ВнеоборотныйАктив КАК ВнеоборотныйАктив,
| ТаблицаВНА.НедвижимоеИмущество КАК НедвижимоеИмущество,
|
| ЕСТЬNULL(СтоимостьВНА.Стоимость, 0) - ЕСТЬNULL(АмортизацияВНА.Амортизация, 0) КАК Стоимость,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияРегл, 0) КАК СтоимостьРегл,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьНУ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияНУ, 0) КАК СтоимостьНУ,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьПР, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияПР, 0) КАК СтоимостьПР,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьВР, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияВР, 0) КАК СтоимостьВР,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияЦФ, 0) КАК СтоимостьЦФ,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьНУЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияНУЦФ, 0) КАК СтоимостьНУЦФ,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьПРЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияПРЦФ, 0) КАК СтоимостьПРЦФ,
| ЕСТЬNULL(СтоимостьВНА.СтоимостьВРЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияВРЦФ, 0) КАК СтоимостьВРЦФ,
|
| ТаблицаВНА.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ТаблицаВНА.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВНА.СтатьяДоходов КАК СтатьяДоходов,
| ТаблицаВНА.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаВНА.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаВНА.АналитикаРасходов КАК АналитикаРасходов,
|
| ТаблицаВНА.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ втОстаточнаяСтоимость
|
|ИЗ
| втТаблицаВНА КАК ТаблицаВНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьВНА КАК СтоимостьВНА
| ПО СтоимостьВНА.Ссылка = ТаблицаВНА.Ссылка
| И СтоимостьВНА.ОбъектУчета = ТаблицаВНА.ВнеоборотныйАктив
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_АмортизацияВНА КАК АмортизацияВНА
| ПО АмортизацияВНА.Ссылка = ТаблицаВНА.Ссылка
| И АмортизацияВНА.ОбъектУчета = ТаблицаВНА.ВнеоборотныйАктив
|ГДЕ
| ТаблицаВНА.ВидАктива = ЗНАЧЕНИЕ(Перечисление.ВидыВнеоборотныхАктивов.НМА)
|
| И (ЕСТЬNULL(СтоимостьВНА.Стоимость, 0) - ЕСТЬNULL(АмортизацияВНА.Амортизация, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьРегл, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияРегл, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьНУ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияНУ, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьПР, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияПР, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьВР, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияВР, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияЦФ, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьНУЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияНУЦФ, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьПРЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияПРЦФ, 0) > 0
| ИЛИ ЕСТЬNULL(СтоимостьВНА.СтоимостьВРЦФ, 0) - ЕСТЬNULL(АмортизацияВНА.АмортизацияВРЦФ, 0) > 0)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы, Ложь);
КонецПроцедуры
Функция ТекстЗапросаТаблицаИнвестицииВАренду(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ИнвестицииВАренду";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ЗначениеЗаполнено(Запрос.Параметры.ТипДоговора) Тогда
Возврат "";
КонецЕсли;
Если Не (Запрос.Параметры.ТипДоговора = ПредопределенноеЗначение("Перечисление.ТипыДоговоров.ПередачаВАренду")
Или Запрос.Параметры.ТипДоговора = ПредопределенноеЗначение("Перечисление.ТипыДоговоров.Субаренда")) Тогда
Возврат "";
КонецЕсли;
ТекстЗапросаПредметовАренды =
"// Таблица ВтСписокПредметовАренды
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Ссылка КАК Ссылка,
| &Период КАК Период,
| &Организация КАК Организация,
| РеализацияУслугПрочихАктивовДоходы.ПредметАренды КАК ОсновноеСредство
|ПОМЕСТИТЬ ВтСписокПредметовАренды
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК РеализацияУслугПрочихАктивовДоходы
|ГДЕ
| РеализацияУслугПрочихАктивовДоходы.Ссылка = &Ссылка
| И РеализацияУслугПрочихАктивовДоходы.ПредметАренды <> Значение(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация";
ТекстыЗапроса.Добавить(ТекстЗапросаПредметовАренды, "ВтСписокПредметовАренды");
ВнеоборотныеАктивы.ТекстЗапросаСрезПоследнихРегистра("ПорядокУчетаОС",
"втПорядокУчетаПредметовАренды",
"ВтСписокПредметовАренды",
ТекстыЗапроса);
ТекстЗапроса =
"// Таблица движений по инвестициям в аренду
|ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Договор КАК Договор,
| &ВалютаВзаиморасчетов КАК Валюта,
| РеализацияУслугПрочихАктивовДоходы.ПредметАренды КАК ОсновноеСредство,
| втПорядокУчетаПредметовАренды.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| СуммыВВалютахУчета.СуммаБезНДС КАК АрендныеПлатежи,
| СуммыВВалютахУчета.СуммаБезНДСРегл КАК АрендныеПлатежиРегл,
| СуммыВВалютахУчета.СуммаБезНДСУпр КАК АрендныеПлатежиУпр,
| 0 КАК НГЛСРегл,
| 0 КАК НГЛСУпр,
| 0 КАК ПроцентныйДисконт,
| 0 КАК ПроцентныйДисконтУпр,
| 0 КАК ПроцентныйДисконтРегл,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияУслугПоАренде) КАК НастройкаХозяйственнойОперации,
| &ИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| РеализацияУслугПрочихАктивовДоходы.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК РеализацияУслугПрочихАктивовДоходы
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК СуммыВВалютахУчета
| ПО РеализацияУслугПрочихАктивовДоходы.Ссылка = СуммыВВалютахУчета.Ссылка
| И РеализацияУслугПрочихАктивовДоходы.ИдентификаторСтроки = СуммыВВалютахУчета.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ втПорядокУчетаПредметовАренды КАК втПорядокУчетаПредметовАренды
| ПО РеализацияУслугПрочихАктивовДоходы.ПредметАренды = втПорядокУчетаПредметовАренды.ОсновноеСредство
|ГДЕ
| РеализацияУслугПрочихАктивовДоходы.Ссылка = &Ссылка
| И РеализацияУслугПрочихАктивовДоходы.АрендныйКомпонентДоговора";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьАктОбОказанииУслуг";
КомандаПечати.Идентификатор = "Акт";
КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Акт об оказании услуг'");
КонецЕсли;
Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() И Не Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Идентификатор = "СчетНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Счет на оплату'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецЕсли;
Если Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Идентификатор = "ProformaInvoiceEn";
КомандаПечати.Представление = НСтр("ru = 'Proforma invoice (en)'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецЕсли;
Если НЕ ПраваПользователяПовтИсп.ЭтоПартнер() И Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "InvoiceInt";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Commercial invoice'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецЕсли;
РеализацияУслугПрочихАктивовЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
РеализацияУслугПрочихАктивовЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыАктОбОказанииУслуг(ПараметрыПечати, МассивОбъектов) Экспорт
Запрос = Новый Запрос("
|// ЗАПРОС ПО ШАПКЕ
|ВЫБРАТЬ // документы без посредника
| Реализация.Ссылка КАК Ссылка,
| Реализация.Номер КАК Номер,
| Реализация.Дата КАК Дата,
| Реализация.Партнер КАК Партнер,
| Реализация.Контрагент КАК Контрагент,
| Реализация.Организация КАК Организация,
| Реализация.Организация.Префикс КАК Префикс,
| Реализация.Валюта КАК Валюта,
| Реализация.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| (ВЫБОР КОГДА Реализация.НалогообложениеНДС В (&НалогообложениеБезНДС) ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ) КАК УчитыватьНДС,
| Реализация.Отпустил КАК ОтпускПроизвел
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК Реализация
|ГДЕ
| Реализация.Ссылка В (&МассивДокументов) И Реализация.Проведен
|УПОРЯДОЧИТЬ ПО
| Ссылка;
|
|// ЗАПРОС ПО ТАБЛИЧНЫМ ЧАСТЯМ
|ВЫБРАТЬ
| Реализация.Ссылка КАК Ссылка,
| Реализация.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| Реализация.Содержание КАК УслугаНаименованиеПолное,
| """" КАК Код,
| """" КАК Артикул,
| """" КАК ЕдиницаЦены,
| Реализация.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| """" КАК ХарактеристикаНаименованиеПолное,
| """" КАК УпаковкаНаименование,
| Реализация.СтавкаНДС КАК СтавкаНДС,
| Реализация.Цена КАК Цена,
| Реализация.Количество КАК Количество,
| Реализация.Сумма КАК Сумма,
| Реализация.СуммаНДС КАК СуммаНДС,
| 0 КАК ПроцентСкидки,
| 0 КАК СуммаСкидки,
| Реализация.Сумма КАК СуммаБезСкидки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК Реализация
|ГДЕ
| Реализация.Ссылка В (&МассивДокументов)
| И Реализация.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов))
|УПОРЯДОЧИТЬ ПО
| Реализация.Ссылка, Реализация.НомерСтроки
|ИТОГИ ПО
| Ссылка
|");
НалогообложениеБезНДС = Новый Массив();
НалогообложениеБезНДС.Добавить(Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС);
НалогообложениеБезНДС.Добавить(Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД);
Запрос.УстановитьПараметр("НалогообложениеБезНДС", НалогообложениеБезНДС);
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
РезультатыЗапроса = Запрос.ВыполнитьПакет();
Возврат Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти", РезультатыЗапроса[0], РезультатыЗапроса[1]);
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Партнер";
МассивРеквизитовПолучателей = СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей;
МассивРеквизитовПолучателей.Добавить("Партнер");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
МассивРеквизитовПолучателей.Добавить("Контрагент");
КонецЕсли;
МассивРеквизитовПолучателей.Добавить("КонтактноеЛицо");
МассивРеквизитовПолучателей.Добавить("Грузоотправитель");
МассивРеквизитовПолучателей.Добавить("Грузополучатель");
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыСчетаНаОплату(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
Возврат ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка);
КонецФункции
Функция ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.Владелец, Документы.Организация) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.Контрагент КАК Контрагент,
| Документы.Контрагент.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетОрганизации КАК БанковскийСчет,
|
| ВЫБОР КОГДА Документы.БанковскийСчетОрганизации.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетКонтрагента.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетОрганизации.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК ЭтоСчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетОрганизации.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанка
| ИНАЧЕ КлассификаторБанков.СВИФТБИК
| КОНЕЦ КАК СВИФТБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанка
| ИНАЧЕ КлассификаторБанков.Адрес
| КОНЕЦ КАК АдресБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаМеждународный
| ИНАЧЕ КлассификаторБанков.АдресМеждународный
| КОНЕЦ КАК АдресБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанка
| ИНАЧЕ СтраныБанков.Ссылка
| КОНЕЦ КАК СтранаБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетовМеждународное
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетовМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СВИФТБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.СВИФТБИК
| КОНЕЦ КАК СВИФТБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.ГородМеждународный
| КОНЕЦ КАК ГородБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.АдресМеждународный
| КОНЕЦ КАК АдресБанкаДляРасчетовМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Адрес
| КОНЕЦ КАК АдресБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.СтранаБанкаДляРасчетов
| ИНАЧЕ СтраныБанковКорреспондентовРФ.Ссылка
| КОНЕЦ КАК СтранаБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанков.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанковКорреспондентовРФ.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.Грузоотправитель КАК Грузоотправитель,
| Документы.Грузополучатель КАК Грузополучатель,
| Документы.СуммаДокумента КАК СуммаКВозврату,
| ЛОЖЬ КАК ЧастичнаяОплата,
| """" КАК НазначениеПлатежа,
| 100 КАК ПроцентОплаты,
| """" КАК ДополнительнаяИнформация,
| Документы.СуммаДокумента КАК СуммаДокумента,
| Документы.ИдентификаторПлатежа КАК ИдентификаторПлатежа,
| ЛОЖЬ КАК СчетКВозврату
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанков
| ПО КлассификаторБанков.КодСтраны = СтраныБанков.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныБанковКорреспондентовРФ
| ПО КлассификаторБанковКорреспондентовРФ.КодСтраны = СтраныБанковКорреспондентовРФ.Код
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Документы.МоментВремени
|;
|
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| 1 КАК НомерСтроки,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| 100 КАК ПроцентПлатежа,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаПлатежа,
| ЛОЖЬ КАК ЭтоЗалогЗаТару
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка В(&МассивОбъектов)
| И ДанныеДокумента.СуммаВзаиморасчетов > 0
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка
|
|ИМЕЮЩИЕ
| ДанныеДокумента.СуммаВзаиморасчетов > 0
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки
|;
|
|
|ВЫБРАТЬ
| Доходы.Ссылка КАК Ссылка,
| Доходы.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК Код,
| НЕОПРЕДЕЛЕНО Артикул,
| Доходы.Содержание КАК НаименованиеПолное,
| Доходы.Содержание КАК Содержание,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзыкСистемы ТОГДА
| ПРЕДСТАВЛЕНИЕ(Доходы.ЕдиницаИзмерения)
| ИНАЧЕ Доходы.ЕдиницаИзмерения.МеждународноеСокращение
| КОНЕЦ КАК ЕдиницаИзмерения,
| Доходы.Количество КАК Количество,
| Доходы.Цена КАК Цена,
| Доходы.Сумма КАК Сумма,
| Доходы.СтавкаНДС КАК СтавкаНДС,
| Доходы.СуммаНДС КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоВозвратнаяТара,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| ЕдиницаИзмерения КАК Упаковка,
| 0 КАК СуммаСкидки,
| Доходы.Сумма КАК СуммаБезСкидки
|ИЗ
| Документ.РеализацияУслугПрочихАктивов.Доходы КАК Доходы
|ГДЕ
| Доходы.Ссылка В(&МассивОбъектов)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("КодЯзыка", КодЯзыка);
Запрос.УстановитьПараметр("ЭтоОсновнойЯзыкСистемы", КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка() Или КодЯзыка = Неопределено);
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[2]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ИнициализацияИЗаполнение
Процедура ЗаполнитьПоУмолчанию(Объект) Экспорт
Объект.Автор = Пользователи.ТекущийПользователь();
Если Не ЗначениеЗаполнено(Объект.Менеджер) Тогда
Объект.Менеджер = Пользователи.ТекущийПользователь();
КонецЕсли;
Объект.Подразделение = ЗначениеНастроекПовтИсп.ПодразделениеПользователя(Объект.Менеджер, Объект.Подразделение);
Объект.Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Объект.Организация);
Если Не ЗначениеЗаполнено(Объект.Валюта) Тогда
Объект.Валюта = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
КонецЕсли;
СтруктураПараметров = ДенежныеСредстваСервер.ПараметрыЗаполненияБанковскогоСчетаОрганизацииПоУмолчанию();
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.БанковскийСчет = Объект.БанковскийСчетОрганизации;
Объект.БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(СтруктураПараметров);
КонецПроцедуры
Процедура ЗаполнитьПоПартнеру(Объект, Партнер) Экспорт
Если Не ЗначениеЗаполнено(Объект.Партнер) Или (Объект.Партнер <> Партнер) Тогда
Объект.Партнер = Партнер;
КонецЕсли;
УсловияПродаж = ПродажиСервер.ПолучитьУсловияПродажПоУмолчанию(
Объект.Партнер,
Новый Структура("ХозяйственныеОперации, ВыбранноеСоглашение", Объект.ХозяйственнаяОперация, Объект.Соглашение));
Если ЗначениеЗаполнено(УсловияПродаж) Тогда
Объект.Соглашение = УсловияПродаж.Соглашение;
ЗаполнитьПоУсловиямПродаж(Объект, УсловияПродаж);
Иначе
Объект.Соглашение = Неопределено;
ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Объект.Партнер, Объект.Контрагент);
Объект.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(Объект.Контрагент, , Объект.БанковскийСчетКонтрагента);
КонецЕсли;
ПартнерыИКонтрагенты.ЗаполнитьКонтактноеЛицоПартнераПоУмолчанию(Объект.Партнер, Объект.КонтактноеЛицо);
КонецПроцедуры
Процедура ЗаполнитьПоУсловиямПродаж(Объект, УсловияПродаж) Экспорт
ЗаполнитьЗначенияСвойств(Объект, УсловияПродаж, "Валюта, ЦенаВключаетНДС, ФормаОплаты, ГруппаФинансовогоУчета, НаправлениеДеятельности, ОплатаВВалюте");
Объект.ВалютаВзаиморасчетов = УсловияПродаж.ВалютаВзаиморасчетов;
Если Не ЗначениеЗаполнено(Объект.ХозяйственнаяОперация) Тогда
Объект.ХозяйственнаяОперация = УсловияПродаж.ХозяйственнаяОперация;
ИначеЕсли Не УсловияПродаж.ВозможнаРеализацияБезПереходаПраваСобственности Тогда
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности Тогда
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав Тогда
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(УсловияПродаж.Организация) И УсловияПродаж.Организация<>Объект.Организация Тогда
Объект.Организация = УсловияПродаж.Организация;
КонецЕсли;
Если (Не УсловияПродаж.Типовое) И ЗначениеЗаполнено(УсловияПродаж.Контрагент) И УсловияПродаж.Контрагент<>Объект.Контрагент Тогда
Объект.Контрагент = УсловияПродаж.Контрагент;
КонецЕсли;
ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Объект.Партнер, Объект.Контрагент);
Если (НЕ УсловияПродаж.Типовое) И НЕ ЗначениеЗаполнено(Объект.КонтактноеЛицо) Тогда
Объект.КонтактноеЛицо = УсловияПродаж.КонтактноеЛицо;
КонецЕсли;
Если УсловияПродаж.ИспользуютсяДоговорыКонтрагентов <> Неопределено И УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
Объект.Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(
Объект, Объект.ХозяйственнаяОперация, Объект.ВалютаВзаиморасчетов);
ПродажиСервер.ЗаполнитьБанковскиеСчетаПоДоговору(Объект.Договор, Объект.БанковскийСчетОрганизации, Объект.БанковскийСчетКонтрагента);
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетДоходовПоНаправлениямДеятельности") Тогда
НаправленияДеятельностиСервер.ЗаполнитьНаправлениеПоУмолчанию(Объект.НаправлениеДеятельности, Объект.Соглашение, Объект.Договор);
КонецЕсли;
Если ЗначениеЗаполнено(Объект.Договор) Тогда
Объект.ОплатаВВалюте = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Договор,"ОплатаВВалюте");
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(УсловияПродаж.ГрафикОплаты) Или ЗначениеЗаполнено(УсловияПродаж.Соглашение) Тогда
Объект.ДатаПлатежа = ПродажиСервер.ПолучитьПоследнююДатуПоГрафику(Объект.Дата, УсловияПродаж.ГрафикОплаты, УсловияПродаж.Соглашение);
КонецЕсли;
СтруктураПараметров = ДенежныеСредстваСервер.ПараметрыЗаполненияБанковскогоСчетаОрганизацииПоУмолчанию();
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.БанковскийСчет = Объект.БанковскийСчетОрганизации;
СтруктураПараметров.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
Объект.БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(СтруктураПараметров);
Объект.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(Объект.Контрагент, , Объект.БанковскийСчетКонтрагента);
Объект.АдресДоставки = ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(Объект.Партнер);
КонецПроцедуры
Функция СформироватьОснование(Объект, ИгнорироватьПорядокРасчетов=Ложь) Экспорт
СтруктураОснование = Новый Структура;
СтруктураОснование.Вставить("Основание");
СтруктураОснование.Вставить("ОснованиеНомер");
СтруктураОснование.Вставить("ОснованиеДата");
Если ЗначениеЗаполнено(Объект.Договор) Тогда
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Договоры.НаименованиеДляПечати КАК Основание,
| Договоры.ДатаНачалаДействия КАК ОснованиеДата,
| Договоры.Номер КАК ОснованиеНомер
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК Договоры
|ГДЕ
| Договоры.Ссылка = &Ссылка И (Договоры.ПорядокРасчетов = &ПорядокРасчетов ИЛИ &ИгнорироватьПорядокРасчетов)");
Запрос.УстановитьПараметр("Ссылка", Объект.Договор);
Запрос.УстановитьПараметр("ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов);
Запрос.УстановитьПараметр("ИгнорироватьПорядокРасчетов", ИгнорироватьПорядокРасчетов);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
СтруктураОснование.Основание = СокрЛП(Выборка.Основание);
СтруктураОснование.ОснованиеДата = Выборка.ОснованиеДата;
СтруктураОснование.ОснованиеНомер = СокрЛП(Выборка.ОснованиеНомер);
КонецЕсли;
КонецЕсли;
Возврат СтруктураОснование;
КонецФункции
Функция ТаблицаОснованийДляПечати(Объект) Экспорт
ТаблицаОснований = Новый ТаблицаЗначений;
ТаблицаОснований.Колонки.Добавить("Основание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(300)));
ТаблицаОснований.Колонки.Добавить("ОснованиеДата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
ТаблицаОснований.Колонки.Добавить("ОснованиеНомер", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(128)));
СтруктураОснования = СформироватьОснование(Объект, Истина);
Если ЗначениеЗаполнено(СтруктураОснования.Основание) Тогда
ДобавленнаяСтрока = ТаблицаОснований.Добавить();
ЗаполнитьЗначенияСвойств(ДобавленнаяСтрока, СтруктураОснования);
КонецЕсли;
Возврат ТаблицаОснований;
КонецФункции
#КонецОбласти
#Область Прочее
#КонецОбласти
#КонецОбласти
#КонецЕсли