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