#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ВзаимозачетЗадолженностиЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ВзаимозачетЗадолженности") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСКлиентами(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСПоставщиками(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ВзаимозачетЗадолженностиЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ВзаимозачетЗадолженностиЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ВзаимозачетЗадолженности) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ВзаимозачетЗадолженности.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ВзаимозачетЗадолженности);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
#Область ВедомостьРасчетовСКлиентами_ДобавитьКомандуОтчета
КомандаОтчета = ВзаиморасчетыСервер.ВедомостьРасчетовСКлиентами_ДобавитьКомандуОтчета(КомандыОтчетов);
Операции = Новый Массив;
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаОрганизацияКонтрагент);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера);
Если КомандаОтчета <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаОтчета,"ВидОперации", Операции,
ВидСравненияКомпоновкиДанных.ВСписке);
КонецЕсли;
#КонецОбласти
#Область ВедомостьРасчетовСПоставщиками_ДобавитьКомандуОтчета
КомандаОтчета = ВзаиморасчетыСервер.ВедомостьРасчетовСПоставщиками_ДобавитьКомандуОтчета(КомандыОтчетов);
Операции = Новый Массив;
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуОрганизацияКонтрагент);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями);
Если КомандаОтчета <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаОтчета,"ВидОперации", Операции,
ВидСравненияКомпоновкиДанных.ВСписке);
КонецЕсли;
#КонецОбласти
#Область ВедомостьРасчетовМеждуОрганизациями_ДобавитьКомандуОтчета
КомандаОтчета = ВзаиморасчетыСервер.ВедомостьРасчетовМеждуОрганизациями_ДобавитьКомандуОтчета(КомандыОтчетов);
Операции = Новый Массив;
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями);
Если КомандаОтчета <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаОтчета,"ВидОперации", Операции,
ВидСравненияКомпоновкиДанных.ВСписке);
КонецЕсли;
#КонецОбласти
#Область ВедомостьРасчетовСПартнерами_ДобавитьКомандуОтчета
КомандаОтчета = ВзаиморасчетыСервер.ВедомостьРасчетовСПартнерами_ДобавитьКомандуОтчета(КомандыОтчетов);
Операции = Новый Массив;
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Произвольный);
Операции.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Бартер);
Если КомандаОтчета <> Неопределено Тогда
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаОтчета,"ВидОперации", Операции,
ВидСравненияКомпоновкиДанных.ВСписке);
КонецЕсли;
#КонецОбласти
ВзаимозачетЗадолженностиЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Процедура ЗаполнитьИменаРеквизитовПоВидуОперации(ВидОперации, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("ОрганизацияКредитор");
МассивВсехРеквизитов.Добавить("КонтрагентКредитор");
МассивВсехРеквизитов.Добавить("ТипДебитора");
МассивВсехРеквизитов.Добавить("ТипКредитора");
МассивВсехРеквизитов.Добавить("ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный");
МассивВсехРеквизитов.Добавить("КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный");
МассивВсехРеквизитов.Добавить("ОбъектРасчетовИнтеркампаниЗеркальный");
МассивВсехРеквизитов.Добавить("ОбъектРасчетовДебиторКредиторЗеркальный");
МассивВсехРеквизитов.Добавить("НомерВходящегоДокумента");
МассивВсехРеквизитов.Добавить("ДатаВходящегоДокумента");
МассивРеквизитовОперации = Новый Массив;
Если ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами Тогда
МассивРеквизитовОперации.Добавить("КонтрагентКредитор");
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями Тогда
МассивРеквизитовОперации.Добавить("ОрганизацияКредитор");
МассивРеквизитовОперации.Добавить("ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный");
МассивРеквизитовОперации.Добавить("КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный");
МассивРеквизитовОперации.Добавить("ОбъектРасчетовИнтеркампаниЗеркальный");
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Произвольный Тогда
МассивРеквизитовОперации.Добавить("КонтрагентКредитор");
МассивРеквизитовОперации.Добавить("ТипДебитора");
МассивРеквизитовОперации.Добавить("ТипКредитора");
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера Тогда
МассивРеквизитовОперации.Добавить("КонтрагентКредитор");
МассивРеквизитовОперации.Добавить("НомерВходящегоДокумента");
МассивРеквизитовОперации.Добавить("ДатаВходящегоДокумента");
КонецЕсли;
КонецПроцедуры
Функция ПредставлениеРеквизитовПоВидуОперации(ВидОперации) Экспорт
СтруктураПредставлений = Новый Структура;
СтруктураПредставлений.Вставить("Организация", НСтр("ru='Организация'"));
СтруктураПредставлений.Вставить("ОрганизацияКредитор", НСтр("ru='Организация'"));
Если ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("Организация", НСтр("ru='Организация для передачи аванса'"));
СтруктураПредставлений.Вставить("ОрганизацияКредитор", НСтр("ru='Организация, получившая аванс'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("Организация", НСтр("ru='Организация, уплатившая аванс'"));
СтруктураПредставлений.Вставить("ОрганизацияКредитор", НСтр("ru='Организация для передачи аванса'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("Организация", НСтр("ru='Организация, выполнившая отгрузку'"));
СтруктураПредставлений.Вставить("ОрганизацияКредитор", НСтр("ru='Организация для передачи долга'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("Организация", НСтр("ru='Организация, оформившая поступление'"));
СтруктураПредставлений.Вставить("ОрганизацияКредитор", НСтр("ru='Организация для передачи долга'"));
КонецЕсли;
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Дебитор'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Кредитор'"));
Если ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Клиент'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Клиент'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуДвумяОрганизациями Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Организация-Клиент'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Организация-Клиент'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Клиент-получатель'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Клиент-кредитор'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Продавец'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Покупатель'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Клиент-дебитор'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Клиент-получатель'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Клиент-получатель'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Комиссионер-дебитор'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Клиент-дебитор'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Комиссионер-получатель'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Поставщик'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Поставщик'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуДвумяОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Организация-Поставщик'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Организация-Поставщик'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Поставщик-дебитор'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Поставщик-получатель'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Поставщик-получатель'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Поставщик-кредитор'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Бартер Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Контрагент'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Контрагент'"));
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями Тогда
СтруктураПредставлений.Вставить("КонтрагентДебитор", НСтр("ru='Организация-Контрагент'"));
СтруктураПредставлений.Вставить("КонтрагентКредитор", НСтр("ru='Организация-Контрагент'"));
КонецЕсли;
Возврат СтруктураПредставлений;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтение
|ГДЕ
| ( ЗначениеРазрешено(Организация)
| ИЛИ ЗначениеРазрешено(ДебиторскаяЗадолженность.Организация)
| ИЛИ ЗначениеРазрешено(КредиторскаяЗадолженность.Организация)
| )И( ЗначениеРазрешено(ДебиторскаяЗадолженность.Партнер)
| ИЛИ ЗначениеРазрешено(КредиторскаяЗадолженность.Партнер)
| )
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ( ЗначениеРазрешено(Организация)
| ИЛИ ЗначениеРазрешено(ДебиторскаяЗадолженность.Организация)
| ИЛИ ЗначениеРазрешено(КредиторскаяЗадолженность.Организация)
| )И( ЗначениеРазрешено(ДебиторскаяЗадолженность.Партнер)
| ИЛИ ЗначениеРазрешено(КредиторскаяЗадолженность.Партнер)
| )И ЗначениеРазрешено(ВидОперации)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.КонтрагентКредитор КАК КонтрагентКредитор,
| ДанныеДокумента.КонтрагентДебитор КАК КонтрагентДебитор,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани КАК ОбъектРасчетовИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный КАК ОбъектРасчетовИнтеркампаниЗеркальный
|ИЗ
| Документ.ВзаимозачетЗадолженности КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Реквизиты = Запрос.Выполнить().Выбрать();
Реквизиты.Следующий();
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("Номер", Реквизиты.Номер);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("Валюта", Реквизиты.Валюта);
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Реквизиты.Организация));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета());
Запрос.УстановитьПараметр("Подразделение", Реквизиты.Подразделение);
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ВзаимозачетЗадолженности"));
Запрос.УстановитьПараметр("ОбъектРасчетовИнтеркампани", Реквизиты.ОбъектРасчетовИнтеркампани);
Запрос.УстановитьПараметр("ОбъектРасчетовИнтеркампаниЗеркальный", Реквизиты.ОбъектРасчетовИнтеркампаниЗеркальный);
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВзаимозачетЗадолженности;
НастройкаХозОперации = Справочники.НастройкиХозяйственныхОпераций.ВзаимозачетЗадолженности;
Если Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуОрганизацияКонтрагент
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуДвумяОрганизациями Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереносАванса;
НастройкаХозОперации = Справочники.НастройкиХозяйственныхОпераций.ПереносАванса;
ИначеЕсли Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаОрганизацияКонтрагент
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуДвумяОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереносДолга;
НастройкаХозОперации = Справочники.НастройкиХозяйственныхОпераций.ПереносДолга;
ИначеЕсли Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОтражениеОплатыЧерезКомиссионера;
НастройкаХозОперации = Справочники.НастройкиХозяйственныхОпераций.ПереносАванса;
ИначеЕсли Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОтражениеВозвратаОплатыЧерезКомиссионера;
НастройкаХозОперации = Справочники.НастройкиХозяйственныхОпераций.ПереносАванса;
КонецЕсли;
ПереносМеждуДвумяОрганизациями = Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуДвумяОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуДвумяОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями
ИЛИ Реквизиты.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями;
Запрос.УстановитьПараметр("ПереносМеждуДвумяОрганизациями", ПереносМеждуДвумяОрганизациями);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", ХозяйственнаяОперация);
Запрос.УстановитьПараметр("НастройкаХозОперации", НастройкаХозОперации);
Запрос.УстановитьПараметр("ВидОперации", Реквизиты.ВидОперации);
Запрос.УстановитьПараметр("ОплатаПодарочнымСертификатом", Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом);
Запрос.УстановитьПараметр("РозничныйПокупатель", Справочники.Контрагенты.РозничныйПокупатель);
Запрос.УстановитьПараметр("ТипРасчетов", Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом);
Запрос.УстановитьПараметр("КонтрагентКредитор", Реквизиты.КонтрагентКредитор);
Запрос.УстановитьПараметр("КонтрагентДебитор", Реквизиты.КонтрагентДебитор);
Запрос.УстановитьПараметр("ДатаПолногоПогашенияМногоразовыхПС", ТекущаяДатаСеанса());
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос) Экспорт
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта,
Неопределено,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Процедура ИнициализироватьВтДебиторскаяКредиторскаяЗадолженность(Запрос) Экспорт
Если Запрос.Параметры.Свойство("ВтДебиторскаяКредиторскаяЗадолженностьИнициализированы") Тогда
Возврат;
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
РаспределитьТабличныеЧасти(Запрос);
ЗапросВременныхТаблиц = Новый Запрос;
ЗапросВременныхТаблиц.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросВременныхТаблиц.Текст = ТекстЗапросаВтДебиторскаяЗадолженность() + ОбщегоНазначения.РазделительПакетаЗапросов()
+ ТекстЗапросаВтКредиторскаяЗадолженность() + ОбщегоНазначения.РазделительПакетаЗапросов()
+ ТекстЗапросаВтДанныеДокумента() + ОбщегоНазначения.РазделительПакетаЗапросов()
+ ТекстЗапросаВтРасчетыСКлиентамиПредварительная() + ОбщегоНазначения.РазделительПакетаЗапросов()
+ ТекстЗапросаВтРасчетыСПоставщикамиПредварительная() + ОбщегоНазначения.РазделительПакетаЗапросов()
+ ТекстЗапросаВтИсточники() + ОбщегоНазначения.РазделительПакетаЗапросов();
ЗапросВременныхТаблиц.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросВременныхТаблиц.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросВременныхТаблиц.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросВременныхТаблиц.УстановитьПараметр("ВалютаРегламентированногоУчета", Запрос.Параметры.ВалютаРегламентированногоУчета);
ЗапросВременныхТаблиц.УстановитьПараметр("ВалютаУправленческогоУчета", Запрос.Параметры.ВалютаУправленческогоУчета);
ЗапросВременныхТаблиц.УстановитьПараметр("ПереносМеждуДвумяОрганизациями", Запрос.Параметры.ПереносМеждуДвумяОрганизациями);
ЗапросВременныхТаблиц.ВыполнитьПакет();
Запрос.УстановитьПараметр("ВтДебиторскаяКредиторскаяЗадолженностьИнициализированы", Истина);
КонецПроцедуры
Процедура ИнициализироватьВременныеТаблицыПоРасчетам(Запрос, ВидЗадолженности = Неопределено)
ЗапросВременнойТаблицы = Новый Запрос;
ЗапросВременнойТаблицы.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросВременнойТаблицы.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросВременнойТаблицы.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросВременнойТаблицы.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросВременнойТаблицы.УстановитьПараметр("ВалютаРегламентированногоУчета", Запрос.Параметры.ВалютаРегламентированногоУчета);
ЗапросВременнойТаблицы.УстановитьПараметр("ПереносМеждуДвумяОрганизациями", Запрос.Параметры.ПереносМеждуДвумяОрганизациями);
ТекстЗапроса = "";
Если (ВидЗадолженности = "Клиенты" ИЛИ ВидЗадолженности = Неопределено)
И НЕ Запрос.Параметры.Свойство("ВтРасчетыСКлиентамиИнициализирована") Тогда
Запрос.УстановитьПараметр("ВтРасчетыСКлиентамиИнициализирована", Истина);
ТекстЗапроса = ТекстЗапросаВтРасчетыСКлиентами();
КонецЕсли;
Если (ВидЗадолженности = "Поставщики" ИЛИ ВидЗадолженности = Неопределено)
И НЕ Запрос.Параметры.Свойство("ВтРасчетыСПоставщикамиИнициализирована") Тогда
Запрос.УстановитьПараметр("ВтРасчетыСПоставщикамиИнициализирована", Истина);
Если ЗначениеЗаполнено(ТекстЗапроса) Тогда
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов();
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + ТекстЗапросаВтРасчетыСПоставщиками();
КонецЕсли;
Если ВидЗадолженности = Неопределено Тогда
Если ЗначениеЗаполнено(ТекстЗапроса) Тогда
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов();
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + ТекстЗапросаВтРасчетыПоЗадолженности();
КонецЕсли;
Если ЗначениеЗаполнено(ТекстЗапроса) Тогда
ЗапросВременнойТаблицы.Текст = ТекстЗапроса;
ЗапросВременнойТаблицы.ВыполнитьПакет();
КонецЕсли;
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
Если ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
ИнициализироватьВтДебиторскаяКредиторскаяЗадолженность(Запрос);
ТекстЗапросаДанных =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ""РасчетыСКлиентами"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ТаблицаДвижений.Организация КАК Организация,
| ТаблицаДвижений.ВалютаВзаиморасчетов КАК ВалютаДокумента,
| ТаблицаДвижений.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
| ДанныеДокумента.Дата КАК ДатаКурса,
|
| 0 КАК НомерСтроки,
| ТаблицаДвижений.ИдентификаторСтрокиТЧ КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА -ТаблицаДвижений.СуммаВзаиморасчетов
| ИНАЧЕ
| ТаблицаДвижений.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ВЫБОР
| КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА -ТаблицаДвижений.СуммаВзаиморасчетов
| ИНАЧЕ
| ТаблицаДвижений.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДвижений.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Произвольный)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| ВтРасчетыСКлиентамиПредварительная КАК ТаблицаДвижений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОбъектыРасчетовСтрок КАК ОбъектыРасчетовСтрок
| ПО ТаблицаДвижений.ОбъектРасчетов = ОбъектыРасчетовСтрок.ОбъектРасчетов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ""РасчетыСПоставщиками"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ТаблицаДвижений.Организация КАК Организация,
| ТаблицаДвижений.ВалютаВзаиморасчетов КАК ВалютаДокумента,
| ТаблицаДвижений.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
| ДанныеДокумента.Дата КАК ДатаКурса,
|
| 0 КАК НомерСтроки,
| ТаблицаДвижений.ИдентификаторСтрокиТЧ КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА -ТаблицаДвижений.СуммаВзаиморасчетов
| ИНАЧЕ ТаблицаДвижений.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ВЫБОР КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА -ТаблицаДвижений.СуммаВзаиморасчетов
| ИНАЧЕ ТаблицаДвижений.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДвижений.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Произвольный)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК ТаблицаДвижений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОбъектыРасчетовСтрок КАК ОбъектыРасчетовСтрок
| ПО ТаблицаДвижений.ОбъектРасчетов = ОбъектыРасчетовСтрок.ОбъектРасчетов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
|ГДЕ
| ТаблицаДвижений.Ссылка В (&Ссылка)
|";
Иначе
ТекстЗапросаДанных =
"ВЫБРАТЬ
| ""ДебиторскаяЗадолженность"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.ВалютаВзаиморасчетов КАК ВалютаДокумента,
| ТаблицаДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ВзаимозачетЗадолженности.ДебиторскаяЗадолженность КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ""КредиторскаяЗадолженность"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.ВалютаВзаиморасчетов КАК ВалютаДокумента,
| ТаблицаДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ВзаимозачетЗадолженности.КредиторскаяЗадолженность КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|";
КонецЕсли;
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРасчетыСКлиентами(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСКлиентами";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтДебиторскаяКредиторскаяЗадолженность(Запрос);
ИнициализироватьВременныеТаблицыПоРасчетам(Запрос, "Клиенты");
ТекстЗапроса = ТекстЗапросаРасчетыСКлиентами();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыСПоставщиками(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСПоставщиками";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтДебиторскаяКредиторскаяЗадолженность(Запрос);
ИнициализироватьВременныеТаблицыПоРасчетам(Запрос, "Поставщики");
ТекстЗапроса = ТекстЗапросаРасчетыСПоставщиками();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ПодготовитьТаблицуДвиженияКонтрагентКонтрагент(Запрос)
Если Запрос.Параметры.Свойство("ДвиженияКонтрагентКонтрагентПодготовлены") Тогда
Возврат;
КонецЕсли;
ИнициализироватьВтДебиторскаяКредиторскаяЗадолженность(Запрос);
ИнициализироватьВременныеТаблицыПоРасчетам(Запрос);
ЗапросЗадолженостей = Новый Запрос;
ЗапросЗадолженостей.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросЗадолженостей.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросЗадолженостей.УстановитьПараметр("Период", Запрос.Параметры.Период);
ЗапросЗадолженостей.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросЗадолженостей.УстановитьПараметр("ВалютаУправленческогоУчета", Запрос.Параметры.ВалютаУправленческогоУчета);
ЗапросЗадолженостей.УстановитьПараметр("ВалютаРегламентированногоУчета", Запрос.Параметры.ВалютаРегламентированногоУчета);
ЗапросЗадолженостей.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Запрос.Параметры.КоэффициентПересчетаВВалютуУпр);
ЗапросЗадолженостей.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Запрос.Параметры.КоэффициентПересчетаВВалютуРегл);
ЗапросЗадолженостей.Текст =
"ВЫБРАТЬ
| &Период КАК Период,
| Задолженность.ВидДвижения КАК ВидДвижения,
| &Ссылка КАК Регистратор,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Задолженность.Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| Задолженность.Партнер КАК Партнер,
| Задолженность.Контрагент КАК Контрагент,
| Задолженность.Договор КАК Договор,
| Задолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Задолженность.ОбъектРасчетов КАК ОбъектРасчетов,
|
| НЕОПРЕДЕЛЕНО КАК КорПартнер,
| НЕОПРЕДЕЛЕНО КАК КорКонтрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК КорДоговор,
| НЕОПРЕДЕЛЕНО КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК КорТипСуммы,
|
| ВЫБОР КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0
| ТОГДА ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ Задолженность.СуммаУпр
| КОНЕЦ КАК Сумма,
| 0 КАК СуммаБезНДС,
| ВЫБОР КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0
| ТОГДА ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ Задолженность.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
|
| Задолженность.ВалютаВзаиморасчетов КАК Валюта,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВВалюте,
| 0 КАК СуммаБезНДСВВалюте,
|
| Задолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА Задолженность.СуммаВзаиморасчетов = 0
| ТОГДА 1
| ИНАЧЕ (ВЫБОР КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0
| ТОГДА ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ Задолженность.СуммаРегл
| КОНЕЦ) / Задолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК КурсВалютыВзаиморасчетов,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК КорВалютаВзаиморасчетов,
| 0 КАК КорСуммаВВалютеВзаиморасчетов,
| 0 КАК КорСуммаБезНДСВВалютеВзаиморасчетов,
|
| Задолженность.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| НЕОПРЕДЕЛЕНО КАК КорИсточникГФУРасчетов,
| Задолженность.Организация = Задолженность.Организация.ГоловнаяОрганизация КАК ЭтоГоловнаяОрганизация,
| Задолженность.ЭтоРасчетыСклиентами КАК ЭтоРасчетыСклиентами,
| ЛОЖЬ КАК ЭтоВозвратАванса,
| ЛОЖЬ КАК Сторно
|ИЗ
| ВтРасчетыПоЗадолженности КАК Задолженность
|ГДЕ
| Задолженность.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|
|УПОРЯДОЧИТЬ ПО
| Задолженность.Организация,
| Задолженность.Сумма УБЫВ
|;
|
|
|ВЫБРАТЬ
| &Период КАК Период,
| Задолженность.ВидДвижения КАК ВидДвижения,
| &Ссылка КАК Регистратор,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Задолженность.Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| НЕОПРЕДЕЛЕНО КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
|
| Задолженность.Партнер КАК КорПартнер,
| Задолженность.Контрагент КАК КорКонтрагент,
| Задолженность.Договор КАК КорДоговор,
| Задолженность.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| Задолженность.ОбъектРасчетов КАК КорОбъектРасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ТипСуммы,
| НЕОПРЕДЕЛЕНО КАК КорТипСуммы,
|
| ВЫБОР
| КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета ТОГДА
| Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0 ТОГДА
| ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| Задолженность.СуммаУпр
| КОНЕЦ КАК Сумма,
| 0 КАК СуммаБезНДС,
| ВЫБОР
| КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета ТОГДА
| Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0 ТОГДА
| ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ
| Задолженность.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
|
| Задолженность.ВалютаВзаиморасчетов КАК Валюта,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВВалюте,
| 0 КАК СуммаБезНДСВВалюте,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| Задолженность.ВалютаВзаиморасчетов КАК КорВалютаВзаиморасчетов,
| ВЫБОР КОГДА Задолженность.СуммаВзаиморасчетов = 0
| ТОГДА 1
| ИНАЧЕ (ВЫБОР КОГДА Задолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА Задолженность.СуммаВзаиморасчетов
| КОГДА Задолженность.Сумма <> 0 ТОГДА
| ВЫРАЗИТЬ(Задолженность.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ Задолженность.СуммаРегл
| КОНЕЦ) / Задолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК КурсВалютыВзаиморасчетов,
| Задолженность.СуммаВзаиморасчетов КАК КорСуммаВВалютеВзаиморасчетов,
| 0 КАК КорСуммаБезНДСВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| Задолженность.ОбъектРасчетов КАК КорИсточникГФУРасчетов,
| Задолженность.Организация = Задолженность.Организация.ГоловнаяОрганизация КАК ЭтоГоловнаяОрганизация,
| Задолженность.ЭтоРасчетыСклиентами КАК ЭтоРасчетыСклиентами,
| ЛОЖЬ КАК ЭтоВозвратАванса,
| ЛОЖЬ КАК Сторно
|ИЗ
| ВтРасчетыПоЗадолженности КАК Задолженность
|ГДЕ
| Задолженность.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|
|УПОРЯДОЧИТЬ ПО
| Задолженность.Организация,
| Задолженность.Сумма УБЫВ";
ЗапросЗадолженостей.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
Результат = ЗапросЗадолженостей.ВыполнитьПакет();
ТаблицаДвиженияКонтрагентКонтрагент = Неопределено;
УправленческийУчетПроведениеСервер.ПровестиВзаимозачет(
Результат[0].Выгрузить(),
Результат[1].Выгрузить(),
ТаблицаДвиженияКонтрагентКонтрагент);
ЗапросЗадолженостей.УстановитьПараметр("ТаблицаДвиженияКонтрагентКонтрагент", ТаблицаДвиженияКонтрагентКонтрагент);
ЗапросЗадолженостей.Текст =
"ВЫБРАТЬ
| ТаблицаДвиженияКонтрагентКонтрагент.Период,
| ТаблицаДвиженияКонтрагентКонтрагент.Регистратор,
| ТаблицаДвиженияКонтрагентКонтрагент.НомерСтроки,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ХозяйственнаяОперация,
| ТаблицаДвиженияКонтрагентКонтрагент.Организация,
| ТаблицаДвиженияКонтрагентКонтрагент.Подразделение,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Партнер,
| ТаблицаДвиженияКонтрагентКонтрагент.Контрагент,
| ТаблицаДвиженияКонтрагентКонтрагент.Договор,
| ТаблицаДвиженияКонтрагентКонтрагент.НаправлениеДеятельности,
| ТаблицаДвиженияКонтрагентКонтрагент.ОбъектРасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.КорПартнер,
| ТаблицаДвиженияКонтрагентКонтрагент.КорКонтрагент,
| ТаблицаДвиженияКонтрагентКонтрагент.КорДоговор,
| ТаблицаДвиженияКонтрагентКонтрагент.КорНаправлениеДеятельности,
| ТаблицаДвиженияКонтрагентКонтрагент.КорОбъектРасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.ТипСуммы,
| ТаблицаДвиженияКонтрагентКонтрагент.КорТипСуммы,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Сумма,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДС,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаРегл,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаРеглБезНДС,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Валюта,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаВВалюте,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДСВВалюте,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ВалютаВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаВВалютеВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.КорВалютаВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорСуммаВВалютеВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорСуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ИсточникГФУРасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорИсточникГФУРасчетов
|ПОМЕСТИТЬ ВтДвиженияКонтрагентКонтрагент
|ИЗ
| &ТаблицаДвиженияКонтрагентКонтрагент КАК ТаблицаДвиженияКонтрагентКонтрагент";
ЗапросЗадолженостей.ВыполнитьПакет();
Запрос.УстановитьПараметр("ДвиженияКонтрагентКонтрагентПодготовлены", Истина);
КонецПроцедуры
Функция ТекстЗапросаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентКонтрагент";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ПодготовитьТаблицуДвиженияКонтрагентКонтрагент(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДвиженияКонтрагентКонтрагент.Период,
| ТаблицаДвиженияКонтрагентКонтрагент.Регистратор,
| ТаблицаДвиженияКонтрагентКонтрагент.НомерСтроки,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ХозяйственнаяОперация,
| ТаблицаДвиженияКонтрагентКонтрагент.Организация,
| ТаблицаДвиженияКонтрагентКонтрагент.Подразделение,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Партнер,
| ТаблицаДвиженияКонтрагентКонтрагент.Контрагент,
| ТаблицаДвиженияКонтрагентКонтрагент.Договор,
| ТаблицаДвиженияКонтрагентКонтрагент.НаправлениеДеятельности,
| ТаблицаДвиженияКонтрагентКонтрагент.ОбъектРасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.КорПартнер,
| ТаблицаДвиженияКонтрагентКонтрагент.КорКонтрагент,
| ТаблицаДвиженияКонтрагентКонтрагент.КорДоговор,
| ТаблицаДвиженияКонтрагентКонтрагент.КорНаправлениеДеятельности,
| ТаблицаДвиженияКонтрагентКонтрагент.КорОбъектРасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ТипСуммы,
| ТаблицаДвиженияКонтрагентКонтрагент.КорТипСуммы,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Сумма,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДС,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаРегл,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаРеглБезНДС,
|
| ТаблицаДвиженияКонтрагентКонтрагент.Валюта,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаВВалюте,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДСВВалюте,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ВалютаВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаВВалютеВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.КорВалютаВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорСуммаВВалютеВзаиморасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорСуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаДвиженияКонтрагентКонтрагент.ИсточникГФУРасчетов,
| ТаблицаДвиженияКонтрагентКонтрагент.КорИсточникГФУРасчетов
|ИЗ
| ВтДвиженияКонтрагентКонтрагент КАК ТаблицаДвиженияКонтрагентКонтрагент";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ПодготовитьТаблицуДвиженияКонтрагентКонтрагент(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ДвиженияКонтрагентКонтрагент.Период КАК Период,
| ДвиженияКонтрагентКонтрагент.Организация КАК Организация,
| КорОбъектыРасчетов.Подразделение КАК Подразделение,
| ДвиженияКонтрагентКонтрагент.КорНаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыСФилиалами) КАК Статья,
| ДвиженияКонтрагентКонтрагент.КорКонтрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| ДвиженияКонтрагентКонтрагент.СуммаРегл КАК СуммаРегл,
| ДвиженияКонтрагентКонтрагент.Сумма КАК СуммаУпр,
| ДвиженияКонтрагентКонтрагент.Сумма КАК СуммаСНДС,
| ДвиженияКонтрагентКонтрагент.СуммаБезНДС КАК СуммаБезНДС,
|
| ОбъектыРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтДвиженияКонтрагентКонтрагент КАК ДвиженияКонтрагентКонтрагент
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ДвиженияКонтрагентКонтрагент.ОбъектРасчетов = ОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО ДвиженияКонтрагентКонтрагент.КорОбъектРасчетов = КорОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДвиженияКонтрагентКонтрагент.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация <> ДвиженияКонтрагентКонтрагент.Контрагент.ГоловнаяОрганизация
| И ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация <> ДвиженияКонтрагентКонтрагент.КорКонтрагент.ГоловнаяОрганизация
| И (ДвиженияКонтрагентКонтрагент.Организация = ДвиженияКонтрагентКонтрагент.КорКонтрагент.ГоловнаяОрганизация
| ИЛИ ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация = ДвиженияКонтрагентКонтрагент.КорКонтрагент)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДвиженияКонтрагентКонтрагент.Период КАК Период,
| ДвиженияКонтрагентКонтрагент.Организация КАК Организация,
| ОбъектыРасчетов.Подразделение КАК Подразделение,
| ДвиженияКонтрагентКонтрагент.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.РасчетыСФилиалами) КАК Статья,
| ДвиженияКонтрагентКонтрагент.Контрагент КАК Аналитика,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит) КАК ДебетКредит,
|
| ДвиженияКонтрагентКонтрагент.СуммаРегл КАК СуммаРегл,
| ДвиженияКонтрагентКонтрагент.Сумма КАК СуммаУпр,
| ДвиженияКонтрагентКонтрагент.Сумма КАК СуммаСНДС,
| ДвиженияКонтрагентКонтрагент.СуммаБезНДС КАК СуммаБезНДС,
|
| КорОбъектыРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтДвиженияКонтрагентКонтрагент КАК ДвиженияКонтрагентКонтрагент
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ДвиженияКонтрагентКонтрагент.ОбъектРасчетов = ОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО ДвиженияКонтрагентКонтрагент.КорОбъектРасчетов = КорОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДвиженияКонтрагентКонтрагент.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация <> ДвиженияКонтрагентКонтрагент.Контрагент.ГоловнаяОрганизация
| И ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация <> ДвиженияКонтрагентКонтрагент.КорКонтрагент.ГоловнаяОрганизация
| И (ДвиженияКонтрагентКонтрагент.Организация = ДвиженияКонтрагентКонтрагент.Контрагент.ГоловнаяОрганизация
| ИЛИ ДвиженияКонтрагентКонтрагент.Организация.ГоловнаяОрганизация = ДвиженияКонтрагентКонтрагент.Контрагент)
|";
ТекстЗапроса = ТекстЗапроса
+ ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении()
+ ПрочиеАктивыПассивыСервер.ТекстЗапросаВзаимозачетСФилиалами();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтДебиторскаяЗадолженность()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ТипРасчетов КАК ТипРасчетов,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
|
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Контрагент) = ТИП(Справочник.Организации)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ИНАЧЕ ДанныеДокумента.Партнер
| КОНЕЦ КАК Партнер,
| ОбъектыРасчетов.Организация КАК Организация,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР КОГДА ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ДанныеДокумента.СуммаВзаиморасчетов КАК Сумма,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаУпр КАК СуммаУпр,
| ОбъектыРасчетов.Подразделение КАК Подразделение,
|
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДанныеДокумента.ВалютаПриемник КАК ВалютаПриемник,
| ДанныеДокумента.СуммаПриемник КАК СуммаПриемник,
| ДанныеДокумента.ПартнерПриемник КАК ПартнерПриемник,
| ДанныеДокумента.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ДанныеДокумента.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтрокиТЧ,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ПОМЕСТИТЬ ВтДебиторскаяЗадолженность
|ИЗ
| ТаблицаДебиторскаяЗадолженность КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ДанныеДокумента.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Произвольный)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ТипРасчетов КАК ТипРасчетов,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
|
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Контрагент) = ТИП(Справочник.Организации)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ИНАЧЕ ДанныеДокумента.Партнер
| КОНЕЦ КАК Партнер,
| ОбъектыРасчетов.Организация КАК Организация,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР КОГДА ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| 0 КАК Сумма,
| Долги.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Долги.СуммаРегл КАК СуммаРегл,
| Долги.СуммаУпр КАК СуммаУпр,
|
| ОбъектыРасчетов.Подразделение КАК Подразделение,
|
| ВЫБОР КОГДА ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Долги.ОбъектРасчетов
| КОНЕЦ КАК КорОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Долги.ОбъектРасчетовЗеркальный
| КОНЕЦ КАК КорОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДанныеДокумента.ВалютаПриемник КАК ВалютаПриемник,
| ДанныеДокумента.СуммаПриемник КАК СуммаПриемник,
| ДанныеДокумента.ПартнерПриемник КАК ПартнерПриемник,
| ДанныеДокумента.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ДанныеДокумента.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДанныеДокумента.КорИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтрокиТЧ,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ТаблицаДебиторскаяЗадолженность КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ДанныеДокумента.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаКредиторскаяЗадолженность КАК Долги
| ПО Долги.Ссылка = ДанныеДокумента.Ссылка
| И Долги.ИдентификаторСтроки = ДанныеДокумента.КорИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И (ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями)
| )
|
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтКредиторскаяЗадолженность()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ТипРасчетов КАК ТипРасчетов,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
|
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Контрагент) = ТИП(Справочник.Организации)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ИНАЧЕ ДанныеДокумента.Партнер
| КОНЕЦ КАК Партнер,
| ОбъектыРасчетов.Организация КАК Организация,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР КОГДА ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ДанныеДокумента.СуммаВзаиморасчетов КАК Сумма,
| ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаУпр КАК СуммаУпр,
|
| ОбъектыРасчетов.Подразделение КАК Подразделение,
|
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДанныеДокумента.ВалютаПриемник КАК ВалютаПриемник,
| ДанныеДокумента.СуммаПриемник КАК СуммаПриемник,
| ДанныеДокумента.ПартнерПриемник КАК ПартнерПриемник,
| ДанныеДокумента.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ДанныеДокумента.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтрокиТЧ,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ПОМЕСТИТЬ ВтКредиторскаяЗадолженность
|ИЗ
| ТаблицаКредиторскаяЗадолженность КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ДанныеДокумента.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
|ГДЕ
| (ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Произвольный)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.ТипРасчетов КАК ТипРасчетов,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
|
| ВЫБОР КОГДА ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом)
| И ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Объект) = ТИП(Справочник.ПодарочныеСертификаты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Партнеры.РозничныйПокупатель)
| ИНАЧЕ
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Контрагент) = ТИП(Справочник.Организации)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ИНАЧЕ ДанныеДокумента.Партнер
| КОНЕЦ
| КОНЕЦ КАК Партнер,
| ОбъектыРасчетов.Организация КАК Организация,
| ОбъектыРасчетов.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом)
| И ТИПЗНАЧЕНИЯ(ОбъектыРасчетов.Объект) = ТИП(Справочник.ПодарочныеСертификаты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель)
| ИНАЧЕ ОбъектыРасчетов.Контрагент
| КОНЕЦ КАК Контрагент,
| ОбъектыРасчетов.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР КОГДА ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ОбъектыРасчетов.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| 0 КАК Сумма,
| Долги.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Долги.СуммаРегл КАК СуммаРегл,
| Долги.СуммаУпр КАК СуммаУпр,
|
| ОбъектыРасчетов.Подразделение КАК Подразделение,
|
| ВЫБОР КОГДА ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Долги.ОбъектРасчетов
| КОНЕЦ КАК КорОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Долги.ОбъектРасчетовЗеркальный
| КОНЕЦ КАК КорОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДанныеДокумента.ВалютаПриемник КАК ВалютаПриемник,
| ДанныеДокумента.СуммаПриемник КАК СуммаПриемник,
| ДанныеДокумента.ПартнерПриемник КАК ПартнерПриемник,
| ДанныеДокумента.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ДанныеДокумента.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДанныеДокумента.КорИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтрокиТЧ,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ТаблицаКредиторскаяЗадолженность КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ДанныеДокумента.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДебиторскаяЗадолженность КАК Долги
| ПО Долги.Ссылка = ДанныеДокумента.Ссылка
| И Долги.ИдентификаторСтроки = ДанныеДокумента.КорИдентификаторСтроки
|ГДЕ
| (ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуДвумяОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаОрганизацияКонтрагент)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуКонтрагентами)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями)
| ИЛИ ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуДвумяОрганизациями)
| )
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтДанныеДокумента()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ВидОперации КАК ВидОперации,
| ДанныеДокумента.СуммаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаУпр КАК СуммаУпр,
|
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОрганизацияКредитор КАК ОрганизацияКредитор,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани КАК ОбъектРасчетовИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный КАК ОбъектРасчетовИнтеркампаниЗеркальный,
|
| ДанныеДокумента.ТипДебитора КАК ТипДебитора,
| ДанныеДокумента.ТипКредитора КАК ТипКредитора,
| ДанныеДокумента.КонтрагентДебитор КАК КонтрагентДебитор,
| ДанныеДокумента.КонтрагентКредитор КАК КонтрагентКредитор,
| ДанныеДокумента.ОбъектРасчетовДебиторКредитор КАК ОбъектРасчетовДтКт,
| ДанныеДокумента.ОбъектРасчетовДебиторКредиторЗеркальный КАК ОбъектРасчетовДтКтЗеркальный,
|
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ДанныеДокумента.КонтрагентДебитор) = ТИП(Справочник.Организации)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ДебиторОрганизация,
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ДанныеДокумента.КонтрагентКредитор) = ТИП(Справочник.Организации)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КредиторОрганизация
|
|ПОМЕСТИТЬ ВтДанныеДокумента
|ИЗ
| Документ.ВзаимозачетЗадолженности КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыСКлиентамиПредварительная()
ТекстЗапроса = "
| ВЫБРАТЬ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДебиторскаяЗадолженность.Организация КАК Организация,
| ДебиторскаяЗадолженность.Партнер КАК Партнер,
| ДебиторскаяЗадолженность.Контрагент КАК Контрагент,
| ДебиторскаяЗадолженность.Договор КАК Договор,
| ДебиторскаяЗадолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| ДебиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ДебиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| ДебиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| ДебиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ПОМЕСТИТЬ ВтРасчетыСКлиентамиПредварительная
| ИЗ
| ВтДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ГДЕ
| ДебиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ДебиторскаяЗадолженность.СуммаВзаиморасчетов <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| КредиторскаяЗадолженность.Организация КАК Организация,
| КредиторскаяЗадолженность.Партнер КАК Партнер,
| КредиторскаяЗадолженность.Контрагент КАК Контрагент,
| КредиторскаяЗадолженность.Договор КАК Договор,
| КредиторскаяЗадолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| -КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| -КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| -КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| КредиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| КредиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| КредиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| КредиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ГДЕ
| КредиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И КредиторскаяЗадолженность.СуммаВзаиморасчетов <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.КонтрагентДебитор КАК Организация,
| ДанныеДокумента.ОбъектРасчетовДтКт.Партнер КАК Партнер,
| ДанныеДокумента.КонтрагентКредитор КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовДтКт.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ДанныеДокумента.ОбъектРасчетовДтКт
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный
| КОНЕЦ КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовДтКт
| КОНЕЦ КАК ОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА КредиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ КредиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| КредиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| КредиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| КредиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| КредиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.ДебиторОрганизация И ДанныеДокумента.КонтрагентКредитор <> ДанныеДокумента.КонтрагентДебитор
| И КредиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И КредиторскаяЗадолженность.СуммаРегл <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.КонтрагентКредитор КАК Организация,
| ДанныеДокумента.ОбъектРасчетовДтКт.Партнер КАК Партнер,
| ДанныеДокумента.КонтрагентДебитор КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовДтКт.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ДанныеДокумента.ОбъектРасчетовДтКт КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ДебиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ ДебиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| ДебиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ДебиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| ДебиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| ДебиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.КредиторОрганизация
| И НЕ ДанныеДокумента.ДебиторОрганизация
| И ДанныеДокумента.КонтрагентКредитор <> ДанныеДокумента.КонтрагентДебитор
| И ДебиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ДебиторскаяЗадолженность.СуммаРегл <> 0
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыСПоставщикамиПредварительная()
ТекстЗапроса = "
| ВЫБРАТЬ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДебиторскаяЗадолженность.Организация КАК Организация,
| ДебиторскаяЗадолженность.Партнер КАК Партнер,
| ДебиторскаяЗадолженность.Контрагент КАК Контрагент,
| ДебиторскаяЗадолженность.Договор КАК Договор,
| ДебиторскаяЗадолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| -ДебиторскаяЗадолженность.Сумма КАК Сумма,
| -ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| -ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| -ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| ДебиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ДебиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| ДебиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| ДебиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ПОМЕСТИТЬ ВтРасчетыСПоставщикамиПредварительная
| ИЗ
| ВтДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ГДЕ
| ДебиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ДебиторскаяЗадолженность.СуммаВзаиморасчетов <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| КредиторскаяЗадолженность.Организация КАК Организация,
| КредиторскаяЗадолженность.Партнер КАК Партнер,
| КредиторскаяЗадолженность.Контрагент КАК Контрагент,
| КредиторскаяЗадолженность.Договор КАК Договор,
| КредиторскаяЗадолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| КредиторскаяЗадолженность.Сумма КАК Сумма,
| КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| КредиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| КредиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| КредиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| КредиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ГДЕ
| КредиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И КредиторскаяЗадолженность.СуммаВзаиморасчетов <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.КонтрагентДебитор КАК Организация,
| ДанныеДокумента.ОбъектРасчетовДтКт.Партнер КАК Партнер,
| ДанныеДокумента.КонтрагентКредитор КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовДтКт.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовДтКт
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный
| КОНЕЦ КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовДтКт
| КОНЕЦ КАК ОбъектРасчетовЗеркальный,
| ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА -КредиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ -КредиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| -КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| -КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| КредиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| КредиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| КредиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| КредиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.ДебиторОрганизация И ДанныеДокумента.КонтрагентКредитор <> ДанныеДокумента.КонтрагентДебитор
| И КредиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И КредиторскаяЗадолженность.СуммаРегл <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.КонтрагентКредитор КАК Организация,
| ДанныеДокумента.ОбъектРасчетовДтКт.Партнер КАК Партнер,
| ДанныеДокумента.КонтрагентДебитор КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовДтКт.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовДтКт.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ДанныеДокумента.ОбъектРасчетовДтКт КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовДтКтЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ДебиторскаяЗадолженность.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовДтКт.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ДебиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ ДебиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| ДебиторскаяЗадолженность.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ДебиторскаяЗадолженность.КорОбъектРасчетовЗеркальный КАК КорОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| ДебиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| ДебиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЛОЖЬ КАК ЗаполнитьИсточник,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.КредиторОрганизация
| И НЕ ДанныеДокумента.ДебиторОрганизация
| И ДанныеДокумента.КонтрагентКредитор <> ДанныеДокумента.КонтрагентДебитор
| И ДебиторскаяЗадолженность.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ДебиторскаяЗадолженность.СуммаВзаиморасчетов <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ДанныеДокумента.Организация = ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
| И ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани.Контрагент
| КОНЕЦ КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.Контрагент
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
| КОНЕЦ КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовИнтеркампани.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный
| КОНЕЦ КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани
| КОНЕЦ КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА КредиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ КредиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетовЗеркальный,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетовПриемник,
| НЕОПРЕДЕЛЕНО КАК ВалютаПриемник,
| 0 КАК СуммаПриемник,
| НЕОПРЕДЕЛЕНО КАК ПартнерПриемник,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетовПриемникЗеркальный,
| ЛОЖЬ КАК ПоДаннымОбъектаРасчетовИсточника,
| ИСТИНА КАК ЗаполнитьИсточник,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовДтКт.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.ВидОперации В (
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями),
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями))
| И КредиторскаяЗадолженность.СуммаРегл <> 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ДанныеДокумента.Организация = ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
|
|
| И ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ВЫБОР
| КОГДА ДанныеДокумента.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| КОНЕЦ
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани.Контрагент
| КОНЕЦ КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.Контрагент
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация
| КОНЕЦ КАК Контрагент,
|
| ДанныеДокумента.ОбъектРасчетовИнтеркампани.Договор КАК Договор,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| И ЕСТЬNULL(Направления.УчетДоходов, ЛОЖЬ)
| ИЛИ ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| И ЕСТЬNULL(Направления.УчетРасчетовСПоставщиками, ЛОЖЬ)
| ТОГДА
| ДанныеДокумента.ОбъектРасчетовИнтеркампани.НаправлениеДеятельности
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
|
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный
| КОНЕЦ КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ТОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный
| ИНАЧЕ ДанныеДокумента.ОбъектРасчетовИнтеркампани
| КОНЕЦ КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| 0 КАК Сумма,
| ВЫБОР
| КОГДА ДанныеДокумента.ОбъектРасчетовИнтеркампани.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ДебиторскаяЗадолженность.СуммаРегл
|
| ИНАЧЕ ДебиторскаяЗадолженность.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
|
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК КорОбъектРасчетовЗеркальный,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетовПриемник,
| НЕОПРЕДЕЛЕНО КАК ВалютаПриемник,
| 0 КАК СуммаПриемник,
| НЕОПРЕДЕЛЕНО КАК ПартнерПриемник,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетовПриемникЗеркальный,
| ЛОЖЬ КАК ПоДаннымОбъектаРасчетовИсточника,
| ИСТИНА КАК ЗаполнитьИсточник,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| ИЗ
| ВтДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ДанныеДокумента.ОбъектРасчетовИнтеркампани.НаправлениеДеятельности
| ГДЕ
| ДанныеДокумента.ВидОперации В (
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями),
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями))
| И ДебиторскаяЗадолженность.СуммаРегл <> 0
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтИсточники()
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РасчетыСКлиентами.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| РасчетыСКлиентами.ОбъектРасчетовПриемник.ТипРасчетов КАК ТипРасчетовПриемник,
| РасчетыСКлиентами.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| РасчетыСКлиентами.ОбъектРасчетовПриемникЗеркальный.ТипРасчетов КАК ТипРасчетовПриемникЗеркальный,
| РасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетов,
| РасчетыСКлиентами.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| РасчетыСКлиентами.ИдентификаторСтроки КАК ИдентификаторСтроки,
| РасчетыСКлиентами.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ИСТИНА КАК ЭтоРасчетыСКлиентами
|ПОМЕСТИТЬ втИсточники
|ИЗ
| ВтРасчетыСКлиентамиПредварительная КАК РасчетыСКлиентами
|ГДЕ
| РасчетыСКлиентами.ОбъектРасчетовПриемник <> НЕОПРЕДЕЛЕНО
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РасчетыСПоставщиками.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| РасчетыСПоставщиками.ОбъектРасчетовПриемник.ТипРасчетов КАК ТипРасчетовПриемник,
| РасчетыСПоставщиками.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| РасчетыСПоставщиками.ОбъектРасчетовПриемникЗеркальный.ТипРасчетов КАК ТипРасчетовПриемникЗеркальный,
| РасчетыСПоставщиками.ОбъектРасчетов КАК ОбъектРасчетов,
| РасчетыСПоставщиками.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| РасчетыСПоставщиками.ИдентификаторСтроки КАК ИдентификаторСтроки,
| РасчетыСПоставщиками.ИдентификаторСтрокиТЧ КАК ИдентификаторСтрокиТЧ,
| ЛОЖЬ КАК ЭтоРасчетыСКлиентами
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК РасчетыСПоставщиками
|ГДЕ
| РасчетыСПоставщиками.ОбъектРасчетовПриемник <> НЕОПРЕДЕЛЕНО
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыСКлиентами()
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗадолженностьПредварительная.Ссылка КАК Ссылка,
| ЗадолженностьПредварительная.ВидДвижения КАК ВидДвижения,
| ЗадолженностьПредварительная.Организация КАК Организация,
| ЗадолженностьПредварительная.Партнер КАК Партнер,
| ЗадолженностьПредварительная.Контрагент КАК Контрагент,
| ЗадолженностьПредварительная.ОбъектРасчетов КАК ОбъектРасчетов,
| ЗадолженностьПредварительная.Договор КАК Договор,
| ВЫБОР
| КОГДА ЕСТЬNULL(Направления.УчетДоходов,ЛОЖЬ)
| ТОГДА ЗадолженностьПредварительная.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ЗадолженностьПредварительная.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьПредварительная.Сумма КАК Сумма,
| ЗадолженностьПредварительная.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ЗадолженностьПредварительная.СуммаРегл КАК СуммаРегл,
| ЗадолженностьПредварительная.СуммаУпр КАК СуммаУпр,
|
| ЗадолженностьПредварительная.КорОбъектРасчетов КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(КорНаправления.УчетДоходов,ЛОЖЬ)
| ТОГДА КорОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьПредварительная.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ЗадолженностьПредварительная.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьПредварительная.СуммаПриемник КАК СуммаПриемник,
| ЗадолженностьПредварительная.ПартнерПриемник КАК ПартнерПриемник,
| ОбъектыРасчетовПриемник.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемник.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемник.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемник.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемник.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| ЗадолженностьПредварительная.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьПредварительная.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ПОМЕСТИТЬ ВтРасчетыСКлиентами
|ИЗ
| ВтРасчетыСКлиентамиПредварительная КАК ЗадолженностьПредварительная
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО КорОбъектыРасчетов.Ссылка = ЗадолженностьПредварительная.КорОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемник
| ПО ОбъектыРасчетовПриемник.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетовПриемник
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемник
| ПО НаправленияПриемник.Ссылка = ОбъектыРасчетовПриемник.НаправлениеДеятельности
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗадолженностьПоставщикам.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ЗадолженностьПоставщикам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ЗадолженностьПоставщикам.Контрагент КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ЗадолженностьПоставщикам.Организация КАК Контрагент,
| ЗадолженностьПоставщикам.ОбъектРасчетовЗеркальный КАК ОбъектРасчетов,
| ОбъектыРасчетовЗеркальный.Договор КАК Договор,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьПоставщикам.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов, Неопределено) = &ВалютаРегламентированногоУчета
| ТОГДА ЗадолженностьПоставщикам.СуммаРегл
|
| ИНАЧЕ ЗадолженностьПоставщикам.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ЗадолженностьПоставщикам.СуммаРегл КАК СуммаРегл,
| ЗадолженностьПоставщикам.СуммаУпр КАК СуммаУпр,
|
| КорОбъектыРасчетов.Ссылка КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(КорНаправления.УчетДоходов,ЛОЖЬ)
| ТОГДА КорОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьПоставщикам.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемник,
| ЗадолженностьПоставщикам.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьПоставщикам.СуммаПриемник КАК СуммаПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Партнер КАК ПартнерПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемникЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| ЗадолженностьПоставщикам.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьПоставщикам.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьПоставщикам.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК ЗадолженностьПоставщикам
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовЗеркальный
| ПО ОбъектыРасчетовЗеркальный.Ссылка = ЗадолженностьПоставщикам.ОбъектРасчетовЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияЗеркальный
| ПО НаправленияЗеркальный.Ссылка = ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемникЗеркальный
| ПО ОбъектыРасчетовПриемникЗеркальный.Ссылка = ЗадолженностьПоставщикам.ОбъектРасчетовПриемникЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемникЗеркальный
| ПО НаправленияПриемникЗеркальный.Ссылка = ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО КорОбъектыРасчетов.Ссылка = ЗадолженностьПоставщикам.КорОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ЗадолженностьПоставщикам.Контрагент) = ТИП(Справочник.Организации)
| И НЕ ЗадолженностьПоставщикам.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗадолженностьПоставщикам.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ЗадолженностьПоставщикам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ЗадолженностьПоставщикам.Контрагент КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ЗадолженностьПоставщикам.Организация КАК Контрагент,
| ЗадолженностьПоставщикам.ОбъектРасчетовЗеркальный КАК ОбъектРасчетов,
| ОбъектыРасчетовЗеркальный.Договор КАК Договор,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьПоставщикам.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов, Неопределено) = &ВалютаРегламентированногоУчета
| ТОГДА ЗадолженностьПоставщикам.СуммаРегл
|
| ИНАЧЕ ЗадолженностьПоставщикам.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ЗадолженностьПоставщикам.СуммаРегл КАК СуммаРегл,
| ЗадолженностьПоставщикам.СуммаУпр КАК СуммаУпр,
|
| КорОбъектыРасчетов.Ссылка КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(КорНаправления.УчетДоходов,ЛОЖЬ)
| ТОГДА КорОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьПоставщикам.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемник,
| ЗадолженностьПоставщикам.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьПоставщикам.СуммаПриемник КАК СуммаПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Партнер КАК ПартнерПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемникЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| Источники.ИдентификаторСтроки ЕСТЬ НЕ NULL КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьПоставщикам.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьПоставщикам.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК ЗадолженностьПоставщикам
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовЗеркальный
| ПО ОбъектыРасчетовЗеркальный.Ссылка = ЗадолженностьПоставщикам.ОбъектРасчетовЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияЗеркальный
| ПО НаправленияЗеркальный.Ссылка = ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемникЗеркальный
| ПО ОбъектыРасчетовПриемникЗеркальный.Ссылка = ЗадолженностьПоставщикам.ОбъектРасчетовПриемникЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемникЗеркальный
| ПО НаправленияПриемникЗеркальный.Ссылка = ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ втИсточники КАК Источники
| ПО ЗадолженностьПоставщикам.ОбъектРасчетовЗеркальный = Источники.ОбъектРасчетовПриемник
| И ЗадолженностьПоставщикам.ИдентификаторСтроки = Источники.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО Источники.ОбъектРасчетов = КорОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ЗадолженностьПоставщикам.Контрагент) = ТИП(Справочник.Организации)
| И ЗадолженностьПоставщикам.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыСПоставщиками()
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗадолженностьПредварительная.Ссылка КАК Ссылка,
| ЗадолженностьПредварительная.ВидДвижения КАК ВидДвижения,
| ЗадолженностьПредварительная.Организация КАК Организация,
| ЗадолженностьПредварительная.Партнер КАК Партнер,
| ЗадолженностьПредварительная.Контрагент КАК Контрагент,
| ЗадолженностьПредварительная.ОбъектРасчетов КАК ОбъектРасчетов,
| ЗадолженностьПредварительная.Договор КАК Договор,
| ВЫБОР
| КОГДА Направления.УчетРасчетовСПоставщиками
| ТОГДА ЗадолженностьПредварительная.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ЗадолженностьПредварительная.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьПредварительная.Сумма КАК Сумма,
| ЗадолженностьПредварительная.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ЗадолженностьПредварительная.СуммаРегл КАК СуммаРегл,
| ЗадолженностьПредварительная.СуммаУпр КАК СуммаУпр,
|
| КорОбъектыРасчетов.Ссылка КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(КорНаправления.УчетРасчетовСПоставщиками,ЛОЖЬ)
| ТОГДА КорОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьПредварительная.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ЗадолженностьПредварительная.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьПредварительная.СуммаПриемник КАК СуммаПриемник,
| ЗадолженностьПредварительная.ПартнерПриемник КАК ПартнерПриемник,
| ОбъектыРасчетовПриемник.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемник.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемник.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемник.УчетРасчетовСПоставщиками,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемник.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| ЗадолженностьПредварительная.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьПредварительная.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ПОМЕСТИТЬ ВтРасчетыСПоставщиками
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК ЗадолженностьПредварительная
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО КорОбъектыРасчетов.Ссылка = ЗадолженностьПредварительная.КорОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемник
| ПО ОбъектыРасчетовПриемник.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетовПриемник
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемник
| ПО НаправленияПриемник.Ссылка = ОбъектыРасчетовПриемник.НаправлениеДеятельности
|ГДЕ
| НЕ (ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| И ЗадолженностьПредварительная.ЗаполнитьИсточник)
| ИЛИ НЕ ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗадолженностьПредварительная.Ссылка КАК Ссылка,
| ЗадолженностьПредварительная.ВидДвижения КАК ВидДвижения,
| ЗадолженностьПредварительная.Организация КАК Организация,
| ЗадолженностьПредварительная.Партнер КАК Партнер,
| ЗадолженностьПредварительная.Контрагент КАК Контрагент,
| ЗадолженностьПредварительная.ОбъектРасчетов КАК ОбъектРасчетов,
| ЗадолженностьПредварительная.Договор КАК Договор,
| ВЫБОР
| КОГДА Направления.УчетРасчетовСПоставщиками
| ТОГДА ЗадолженностьПредварительная.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ЗадолженностьПредварительная.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьПредварительная.Сумма КАК Сумма,
| ЗадолженностьПредварительная.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ЗадолженностьПредварительная.СуммаРегл КАК СуммаРегл,
| ЗадолженностьПредварительная.СуммаУпр КАК СуммаУпр,
|
| КорОбъектыРасчетов.Ссылка КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(КорНаправления.УчетРасчетовСПоставщиками,ЛОЖЬ)
| ТОГДА КорОбъектыРасчетов.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьПредварительная.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ЗадолженностьПредварительная.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьПредварительная.СуммаПриемник КАК СуммаПриемник,
| ЗадолженностьПредварительная.ПартнерПриемник КАК ПартнерПриемник,
| ОбъектыРасчетовПриемник.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемник.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемник.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемник.УчетРасчетовСПоставщиками,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемник.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| Источники.ИдентификаторСтроки ЕСТЬ НЕ NULL КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьПредварительная.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ВтРасчетыСПоставщикамиПредварительная КАК ЗадолженностьПредварительная
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК Направления
| ПО Направления.Ссылка = ОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ втИсточники КАК Источники
| ПО ЗадолженностьПредварительная.ОбъектРасчетов = Источники.ОбъектРасчетовПриемник
| И ЗадолженностьПредварительная.ИдентификаторСтроки = Источники.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО Источники.ОбъектРасчетов = КорОбъектыРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемник
| ПО ОбъектыРасчетовПриемник.Ссылка = ЗадолженностьПредварительная.ОбъектРасчетовПриемник
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемник
| ПО НаправленияПриемник.Ссылка = ОбъектыРасчетовПриемник.НаправлениеДеятельности
|ГДЕ
| ЗадолженностьПредварительная.ПереносЗадолженностиКонтрагентаМеждуОрганизациями
| И ЗадолженностьПредварительная.ЗаполнитьИсточник
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗадолженностьКлиентов.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ЗадолженностьКлиентов.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ЗадолженностьКлиентов.Контрагент КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ЗадолженностьКлиентов.Организация КАК Контрагент,
| ЗадолженностьКлиентов.ОбъектРасчетовЗеркальный КАК ОбъектРасчетов,
| ОбъектыРасчетовЗеркальный.Договор КАК Договор,
| ВЫБОР
| КОГДА НаправленияЗеркальный.УчетРасчетовСПоставщиками
| ТОГДА ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ЗадолженностьКлиентов.Сумма КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(ОбъектыРасчетовЗеркальный.ВалютаВзаиморасчетов, Неопределено) = &ВалютаРегламентированногоУчета
| ТОГДА ЗадолженностьКлиентов.СуммаРегл
|
| ИНАЧЕ ЗадолженностьКлиентов.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ЗадолженностьКлиентов.СуммаРегл КАК СуммаРегл,
| ЗадолженностьКлиентов.СуммаУпр КАК СуммаУпр,
|
| КорОбъектыРасчетов.Ссылка КАК КорОбъектРасчетов,
| КорОбъектыРасчетов.Партнер КАК КорПартнер,
| КорОбъектыРасчетов.Организация КАК КорОрганизация,
| КорОбъектыРасчетов.Договор КАК КорДоговор,
| КорОбъектыРасчетов.Контрагент КАК КорКонтрагент,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемникЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК КорНаправлениеДеятельности,
| ЗадолженностьКлиентов.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемник,
| ЗадолженностьКлиентов.ВалютаПриемник КАК ВалютаПриемник,
| ЗадолженностьКлиентов.СуммаПриемник КАК СуммаПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Партнер КАК ПартнерПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Организация КАК ОрганизацияПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Договор КАК ДоговорПриемник,
| ОбъектыРасчетовПриемникЗеркальный.Контрагент КАК КонтрагентПриемник,
| ВЫБОР
| КОГДА ЕСТЬNULL(НаправленияПриемникЗеркальный.УчетДоходов,ЛОЖЬ)
| ТОГДА ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиПриемник,
| ЗадолженностьКлиентов.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ЗадолженностьКлиентов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ЗадолженностьКлиентов.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|
|ИЗ
| ВтРасчетыСКлиентамиПредварительная КАК ЗадолженностьКлиентов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовЗеркальный
| ПО ОбъектыРасчетовЗеркальный.Ссылка = ЗадолженностьКлиентов.ОбъектРасчетовЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияЗеркальный
| ПО НаправленияЗеркальный.Ссылка = ОбъектыРасчетовЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовПриемникЗеркальный
| ПО ОбъектыРасчетовПриемникЗеркальный.Ссылка = ЗадолженностьКлиентов.ОбъектРасчетовПриемникЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияПриемникЗеркальный
| ПО НаправленияПриемникЗеркальный.Ссылка = ОбъектыРасчетовПриемникЗеркальный.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК КорОбъектыРасчетов
| ПО КорОбъектыРасчетов.Ссылка = ЗадолженностьКлиентов.КорОбъектРасчетовЗеркальный
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК КорНаправления
| ПО КорНаправления.Ссылка = КорОбъектыРасчетов.НаправлениеДеятельности
|ГДЕ
| ТИПЗНАЧЕНИЯ(ЗадолженностьКлиентов.Контрагент) = ТИП(Справочник.Организации)
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаРасчетыСКлиентами()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
| ТабличнаяЧасть.ВидДвижения КАК ВидДвижения,
|
|
| ЕСТЬNULL(РегистрАналитикаУчетаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам,
|
| ТабличнаяЧасть.Организация КАК Организация,
| ТабличнаяЧасть.Контрагент КАК Контрагент,
| ТабличнаяЧасть.Партнер КАК Партнер,
| ТабличнаяЧасть.Договор КАК Договор,
| ТабличнаяЧасть.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ТабличнаяЧасть.ОбъектРасчетов КАК ОбъектРасчетов,
| ТабличнаяЧасть.ВалютаВзаиморасчетов КАК Валюта,
|
|
| ТабличнаяЧасть.СуммаВзаиморасчетов КАК Сумма,
| ТабличнаяЧасть.СуммаВзаиморасчетов КАК КОплате,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета ТОГДА
| ТабличнаяЧасть.СуммаВзаиморасчетов
| ИНАЧЕ
| ТабличнаяЧасть.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета ТОГДА
| ТабличнаяЧасть.СуммаВзаиморасчетов
| ИНАЧЕ
| ТабличнаяЧасть.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
|
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
|
| ЕСТЬNULL(КорРегистрАналитикаУчетаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаПоПартнерам,
| ТабличнаяЧасть.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ТабличнаяЧасть.КорПартнер КАК КорПартнер,
| ТабличнаяЧасть.КорОрганизация КАК КорОрганизация,
| ТабличнаяЧасть.КорДоговор КАК КорДоговор,
| ТабличнаяЧасть.КорКонтрагент КАК КорКонтрагент,
| ТабличнаяЧасть.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ЕСТЬNULL(РегистрАналитикаУчетаПоПартнерамПриемник.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерамПриемник,
| ТабличнаяЧасть.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ТабличнаяЧасть.ВалютаПриемник КАК ВалютаПриемник,
| ТабличнаяЧасть.СуммаПриемник КАК СуммаПриемник,
| ТабличнаяЧасть.ПартнерПриемник КАК ПартнерПриемник,
| ТабличнаяЧасть.ОрганизацияПриемник КАК ОрганизацияПриемник,
| ТабличнаяЧасть.ДоговорПриемник КАК ДоговорПриемник,
| ТабличнаяЧасть.КонтрагентПриемник КАК КонтрагентПриемник,
| ТабличнаяЧасть.НаправлениеДеятельностиПриемник КАК НаправлениеДеятельностиПриемник,
| ТабличнаяЧасть.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
|
| ВЫБОР КОГДА ТабличнаяЧасть.СуммаВзаиморасчетов > 0 И ТабличнаяЧасть.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИЛИ ТабличнаяЧасть.СуммаВзаиморасчетов < 0 И ТабличнаяЧасть.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата,ДЕНЬ)
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК ДатаПлатежа,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносДолга)
| ИЛИ &ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ТОГДА 3
| ИНАЧЕ 1
| КОНЕЦ КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПереносВзаиморасчетов) КАК ОперацияВзаиморасчетов,
| &НастройкаХозОперации КАК НастройкаХозяйственнойОперации,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|
|ИЗ
| ВтРасчетыСКлиентами КАК ТабличнаяЧасть
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента
| ПО ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| ТабличнаяЧасть.Организация = РегистрАналитикаУчетаПоПартнерам.Организация
| И ТабличнаяЧасть.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И ТабличнаяЧасть.Контрагент = РегистрАналитикаУчетаПоПартнерам.Контрагент
| И ТабличнаяЧасть.Договор = РегистрАналитикаУчетаПоПартнерам.Договор
| И ТабличнаяЧасть.НаправлениеДеятельности = РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК КорРегистрАналитикаУчетаПоПартнерам
| ПО
| ТабличнаяЧасть.КорОрганизация = КорРегистрАналитикаУчетаПоПартнерам.Организация
| И ТабличнаяЧасть.КорПартнер = КорРегистрАналитикаУчетаПоПартнерам.Партнер
| И ТабличнаяЧасть.КорКонтрагент = КорРегистрАналитикаУчетаПоПартнерам.Контрагент
| И ТабличнаяЧасть.КорДоговор = КорРегистрАналитикаУчетаПоПартнерам.Договор
| И ТабличнаяЧасть.КорНаправлениеДеятельности = КорРегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерамПриемник
| ПО
| ТабличнаяЧасть.ОрганизацияПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Организация
| И ТабличнаяЧасть.ПартнерПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Партнер
| И ТабличнаяЧасть.КонтрагентПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Контрагент
| И ТабличнаяЧасть.ДоговорПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Договор
| И ТабличнаяЧасть.НаправлениеДеятельностиПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.НаправлениеДеятельности
|ГДЕ
| ДанныеДокумента.Проведен
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаРасчетыСПоставщиками()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Регистратор,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
| ТабличнаяЧасть.ВидДвижения КАК ВидДвижения,
|
| ЕСТЬNULL(РегистрАналитикаУчетаПоПартнерам.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
|
| ТабличнаяЧасть.Организация КАК Организация,
| ТабличнаяЧасть.Контрагент КАК Контрагент,
| ТабличнаяЧасть.Партнер КАК Партнер,
| ТабличнаяЧасть.Договор КАК Договор,
| ТабличнаяЧасть.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ТабличнаяЧасть.ОбъектРасчетов КАК ОбъектРасчетов,
| ТабличнаяЧасть.ВалютаВзаиморасчетов КАК Валюта,
|
|
|
| ТабличнаяЧасть.СуммаВзаиморасчетов КАК Сумма,
| ТабличнаяЧасть.СуммаВзаиморасчетов КАК КОплате,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета ТОГДА
| ТабличнаяЧасть.СуммаВзаиморасчетов
| ИНАЧЕ
| ТабличнаяЧасть.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР
| КОГДА ТабличнаяЧасть.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета ТОГДА
| ТабличнаяЧасть.СуммаВзаиморасчетов
| ИНАЧЕ
| ТабличнаяЧасть.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
|
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
|
| ЕСТЬNULL(КорРегистрАналитикаУчетаПоПартнерам.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК КорАналитикаУчетаПоПартнерам,
| ТабличнаяЧасть.КорОбъектРасчетов КАК КорОбъектРасчетов,
| ТабличнаяЧасть.КорПартнер КАК КорПартнер,
| ТабличнаяЧасть.КорОрганизация КАК КорОрганизация,
| ТабличнаяЧасть.КорДоговор КАК КорДоговор,
| ТабличнаяЧасть.КорКонтрагент КАК КорКонтрагент,
| ТабличнаяЧасть.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ЕСТЬNULL(РегистрАналитикаУчетаПоПартнерамПриемник.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерамПриемник,
| ТабличнаяЧасть.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ТабличнаяЧасть.ВалютаПриемник КАК ВалютаПриемник,
| ТабличнаяЧасть.СуммаПриемник КАК СуммаПриемник,
| ТабличнаяЧасть.ПартнерПриемник КАК ПартнерПриемник,
| ТабличнаяЧасть.ОрганизацияПриемник КАК ОрганизацияПриемник,
| ТабличнаяЧасть.ДоговорПриемник КАК ДоговорПриемник,
| ТабличнаяЧасть.КонтрагентПриемник КАК КонтрагентПриемник,
| ТабличнаяЧасть.НаправлениеДеятельностиПриемник КАК НаправлениеДеятельностиПриемник,
| ТабличнаяЧасть.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
|
| ВЫБОР КОГДА ТабличнаяЧасть.СуммаВзаиморасчетов > 0 И ТабличнаяЧасть.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИЛИ ТабличнаяЧасть.СуммаВзаиморасчетов < 0 И ТабличнаяЧасть.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, ДЕНЬ)
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
| КОНЕЦ КАК ДатаПлатежа,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносДолга)
| ИЛИ &ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийВзаимозачетаЗадолженности.Бартер)
| ТОГДА 3
| ИНАЧЕ 1
| КОНЕЦ КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПереносВзаиморасчетов) КАК ОперацияВзаиморасчетов,
| &НастройкаХозОперации КАК НастройкаХозяйственнойОперации,
| ТабличнаяЧасть.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|
|ИЗ
| ВтРасчетыСПоставщиками КАК ТабличнаяЧасть
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДанныеДокумента КАК ДанныеДокумента ПО ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| ТабличнаяЧасть.Организация = РегистрАналитикаУчетаПоПартнерам.Организация
| И ТабличнаяЧасть.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И ТабличнаяЧасть.Контрагент = РегистрАналитикаУчетаПоПартнерам.Контрагент
| И ТабличнаяЧасть.Договор = РегистрАналитикаУчетаПоПартнерам.Договор
| И ТабличнаяЧасть.НаправлениеДеятельности = РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК КорРегистрАналитикаУчетаПоПартнерам
| ПО
| ТабличнаяЧасть.КорОрганизация = КорРегистрАналитикаУчетаПоПартнерам.Организация
| И ТабличнаяЧасть.КорПартнер = КорРегистрАналитикаУчетаПоПартнерам.Партнер
| И ТабличнаяЧасть.КорКонтрагент = КорРегистрАналитикаУчетаПоПартнерам.Контрагент
| И ТабличнаяЧасть.КорДоговор = КорРегистрАналитикаУчетаПоПартнерам.Договор
| И ТабличнаяЧасть.КорНаправлениеДеятельности = КорРегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерамПриемник
| ПО
| ТабличнаяЧасть.ОрганизацияПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Организация
| И ТабличнаяЧасть.ПартнерПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Партнер
| И ТабличнаяЧасть.КонтрагентПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Контрагент
| И ТабличнаяЧасть.ДоговорПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.Договор
| И ТабличнаяЧасть.НаправлениеДеятельностиПриемник = РегистрАналитикаУчетаПоПартнерамПриемник.НаправлениеДеятельности
|ГДЕ
| ДанныеДокумента.Проведен
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыПоЗадолженности()
ТекстЗапроса = "
|ВЫБРАТЬ
| Задолженность.ВидДвижения КАК ВидДвижения,
| Задолженность.Организация КАК Организация,
| Задолженность.Партнер КАК Партнер,
| Задолженность.Контрагент КАК Контрагент,
| Задолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| Задолженность.Договор КАК Договор,
| Задолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Задолженность.Сумма КАК Сумма,
| Задолженность.СуммаРегл КАК СуммаРегл,
| Задолженность.СуммаУпр КАК СуммаУпр,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Задолженность.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Задолженность.ЭтоРасчетыСклиентами КАК ЭтоРасчетыСклиентами
|
|ПОМЕСТИТЬ ВтРасчетыПоЗадолженности
|ИЗ
| (ВЫБРАТЬ
| ВЫБОР КОГДА РасчетыСКлиентами.СуммаВзаиморасчетов < 0
| ТОГДА ВЫБОР КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ
| ИНАЧЕ РасчетыСКлиентами.ВидДвижения
| КОНЕЦ КАК ВидДвижения,
| РасчетыСКлиентами.Организация КАК Организация,
| РасчетыСКлиентами.Партнер КАК Партнер,
| РасчетыСКлиентами.Контрагент КАК Контрагент,
| РасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетов,
| РасчетыСКлиентами.Договор КАК Договор,
| РасчетыСКлиентами.НаправлениеДеятельности КАК НаправлениеДеятельности,
| РасчетыСКлиентами.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА РасчетыСКлиентами.Сумма < 0
| ТОГДА -РасчетыСКлиентами.Сумма
| ИНАЧЕ РасчетыСКлиентами.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА РасчетыСКлиентами.СуммаРегл < 0
| ТОГДА -РасчетыСКлиентами.СуммаРегл
| ИНАЧЕ РасчетыСКлиентами.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР КОГДА РасчетыСКлиентами.СуммаУпр < 0
| ТОГДА -РасчетыСКлиентами.СуммаУпр
| ИНАЧЕ РасчетыСКлиентами.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыСКлиентами.СуммаВзаиморасчетов < 0
| ТОГДА -РасчетыСКлиентами.СуммаВзаиморасчетов
| ИНАЧЕ РасчетыСКлиентами.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ИСТИНА КАК ЭтоРасчетыСклиентами
| ИЗ
| ВтРасчетыСКлиентами КАК РасчетыСКлиентами
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБОР КОГДА РасчетыСПоставщиками.СуммаВзаиморасчетов < 0
| ТОГДА ВЫБОР КОГДА РасчетыСПоставщиками.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ
| ИНАЧЕ РасчетыСПоставщиками.ВидДвижения
| КОНЕЦ КАК ВидДвижения,
| РасчетыСПоставщиками.Организация КАК Организация,
| РасчетыСПоставщиками.Партнер КАК Партнер,
| РасчетыСПоставщиками.Контрагент КАК Контрагент,
| РасчетыСПоставщиками.ОбъектРасчетов КАК ОбъектРасчетов,
| РасчетыСПоставщиками.Договор КАК Договор,
| РасчетыСПоставщиками.НаправлениеДеятельности КАК НаправлениеДеятельности,
| РасчетыСПоставщиками.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА РасчетыСПоставщиками.Сумма < 0
| ТОГДА -РасчетыСПоставщиками.Сумма
| ИНАЧЕ РасчетыСПоставщиками.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА РасчетыСПоставщиками.СуммаРегл < 0
| ТОГДА -РасчетыСПоставщиками.СуммаРегл
| ИНАЧЕ РасчетыСПоставщиками.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР КОГДА РасчетыСПоставщиками.СуммаУпр < 0
| ТОГДА -РасчетыСПоставщиками.СуммаУпр
| ИНАЧЕ РасчетыСПоставщиками.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыСПоставщиками.СуммаВзаиморасчетов < 0
| ТОГДА -РасчетыСПоставщиками.СуммаВзаиморасчетов
| ИНАЧЕ РасчетыСПоставщиками.СуммаВзаиморасчетов
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ЛОЖЬ КАК ЭтоРасчетыСклиентами
| ИЗ
| ВтРасчетыСПоставщиками КАК РасчетыСПоставщиками
|
| ) КАК Задолженность
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВзаимозачетЗадолженности) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Партнер,
| Неопределено КАК МестоХранения,
| ВЫБОР КОГДА ДанныеДокумента.КонтрагентДебитор = НЕОПРЕДЕЛЕНО
| ТОГДА ДанныеДокумента.КонтрагентКредитор
| ИНАЧЕ ДанныеДокумента.КонтрагентДебитор
| КОНЕЦ КАК Контрагент,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Дата КАК ДатаДокументаИБ,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| """" КАК Дополнительно,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПервичногоДокумента,
| """" КАК НомерПервичногоДокумента,
| ДанныеДокумента.СуммаРегл КАК Сумма,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК Договор,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ДанныеДокумента.Дата КАК ДатаОтраженияВУчете
|ИЗ
| Документ.ВзаимозачетЗадолженности КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
СинонимТаблицыДокумента = "";
ПолноеИмяДокумента = ПустаяСсылка().Метаданные().ПолноеИмя();
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента, Истина);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента);
КонецЕсли;
ПараметрыПроведения = Новый Структура;
ПараметрыПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ПараметрыПроведения;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область Прочее
Процедура РаспределитьТабличныеЧасти(Запрос)
ЗапросТЧ = Новый Запрос;
#Область ТекстЗапросаПоТабличнымЧастям
ЗапросТЧ.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.КонтрагентДебитор КАК КонтрагентДебитор,
| ДанныеДокумента.КонтрагентКредитор КАК КонтрагентКредитор,
| ДанныеДокумента.ОрганизацияКредитор КАК ОрганизацияКредитор,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани КАК ОбъектРасчетовИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани.Организация КАК ОрганизацияИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный КАК ОбъектРасчетовИнтеркампаниЗеркальный,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный.Организация КАК ОрганизацияИнтеркампаниЗеркальный,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани <> ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка) КАК РасчетыМеждуОрганизациями
|ПОМЕСТИТЬ втДанныеДокумента
|ИЗ
| Документ.ВзаимозачетЗадолженности КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| &ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| ДебиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| ДебиторскаяЗадолженность.Партнер КАК Партнер,
| ДебиторскаяЗадолженность.Сумма КАК Сумма,
| ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетов.Организация КАК Организация,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетов.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетов.Объект КАК Объект,
| ДебиторскаяЗадолженность.ОбъектРасчетов.Договор КАК Договор,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ втДебиторскаяЗадолженность
|ИЗ
| Документ.ВзаимозачетЗадолженности.ДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
|ГДЕ
| ДебиторскаяЗадолженность.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| &ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| КредиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| КредиторскаяЗадолженность.Партнер КАК Партнер,
| КредиторскаяЗадолженность.Сумма КАК Сумма,
| КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетов.Организация КАК Организация,
| КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
| КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетов.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетов.Объект КАК Объект,
| КредиторскаяЗадолженность.ОбъектРасчетов.Договор КАК Договор,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ втКредиторскаяЗадолженность
|ИЗ
| Документ.ВзаимозачетЗадолженности.КредиторскаяЗадолженность КАК КредиторскаяЗадолженность
|ГДЕ
| КредиторскаяЗадолженность.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВложенныйЗапрос.ОбъектРасчетов КАК ОбъектРасчетов,
| ВложенныйЗапрос.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| ВложенныйЗапрос.ОбъектРасчетов.Объект КАК Объект,
| ВложенныйЗапрос.Договор КАК Договор,
| ВложенныйЗапрос.ВариантКурсаДоговора КАК ВариантКурсаДоговора,
| ВложенныйЗапрос.ВалютаРегл КАК ВалютаРегл,
| ВложенныйЗапрос.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ПОМЕСТИТЬ втОбъектыРасчетов
|ИЗ
| (ВЫБРАТЬ
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| ДебиторскаяЗадолженность.Объект КАК Объект,
| ДебиторскаяЗадолженность.Договор КАК Договор,
| ЕСТЬNULL(ДоговорыКонтрагентов.ВариантКурсаДоговора,
| ЕСТЬNULL(ДоговорыИнтеркампани.ВариантКурсаДоговора,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный))) КАК ВариантКурсаДоговора,
| ДебиторскаяЗадолженность.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегл,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
| ИЗ
| втДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО ДебиторскаяЗадолженность.Договор = ДоговорыКонтрагентов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыМеждуОрганизациями КАК ДоговорыИнтеркампани
| ПО ДебиторскаяЗадолженность.Договор = ДоговорыИнтеркампани.Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| КредиторскаяЗадолженность.Объект КАК Объект,
| КредиторскаяЗадолженность.Договор КАК Договор,
| ЕСТЬNULL(ДоговорыКонтрагентов.ВариантКурсаДоговора,
| ЕСТЬNULL(ДоговорыИнтеркампани.ВариантКурсаДоговора,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный))) КАК ВариантКурсаДоговора,
| КредиторскаяЗадолженность.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегл,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
| ИЗ
| втКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО КредиторскаяЗадолженность.Договор = ДоговорыКонтрагентов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыМеждуОрганизациями КАК ДоговорыИнтеркампани
| ПО КредиторскаяЗадолженность.Договор = ДоговорыИнтеркампани.Ссылка) КАК ВложенныйЗапрос
|;
|
|
|ВЫБРАТЬ
| ОбъектыРасчетов.ОбъектРасчетов КАК ОбъектРасчетов,
| ОбъектыРасчетов.ТипОбъектаРасчетов КАК ТипОбъектаРасчетов,
| ОбъектыРасчетов.ОбъектРасчетов.Объект КАК Объект,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.ВариантКурсаДоговора КАК ВариантКурсаДоговора,
| ОбъектыРасчетов.ВалютаРегл КАК ВалютаРегл,
| ОбъектыРасчетов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.УстановленныйВДоговоре)
| ТОГДА ЕСТЬNULL(КурсыВалютПоДоговорам.КурсЧислитель,1)
| КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.ФиксированныйНаДатуОтгрузки)
| И ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Накладная)
| ТОГДА ЕСТЬNULL(КурсыВалютПоДокументам.КурсЧислительВалютыВзаиморасчетов,1)
| ИНАЧЕ
| ЕСТЬNULL(КурсыВалют.КурсЧислитель,1)
| КОНЕЦ КАК КурсЧислительРегл,
| ВЫБОР КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.УстановленныйВДоговоре)
| ТОГДА ЕСТЬNULL(КурсыВалютПоДоговорам.КурсЗнаменатель,1)
| КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.ФиксированныйНаДатуОтгрузки)
| И ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Накладная)
| ТОГДА ЕСТЬNULL(КурсыВалютПоДокументам.КурсЗнаменательВалютыВзаиморасчетов,1)
| ИНАЧЕ
| ЕСТЬNULL(КурсыВалют.КурсЗнаменатель,1)
| КОНЕЦ КАК КурсЗнаменательРегл,
| ВЫБОР КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.УстановленныйВДоговоре)
| И ОбъектыРасчетов.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ЕСТЬNULL(КурсыВалютПоДоговорам.КурсЧислитель,1)
| КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.ФиксированныйНаДатуОтгрузки)
| И ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Накладная)
| ТОГДА
| ЕСТЬNULL(КурсыВалютПоДокументам.КурсЧислительВалютыУправленческогоУчета,1)
| ИНАЧЕ
| ЕСТЬNULL(КурсВалютыУпр.КурсЧислитель,1)
| КОНЕЦ КАК КурсЧислительУпр,
| ВЫБОР КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.УстановленныйВДоговоре)
| И ОбъектыРасчетов.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ЕСТЬNULL(КурсыВалютПоДоговорам.КурсЗнаменатель,1)
| КОГДА ОбъектыРасчетов.ВариантКурсаДоговора = ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.ФиксированныйНаДатуОтгрузки)
| И ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Накладная)
| ТОГДА
| ЕСТЬNULL(КурсыВалютПоДокументам.КурсЗнаменательВалютыУправленческогоУчета,1)
| ИНАЧЕ
| ЕСТЬNULL(КурсВалютыУпр.КурсЗнаменатель,1)
| КОНЕЦ КАК КурсЗнаменательУпр
|ПОМЕСТИТЬ втОбъектыРасчетовСКурсами
|ИЗ
| втОбъектыРасчетов КАК ОбъектыРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&ДатаДокумента, Валюта = &ВалютаУправленческогоУчета) КАК КурсВалютыУпр
| ПО ОбъектыРасчетов.ВалютаРегл = КурсВалютыУпр.БазоваяВалюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&ДатаДокумента, ) КАК КурсыВалют
| ПО ОбъектыРасчетов.ВалютаВзаиморасчетов = КурсыВалют.Валюта
| И ОбъектыРасчетов.ВалютаРегл = КурсыВалют.БазоваяВалюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютРасчетовПоДоговорам.СрезПоследних(&ДатаДокумента, ) КАК КурсыВалютПоДоговорам
| ПО ОбъектыРасчетов.Договор = КурсыВалютПоДоговорам.Договор
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВалютыИКурсыДокументов КАК КурсыВалютПоДокументам
| ПО ОбъектыРасчетов.Объект = КурсыВалютПоДокументам.Документ
|;
|
|
|ВЫБРАТЬ
| Расчеты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| Расчеты.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент,
| Расчеты.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| Расчеты.ОбъектРасчетов КАК ОбъектРасчетов,
| Расчеты.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА Расчеты.Сумма < 0
| ТОГДА -Расчеты.Сумма
| ИНАЧЕ Расчеты.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА Расчеты.СуммаРегл < 0
| ТОГДА -Расчеты.СуммаРегл
| ИНАЧЕ Расчеты.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР КОГДА Расчеты.СуммаУпр < 0
| ТОГДА -Расчеты.СуммаУпр
| ИНАЧЕ Расчеты.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| Расчеты.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК Пометка
|ИЗ
| РегистрНакопления.РасчетыСКлиентами КАК Расчеты
|ГДЕ
| Расчеты.Регистратор = &Ссылка
| И &СуммыРеглУпрУказаныВДокументе
|;
|
|
|ВЫБРАТЬ
| Расчеты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| Расчеты.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент,
| Расчеты.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| Расчеты.ОбъектРасчетов КАК ОбъектРасчетов,
| Расчеты.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА Расчеты.Сумма < 0
| ТОГДА -Расчеты.Сумма
| ИНАЧЕ Расчеты.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА Расчеты.СуммаРегл < 0
| ТОГДА -Расчеты.СуммаРегл
| ИНАЧЕ Расчеты.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР КОГДА Расчеты.СуммаУпр < 0
| ТОГДА -Расчеты.СуммаУпр
| ИНАЧЕ Расчеты.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| Расчеты.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК Пометка
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками КАК Расчеты
|ГДЕ
| Расчеты.Регистратор = &Ссылка
| И &СуммыРеглУпрУказаныВДокументе
|;
|
|
|ВЫБРАТЬ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| &ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| ДебиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| ДебиторскаяЗадолженность.Партнер КАК Партнер,
| ДебиторскаяЗадолженность.Сумма КАК Сумма,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаПриемник,
| 0 КАК СуммаПриемник,
| ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДебиторскаяЗадолженность.Организация КАК Организация,
| ДанныеДокумента.КонтрагентДебитор КАК Контрагент,
| ВЫБОР
| КОГДА НЕ &СуммыРеглУпрУказаныВДокументе
| И (КурсыВалют.ВариантКурсаДоговора <> ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный)
| ИЛИ ДебиторскаяЗадолженность.СуммаУпр = 0)
| ТОГДА ВЫРАЗИТЬ(ДебиторскаяЗадолженность.СуммаВзаиморасчетов * (КурсыВалют.КурсЧислительРегл / КурсыВалют.КурсЗнаменательРегл) / (КурсыВалют.КурсЧислительУпр / КурсыВалют.КурсЗнаменательУпр) КАК ЧИСЛО(31,2))
| КОГДА ДебиторскаяЗадолженность.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ДебиторскаяЗадолженность.СуммаВзаиморасчетов
| ИНАЧЕ
| ДебиторскаяЗадолженность.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &СуммыРеглУпрУказаныВДокументе
| И (КурсыВалют.ВариантКурсаДоговора <> ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный)
| ИЛИ ДебиторскаяЗадолженность.СуммаРегл = 0)
| ТОГДА ВЫРАЗИТЬ(ДебиторскаяЗадолженность.СуммаВзаиморасчетов * КурсыВалют.КурсЧислительРегл / КурсыВалют.КурсЗнаменательРегл КАК ЧИСЛО(31,2))
| КОГДА ДебиторскаяЗадолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА ДебиторскаяЗадолженность.СуммаВзаиморасчетов
| ИНАЧЕ
| ДебиторскаяЗадолженность.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетовИсходная,
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.Партнер КАК ПартнерПриемник,
| ЛОЖЬ КАК ПоДаннымОбъектаРасчетовИсточника,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК КорИдентификаторСтроки,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани КАК ОбъектРасчетовИнтеркампани,
| ДанныеДокумента.ОрганизацияИнтеркампани КАК ОрганизацияИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный КАК ОбъектРасчетовИнтеркампаниЗеркальный,
| ДанныеДокумента.ОрганизацияИнтеркампаниЗеркальный КАК ОрганизацияИнтеркампаниЗеркальный,
| ДанныеДокумента.РасчетыМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|ИЗ
| втДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
| ЛЕВОЕ СОЕДИНЕНИЕ втОбъектыРасчетовСКурсами КАК КурсыВалют
| ПО ДебиторскаяЗадолженность.ОбъектРасчетов = КурсыВалют.ОбъектРасчетов
| И ДебиторскаяЗадолженность.ВалютаВзаиморасчетов = КурсыВалют.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ втДанныеДокумента КАК ДанныеДокумента
| ПО ДебиторскаяЗадолженность.Ссылка = ДанныеДокумента.Ссылка
|;
|
|
|ВЫБРАТЬ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| &ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| КредиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| КредиторскаяЗадолженность.Партнер КАК Партнер,
| КредиторскаяЗадолженность.Сумма КАК Сумма,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаПриемник,
| 0 КАК СуммаПриемник,
| КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КредиторскаяЗадолженность.Организация КАК Организация,
| ДанныеДокумента.КонтрагентКредитор КАК Контрагент,
| ВЫБОР
| КОГДА НЕ &СуммыРеглУпрУказаныВДокументе
| И (КурсыВалют.ВариантКурсаДоговора <> ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный)
| ИЛИ КредиторскаяЗадолженность.СуммаУпр = 0)
| ТОГДА ВЫРАЗИТЬ(КредиторскаяЗадолженность.СуммаВзаиморасчетов * (КурсыВалют.КурсЧислительРегл / КурсыВалют.КурсЗнаменательРегл) / (КурсыВалют.КурсЧислительУпр / КурсыВалют.КурсЗнаменательУпр) КАК ЧИСЛО(31,2))
| КОГДА КредиторскаяЗадолженность.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА КредиторскаяЗадолженность.СуммаВзаиморасчетов
| ИНАЧЕ
| КредиторскаяЗадолженность.СуммаУпр
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &СуммыРеглУпрУказаныВДокументе
| И (КурсыВалют.ВариантКурсаДоговора <> ЗНАЧЕНИЕ(Перечисление.ВариантыКурсаДоговора.Переменный)
| ИЛИ КредиторскаяЗадолженность.СуммаРегл = 0)
| ТОГДА ВЫРАЗИТЬ(КредиторскаяЗадолженность.СуммаВзаиморасчетов * КурсыВалют.КурсЧислительРегл / КурсыВалют.КурсЗнаменательРегл КАК ЧИСЛО(31,2))
| КОГДА КредиторскаяЗадолженность.ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
| ТОГДА КредиторскаяЗадолженность.СуммаВзаиморасчетов
| ИНАЧЕ
| КредиторскаяЗадолженность.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетовИсходная,
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.Партнер КАК ПартнерПриемник,
| ЛОЖЬ КАК ПоДаннымОбъектаРасчетовИсточника,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК КорИдентификаторСтроки,
| ДанныеДокумента.ОбъектРасчетовИнтеркампани КАК ОбъектРасчетовИнтеркампани,
| ДанныеДокумента.ОрганизацияИнтеркампани КАК ОрганизацияИнтеркампани,
| ДанныеДокумента.ОбъектРасчетовИнтеркампаниЗеркальный КАК ОбъектРасчетовИнтеркампаниЗеркальный,
| ДанныеДокумента.ОрганизацияИнтеркампаниЗеркальный КАК ОрганизацияИнтеркампаниЗеркальный,
| ДанныеДокумента.РасчетыМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|ИЗ
| втКредиторскаяЗадолженность КАК КредиторскаяЗадолженность
| ЛЕВОЕ СОЕДИНЕНИЕ втОбъектыРасчетовСКурсами КАК КурсыВалют
| ПО КредиторскаяЗадолженность.ОбъектРасчетов = КурсыВалют.ОбъектРасчетов
| И КредиторскаяЗадолженность.ВалютаВзаиморасчетов = КурсыВалют.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ втДанныеДокумента КАК ДанныеДокумента
| ПО КредиторскаяЗадолженность.Ссылка = ДанныеДокумента.Ссылка
|";
#КонецОбласти
СуммыРеглУпрУказаныВДокументе = Запрос.Параметры.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Бартер
ИЛИ Запрос.Параметры.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.БартерМеждуОрганизациями
ИЛИ Запрос.Параметры.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.Произвольный
ИЛИ Запрос.Параметры.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера
ИЛИ Запрос.Параметры.ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера;
ЗапросТЧ.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросТЧ.УстановитьПараметр("ДатаДокумента", Запрос.Параметры.Период);
ЗапросТЧ.УстановитьПараметр("ВидОперации", Запрос.Параметры.ВидОперации);
ЗапросТЧ.УстановитьПараметр("СуммыРеглУпрУказаныВДокументе", СуммыРеглУпрУказаныВДокументе);
ЗапросТЧ.УстановитьПараметр("ВалютаУправленческогоУчета", Запрос.Параметры.ВалютаУправленческогоУчета);
ЗапросТЧ.УстановитьПараметр("ВалютаРегламентированногоУчета", Запрос.Параметры.ВалютаРегламентированногоУчета);
ЗапросТЧ.УстановитьПараметр("ПереносМеждуОрганизациями", ЗначениеЗаполнено(Запрос.Параметры.ОбъектРасчетовИнтеркампани));
Результат = ЗапросТЧ.ВыполнитьПакет();
ПоследнийИндекс = Результат.ВГраница();
РасчетыСКлиентами = Результат[ПоследнийИндекс-3].Выгрузить();
РасчетыСПоставщиками = Результат[ПоследнийИндекс-2].Выгрузить();
ДебиторскаяЗадолженность = Результат[ПоследнийИндекс-1].Выгрузить();
КредиторскаяЗадолженность = Результат[ПоследнийИндекс].Выгрузить();
ОтправительЗадолженности = ДебиторскаяЗадолженность;
ПолучательЗадолженности = КредиторскаяЗадолженность;
Если ОтправительКредит(Запрос.Параметры.ВидОперации) Тогда
ОтправительЗадолженности = КредиторскаяЗадолженность;
ПолучательЗадолженности = ДебиторскаяЗадолженность;
КонецЕсли;
ОтправленоВВалюте = ИтогоВВалютахУчета(ОтправительЗадолженности);
ПолученоВВалюте = ИтогоВВалютахУчета(ПолучательЗадолженности);
РезультатОтправитель = ОтправительЗадолженности.СкопироватьКолонки();
РезультатПолучатель = ПолучательЗадолженности.СкопироватьКолонки();
ОбъектРасчетовИнтеркампани = Запрос.Параметры.ОбъектРасчетовИнтеркампани;
НашеПредприятие = Справочники.Партнеры.НашеПредприятие;
СвойстваКорПрименика = "ОбъектРасчетовПриемник,ПартнерПриемник,ОбъектРасчетовПриемникЗеркальный,ПоДаннымОбъектаРасчетовИсточника";
ПоследнийИндекс = ПолучательЗадолженности.Количество()-1;
Для Каждого Отправитель Из ОтправительЗадолженности Цикл
Индекс = -1;
Для Каждого Получатель Из ПолучательЗадолженности Цикл
Индекс = Индекс + 1;
Если Получатель.СуммаРегл = 0 Тогда
Продолжить;
КонецЕсли;
Если Отправитель.СуммаРегл = 0 Тогда
Прервать;
КонецЕсли;
ПоследнийПлатеж = Индекс = ПоследнийИндекс;
Если Отправитель.СуммаРегл < Получатель.СуммаРегл Тогда
ИдентификаторОтправитель = Отправитель.ИдентификаторСтроки;
Иначе
ИдентификаторОтправитель = Получатель.ИдентификаторСтроки;
КонецЕсли;
ИдентификаторПолучатель = Новый УникальныйИдентификатор;
СуммаРегл = ВзаиморасчетыСервер.СписатьСумму(Отправитель.СуммаРегл, Получатель.СуммаРегл, ПоследнийПлатеж);
СуммаУпр = ВзаиморасчетыСервер.СписатьСумму(Отправитель.СуммаУпр, Получатель.СуммаУпр, ПоследнийПлатеж);
Если Отправитель.ВалютаВзаиморасчетов = Получатель.ВалютаВзаиморасчетов Тогда
СуммаОтправитель = ВзаиморасчетыСервер.СписатьСумму(Отправитель.СуммаВзаиморасчетов, Получатель.СуммаВзаиморасчетов, ПоследнийПлатеж);
Иначе
СуммаОтправитель = СуммаВзаиморасчетов(ОтправленоВВалюте[Отправитель.ВалютаВзаиморасчетов], СуммаРегл);
КорректировкаСуммыВзаиморасчетов = Отправитель.СуммаВзаиморасчетов - СуммаОтправитель;
Если КорректировкаСуммыВзаиморасчетов < 0 Тогда
СуммаОтправитель = СуммаОтправитель + КорректировкаСуммыВзаиморасчетов;
ОтправленоВВалюте[Отправитель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов =
ОтправленоВВалюте[Отправитель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов - КорректировкаСуммыВзаиморасчетов;
ПолученоВВалюте[Получатель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов =
ПолученоВВалюте[Получатель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов - КорректировкаСуммыВзаиморасчетов;
КонецЕсли;
Отправитель.СуммаВзаиморасчетов = Отправитель.СуммаВзаиморасчетов - СуммаОтправитель;
КонецЕсли;
Если Отправитель.ВалютаВзаиморасчетов = Получатель.ВалютаВзаиморасчетов Тогда
СуммаПолучатель = СуммаОтправитель;
Иначе
СуммаПолучатель = СуммаВзаиморасчетов(ПолученоВВалюте[Получатель.ВалютаВзаиморасчетов], СуммаРегл);
КорректировкаСуммыВзаиморасчетов = Получатель.СуммаВзаиморасчетов - СуммаПолучатель;
Если КорректировкаСуммыВзаиморасчетов < 0 Тогда
СуммаПолучатель = СуммаПолучатель + КорректировкаСуммыВзаиморасчетов;
ПолученоВВалюте[Получатель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов =
ПолученоВВалюте[Получатель.ВалютаВзаиморасчетов].СуммаВзаиморасчетов - КорректировкаСуммыВзаиморасчетов;
КонецЕсли;
Получатель.СуммаВзаиморасчетов = Получатель.СуммаВзаиморасчетов - СуммаПолучатель;
КонецЕсли;
НовыйОтправитель = РезультатОтправитель.Добавить();
ЗаполнитьЗначенияСвойств(НовыйОтправитель, Отправитель,,СвойстваКорПрименика);
НовыйОтправитель.СуммаВзаиморасчетов = СуммаОтправитель;
НовыйОтправитель.СуммаРегл = СуммаРегл;
НовыйОтправитель.СуммаУпр = СуммаУпр;
Если СуммыРеглУпрУказаныВДокументе Тогда
ИдентификаторОтправитель = НайтиИдентификаторСтроки(НовыйОтправитель, РасчетыСКлиентами, РасчетыСПоставщиками);
Если НЕ ЗначениеЗаполнено(ИдентификаторОтправитель) Тогда
ИдентификаторОтправитель = Новый УникальныйИдентификатор;
КонецЕсли;
КонецЕсли;
НовыйОтправитель.ИдентификаторСтроки = ИдентификаторОтправитель;
НовыйОтправитель.КорИдентификаторСтроки = "";
НовыйОтправитель.ПоДаннымОбъектаРасчетовИсточника = Ложь;
Если НЕ СуммыРеглУпрУказаныВДокументе Тогда
Если Отправитель.ПереносЗадолженностиКонтрагентаМеждуОрганизациями Тогда
НовыйОтправитель.ПартнерПриемник = НашеПредприятие;
Если Отправитель.Организация = Отправитель.ОрганизацияИнтеркампани Тогда
НовыйОтправитель.ОбъектРасчетовПриемник = Отправитель.ОбъектРасчетовИнтеркампани;
НовыйОтправитель.ОбъектРасчетовПриемникЗеркальный = Отправитель.ОбъектРасчетовИнтеркампаниЗеркальный;
Иначе
НовыйОтправитель.ОбъектРасчетовПриемник = Отправитель.ОбъектРасчетовИнтеркампаниЗеркальный;
НовыйОтправитель.ОбъектРасчетовПриемникЗеркальный = Отправитель.ОбъектРасчетовИнтеркампани;
КонецЕсли;
Иначе
НовыйОтправитель.ОбъектРасчетовПриемник = Получатель.ОбъектРасчетов;
НовыйОтправитель.ОбъектРасчетовПриемникЗеркальный = Получатель.ОбъектРасчетовЗеркальный;
НовыйОтправитель.ПартнерПриемник = Получатель.Партнер;
КонецЕсли;
НовыйОтправитель.ВалютаПриемник = Получатель.ВалютаВзаиморасчетов;
НовыйОтправитель.СуммаПриемник = СуммаПолучатель;
КонецЕсли;
НовыйПолучатель = РезультатПолучатель.Добавить();
ЗаполнитьЗначенияСвойств(НовыйПолучатель, Получатель,,СвойстваКорПрименика);
НовыйПолучатель.СуммаВзаиморасчетов = СуммаПолучатель;
НовыйПолучатель.СуммаРегл = СуммаРегл;
НовыйПолучатель.СуммаУпр = СуммаУпр;
Если СуммыРеглУпрУказаныВДокументе Тогда
ИдентификаторПолучатель = НайтиИдентификаторСтроки(НовыйПолучатель, РасчетыСКлиентами, РасчетыСПоставщиками);
Если НЕ ЗначениеЗаполнено(ИдентификаторПолучатель) Тогда
ИдентификаторПолучатель = Новый УникальныйИдентификатор;
КонецЕсли;
КонецЕсли;
НовыйПолучатель.ИдентификаторСтроки = ИдентификаторПолучатель;
НовыйПолучатель.КорИдентификаторСтроки = НовыйОтправитель.ИдентификаторСтроки;
НовыйПолучатель.ПоДаннымОбъектаРасчетовИсточника = Ложь;
Если НЕ СуммыРеглУпрУказаныВДокументе Тогда
Если ЗначениеЗаполнено(ОбъектРасчетовИнтеркампани) Тогда
НовыйПолучатель.ПартнерПриемник = НашеПредприятие;
Если Получатель.Организация = Получатель.ОрганизацияИнтеркампаниЗеркальный Тогда
НовыйПолучатель.ОбъектРасчетовПриемник = Получатель.ОбъектРасчетовИнтеркампаниЗеркальный;
НовыйПолучатель.ОбъектРасчетовПриемникЗеркальный = Получатель.ОбъектРасчетовИнтеркампани;
Иначе
НовыйПолучатель.ОбъектРасчетовПриемник = Получатель.ОбъектРасчетовИнтеркампани;
НовыйПолучатель.ОбъектРасчетовПриемникЗеркальный = Получатель.ОбъектРасчетовИнтеркампаниЗеркальный;
КонецЕсли;
НовыйПолучатель.ВалютаПриемник = Получатель.ВалютаВзаиморасчетов;
НовыйПолучатель.СуммаПриемник = СуммаОтправитель;
Иначе
НовыйПолучатель.ПоДаннымОбъектаРасчетовИсточника = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
#Область КорректировкаВалютныхСумм
КорректировкаВалютныхСумм(ОтправительЗадолженности, РезультатОтправитель);
КорректировкаВалютныхСумм(ПолучательЗадолженности, РезультатПолучатель);
#КонецОбласти
ЗапросВТ = Новый Запрос;
ЗапросВТ.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
#Область ТекстЗапросаВременныхТаблиц
ЗапросВТ.Текст =
"ВЫБРАТЬ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| ДебиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| ДебиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| ДебиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| ДебиторскаяЗадолженность.Партнер КАК Партнер,
| ДебиторскаяЗадолженность.Сумма КАК Сумма,
| ДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДебиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| ДебиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| ДебиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| ДебиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| ДебиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| ДебиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| ДебиторскаяЗадолженность.Организация КАК Организация,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДебиторскаяЗадолженность.КорИдентификаторСтроки КАК КорИдентификаторСтроки,
| ДебиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|ПОМЕСТИТЬ ТаблицаДебиторскаяЗадолженность
|ИЗ
| &ДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
|;
|
|
|ВЫБРАТЬ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| КредиторскаяЗадолженность.ВидОперации КАК ВидОперации,
| КредиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| КредиторскаяЗадолженность.ТипРасчетов КАК ТипРасчетов,
| КредиторскаяЗадолженность.Партнер КАК Партнер,
| КредиторскаяЗадолженность.Сумма КАК Сумма,
| КредиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| КредиторскаяЗадолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КредиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| КредиторскаяЗадолженность.СуммаУпр КАК СуммаУпр,
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ОбъектРасчетовЗеркальный КАК ОбъектРасчетовЗеркальный,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемник КАК ОбъектРасчетовПриемник,
| КредиторскаяЗадолженность.ВалютаПриемник КАК ВалютаПриемник,
| КредиторскаяЗадолженность.СуммаПриемник КАК СуммаПриемник,
| КредиторскаяЗадолженность.ПартнерПриемник КАК ПартнерПриемник,
| КредиторскаяЗадолженность.ПоДаннымОбъектаРасчетовИсточника КАК ПоДаннымОбъектаРасчетовИсточника,
| КредиторскаяЗадолженность.ОбъектРасчетовПриемникЗеркальный КАК ОбъектРасчетовПриемникЗеркальный,
| КредиторскаяЗадолженность.Организация КАК Организация,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КредиторскаяЗадолженность.КорИдентификаторСтроки КАК КорИдентификаторСтроки,
| КредиторскаяЗадолженность.ПереносЗадолженностиКонтрагентаМеждуОрганизациями КАК ПереносЗадолженностиКонтрагентаМеждуОрганизациями
|ПОМЕСТИТЬ ТаблицаКредиторскаяЗадолженность
|ИЗ
| &КредиторскаяЗадолженность КАК КредиторскаяЗадолженность
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДебиторскаяЗадолженность.Ссылка КАК Ссылка,
| ДебиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| ДебиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| ДебиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ втОбъектыРасчетовСтрок
|ИЗ
| ТаблицаДебиторскаяЗадолженность КАК ДебиторскаяЗадолженность
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| КредиторскаяЗадолженность.Ссылка КАК Ссылка,
| КредиторскаяЗадолженность.НомерСтроки КАК НомерСтроки,
| КредиторскаяЗадолженность.ОбъектРасчетов КАК ОбъектРасчетов,
| КредиторскаяЗадолженность.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ТаблицаКредиторскаяЗадолженность КАК КредиторскаяЗадолженность";
#КонецОбласти
ЗапросВТ.УстановитьПараметр("ДебиторскаяЗадолженность",РезультатОтправитель);
ЗапросВТ.УстановитьПараметр("КредиторскаяЗадолженность",РезультатПолучатель);
Если ОтправительКредит(Запрос.Параметры.ВидОперации) Тогда
ЗапросВТ.УстановитьПараметр("ДебиторскаяЗадолженность",РезультатПолучатель);
ЗапросВТ.УстановитьПараметр("КредиторскаяЗадолженность",РезультатОтправитель);
КонецЕсли;
ЗапросВТ.Выполнить();
КонецПроцедуры
Процедура КорректировкаВалютныхСумм(ТаблицаЗадолженности,РезультатРаспределения)
ПоляПоиска = "ОбъектРасчетов,Организация,Контрагент,Партнер,ВалютаВзаиморасчетов";
ЗадолженностьИтого = ТаблицаЗадолженности.Скопировать();
ЗадолженностьИтого.Свернуть(ПоляПоиска,"СуммаВзаиморасчетовИсходная");
Для Каждого Задолженность Из ЗадолженностьИтого Цикл
Отбор = Новый Структура(ПоляПоиска);
ЗаполнитьЗначенияСвойств(Отбор,Задолженность);
НайденныеСтроки = РезультатРаспределения.НайтиСтроки(Отбор);
СуммаВзаиморасчетов = 0;
МаксимальнаяСумма = 0;
СтрокаСМаксимальнойСуммой = Неопределено;
Для Каждого Распределено Из НайденныеСтроки Цикл
СуммаВзаиморасчетов = СуммаВзаиморасчетов + Распределено.СуммаВзаиморасчетов;
Если Распределено.СуммаВзаиморасчетов > МаксимальнаяСумма Тогда
МаксимальнаяСумма = Распределено.СуммаВзаиморасчетов;
СтрокаСМаксимальнойСуммой = Распределено;
КонецЕсли;
КонецЦикла;
Если СтрокаСМаксимальнойСуммой <> Неопределено И Задолженность.СуммаВзаиморасчетовИсходная <> СуммаВзаиморасчетов Тогда
Корректировка = Задолженность.СуммаВзаиморасчетовИсходная - СуммаВзаиморасчетов;
СтрокаСМаксимальнойСуммой.СуммаВзаиморасчетов = СтрокаСМаксимальнойСуммой.СуммаВзаиморасчетов + Корректировка;
Если СтрокаСМаксимальнойСуммой.СуммаПриемник <> 0 Тогда
СтрокаСМаксимальнойСуммой.СуммаПриемник = СтрокаСМаксимальнойСуммой.СуммаВзаиморасчетов;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция НайтиИдентификаторСтроки(УчастникВзаимозачета, РасчетыСКлиентами, РасчетыСПоставщиками)
ПоляПоиска = "Организация,Контрагент,Партнер,ОбъектРасчетов,ВалютаВзаиморасчетов,СуммаРегл,Пометка";
Отбор = Новый Структура(ПоляПоиска);
ЗаполнитьЗначенияСвойств(Отбор, УчастникВзаимозачета);
Отбор.Пометка = Ложь;
Если РасчетыСКлиентами.Количество() > 0 Тогда
НайденныеСтроки = РасчетыСКлиентами.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НайденныеСтроки[0].Пометка = Истина;
Возврат НайденныеСтроки[0].ИдентификаторФинЗаписи;
КонецЕсли;
КонецЕсли;
Если РасчетыСПоставщиками.Количество() Тогда
НайденныеСтроки = РасчетыСПоставщиками.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НайденныеСтроки[0].Пометка = Истина;
Возврат НайденныеСтроки[0].ИдентификаторФинЗаписи;
КонецЕсли;
КонецЕсли;
Возврат Новый УникальныйИдентификатор;
КонецФункции
Функция СуммаВзаиморасчетов(ИтогоВВалюте, СуммаРегл)
СуммаВзаиморасчетов = ИтогоВВалюте.СуммаВзаиморасчетов;
СуммаВзаиморасчетовРегл = ИтогоВВалюте.СуммаРегл;
СуммаКСписанию = ВзаиморасчетыСервер.СписатьСуммуПропорционально(СуммаВзаиморасчетов, СуммаРегл, СуммаВзаиморасчетовРегл);
ИтогоВВалюте.СуммаВзаиморасчетов = ИтогоВВалюте.СуммаВзаиморасчетов - СуммаКСписанию;
ИтогоВВалюте.СуммаРегл = ИтогоВВалюте.СуммаРегл - СуммаРегл;
Возврат СуммаКСписанию;
КонецФункции
Функция ИтогоВВалютахУчета(Задолженность)
Результат = Новый Соответствие;
ИтогоЗадолженность = Задолженность.Скопировать();
ИменаСумм = "СуммаВзаиморасчетов,СуммаУпр,СуммаРегл";
ИтогоЗадолженность.Свернуть("ВалютаВзаиморасчетов",ИменаСумм);
Для Каждого Запись Из ИтогоЗадолженность Цикл
СуммыУчета = Новый Структура(ИменаСумм,0,0,0);
ЗаполнитьЗначенияСвойств(СуммыУчета,Запись);
Результат.Вставить(Запись.ВалютаВзаиморасчетов,СуммыУчета);
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ОтправительКредит(ВидОперации)
Возврат
ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуКонтрагентами
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуДвумяОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОплатаПодарочнымСертификатом
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуОрганизацияКонтрагент
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуКонтрагентами
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуДвумяОрганизациями
ИЛИ ВидОперации = Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера;
КонецФункции
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ВзаимозачетЗадолженностиЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
КонецПроцедуры
Функция ПолучитьДанныеПечати(знач МассивДокументов, знач МассивИменМакетов) Экспорт
УстановитьПривилегированныйРежим(Истина);
Структура = Новый Структура("Данные, Макеты",
ПолучитьДанныеОбъектаПоМакетам(МассивДокументов, МассивИменМакетов),
ПолучитьМакетыИОписанияСекций(МассивИменМакетов));
Возврат Структура;
КонецФункции
Функция ПолучитьДанныеОбъектаПоМакетам(знач МассивДокументов, знач МассивИменМакетов) Экспорт
ДанныеПоВсемОбъектам = Новый Соответствие;
МассивРезультатов = ПолучитьДанныеВзаимозачетЗадолженности(МассивДокументов);
Выборка = МассивРезультатов[0].Выбрать();
ВыборкаДебиторскаяЗадолженность = МассивРезультатов[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаКредиторскаяЗадолженность = МассивРезультатов[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
ДанныеОбъекта = Новый Структура;
ДанныеОбъекта.Вставить("Организация", Выборка.Организация);
ДанныеОбъекта.Вставить("ДолжностьРуководителя", Выборка.ДолжностьРуководителя);
ДанныеОбъекта.Вставить("Руководитель", Выборка.Руководитель);
ДанныеОбъекта.Вставить("ОрганизацияКредитор", Выборка.ОрганизацияКредитор);
ДанныеОбъекта.Вставить("ДолжностьРуководителяОрганизацииКредитора", Выборка.ДолжностьРуководителяОрганизацииКредитора);
ДанныеОбъекта.Вставить("РуководительОрганизацииКредитора", Выборка.РуководительОрганизацииКредитора);
ДанныеОбъекта.Вставить("Дата", Формат(Выборка.Дата, "ДЛФ=ДД"));
ДанныеОбъекта.Вставить("АдресОрганизации", ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(Выборка.ОрганизацияСсылка, "Юридический", Выборка.Дата));
ДанныеОбъекта.Вставить("АдресОрганизацииКредитора", ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(Выборка.ОрганизацияКредиторСсылка, "Юридический", Выборка.Дата));
ДанныеОбъекта.Вставить("Взаимозачет", Выборка.Взаимозачет);
ДанныеОбъекта.Вставить("ВзаимозачетМеждуОрганизациями", Выборка.ВзаимозачетМеждуОрганизациями);
ДанныеОбъекта.Вставить("Сумма", ФормированиеПечатныхФорм.ФорматСумм(Выборка.СуммаРегл, Выборка.ВалютаРегламентированногоУчета));
СуммаПрописью = РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(Выборка.СуммаРегл, Выборка.ВалютаРегламентированногоУчета);
ДанныеОбъекта.Вставить("СуммаПрописью", СуммаПрописью);
ДанныеОбъекта.Вставить("ДебиторскаяЗадолженность", Новый Массив);
ДанныеОбъекта.Вставить("КредиторскаяЗадолженность", Новый Массив);
Если ТипЗнч(Выборка.КонтрагентДебитор) = Тип("СправочникСсылка.Организации") Тогда
ДанныеОбъекта.Вставить("КонтрагентДебитор", Выборка.КонтрагентДебиторОрганизация);
АдресКонтрагентаДебитора = ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(Выборка.КонтрагентДебитор, "Юридический", Выборка.Дата);
ДанныеОбъекта.Вставить("АдресКонтрагентаДебитора", АдресКонтрагентаДебитора);
Иначе
ДанныеОбъекта.Вставить("КонтрагентДебитор", Справочники.Контрагенты.СокрЮрНаименованиеНаДату(Выборка.КонтрагентДебитор, Выборка.Дата));
АдресКонтрагентаДебитора = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(
Выборка.КонтрагентДебитор, Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента,, Выборка.Дата);
ДанныеОбъекта.Вставить("АдресКонтрагентаДебитора", АдресКонтрагентаДебитора);
КонецЕслИ;
Если ТипЗнч(Выборка.КонтрагентКредитор) = Тип("СправочникСсылка.Организации") Тогда
ДанныеОбъекта.Вставить("КонтрагентКредитор", Выборка.КонтрагентКредиторОрганизация);
АдресКонтрагентаКредитора = ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(Выборка.КонтрагентКредитор, "Юридический", Выборка.Дата);
ДанныеОбъекта.Вставить("АдресКонтрагентаКредитора", АдресКонтрагентаКредитора);
Иначе
ДанныеОбъекта.Вставить("КонтрагентКредитор", Справочники.Контрагенты.СокрЮрНаименованиеНаДату(Выборка.КонтрагентКредитор, Выборка.Дата));
АдресКонтрагентаКредитора = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(
Выборка.КонтрагентКредитор, Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента,, Выборка.Дата);
ДанныеОбъекта.Вставить("АдресКонтрагентаКредитора", АдресКонтрагентаКредитора);
КонецЕсли;
АдресОрганизацииКредитора = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(
Выборка.КонтрагентКредитор, Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента,, Выборка.Дата);
ДанныеОбъекта.Вставить("АдресОрганизацииКредитора", АдресОрганизацииКредитора);
Если ВыборкаДебиторскаяЗадолженность.НайтиСледующий(Выборка.Ссылка, "Ссылка") Тогда
СформироватьТаблицуЗадолженности(ВыборкаДебиторскаяЗадолженность, ДанныеОбъекта.ДебиторскаяЗадолженность);
КонецЕсли;
Если ВыборкаКредиторскаяЗадолженность.НайтиСледующий(Выборка.Ссылка, "Ссылка") Тогда
СформироватьТаблицуЗадолженности(ВыборкаКредиторскаяЗадолженность, ДанныеОбъекта.КредиторскаяЗадолженность);
КонецЕсли;
ДанныеОбъектаПоМакетам = Новый Структура;
Для Каждого ИмяМакета Из МассивИменМакетов Цикл
ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, ДанныеОбъекта);
КонецЦикла;
ДанныеПоВсемОбъектам.Вставить(Выборка.Ссылка, ДанныеОбъектаПоМакетам);
КонецЦикла;
Возврат ДанныеПоВсемОбъектам;
КонецФункции
Функция ПолучитьМакетыИОписанияСекций(знач МассивИменМакетов) Экспорт
ОписаниеСекций = Новый Структура;
ДвоичныеДанныеМакетов = Новый Структура;
Для Каждого ИмяМакета Из МассивИменМакетов Цикл
Макет = Неопределено;
ОписаниеСекцийМакета = Неопределено;
Если ИмяМакета = "ПФ_DOC_АктВзаимозачета_ru" Тогда
ОписаниеСекцийМакета = ПолучитьОписаниеОбластейВзаимозачетЗадолженности();
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ВзаимозачетЗадолженности.ПФ_DOC_АктВзаимозачета_ru");
ИначеЕсли ИмяМакета = "ПФ_DOC_АктПереуступкиДолга_ru" Тогда
ОписаниеСекцийМакета = ПолучитьОписаниеОбластейВзаимозачетЗадолженности();
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ВзаимозачетЗадолженности.ПФ_DOC_АктПереуступкиДолга_ru");
ИначеЕсли ИмяМакета = "ПФ_DOC_АктПереуступкиДолгаМеждуОрганизациями_ru" Тогда
ОписаниеСекцийМакета = ПолучитьОписаниеОбластейВзаимозачетЗадолженности();
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ВзаимозачетЗадолженности.ПФ_DOC_АктПереуступкиДолгаМеждуОрганизациями_ru");
КонецЕсли;
Если ОписаниеСекцийМакета <> Неопределено И Макет <> Неопределено Тогда
ОписаниеСекций.Вставить(ИмяМакета, ОписаниеСекцийМакета);
ДвоичныеДанныеМакетов.Вставить(ИмяМакета, Макет);
КонецЕсли;
КонецЦикла;
Результат = Новый Структура("ОписаниеСекций, ДвоичныеДанныеМакетов",
ОписаниеСекций,
ДвоичныеДанныеМакетов);
Возврат Результат;
КонецФункции
Процедура СформироватьТаблицуЗадолженности(РезультатЗапроса, МассивСтрок)
НомерСтроки = 0;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
СтрокаТаблицы = Новый Структура;
СтрокаТаблицы.Вставить("НомерСтроки", НомерСтроки);
СтрокаТаблицы.Вставить("Сумма", Формат(Выборка.СуммаВзаиморасчетов, "ЧДЦ=2"));
СтрокаТаблицы.Вставить("Валюта", Выборка.ВалютаВзаиморасчетов);
ТекстДокумент = "";
Если ЗначениеЗаполнено(Выборка.НаименованиеДляПечати) Тогда
ТекстДокумент = Выборка.НаименованиеДляПечати;
ИначеЕсли ЗначениеЗаполнено(Выборка.ТипДокумента) Тогда
ТекстДокумент = ТекстДокумент
+ ?(Не ПустаяСтрока(ТекстДокумент), ", " + Символы.ПС, "")
+ ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(Выборка, Строка(Выборка.ТипДокумента));
КонецЕсли;
Если ПустаяСтрока(ТекстДокумент) Тогда
ТекстДокумент = НСтр("ru = 'Без документа'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецЕсли;
СтрокаТаблицы.Вставить("Документ", ТекстДокумент);
МассивСтрок.Добавить(СтрокаТаблицы);
КонецЦикла;
КонецПроцедуры
Функция ПолучитьДанныеВзаимозачетЗадолженности(МассивДокументов)
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(
МассивДокументов,
МенеджерВременныхТаблиц);
ПараметрыОтветственныхЛиц = ОтветственныеЛицаСервер.ПараметрыОтветственныхЛицПоУмолчанию();
ПараметрыОтветственныхЛиц.ИмяРеквизитаОрганизация = "ОрганизацияКредитор";
ПараметрыОтветственныхЛиц.РеквизитыОтветственныеЛица = Новый Структура("Руководитель", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель);
ПараметрыОтветственныхЛиц.ИмяТаблицыОтветственныеЛица = "ТаблицаОтветственныеЛицаОрганизацииКредитора";
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(
МассивДокументов,
МенеджерВременныхТаблиц,
ПараметрыОтветственныхЛиц);
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация.НаименованиеСокращенное КАК Организация,
| ДанныеДокумента.Организация КАК ОрганизацияСсылка,
| ДанныеДокумента.Организация.Префикс КАК Префикс,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ДанныеДокумента.ОрганизацияКредитор.НаименованиеСокращенное КАК ОрганизацияКредитор,
| ДанныеДокумента.ОрганизацияКредитор КАК ОрганизацияКредиторСсылка,
| ТаблицаОтветственныеЛицаОрганизацииКредитора.РуководительНаименование КАК РуководительОрганизацииКредитора,
| ТаблицаОтветственныеЛицаОрганизацииКредитора.РуководительДолжность КАК ДолжностьРуководителяОрганизацииКредитора,
| ДанныеДокумента.КонтрагентДебитор КАК КонтрагентДебитор,
| ДанныеДокумента.КонтрагентКредитор КАК КонтрагентКредитор,
| ВЫБОР КОГДА ДанныеДокумента.КонтрагентДебитор ССЫЛКА Справочник.Организации
| ТОГДА ДанныеДокумента.КонтрагентДебитор.НаименованиеСокращенное
| ИНАЧЕ """"
| КОНЕЦ КАК КонтрагентДебиторОрганизация,
| ВЫБОР КОГДА ДанныеДокумента.КонтрагентКредитор ССЫЛКА Справочник.Организации
| ТОГДА ДанныеДокумента.КонтрагентКредитор.НаименованиеСокращенное
| ИНАЧЕ """"
| КОНЕЦ КАК КонтрагентКредиторОрганизация,
| ВЫБОР КОГДА ((НЕ (ДанныеДокумента.ВидОперации В (&ВидыОперацийМеждуОрганизациями)) И ДанныеДокумента.КонтрагентДебитор = ДанныеДокумента.КонтрагентКредитор)
| ИЛИ (ДанныеДокумента.ВидОперации В (&ВидыОперацийМеждуОрганизациями) И ДанныеДокумента.Организация = ДанныеДокумента.ОрганизацияКредитор))
| И НЕ ДанныеДокумента.ВидОперации В (&ВидыОперацийПоКомиссии) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК Взаимозачет,
| ВЫБОР КОГДА ДанныеДокумента.ВидОперации В (&ВидыОперацийМеждуОрганизациями) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ВзаимозачетМеждуОрганизациями,
| ДанныеДокумента.СуммаРегл КАК СуммаРегл
|ИЗ
| Документ.ВзаимозачетЗадолженности КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО
| ДанныеДокумента.Ссылка = ТаблицаОтветственныеЛица.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ТаблицаОтветственныеЛицаОрганизацииКредитора КАК ТаблицаОтветственныеЛицаОрганизацииКредитора
| ПО
| ДанныеДокумента.Ссылка = ТаблицаОтветственныеЛицаОрганизацииКредитора.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка В (&МассивДокументов)
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Задолженность.Ссылка КАК Ссылка,
| Задолженность.ТипРасчетов КАК ТипРасчетов,
| ВЫБОР КОГДА Задолженность.ОбъектРасчетов.Объект = НЕОПРЕДЕЛЕНО ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект)
| КОНЕЦ КАК ТипДокумента,
| Задолженность.ОбъектРасчетов.Дата КАК Дата,
| Задолженность.ОбъектРасчетов.Номер КАК Номер,
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект) = ТИП(Справочник.ДоговорыКонтрагентов) ТОГДА
| ВЫРАЗИТЬ(Задолженность.ОбъектРасчетов.Объект КАК Справочник.ДоговорыКонтрагентов).НаименованиеДляПечати
| КОГДА ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект) = ТИП(Справочник.ДоговорыМеждуОрганизациями) ТОГДА
| ВЫРАЗИТЬ(Задолженность.ОбъектРасчетов.Объект КАК Справочник.ДоговорыМеждуОрганизациями).НаименованиеДляПечати
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаименованиеДляПечати,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Задолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВзаимозачетЗадолженности.ДебиторскаяЗадолженность КАК Задолженность
|ГДЕ
| Задолженность.Ссылка В (&МассивДокументов)
|
|ИТОГИ ПО
| Ссылка
|;
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Задолженность.Ссылка КАК Ссылка,
| Задолженность.ТипРасчетов КАК ТипРасчетов,
| ВЫБОР КОГДА Задолженность.ОбъектРасчетов.Объект = НЕОПРЕДЕЛЕНО ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект)
| КОНЕЦ КАК ТипДокумента,
| Задолженность.ОбъектРасчетов.Дата КАК Дата,
| Задолженность.ОбъектРасчетов.Номер КАК Номер,
| ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект) = ТИП(Справочник.ДоговорыКонтрагентов) ТОГДА
| ВЫРАЗИТЬ(Задолженность.ОбъектРасчетов.Объект КАК Справочник.ДоговорыКонтрагентов).НаименованиеДляПечати
| КОГДА ТИПЗНАЧЕНИЯ(Задолженность.ОбъектРасчетов.Объект) = ТИП(Справочник.ДоговорыМеждуОрганизациями) ТОГДА
| ВЫРАЗИТЬ(Задолженность.ОбъектРасчетов.Объект КАК Справочник.ДоговорыМеждуОрганизациями).НаименованиеДляПечати
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаименованиеДляПечати,
| Задолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Задолженность.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВзаимозачетЗадолженности.КредиторскаяЗадолженность КАК Задолженность
|ГДЕ
| Задолженность.Ссылка В (&МассивДокументов)
|
|ИТОГИ ПО
| Ссылка
|");
МассивОпераций = Новый Массив;
МассивОпераций.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаКлиентаМеждуОрганизациями);
МассивОпераций.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаКлиентаМеждуОрганизациями);
МассивОпераций.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносАвансаПоставщикуМеждуОрганизациями);
МассивОпераций.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ПереносДолгаПоставщикуМеждуОрганизациями);
ОперацииКомиссионера = Новый Массив;
ОперацииКомиссионера.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеОплатыЧерезКомиссионера);
ОперацииКомиссионера.Добавить(Перечисления.ВидыОперацийВзаимозачетаЗадолженности.ОтражениеВозвратаОплатыЧерезКомиссионера);
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
Запрос.УстановитьПараметр("ВидыОперацийМеждуОрганизациями", МассивОпераций);
Запрос.УстановитьПараметр("ВидыОперацийПоКомиссии", ОперацииКомиссионера);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
МассивРезультатов = Запрос.ВыполнитьПакет();
Возврат МассивРезультатов;
КонецФункции
Функция ПолучитьОписаниеОбластейВзаимозачетЗадолженности()
Секции = Новый Структура;
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "ВерхнийКолонтитул","ВерхнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "НижнийКолонтитул","НижнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "ЗаголовокДокумента", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "ДебиторскаяЗадолженность", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "КредиторскаяЗадолженность", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "ШапкаТаблицы", "СтрокаТаблицы");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "СтрокаТаблицы", "СтрокаТаблицы");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "Итог", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(Секции, "Подвал", "Общая");
Возврат Секции;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "КонтрагентДебитор";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("КонтрагентДебитор");
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("КонтрагентКредитор");
КонецПроцедуры
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
#КонецОбласти
#КонецОбласти
#КонецЕсли