Операция по платежной карте / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Формирует описание реквизитов объекта, заполняемых по статистике их использования.
//
// Параметры:
//  ОписаниеРеквизитов - Структура - описание реквизитов, для которых необходимо получить значения по статистике
//
//
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
	
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация");
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Организация";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
		ОписаниеРеквизитов, "Ответственный", Параметры);
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный, Организация";
	Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный, Организация";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
		"ДоговорЭквайринга", Параметры);
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный, Организация";
	Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Валюта";
	Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный, Организация";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
		"ЭквайринговыйТерминал", Параметры);
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный";
	Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
		"Подразделение", Параметры);
	
КонецПроцедуры

#Область Проведение

// Описывает учетные механизмы используемые в документе для регистрации в механизме проведения.
//
// Параметры:
//  МеханизмыДокумента - Массив - список имен учетных механизмов, для которых будет выполнена
//              регистрация в механизме проведения.
//
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
	
	МеханизмыДокумента.Добавить("Взаиморасчеты");
	МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
	МеханизмыДокумента.Добавить("ПланированиеКонтрольДенежныхСредств");
	МеханизмыДокумента.Добавить("РеестрДокументов");
	МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
	МеханизмыДокумента.Добавить("УчетДенежныхСредств");
	МеханизмыДокумента.Добавить("УчетДоходовРасходов");
	МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
	МеханизмыДокумента.Добавить("ИсправлениеДокументов");
	
	ОперацияПоПлатежнойКартеЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
	
КонецПроцедуры

// Возвращает таблицы для движений, необходимые для проведения документа по регистрам учетных механизмов.
//
// Параметры:
//  Документ - ДокументСсылка, ДокументОбъект - ссылка на документ или объект, по которому необходимо получить данные
//  Регистры - Структура - список имен регистров, для которых необходимо получить таблицы
//  ДопПараметры - Структура - дополнительные параметры для получения данных, определяющие контекст проведения.
//
// Возвращаемое значение:
//  Структура - коллекция элементов - таблиц значений - данных для отражения в регистр.
//
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
	
	Если ДопПараметры = Неопределено Тогда
		ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
	КонецЕсли;
	
	Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОперацияПоПлатежнойКарте") Тогда
		ДокументСсылка = Документ.Ссылка;
	Иначе
		ДокументСсылка = Документ;
	КонецЕсли;
	
	Запрос        = Новый Запрос;
	ТекстыЗапроса = Новый СписокЗначений;
	
	Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
		////////////////////////////////////////////////////////////////////////////
		// Создадим запрос инициализации движений
		
		ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
		
		////////////////////////////////////////////////////////////////////////////
		// Сформируем текст запроса
		СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
		
		ТекстЗапросаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
		
		ОперацияПоПлатежнойКартеЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
	КонецЕсли;
	
	ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
	
	ПроведениеДокументов.ДобавитьЗапросыСторноДвижений(Запрос, ТекстыЗапроса, Регистры, ПустаяСсылка().Метаданные());
	
	////////////////////////////////////////////////////////////////////////////
	// Получим таблицы для движений
	
	Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
	
КонецФункции

#КонецОбласти

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет список команд создания на основании.
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
	БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	
	КомандаСозданияНаОснованииЭквайринговаяОперация = Документы.ОперацияПоПлатежнойКарте.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту);
	
	Если КомандаСозданияНаОснованииЭквайринговаяОперация <> Неопределено Тогда
		ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаСозданияНаОснованииЭквайринговаяОперация, 
															"ХозяйственнаяОперация", 
															Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента,
															ВидСравненияКомпоновкиДанных.Равно);
	КонецЕсли;
	
	КомандаСозданияНаОсновании = 
		Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Если КомандаСозданияНаОсновании <> Неопределено Тогда
		
		КомандаСозданияНаОсновании.Представление = СтрШаблон(НСтр("ru = '%1 (Возврат оплаты клиенту)'"), КомандаСозданияНаОсновании.Представление);
		ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаСозданияНаОсновании, 
															"ХозяйственнаяОперация", 
															Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента,
															ВидСравненияКомпоновкиДанных.Равно);
	КонецЕсли;
	
	ОперацияПоПлатежнойКартеЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);

КонецПроцедуры

// Добавляет команду создания документа "Эквайринговая операция".
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  ВидОперации - ПеречислениеСсылка.ХозяйственныеОперации - значение хозяйственной операции
//
// Возвращаемое значение:
//	- СтрокаТаблицыЗначений - добавленная команда в таблицу значений для вывода в подменю
//	- Неопределено - если нет доступа к текущему документу
//
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании, ВидОперации = Неопределено) Экспорт
	Если ПравоДоступа("Добавление", Метаданные.Документы.ОперацияПоПлатежнойКарте) Тогда
		КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
		КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОперацияПоПлатежнойКарте.ПолноеИмя();
		КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОперацияПоПлатежнойКарте)
													+ ?(ВидОперации = Неопределено, "", " (" + ВидОперации + ")");
		КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
		КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьОплатуПлатежнымиКартами";
		
		Если ВидОперации = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту Тогда 
			КомандаСоздатьНаОсновании.Обработчик = "СозданиеНаОснованииУТКлиент.ОперацияПоПлатежнойКарте_Возврат";
		КонецЕсли;

		Возврат КомандаСоздатьНаОсновании;
	КонецЕсли;

	Возврат Неопределено;
КонецФункции

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
	ОперацияПоПлатежнойКартеЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);

КонецПроцедуры

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	ОперацияПоПлатежнойКартеЛокализация.ДобавитьКомандыПечати(КомандыПечати);

КонецПроцедуры

// Процедура заполняет массивы реквизитов, зависимых от хозяйственной операции документа.
//
// Параметры:
//	ХозяйственнаяОперация - ПеречислениеСсылка.ХозяйственныеОперации - Выбранная хозяйственная операция
//	МассивВсехРеквизитов - Массив - Массив всех имен реквизитов, зависимых от хозяйственной операции
//	МассивРеквизитовОперации - Массив - Массив имен реквизитов, используемых в выбранной хозяйственной операции.
//
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
	
	МассивВсехРеквизитов = Новый Массив;
	МассивВсехРеквизитов.Добавить("ЗаявкаНаРасходованиеДенежныхСредств");
	МассивВсехРеквизитов.Добавить("РасшифровкаПлатежа.ОснованиеПлатежа");
	МассивВсехРеквизитов.Добавить("РасшифровкаПлатежа.ДатаПогашения");
	
	МассивРеквизитовОперации = Новый Массив;
	Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента Тогда
		МассивРеквизитовОперации.Добавить("РасшифровкаПлатежа.ОснованиеПлатежа");
		МассивРеквизитовОперации.Добавить("РасшифровкаПлатежа.ДатаПогашения");
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту Тогда
		МассивРеквизитовОперации.Добавить("ЗаявкаНаРасходованиеДенежныхСредств");
		МассивРеквизитовОперации.Добавить("РасшифровкаПлатежа.ОснованиеПлатежа");
	КонецЕсли;
	
КонецПроцедуры

// Определяет свойства полей формы в зависимости от данных
//
// Параметры:
//	Настройки - ТаблицаЗначений - таблица с колонками:
//		* Поля - Массив - поля, для которых определяются настройки отображения
//		* Условие - ОтборКомпоновкиДанных - условия применения настройки
//		* Свойства - Структура - имена и значения свойств
//
Процедура ЗаполнитьНастройкиПолейФормы(Настройки) Экспорт
	
	Финансы = ФинансоваяОтчетностьСервер;
	Операции = Перечисления.ХозяйственныеОперации;
	
	// Контрагент
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("СтраницыПроблемаПроверкаКонтрагентаКонтрагент");
	Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Операции.ПоступлениеОплатыОтКлиента);
	Элемент.Свойства.Вставить("Видимость");
	
	// ЗаявкаНаРасходованиеДенежныхСредств
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ЗаявкаНаРасходованиеДенежныхСредств");
	Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Операции.ВозвратОплатыКлиенту);
	Элемент.Свойства.Вставить("Видимость");
	
	// ОснованиеПлатежа
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаПлатежа.ОснованиеПлатежа");
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияОснованиеПлатежа");
	Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Операции.ПоступлениеОплатыОтКлиента);
	Элемент.Свойства.Вставить("Видимость");
	
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ЗаявкаНаРасходованиеДенежныхСредств");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.РазрешеныПлатежиБезУказанияЗаявок", Истина);
	Элемент.Свойства.Вставить("АвтоОтметкаНезаполненного", Ложь);
	Элемент.Свойства.Вставить("ОтметкаНезаполненного", Ложь);
	
	// ЭквайринговыйТерминал
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ЭквайринговыйТерминал");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользуютсяЭквайринговыеТерминалы", Истина);
	Элемент.Свойства.Вставить("Видимость");
	
	// НадписьВалюта
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("НадписьВалюта");
	Элемент.Поля.Добавить("НадписьВалютаКомиссия");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользоватьНесколькоВалют", Ложь);
	Элемент.Свойства.Вставить("Видимость");
	
	// Нераспределенный платеж
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ГруппаФинансовогоУчета");
	Элемент.Поля.Добавить("НаправлениеДеятельности");
	Элемент.Поля.Добавить("ПодразделениеРП");
	ГруппаИ = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	Финансы.НовыйОтбор(ГруппаИ, "ХозяйственнаяОперация", Операции.ВозвратОплатыКлиенту,, ВидСравненияКомпоновкиДанных.НеРавно);
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.СуммаНераспределено", 0,, ВидСравненияКомпоновкиДанных.НеРавно);
	Элемент.Свойства.Вставить("Видимость");

	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ГруппаФинансовогоУчетаВозврата");
	Элемент.Поля.Добавить("НаправлениеДеятельностиВозврата");
	Элемент.Поля.Добавить("ПодразделениеРПВозврата");
	Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Операции.ВозвратОплатыКлиенту);
	Элемент.Свойства.Вставить("Видимость");
	
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("Договор");
		
	ГруппаИ = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	Финансы.НовыйОтбор(ГруппаИ, "ХозяйственнаяОперация", Операции.ПоступлениеОплатыОтКлиента);
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ИспользоватьДоговорыСКлиентами", Истина);
	
	Элемент.Свойства.Вставить("Видимость");

	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ДоговорВозврата");
	
	ГруппаИ = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	Финансы.НовыйОтбор(ГруппаИ, "ХозяйственнаяОперация", Операции.ВозвратОплатыКлиенту);
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ИспользоватьДоговорыСКлиентами", Истина);
	
	Элемент.Свойства.Вставить("Видимость");
	
	// Договор объекта расчетов
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаПлатежаДоговор");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользоватьДоговорыСКлиентами", Истина);
	Элемент.Свойства.Вставить("Видимость");
	
	// СуммаВзаиморасчетов, ВалютаВзаиморасчетов
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаПлатежа.СуммаВзаиморасчетов");
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияСуммаВзаиморасчетов");
	Элемент.Поля.Добавить("РасшифровкаПлатежа.ВалютаВзаиморасчетов");
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияВалютаВзаиморасчетов");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользоватьНесколькоВалют", Истина);
	Элемент.Свойства.Вставить("Видимость");
	
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияСуммаВзаиморасчетов");
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользоватьНесколькоВалют", Истина);
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ВалютаВзаиморасчетов", "Валюта", , , Истина);
	Элемент.Свойства.Вставить("ТолькоПросмотр");
	
	// ДекорацияВалютыИКурсПлатежа, КурсЧислительВзаиморасчетов, КурсЗнаменательВзаиморасчетов
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ДекорацияВалютыИКурсПлатежа");
	Элемент.Поля.Добавить("РасшифровкаПлатежа.КурсЧислительВзаиморасчетов");
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияКурсЧислительВзаиморасчетов");
	Элемент.Поля.Добавить("РасшифровкаПлатежа.КурсЧислительВзаиморасчетовТекст");
	Элемент.Поля.Добавить("РасшифровкаПлатежаКурсЗнаменательВзаиморасчетовНадпись");
	Элемент.Поля.Добавить("РасшифровкаПлатежа.ВариантКурсаДоговора");
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияВариантКурсаДоговора");
	
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ИспользоватьНесколькоВалют", Истина);
	Финансы.НовыйОтбор(Элемент.Условие, "Валюта", "Дополнительно.ВалютаВзаиморасчетов",, ВидСравненияКомпоновкиДанных.НеРавно, Истина);
	ПодгруппаИли = Финансы.НовыйОтбор(Элемент.Условие, , , Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ПодгруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ПодгруппаИли, "Дополнительно.НесколькоВалютВзаиморасчетов", Истина);
	Финансы.НовыйОтбор(ПодгруппаИли, "Дополнительно.ВалютаВзаиморасчетов", Справочники.Валюты.ПустаяСсылка(), , ВидСравненияКомпоновкиДанных.НеРавно);
	Элемент.Свойства.Вставить("Видимость");
	
	// ДекорацияВалютыИКурсПлатежа
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ДекорацияВалютыИКурсПлатежа");
	ГруппаИ = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ВалютаВзаиморасчетов",,, ВидСравненияКомпоновкиДанных.Заполнено);
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ВариантКурсаДоговора",,, ВидСравненияКомпоновкиДанных.Заполнено);
	Элемент.Свойства.Вставить("Доступность");
	
	// РасшифровкаБезРазбиенияВариантКурсаДоговора
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияВариантКурсаДоговора");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "Дополнительно.ВариантКурсаДоговора", Перечисления.ВариантыКурсаДоговора.УстановленныйВДоговоре,, ВидСравненияКомпоновкиДанных.Равно);
	ГруппаИ = Финансы.НовыйОтбор(ГруппаИли,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ВариантКурсаДоговора", Перечисления.ВариантыКурсаДоговора.ФиксированныйНаДатуОтгрузки,, ВидСравненияКомпоновкиДанных.Равно);
	Финансы.НовыйОтбор(ГруппаИ, "Дополнительно.ТипОбъектаРасчетов", Перечисления.ТипыОбъектовРасчетов.Накладная,, ВидСравненияКомпоновкиДанных.Равно);
	Элемент.Свойства.Вставить("Гиперссылка");
	
	// Комиссия
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ГруппаКомиссия");
	Финансы.НовыйОтбор(Элемент.Условие, "ОтражатьКомиссию", Истина);
	Элемент.Свойства.Вставить("Видимость");
	
	// Дата погашения
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("РасшифровкаБезРазбиенияДатаПогашения");
	Элемент.Поля.Добавить("РасшифровкаПлатежаДатаПогашения");
	
	Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Операции.ПоступлениеОплатыОтКлиента);
	
	Элемент.Свойства.Вставить("Видимость");
	
	// СтатьяРасходов
	// АналитикаРасходов
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("СтатьяРасходов");
	Элемент.Поля.Добавить("АналитикаРасходов");
	Финансы.НовыйОтбор(Элемент.Условие, "ВестиУчетКомиссииВоВзаиморасчетах", Ложь);
	Элемент.Свойства.Вставить("Видимость");
	
	// ДоговорКомиссии
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ДоговорКомиссии");
	Финансы.НовыйОтбор(Элемент.Условие, "ВестиУчетКомиссииВоВзаиморасчетах", Истина);
	Элемент.Свойства.Вставить("Видимость");
	
КонецПроцедуры

// Возвращает параметры выбора статей и аналитик.
// 
// Параметры:
//     ДоступностьПоОперации - Булево - Признак доступности выбора статей и аналитик.
// 
// Возвращаемое значение:
//  Структура - Параметры выбора статей и аналитик (См. ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики).
//
Функция ПараметрыВыбораСтатейИАналитик(ДоступностьПоОперации) Экспорт
	
	МассивПараметровВыбора = Новый Массив;
	
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Объект";
	ПараметрыВыбора.Статья = "СтатьяРасходов";
	ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
	
	ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
	ПараметрыВыбора.ЗначениеПоУмолчанию = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка();
	ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
	ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
	
	ПараметрыВыбора.ДоступностьПоОперации = ДоступностьПоОперации;
	
	МассивПараметровВыбора.Добавить(ПараметрыВыбора);
	
	Возврат МассивПараметровВыбора;
	
КонецФункции

//++ НЕ УТ

// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт

	Возврат ОперацияПоПлатежнойКартеЛокализация.ТекстОтраженияВРеглУчете();

КонецФункции

// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - текст запроса создания временных таблиц.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт

	Возврат ОперацияПоПлатежнойКартеЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();

КонецФункции

//-- НЕ УТ

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(ЭквайринговыйТерминал)
	|	И ЗначениеРазрешено(РасшифровкаПлатежа.Партнер)";

КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

#КонецОбласти

//Возвращает параметры механизма взаиморасчетов.
//
// Параметры:
// 	ДанныеЗаполнения - ДокументОбъект, СправочникОбъект, ДокументСсылка, СправочникСсылка, Структура, ДанныеФормыСтруктура - Объект или коллекция для
//              расчета параметров взаиморасчетов.
//
// Возвращаемое значение:
// 	См. ВзаиморасчетыСервер.ПараметрыМеханизма
//
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
	
	Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
		СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
			ДанныеЗаполнения, 
			"ХозяйственнаяОперация");
		ХозяйственнаяОперация = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
	ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
		ХозяйственнаяОперация = Неопределено;
	Иначе
		ХозяйственнаяОперация = ДанныеЗаполнения.ХозяйственнаяОперация;
	КонецЕсли;
	
	МассивСтруктур = Новый Массив;
	
	СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
	СтруктураПараметров.ТипРасчетов                      = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
	СтруктураПараметров.ИзменяетПланОплаты               = Истина;
	СтруктураПараметров.ИзменяетПланОтгрузкиПоставки     = Ложь;
	
	СтруктураПараметров.ИзменяетРасчетыСтрокой               =
		"//Условие возврата начало
		|	ИсточникДанных.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
		|//Условие возврата окончание";
	
	СтруктураПараметров.ВалютаВзаиморасчетов             = "Объект.РасшифровкаПлатежа.ВалютаВзаиморасчетов";
	СтруктураПараметров.КурсЧислитель                    = "";
	СтруктураПараметров.КурсЗнаменатель                  = "";
	СтруктураПараметров.ПорядокРасчетов                  = "";
	
	СтруктураПараметров.ФормаОплаты                      = "";
	СтруктураПараметров.ОплатаВВалюте                    = "";
	
	СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа  = "Объект.РасшифровкаПлатежа";
	СтруктураПараметров.Соглашение                       = "";
	СтруктураПараметров.БанковскийСчетОрганизации        = "";
	СтруктураПараметров.БанковскийСчетКонтрагента        = "";
	СтруктураПараметров.Касса                            = "";
	СтруктураПараметров.ИдентификаторПлатежа             = "";
	СтруктураПараметров.Партнер                          = "Объект.РасшифровкаПлатежа.Партнер";
	
	СтруктураПараметров.НакладнаяПоЗаказам               = "";
	СтруктураПараметров.ЗаказОснование                   = "";
	СтруктураПараметров.НалогообложениеНДС               = "Объект.НалогообложениеНДС";
	
	СтруктураПараметров.ЭлементыФормы.РасшифровкаПлатежа               = "РасшифровкаПлатежа";
	СтруктураПараметров.ЭлементыФормы.ПодборВРасшифровкуПлатежа        = "РасшифровкаПлатежаПодборПоОстаткам";
	
	//Настройки подбора взаиморасчетов
	СтруктураПараметров.ПодборДебиторскойЗадолженности                   = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента;
	СтруктураПараметров.ПодборТолькоБезусловнойЗадолженности             = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту;
	
	МассивСтруктур.Добавить(СтруктураПараметров);
	
	#Область ОбъектРасчетовВозврат
	
	Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту Тогда
		СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
		СтруктураПараметров.ТипРасчетов                      = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
		СтруктураПараметров.ИзменяетПланОплаты               = Истина;
		СтруктураПараметров.ИзменяетПланОтгрузкиПоставки     = Ложь;
		
		СтруктураПараметров.ОбъектРасчетов                   = "Объект.ОбъектРасчетов";
		СтруктураПараметров.ИзменяетРасчетыСтрокой               =
			"//Условие возврата начало
			|	ИсточникДанных.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
			|//Условие возврата окончание";
		
		СтруктураПараметров.КурсЧислитель                    = "";
		СтруктураПараметров.КурсЗнаменатель                  = "";
		СтруктураПараметров.ПорядокРасчетов                  = "";
		
		СтруктураПараметров.ФормаОплаты                      = "";
		СтруктураПараметров.ОплатаВВалюте                    = "";
		
		СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа  = "Объект.РасшифровкаПлатежа";
		СтруктураПараметров.Соглашение                       = "";
		СтруктураПараметров.БанковскийСчетОрганизации        = "";
		СтруктураПараметров.БанковскийСчетКонтрагента        = "";
		СтруктураПараметров.Касса                            = "";
		СтруктураПараметров.ИдентификаторПлатежа             = "";
		СтруктураПараметров.Партнер                          = "Объект.РасшифровкаПлатежа.Партнер";
		
		СтруктураПараметров.НакладнаяПоЗаказам               = "";
		СтруктураПараметров.ЗаказОснование                   = "";
		СтруктураПараметров.НалогообложениеНДС               = "";
		
		МассивСтруктур.Добавить(СтруктураПараметров);
		
	КонецЕсли;
	
	#КонецОбласти
	
	Возврат МассивСтруктур;
КонецФункции

// Возвращает структуру параметров для заполнения налогообложения НДС продажи.
//
// Параметры:
//  Объект - ДокументОбъект.ОперацияПоПлатежнойКарте - документ, по которому необходимо сформировать параметры.
//
// Возвращаемое значение:
//  См. УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи
//
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
	
	ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
	
	ПараметрыЗаполнения.Организация = Объект.Организация;
	ПараметрыЗаполнения.Дата = Объект.Дата;
	ПараметрыЗаполнения.Договор = Объект.Договор;
	ПараметрыЗаполнения.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
	ПараметрыЗаполнения.Подразделение = Объект.Подразделение;
	
	Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента
		ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту Тогда
		
		ПараметрыЗаполнения.РеализацияТоваров = Истина;
		ПараметрыЗаполнения.РеализацияРаботУслуг = Истина;
	КонецЕсли;
	
	Возврат ПараметрыЗаполнения;
	
КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#Область Проведение

Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт

	ИсточникиДанных = Новый Соответствие;

	Возврат ИсточникиДанных; 

КонецФункции

Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
	
	Запрос = Новый Запрос();
	ТекстыЗапроса = Новый СписокЗначений;
	ПереопределениеРасчетаПараметров = Новый Структура;
	СинонимТаблицыДокумента = "";
	ПолноеИмяДокумента = "Документ.ОперацияПоПлатежнойКарте";
	
	Если ИмяРегистра = "ДенежныеСредстваКВыплате" Тогда
		
		ПереопределениеРасчетаПараметров.Вставить("ВалЗаявки", "ДанныеДокумента.ЗаявкаНаРасходованиеДенежныхСредств.Валюта");
		
		ТекстЗапроса = ТекстЗапросаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, ИмяРегистра);
		СинонимТаблицыДокумента = "ДанныеДокумента";
		
	ИначеЕсли ИмяРегистра = "РеестрДокументов" Тогда
		
		ПереопределениеРасчетаПараметров.Вставить("ПартнерИзДокумента", "ДанныеДокумента.Партнер");
		ПереопределениеРасчетаПараметров.Вставить("КонтрагентИзДокумента", "ДанныеДокумента.Контрагент");
		
		ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
		СинонимТаблицыДокумента = "ДанныеДокумента";
		
	Иначе
		ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
		
		ВызватьИсключение ТекстИсключения;
	КонецЕсли;
	
	Если ИмяРегистра = "РеестрДокументов" Тогда
		ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
			ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента, Истина, ПереопределениеРасчетаПараметров);
	Иначе
		ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
			ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента, ПереопределениеРасчетаПараметров);
	КонецЕсли;
	
	Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
	Результат.ЗначенияПараметров = ЗначенияПараметровПроведения();
	Результат.ТекстЗапроса = ТекстЗапроса;
	
	Возврат Результат;
	
КонецФункции

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

Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
	
	Значения = Новый Структура;
	Значения.Вставить("ИдентификаторМетаданных",                         ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ОперацияПоПлатежнойКарте"));
	Значения.Вставить("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств", ПолучитьФункциональнуюОпцию("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств"));
	Значения.Вставить("ВалютаУправленческогоУчета",                      Константы.ВалютаУправленческогоУчета.Получить());
	
	Если Реквизиты <> Неопределено Тогда
		Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
			Реквизиты.Валюта, Неопределено, Реквизиты.Период, Реквизиты.Организация);
			
		Значения.Вставить("КоэффициентПересчетаВВалютуУпр",              Коэффициенты.КоэффициентПересчетаВВалютуУпр);
		Значения.Вставить("КоэффициентПересчетаВВалютуРегл",             Коэффициенты.КоэффициентПересчетаВВалютуРегл);
		Значения.Вставить("КоэффициентПересчетаВВалютуЗаявки",           Коэффициенты.КоэффициентПересчетаВВалютуВзаиморасчетов);
		Значения.Вставить("НомерНаПечать",                               ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
	КонецЕсли;
	
	Возврат Значения;
	
КонецФункции

Функция ТекстЗапросаВременнаяТаблицаОбъектовРасчета(Запрос, ТекстыЗапроса) Экспорт
	
	ИмяВременнойТаблицы = "ТаблицаОбъектовРасчетов";
	
	ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов КАК ОбъектРасчетов,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Договор КАК Договор,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Организация КАК Организация,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Подразделение КАК Подразделение
	|
	|ПОМЕСТИТЬ ТаблицаОбъектовРасчетов
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
	|	
	|ГДЕ
	|	ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка
	|	И ТаблицаРасшифровкаПлатежа.ОбъектРасчетов <> ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	ОбъектРасчетов
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
	
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

Функция ТекстЗапросаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "РасчетыПоЭквайрингу";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаРасшифровкаПлатежа", ТекстыЗапроса) Тогда
		ТекстЗапросаВТРасшифровкаПлатежа(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ТаблицаРасшифровкаПлатежа.НомерСтроки КАК НомерСтроки,
	|	ДанныеДокумента.Дата КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
	|	
	|	ДанныеДокумента.Дата КАК ДатаПлатежа,
	|	ДанныеДокумента.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
	|	ДанныеДокумента.ДоговорЭквайринга КАК Договор,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.ПоступлениеПоПлатежнойКарте) КАК ТипДенежныхСредств,
	|	ДанныеДокумента.Валюта КАК Валюта,
	|	
	|	ТаблицаРасшифровкаПлатежа.Сумма,
	|	
	|	&ХозяйственнаяОперацияЭквайринг КАК ХозяйственнаяОперация,
	|	ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Объект КАК Заказ,
	|	ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
	|	ДанныеДокумента.КодАвторизации КАК КодАвторизации,
	|	ДанныеДокумента.НомерПлатежнойКарты КАК НомерПлатежнойКарты
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
	|	ПО
	|		ИСТИНА
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
	|	И ЕСТЬNULL(ДанныеДокумента.ДоговорЭквайринга.ДетальнаяСверкаТранзакций, ИСТИНА)
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТаблицаРасшифровкаПлатежа.НомерСтроки КАК НомерСтроки,
	|	ДанныеДокумента.Дата КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
	|	
	|	ДанныеДокумента.Дата КАК ДатаПлатежа,
	|	ДанныеДокумента.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
	|	ДанныеДокумента.ДоговорЭквайринга КАК Договор,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.СписаниеПоПлатежнойКарте) КАК ТипДенежныхСредств,
	|	ДанныеДокумента.Валюта КАК Валюта,
	|	
	|	ТаблицаРасшифровкаПлатежа.Сумма КАК Сумма,
	|	
	|	&ХозяйственнаяОперацияЭквайринг КАК ХозяйственнаяОперация,
	|	ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
	|	ТаблицаРасшифровкаПлатежа.ОбъектРасчетов.Объект КАК Заказ,
	|	ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
	|	ДанныеДокумента.КодАвторизации КАК КодАвторизации,
	|	ДанныеДокумента.НомерПлатежнойКарты КАК НомерПлатежнойКарты
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
	|	ПО
	|		ИСТИНА
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
	|	И ЕСТЬNULL(ДанныеДокумента.ДоговорЭквайринга.ДетальнаяСверкаТранзакций, ИСТИНА)
	|	
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ДенежныеСредстваВПути";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)                                               КАК ВидДвижения,
	|	ДанныеДокумента.Дата                                                                 КАК Период,
	|	
	|	ДанныеДокумента.Организация                                                          КАК Организация,
	|	ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет                                     КАК Получатель,
	|	НЕОПРЕДЕЛЕНО                                                                         КАК Отправитель,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу)   КАК ВидПереводаДенежныхСредств,
	|	ДанныеДокумента.ДоговорЭквайринга.Контрагент                                         КАК Контрагент,
	|	ДанныеДокумента.ДоговорЭквайринга                                                    КАК Договор,
	|	ДанныеДокумента.Валюта                                                               КАК Валюта,
	|	
	|	ТаблицаРасшифровкаПлатежа.Сумма                                                                     КАК Сумма,
	|	ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуУпр  КАК ЧИСЛО(31,2))       КАК СуммаУпр,
	|	ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл  КАК ЧИСЛО(31,2))      КАК СуммаРегл,
	|	
	|	&ХозяйственнаяОперацияЭквайринг                                                      КАК ХозяйственнаяОперация,
	|	ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств                              КАК СтатьяДвиженияДенежныхСредств,
	|	ТаблицаРасшифровкаПлатежа.ИдентификаторСтроки                                        КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперацииЭквайринг                                             КАК НастройкаХозяйственнойОперации
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента,
	|	ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И ДанныеДокумента.ХозяйственнаяОперация В (
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
	|		)
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)                                               КАК ВидДвижения,
	|	ДанныеДокумента.Дата                                                                 КАК Период,
	|	
	|	ДанныеДокумента.Организация                                                          КАК Организация,
	|	ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет                                     КАК Получатель,
	|	НЕОПРЕДЕЛЕНО                                                                         КАК Отправитель,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу)   КАК ВидПереводаДенежныхСредств,
	|	ДанныеДокумента.ДоговорЭквайринга.Контрагент                                         КАК Контрагент,
	|	ДанныеДокумента.ДоговорЭквайринга                                                    КАК Договор,
	|	ДанныеДокумента.Валюта                                                               КАК Валюта,
	|	
	|	ТаблицаРасшифровкаПлатежа.Сумма                                                                     КАК Сумма,
	|	ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))        КАК СуммаУпр,
	|	ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))       КАК СуммаРегл,
	|	
	|	&ХозяйственнаяОперацияЭквайринг                                                      КАК ХозяйственнаяОперация,
	|	ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств                              КАК СтатьяДвиженияДенежныхСредств,
	|	ТаблицаРасшифровкаПлатежа.ИдентификаторСтроки                                        КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперацииЭквайринг                                             КАК НастройкаХозяйственнойОперации
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента,
	|	ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И ДанныеДокумента.ХозяйственнаяОперация В (
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
	|		)
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)                                               КАК ВидДвижения,
	|	ДанныеДокумента.Дата                                                                 КАК Период,
	|	
	|	ДанныеДокумента.Организация                                                          КАК Организация,
	|	ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет                                     КАК Получатель,
	|	НЕОПРЕДЕЛЕНО                                                                         КАК Отправитель,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу)   КАК ВидПереводаДенежныхСредств,
	|	ДанныеДокумента.ДоговорЭквайринга.Контрагент                                         КАК Контрагент,
	|	ДанныеДокумента.ДоговорЭквайринга                                                    КАК Договор,
	|	ДанныеДокумента.Валюта                                                               КАК Валюта,
	|	
	|	ДанныеДокумента.СуммаКомиссии                                                               КАК Сумма,
	|	ВЫРАЗИТЬ(ДанныеДокумента.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))   КАК СуммаУпр,
	|	ВЫРАЗИТЬ(ДанныеДокумента.СуммаКомиссии * &КоэффициентПересчетаВВалютуРегл  КАК ЧИСЛО(31,2)) КАК СуммаРегл,
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КомиссияПоЭквайрингу)                    КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.ДоговорЭквайринга.СтатьяДвиженияДенежныхСредствКомиссия              КАК СтатьяДвиженияДенежныхСредств,
	|	
	|	ДанныеДокумента.ИдентификаторДокумента                                               КАК ИдентификаторФинЗаписи,
	|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КомиссияПоЭквайрингу)             КАК НастройкаХозяйственнойОперации
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И ДанныеДокумента.СуммаКомиссии <> 0
	|	И ДанныеДокумента.ОтражатьКомиссию
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ДенежныеСредстваКВыплате";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&Период КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
	|	&ЗаявкаНаРасходованиеДенежныхСредств КАК ЗаявкаНаРасходованиеДенежныхСредств,
	|	&КонтрагентИзДокумента КАК Получатель,
	|	&Организация КАК Организация,
	|	ДанныеДокумента.СуммаДокумента КАК Сумма,
	|	ВЫБОР
	|		КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
	|			ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиентаПоПлатежнойКарте)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту)
	|	КОНЕЦ КАК ХозяйственнаяОперация
	|	
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента
	|	
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
	|	И &ИспользоватьЗаявкиНаРасходованиеДенежныхСредств
	|	И &ЗаявкаНаРасходованиеДенежныхСредств <> ЗНАЧЕНИЕ(Документ.ЗаявкаНаРасходованиеДенежныхСредств.ПустаяСсылка)
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

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

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

Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
	
	ИмяРегистра = "ВтПрочиеРасходы";
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПрочиеРасходы";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)

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

	Возврат ТекстЗапроса;

КонецФункции

Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
	
	ТекстЗапросаДанных = "
	|ВЫБРАТЬ
	|	""Документ"" КАК ИсточникДанных,
	|	ЛОЖЬ КАК РаспределятьОбщуюСумму,
	|	ТаблицаДокумента.Ссылка КАК Ссылка,
	|	ТаблицаДокумента.Ссылка.Дата КАК Дата,
	|	ТаблицаДокумента.Ссылка.Организация КАК Организация,
	|	ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
	|	ТаблицаДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
	|	ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
	|
	|	0 КАК НомерСтроки,
	|	ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
	|	ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
	|	ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
	|	ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
	|	ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	0 КАК СуммаНДСВзаиморасчетов,
	|	0 КАК СуммаБезНДСРегл,
	|	0 КАК СуммаБезНДСУпр,
	|
	|	ИСТИНА КАК ОтражаетсяВРасчетах,
	|	ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
	|	ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ТаблицаДокумента
	|
	|ГДЕ
	|	ТаблицаДокумента.Ссылка В (&Ссылка)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	""Документ"" КАК ИсточникДанных,
	|	ЛОЖЬ КАК РаспределятьОбщуюСумму,
	|	ТаблицаДокумента.Ссылка КАК Ссылка,
	|	ТаблицаДокумента.Дата КАК Дата,
	|	ТаблицаДокумента.Ссылка.Организация КАК Организация,
	|	ТаблицаДокумента.Валюта КАК ВалютаДокумента,
	|	НЕОПРЕДЕЛЕНО КАК ВалютаВзаиморасчетов,
	|	НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
	|	ТаблицаДокумента.Дата КАК ДатаКурса,
	|
	|	0 КАК НомерСтроки,
	|	""1"" КАК ИдентификаторСтроки,
	|	ТаблицаДокумента.СуммаКомиссии КАК СуммаБезНДС,
	|	НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
	|	0 КАК СуммаНДС,
	|	0 КАК СуммаВзаиморасчетов,
	|	0 КАК СуммаНДСВзаиморасчетов,
	|	0 КАК СуммаБезНДСРегл,
	|	0 КАК СуммаБезНДСУпр,
	|
	|	ЛОЖЬ КАК ОтражаетсяВРасчетах,
	|	НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
	|	ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ТаблицаДокумента
	|
	|ГДЕ
	|	ТаблицаДокумента.Ссылка В (&Ссылка)
	|	И ТаблицаДокумента.ОтражатьКомиссию
	|	И ТаблицаДокумента.СуммаКомиссии <> 0
	|";
	
	РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
		Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);

КонецПроцедуры

Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "РеестрДокументов";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&ИдентификаторМетаданных                КАК ТипСсылки,
	|	&ХозяйственнаяОперация                  КАК ХозяйственнаяОперация,
	|	&Организация                            КАК Организация,
	|	&ПартнерИзДокумента                     КАК Партнер,
	|	ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет КАК МестоХранения,
	|	&КонтрагентИзДокумента                  КАК Контрагент,
	|	&Подразделение                          КАК Подразделение,
	|	&Период                                 КАК ДатаДокументаИБ,
	|	&Ссылка                                 КАК Ссылка,
	
	|	&Номер                                  КАК НомерДокументаИБ,
	|	НЕОПРЕДЕЛЕНО                            КАК Статус,
	|	&Ответственный                          КАК Ответственный,
	|	&Автор                                  КАК Автор,
	|	ЛОЖЬ                                    КАК ДополнительнаяЗапись,
	|	НЕОПРЕДЕЛЕНО                            КАК Дополнительно,
	|	&Комментарий                            КАК Комментарий,
	|	&Проведен                               КАК Проведен,
	|	&ПометкаУдаления                        КАК ПометкаУдаления,
	|	&Период                                 КАК ДатаПервичногоДокумента,
	|	&НомерНаПечать                          КАК НомерПервичногоДокумента,
	|	&СуммаДокумента                         КАК Сумма,
	|	&Валюта                                 КАК Валюта,
	|	&Договор                                КАК Договор,
	|	&НаправлениеДеятельности                КАК НаправлениеДеятельности,
	|	&Исправление                            КАК СторноИсправление,
	|	&СторнируемыйДокумент                   КАК СторнируемыйДокумент,
	|	&ИсправляемыйДокумент                   КАК ИсправляемыйДокумент,
	|	&Период                                 КАК ДатаОтраженияВУчете,
	|	НЕОПРЕДЕЛЕНО                            КАК Приоритет
	|ИЗ
	|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
	
	#Область КурсыВалютДокумента
	
	ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";

	ТекстЗапросаКурсыВалютДокумента = 
		"ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК Таблица
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокументаШапка
		|		ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	ОбъектыРасчетов.Ссылка КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК Таблица
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокументаШапка
		|		ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
		|			ПО Таблица.Ссылка = ОбъектыРасчетов.Объект
		|				И Таблица.Партнер = ОбъектыРасчетов.Партнер
		|				И Таблица.ВалютаВзаиморасчетов = ОбъектыРасчетов.ВалютаВзаиморасчетов
		|				И НЕ ОбъектыРасчетов.ПометкаУдаления
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	ОбъектРасчетовПлатеж.Ссылка КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК Таблица
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокументаШапка
		|		ПО ДанныеДокументаШапка.Ссылка = Таблица.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовПлатеж
		|		ПО ДанныеДокументаШапка.Ссылка = ОбъектРасчетовПлатеж.Объект
		|			И Таблица.Партнер = ОбъектРасчетовПлатеж.Партнер
		|			И Таблица.ВалютаВзаиморасчетов = ОбъектРасчетовПлатеж.ВалютаВзаиморасчетов
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	ДанныеДокументаШапка.ОбъектРасчетовКомиссии КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОперацияПоПлатежнойКарте КАК ДанныеДокументаШапка
		|ГДЕ
		|	ДанныеДокументаШапка.Ссылка В (&Ссылка)
		|";
		
	ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента, Истина);

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

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы