#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"Организация", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"Подразделение");
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Организация, Подразделение";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов, "Ответственный", Параметры);
КонецПроцедуры
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("РегламентированныйУчет");
МеханизмыДокумента.Добавить("УчетУСНПСН");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДенежныхСредств");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОперацияПоЯндексКассе") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаОперации(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаКУДиР(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
ПроведениеДокументов.ДобавитьЗапросыСторноДвижений(Запрос, ТекстыЗапроса, Регистры, ПустаяСсылка().Метаданные());
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ОперацияПоЯндексКассе.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ВзаимозачетЗадолженности.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ОперацияПоЯндексКассе) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОперацияПоЯндексКассе.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = СтрШаблон(НСтр("ru = '%1 (Возврат оплаты клиенту)'"),
ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОперацияПоЯндексКассе));
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьОнлайнОплаты";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
Функция ТекстОтраженияВРеглУчете() Экспорт
ТекстыОтражения = Новый Массив;
#Область ПоступлениеОплатыОтКлиента
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(Расчеты.ДолгРегл,0) - ЕСТЬNULL(Расчеты.ЗалогЗаТаруРегл,0) КАК Сумма,
| ЕСТЬNULL(Расчеты.ДолгУпр,0) - ЕСТЬNULL(Расчеты.ЗалогЗаТаруРегл / КурсВалютыУпрУчета.Курс,0) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаДт,
| Операция.ДоговорЭквайринга КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| Операция.Валюта КАК ВалютаДт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеДт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
| Операция.Эквайер КАК СубконтоДт1,
| Операция.ДоговорЭквайринга КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| ЕСТЬNULL(Расчеты.Долг,0) - ЕСТЬNULL(Расчеты.ЗалогЗаТару, 0) КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСКлиентами) КАК ВидСчетаКт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Расчеты.Валюта КАК ВалютаКт,
| Расчеты.Подразделение КАК ПодразделениеКт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетКт,
| Расчеты.Контрагент КАК СубконтоКт1,
| Расчеты.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| ЕСТЬNULL(Расчеты.Долг,0) - ЕСТЬNULL(Расчеты.ЗалогЗаТару, 0) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Получение оплаты от клиента"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РасчетыСКлиентамиПоДокументам КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
| И ЕСТЬNULL(Расчеты.ДолгРегл,0) - ЕСТЬNULL(Расчеты.ЗалогЗаТаруРегл,0) <> 0
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПоступлениеАвансаОтКлиента
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(РасчетыПоДокументам.ПредоплатаРегл, Расчеты.СуммаРегл) КАК Сумма,
| ЕСТЬNULL(РасчетыПоДокументам.ПредоплатаУпр, Расчеты.СуммаУпр) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаДт,
| Операция.ДоговорЭквайринга КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| Расчеты.Валюта КАК ВалютаДт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеДт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
| Операция.Эквайер КАК СубконтоДт1,
| Операция.ДоговорЭквайринга КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| ЕСТЬNULL(РасчетыПоДокументам.Предоплата, Расчеты.Сумма) КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.АвансыПолученные) КАК ВидСчетаКт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Расчеты.Валюта КАК ВалютаКт,
| Расчеты.Подразделение КАК ПодразделениеКт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетКт,
| Расчеты.Контрагент КАК СубконтоКт1,
| Расчеты.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| ЕСТЬNULL(РасчетыПоДокументам.Предоплата, Расчеты.Сумма) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Поступление аванса от клиента"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РасчетыСКлиентами КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РасчетыСКлиентамиПоДокументам КАК РасчетыПоДокументам
| ПО
| Расчеты.Ссылка = РасчетыПоДокументам.Ссылка
| И Расчеты.Контрагент = РасчетыПоДокументам.Контрагент
| И Расчеты.Договор = РасчетыПоДокументам.Договор
| И Расчеты.ГруппаФинансовогоУчета = РасчетыПоДокументам.ГруппаФинансовогоУчета
| И Расчеты.Подразделение = РасчетыПоДокументам.Подразделение
| И Расчеты.НаправлениеДеятельности = РасчетыПоДокументам.НаправлениеДеятельности
| И Расчеты.Валюта = РасчетыПоДокументам.Валюта
| И Расчеты.СтатьяДвиженияДенежныхСредств = РасчетыПоДокументам.СтатьяДвиженияДенежныхСредств
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВозвратОплатыКлиенту
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| -Расчеты.ДолгРегл КАК Сумма,
| -Расчеты.ДолгУпр КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСКлиентами) КАК ВидСчетаДт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| Расчеты.Валюта КАК ВалютаДт,
| Расчеты.Подразделение КАК ПодразделениеДт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
| Расчеты.Контрагент КАК СубконтоДт1,
| Расчеты.Договор КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| -Расчеты.Долг КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаКт,
| Операция.ДоговорЭквайринга КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Операция.Валюта КАК ВалютаКт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеКт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| Операция.Эквайер КАК СубконтоКт1,
| Операция.ДоговорЭквайринга КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| Операция.СуммаДокумента КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Возврат оплаты клиенту"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РасчетыСКлиентамиПоДокументам КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ВозвратАвансаКлиенту
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(-РасчетыПоДокументам.ПредоплатаРегл, Расчеты.СуммаРегл) КАК Сумма,
| ЕСТЬNULL(-РасчетыПоДокументам.ПредоплатаУпр, Расчеты.СуммаУпр) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.АвансыПолученные) КАК ВидСчетаДт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| Расчеты.Валюта КАК ВалютаДт,
| Расчеты.Подразделение КАК ПодразделениеДт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
| Расчеты.Контрагент КАК СубконтоДт1,
| Расчеты.Договор КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| ЕСТЬNULL(-РасчетыПоДокументам.Предоплата, Расчеты.Сумма) КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаКт,
| Операция.ДоговорЭквайринга КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Операция.Валюта КАК ВалютаКт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеКт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| Операция.Эквайер КАК СубконтоКт1,
| Операция.ДоговорЭквайринга КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| ЕСТЬNULL(-РасчетыПоДокументам.Предоплата, Расчеты.Сумма) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Возврат клиенту аванса"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РасчетыСКлиентами КАК Расчеты
| ПО
| Расчеты.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РасчетыСКлиентамиПоДокументам КАК РасчетыПоДокументам
| ПО
| Расчеты.Ссылка = РасчетыПоДокументам.Ссылка
| И Расчеты.Контрагент = РасчетыПоДокументам.Контрагент
| И Расчеты.Договор = РасчетыПоДокументам.Договор
| И Расчеты.ГруппаФинансовогоУчета = РасчетыПоДокументам.ГруппаФинансовогоУчета
| И Расчеты.Подразделение = РасчетыПоДокументам.Подразделение
| И Расчеты.НаправлениеДеятельности = РасчетыПоДокументам.НаправлениеДеятельности
| И Расчеты.Валюта = РасчетыПоДокументам.Валюта
| И Расчеты.СтатьяДвиженияДенежныхСредств = РасчетыПоДокументам.СтатьяДвиженияДенежныхСредств
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОтражениеНачисленияКомиссии
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(СуммыДокументовВВалютахУчета.СуммаБезНДСРегл, Операция.СуммаКомиссии) КАК Сумма,
| ЕСТЬNULL(СуммыДокументовВВалютахУчета.СуммаБезНДСУпр, Операция.СуммаКомиссии / КурсВалютыУпрУчета.Курс) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
| Операция.СтатьяРасходов КАК АналитикаУчетаДт,
| Операция.Подразделение КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| Операция.Подразделение КАК ПодразделениеДт,
| Операция.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
| Операция.СтатьяРасходов КАК СубконтоДт1,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Прочее) КАК СубконтоДт2,
| Операция.АналитикаРасходов КАК СубконтоДт3,
|
| Операция.СуммаКомиссии КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаКт,
| ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка) КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Операция.Валюта КАК ВалютаКт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеКт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| Операция.Эквайер КАК СубконтоКт1,
| Операция.ДоговорЭквайринга КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| Операция.СуммаКомиссии КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Комиссия эквайеру"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыДокументовВВалютахУчета
| ПО
| СуммыДокументовВВалютахУчета.Регистратор = ДокументыКОтражению.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
| И Операция.СуммаКомиссии <> 0
| И Операция.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И НЕ Операция.ВестиУчетКомиссииВоВзаиморасчетах
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОтражениеОтменыКомиссии
ТекстЗапроса = "
|ВЫБРАТЬ
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| - ЕСТЬNULL(СуммыДокументовВВалютахУчета.СуммаБезНДСРегл, Операция.СуммаКомиссии) КАК Сумма,
| - ЕСТЬNULL(СуммыДокументовВВалютахУчета.СуммаБезНДСУпр, Операция.СуммаКомиссии / КурсВалютыУпрУчета.Курс) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
| Операция.СтатьяРасходов КАК АналитикаУчетаДт,
| Операция.Подразделение КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| Операция.Подразделение КАК ПодразделениеДт,
| Операция.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
| Операция.СтатьяРасходов КАК СубконтоДт1,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Прочее) КАК СубконтоДт2,
| Операция.АналитикаРасходов КАК СубконтоДт3,
|
| - Операция.СуммаКомиссии КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПродажиПоЭквайрингу) КАК ВидСчетаКт,
| ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка) КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Операция.Валюта КАК ВалютаКт,
| Операция.ДоговорЭквайринга.Подразделение КАК ПодразделениеКт,
| Операция.ДоговорЭквайринга.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| Операция.Эквайер КАК СубконтоКт1,
| Операция.ДоговорЭквайринга КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| - Операция.СуммаКомиссии КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Отмена комиссии эквайера"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОперацияПоЯндексКассе КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыДокументовВВалютахУчета
| ПО
| СуммыДокументовВВалютахУчета.Регистратор = ДокументыКОтражению.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|ГДЕ
| Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
| И Операция.СуммаКомиссии <> 0
| И Операция.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И НЕ Операция.ВестиУчетКомиссииВоВзаиморасчетах
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
ТекстыОтражения.Добавить(ПоступлениеБезналичныхДенежныхСредствЛокализация.ТекстКомиссияПоОперациямЭквайринга());
#КонецОбласти
Возврат СтрСоединить(ТекстыОтражения, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
ТекстыЗапроса = Новый Массив;
#Область РасчетыСКлиентамиПоДокументам
ТекстЗапроса =
"ВЫБРАТЬ
| Расчеты.Регистратор КАК Ссылка,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ОбъектыРасчетов.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ОбъектыРасчетов.Подразделение КАК Подразделение,
| Расчеты.ЗаказКлиента КАК ОбъектРасчетов,
| Расчеты.РасчетныйДокумент,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.Предоплата) КАК Предоплата,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ПредоплатаУпр) КАК ПредоплатаУпр,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ПредоплатаРегл) КАК ПредоплатаРегл,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.Долг) КАК Долг,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ДолгУпр) КАК ДолгУпр,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ДолгРегл) КАК ДолгРегл,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ЗалогЗаТару) КАК ЗалогЗаТару,
| -СУММА(ВЫБОР КОГДА Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * Расчеты.ЗалогЗаТаруРегл) КАК ЗалогЗаТаруРегл
|ПОМЕСТИТЬ РасчетыСКлиентамиПоДокументам
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.РасчетыСКлиентамиПоДокументам КАК Расчеты
| ПО
| ДокументыКОтражению.Ссылка = Расчеты.Регистратор
| И НЕ &НоваяАрхитектураВзаиморасчетов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО (Расчеты.ЗаказКлиента = ОбъектыРасчетов.Ссылка)
|
|СГРУППИРОВАТЬ ПО
| Расчеты.Регистратор,
| ОбъектыРасчетов.Контрагент,
| ОбъектыРасчетов.Договор,
| ОбъектыРасчетов.НаправлениеДеятельности,
| ОбъектыРасчетов.ГруппаФинансовогоУчета,
| ОбъектыРасчетов.Подразделение,
| Расчеты.ЗаказКлиента,
| Расчеты.РасчетныйДокумент,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Расчеты.Ссылка КАК Ссылка,
| Расчеты.Контрагент КАК Контрагент,
| Расчеты.Договор,
| Расчеты.НаправлениеДеятельности,
| Расчеты.ГруппаФинансовогоУчета,
| Расчеты.Подразделение,
| Расчеты.ОбъектРасчетов,
| Расчеты.РасчетныйДокумент,
| Расчеты.Валюта КАК Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| СУММА(Расчеты.Предоплата) КАК Предоплата,
| СУММА(Расчеты.ПредоплатаУпр) КАК ПредоплатаУпр,
| СУММА(Расчеты.ПредоплатаРегл) КАК ПредоплатаРегл,
| -СУММА(Расчеты.Долг) КАК Долг,
| -СУММА(Расчеты.ДолгУпр) КАК ДолгУпр,
| -СУММА(Расчеты.ДолгРегл) КАК ДолгРегл,
| -СУММА(Расчеты.ЗалогЗаТару) КАК ЗалогЗаТару,
| -СУММА(Расчеты.ЗалогЗаТаруРегл) КАК ЗалогЗаТаруРегл
|ИЗ
| РасчетыСКлиентамиНоваяАрхитектураДетально КАК Расчеты
|
|СГРУППИРОВАТЬ ПО
| Расчеты.Ссылка,
| Расчеты.Контрагент,
| Расчеты.Договор,
| Расчеты.НаправлениеДеятельности,
| Расчеты.ГруппаФинансовогоУчета,
| Расчеты.Подразделение,
| Расчеты.ОбъектРасчетов,
| Расчеты.РасчетныйДокумент,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса);
#КонецОбласти
#Область РасчетыСКлиентами
ТекстЗапроса =
"ВЫБРАТЬ
| Расчеты.Регистратор КАК Ссылка,
| Расчеты.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Расчеты.ОбъектРасчетов КАК ОбъектРасчетов,
| ОбъектыРасчетов.Объект КАК ДокументОбъектаРасчетов,
| ОбъектыРасчетов.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ОбъектыРасчетов.Подразделение КАК Подразделение,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств,
| СУММА(Расчеты.Сумма) КАК Сумма,
| СУММА(Расчеты.СуммаУпр) КАК СуммаУпр,
| СУММА(Расчеты.СуммаРегл) КАК СуммаРегл
|ПОМЕСТИТЬ РасчетыСКлиентами
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.РасчетыСКлиентами КАК Расчеты
| ПО
| ДокументыКОтражению.Ссылка = Расчеты.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО (Расчеты.ОбъектРасчетов = ОбъектыРасчетов.Ссылка)
|
|СГРУППИРОВАТЬ ПО
| Расчеты.Регистратор,
| Расчеты.ХозяйственнаяОперация,
| ОбъектыРасчетов.Контрагент,
| ОбъектыРасчетов.Договор,
| ОбъектыРасчетов.НаправлениеДеятельности,
| Расчеты.ОбъектРасчетов,
| ОбъектыРасчетов.Объект,
| ОбъектыРасчетов.ГруппаФинансовогоУчета,
| ОбъектыРасчетов.Подразделение,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса);
#КонецОбласти
ТекстЗапроса = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов();
Возврат ТекстЗапроса;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
МассивПаметровВыбора = Новый Массив;
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
#Область АналитикаРасходов
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
#КонецОбласти
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КонецПроцедуры
Процедура Создать(Операции, Результат, Отказ) Экспорт
Перем МассивОпераций, ДатыУспешногоОбмена;
СчетчикДокументов = 0;
МассивНастроекЯндексКассы = Новый Массив;
МассивДокументов = Новый Массив;
УстановитьПривилегированныйРежим(Истина);
Для Каждого Операция из Операции.ОперацииМассивСтруктур Цикл
Операция.Вставить("Валюта", Операция.ВалютаДокумента);
Если Операция.ВидОперации = "Оплата" Тогда
Если ЭтоНеУчтеннаяТранзакция(Операция, СчетчикДокументов) Тогда
ДанныеЗаполнения = Новый Структура();
ДанныеЗаполнения.Вставить("ДанныеОперации", Операция);
ДанныеЗаполнения.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента);
ДанныеЗаполнения.Вставить("СтатьяДвиженияДенежныхСредств", Операция.СтатьяДвиженияДенежныхСредствОплаты);
ДанныеЗаполнения.Вставить("Организация", Операции.Организация);
ДанныеЗаполнения.Вставить("НастройкаЯндексКассы", Операции.НастройкаОнлайнОплаты);
ДокументОбъект = Документы.ОперацияПоЯндексКассе.СоздатьДокумент();
ДокументОбъект.Заполнить(ДанныеЗаполнения);
Если ДокументОбъект.КодПроблемы = 0 Тогда
Режим = РежимЗаписиДокумента.Проведение;
Иначе
Режим = РежимЗаписиДокумента.Запись;
КонецЕсли;
Попытка
ДокументОбъект.Записать(Режим);
СчетчикДокументов = СчетчикДокументов + 1;
МассивДокументов.Добавить(ДокументОбъект.Ссылка);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Документ ""Операция по Яндекс.Кассе"" №%1 от %2 не %3! Произошли ошибки при %4!'"),
ДокументОбъект.Номер,
ДокументОбъект.Дата,
?(Режим = РежимЗаписиДокумента.Запись, "записан", "проведен"),
?(Режим = РежимЗаписиДокумента.Запись, "записи", "проведении"));
Сообщение.Сообщить();
Если Режим = РежимЗаписиДокумента.Проведение Тогда
Попытка
Режим = РежимЗаписиДокумента.Запись;
ДокументОбъект.Записать(Режим);
СчетчикДокументов = СчетчикДокументов + 1;
МассивДокументов.Добавить(ДокументОбъект.Ссылка);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Документ ""Операция по Яндекс.Кассе"" №%1 от %2 не %3! Произошли ошибки при %4!'"),
ДокументОбъект.Номер,
ДокументОбъект.Дата,
?(Режим = РежимЗаписиДокумента.Запись, "записан", "проведен"),
?(Режим = РежимЗаписиДокумента.Запись, "записи", "проведении"));
Сообщение.Сообщить();
КонецПопытки;
КонецЕсли;
КонецПопытки;
КонецЕсли;
ИначеЕсли Операция.ВидОперации = "Возврат" Тогда
Режим = РежимЗаписиДокумента.Проведение;
УчтеннаяТранзакция = Неопределено;
Если ЭтоНеУчтеннаяТранзакция(Операция, СчетчикДокументов) Тогда
ДанныеЗаполнения = Новый Структура();
ДанныеЗаполнения.Вставить("ДанныеОперации", Операция);
ДанныеЗаполнения.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту);
ДанныеЗаполнения.Вставить("СтатьяДвиженияДенежныхСредств", Операция.СтатьяДвиженияДенежныхСредствВозвраты);
ДанныеЗаполнения.Вставить("НастройкаЯндексКассы", Операции.НастройкаОнлайнОплаты);
ДокументОбъект = Документы.ОперацияПоЯндексКассе.СоздатьДокумент();
ДокументОбъект.Заполнить(ДанныеЗаполнения);
Если ДокументОбъект.КодПроблемы = 0 Тогда
Режим = РежимЗаписиДокумента.Проведение;
Иначе
Режим = РежимЗаписиДокумента.Запись;
КонецЕсли;
Попытка
ДокументОбъект.Записать(Режим);
СчетчикДокументов = СчетчикДокументов + 1;
МассивДокументов.Добавить(ДокументОбъект.Ссылка);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Документ ""Операция по Яндекс.Кассе"" №%1 от %2 не %3! Произошли ошибки при %4!'"),
ДокументОбъект.Номер,
ДокументОбъект.Дата,
?(Режим = РежимЗаписиДокумента.Запись, "записан", "проведен"),
?(Режим = РежимЗаписиДокумента.Запись, "записи", "проведении"));
Сообщение.Сообщить();
Если Режим = РежимЗаписиДокумента.Проведение Тогда
Попытка
Режим = РежимЗаписиДокумента.Запись;
ДокументОбъект.Записать(Режим);
СчетчикДокументов = СчетчикДокументов + 1;
МассивДокументов.Добавить(ДокументОбъект.Ссылка);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Документ ""Операция по Яндекс.Кассе"" №%1 от %2 не %3! Произошли ошибки при %4!'"),
ДокументОбъект.Номер,
ДокументОбъект.Дата,
?(Режим = РежимЗаписиДокумента.Запись, "записан", "проведен"),
?(Режим = РежимЗаписиДокумента.Запись, "записи", "проведении"));
Сообщение.Сообщить();
КонецПопытки;
КонецЕсли;
КонецПопытки;
КонецЕсли;
КонецЕсли;
ОтразитьДокументВЖурналеФискальныхОпераций(ДокументОбъект, Операция);
КонецЦикла;
Результат = СчетчикДокументов;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
Процедура ОтразитьДокументВЖурналеФискальныхОпераций(ДокументОбъект, Операция)
Если НЕ ЗначениеЗаполнено(Операция.ФискальныйНомерДокумента) Тогда
Возврат;
КонецЕсли;
Если ДокументОбъект = Неопределено Тогда
Возврат;
КонецЕсли;
РеквизитыОперации = СтруктураРеквизитыФискальнойОперацииКассовогоУзла();
РеквизитыОперации.Дата = ПреобразоватьСтрокуВДату(Операция.ДатаФормированияЧека);
РеквизитыОперации.ДокументОснование = ДокументОбъект.Ссылка;
РеквизитыОперации.Организация = ДокументОбъект.Организация;
РеквизитыОперации.Сумма = Операция.СуммаЧека;
РеквизитыОперации.СуммаОплатыПлатежнаяКарта = Операция.СуммаЧека;
РеквизитыОперации.ТипОперации = Перечисления.ТипыОперацииКассовогоУзла.ФискальнаяОперация;
РеквизитыОперации.НомерЧекаККМ = Операция.ФискальныйНомерДокумента;
РеквизитыОперации.КонтактныеДанныеЭлектронногоЧека = Операция.КонтактныеДанныеЭлектронногоЧека;
Если ЗначениеЗаполнено(РеквизитыОперации.КонтактныеДанныеЭлектронногоЧека) Тогда
РеквизитыОперации.ВариантОтправкиЭлектронногоЧека = ?(Найти(РеквизитыОперации.КонтактныеДанныеЭлектронногоЧека, "@") <> 0,
Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьEmail,
Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьSMS)
КонецЕсли;
Если Операция.ВидОперации = "Оплата" Тогда
РеквизитыОперации.ТипРасчета = Перечисления.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств;
ИначеЕсли Операция.ВидОперации = "Возврат" Тогда
РеквизитыОперации.ТипРасчета = Перечисления.ТипыРасчетаДенежнымиСредствами.ВозвратДенежныхСредств;
КонецЕсли;
ТребуетсяПовторнаяПопыткаЗаписи = Ложь;
ПодключаемоеОборудованиеУТВызовСервера.ЗаписатьВЖурналФискальныхОпераций(ТребуетсяПовторнаяПопыткаЗаписи, РеквизитыОперации);
КонецПроцедуры
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ХозяйственнаяОперация");
ХозяйственнаяОперация = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
ХозяйственнаяОперация = Неопределено;
Иначе
ХозяйственнаяОперация = ДанныеЗаполнения.ХозяйственнаяОперация;
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.КурсЧислитель = "";
СтруктураПараметров.КурсЗнаменатель = "";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.Договор = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.БанковскийСчетОрганизации = "Объект.БанковскийСчет";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.НаправлениеДеятельности = "";
СтруктураПараметров.НалогообложениеНДС = "";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
СтруктураПараметров.ПодборДебиторскойЗадолженности = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента;
СтруктураПараметров.ПодборТолькоБезусловнойЗадолженности = ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту;
Возврат СтруктураПараметров;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Ссылка");
Поля.Добавить("Номер");
Поля.Добавить("Дата");
Поля.Добавить("ХозяйственнаяОперация");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = СтрШаблон(НСтр("ru = '%1 (%2) %3 от %4'"),
НСтр("ru = 'Операция по ЮKassa'"),
Данные.ХозяйственнаяОперация,
Данные.Номер,
Данные.Дата);
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Функция ТранзакцияУчтена(ИдентификаторТранзакции, СсылкаИсключение = Неопределено, УчтеннаяТранзакция = Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если СсылкаИсключение = Неопределено Тогда
СсылкаИсключение = Документы.ОперацияПоЯндексКассе.ПустаяСсылка();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИдентификаторТранзакции" , ИдентификаторТранзакции);
Запрос.УстановитьПараметр("СсылкаИсключение" , СсылкаИсключение);
Запрос.Текст = "ВЫБРАТЬ
| ПринятыеКУчетуОперацииПоЯндексКассе.Ссылка КАК Ссылка
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ПринятыеКУчетуОперацииПоЯндексКассе
|ГДЕ
| ПринятыеКУчетуОперацииПоЯндексКассе.ИдентификаторТранзакции = &ИдентификаторТранзакции
| И ПринятыеКУчетуОперацииПоЯндексКассе.Ссылка <> &СсылкаИсключение";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
УчтеннаяТранзакция = Выборка.Ссылка;
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
Функция ОплатыПоУИП(УИП) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИдентификаторПлатежа" , УИП);
Запрос.Текст = "ВЫБРАТЬ
| ОплатыПоЯндексКассе.СуммаДокумента КАК СуммаДокумента,
| ОплатыПоЯндексКассе.СуммаКомиссии КАК СуммаКомиссии,
| ОплатыПоЯндексКассе.ВалютаКомиссии КАК ВалютаКомиссии,
| ОплатыПоЯндексКассе.Дата КАК Дата,
| ОплатыПоЯндексКассе.ОснованиеПлатежа КАК ОснованиеПлатежа,
| ОплатыПоЯндексКассе.Контрагент КАК Контрагент,
| ОплатыПоЯндексКассе.Партнер КАК Партнер,
| ОплатыПоЯндексКассе.ОбъектРасчетов КАК ОбъектРасчетов
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ОплатыПоЯндексКассе
|ГДЕ
| ОплатыПоЯндексКассе.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
| И НЕ ОплатыПоЯндексКассе.ПометкаУдаления
| И ОплатыПоЯндексКассе.ИдентификаторПлатежа = &ИдентификаторПлатежа
| И НЕ ОплатыПоЯндексКассе.ОснованиеПлатежа = НЕОПРЕДЕЛЕНО";
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Возврат Результат;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Функция ОснованиеПлатежаПоУИП(Организация, УИП) Экспорт
ПараметрыОтбора = ВзаиморасчетыСервер.ПараметрыОтбораПриВыбореДокументаРасчетовСКлиентами();
ПараметрыОтбора.ЭтоУИП = Истина;
ДанныеВыбора = Новый СписокЗначений;
СтруктураОтбора = ВзаиморасчетыКлиентСервер.СтруктураОтбораДанныхВыбора();
СтруктураОтбора.Организация = Организация;
СтруктураОтбора.Текст = УИП;
СтруктураОтбора.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураОтбора.УчитыватьФилиалы = Истина;
ВзаиморасчетыСервер.ЗаполнитьДанныеВыбораУИП(ДанныеВыбора,
СтруктураОтбора,
Ложь);
Если ДанныеВыбора.Количество() = 0 Тогда
ПараметрыОтбора.Вставить("Организация", Организация);
ПараметрыОтбора.Вставить("Текст", УИП);
ДенежныеСредстваСервер.ЗаполнитьДанныеВыбораУИП(ДанныеВыбора, ПараметрыОтбора);
КонецЕсли;
Если ДанныеВыбора.Количество() > 0 Тогда
Результат = ДанныеВыбора[0].Значение;
Если Не ЭтоОснованиеПлатежаЧерезЯндексКассу(Результат.Значение.ОснованиеПлатежа.Метаданные().ПолноеИмя()) Тогда
Возврат Неопределено;
КонецЕсли;
ДанныеПоУИП = Новый Структура("ОснованиеПлатежа, ОбъектРасчетов, Партнер, Контрагент");
ЗаполнитьЗначенияСвойств(ДанныеПоУИП, Результат.Значение);
ДанныеПоУИП.ОснованиеПлатежа = Результат.Значение.ОснованиеПлатежа;
ДанныеПоУИП.ОбъектРасчетов = Результат.Значение.ОбъектРасчетов;
Возврат ДанныеПоУИП;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ПровестиДиагностикуПриЗагрузке(РезультатДиагностики, ДокументОперацияСсылка, ДанныеОперации) Экспорт
РезультатДиагностики.КодПроблемы = 0;
РеквизитыДляПроведенияДиагностики = "ИдентификаторПлатежа, ИдентификаторПеревода, ИдентификаторВозврата, СуммаДокумента";
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументОперацияСсылка, РеквизитыДляПроведенияДиагностики);
ШаблоныОшибок = Новый Структура;
ШаблоныОшибок.Вставить("Код1",
НСтр("ru = 'Идентификатор платежа %1 полученный из Яндекса отличается от сохраненного в документе %2.
|Для устранения этой проблемы следует пометить этот документ на удаление и повторно загрузить операцию.'"));
ШаблоныОшибок.Вставить("Код2",
НСтр("ru = 'Идентификатор операции перевода %1 полученный из Яндекса отличается от сохраненного в документе %2.
|Для устранения этой проблемы следует пометить этот документ на удаление и повторно загрузить операцию.'"));
ШаблоныОшибок.Вставить("Код3",
НСтр("ru = 'Идентификатор операции возврата %1 полученный из Яндекса отличается от сохраненного в документе %2.
|Для устранения этой проблемы следует пометить этот документ на удаление и повторно загрузить операцию.'"));
ШаблоныОшибок.Вставить("Код4",
НСтр("ru = 'Сумма операции %1 полученная из Яндекса отличается от суммы сохраненной в документе %2.
|Для устранения этой проблемы следует пометить этот документ на удаление и повторно загрузить операцию.'"));
Если РеквизитыДокумента.ИдентификаторПлатежа <> ДанныеОперации.ИдентификаторПлатежа Тогда
РезультатДиагностики.КодПроблемы = 1;
РезультатДиагностики.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код1,
ДанныеОперации.ИдентификаторПлатежа, РеквизитыДокумента.ИдентификаторПлатежа);
ИначеЕсли ДанныеОперации.Свойство("ИдентификаторПеревода")
И РеквизитыДокумента.ИдентификаторПеревода <> ДанныеОперации.ИдентификаторПеревода Тогда
РезультатДиагностики.КодПроблемы = 2;
РезультатДиагностики.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код2,
ДанныеОперации.ИдентификаторПеревода, РеквизитыДокумента.ИдентификаторПеревода);
ИначеЕсли ДанныеОперации.Свойство("ИдентификаторВозврата")
И РеквизитыДокумента.ИдентификаторВозврата <> ДанныеОперации.ИдентификаторВозврата Тогда
РезультатДиагностики.КодПроблемы = 3;
РезультатДиагностики.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код3,
ДанныеОперации.ИдентификаторВозврата, РеквизитыДокумента.ИдентификаторВозврата);
ИначеЕсли РеквизитыДокумента.СуммаДокумента <> ДанныеОперации.СуммаДокумента Тогда
РезультатДиагностики.КодПроблемы = 4;
РезультатДиагностики.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код4,
ДанныеОперации.СуммаДокумента, РеквизитыДокумента.СуммаДокумента);
КонецЕсли;
РезультатДиагностики.ЕстьПроблемы = Не РезультатДиагностики.КодПроблемы = 0;
Если Не РезультатДиагностики.ЕстьПроблемы Тогда
РезультатДиагностики.ИнформацияОПроблеме = "";
КонецЕсли;
КонецПроцедуры
Функция ЭтоОснованиеПлатежаЧерезЯндексКассу(ТипЗначения)
ОснованияПлатежа = Новый Массив;
ИнтеграцияСЯндексКассойУТ.ПриОпределенииОснованийПлатежа(ОснованияПлатежа);
Возврат ОснованияПлатежа.Найти(ТипЗначения) <> Неопределено;
КонецФункции
Процедура ПровестиДиагностикуПередЗаписью(ТекущийОбъект, ДокументОперацияСсылка) Экспорт
ТекущийОбъект.КодПроблемы = 0;
РеквизитыДляПроведенияДиагностики = "ИдентификаторПлатежа, ИдентификаторПеревода, ИдентификаторВозврата, СуммаДокумента";
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументОперацияСсылка, РеквизитыДляПроведенияДиагностики);
ШаблоныОшибок = Новый Структура;
ШаблоныОшибок.Вставить("Код5",
НСтр("ru = 'Не найден документ основание по идентификатору платежа: %1.
|Для устранения этой проблемы следует указать документ основание платежа вручную.'"));
ШаблоныОшибок.Вставить("Код6",
НСтр("ru = 'Не найден документ оплаты через Яндекс.Кассу по идентификатору платежа: %1.
|Для устранения этой проблемы следует указать документ основание платежа вручную.'"));
Если ТекущийОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента
И Не ЗначениеЗаполнено(ТекущийОбъект.ОбъектРасчетов)
И ОснованиеПлатежаПоУИП(ТекущийОбъект.Организация, ТекущийОбъект.ИдентификаторПлатежа) = Неопределено Тогда
ТекущийОбъект.КодПроблемы = 5;
ТекущийОбъект.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код5, ТекущийОбъект.ИдентификаторПлатежа);
ИначеЕсли ТекущийОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту
И Не ЗначениеЗаполнено(ТекущийОбъект.ОбъектРасчетов)
И ОснованиеПлатежаПоУИП(ТекущийОбъект.Организация, ТекущийОбъект.ИдентификаторПлатежа) = Неопределено Тогда
ТекущийОбъект.КодПроблемы = 6;
ТекущийОбъект.ИнформацияОПроблеме = СтрШаблон(ШаблоныОшибок.Код6, ТекущийОбъект.ИдентификаторПлатежа);
КонецЕсли;
ТекущийОбъект.ЕстьПроблемы = Не ТекущийОбъект.КодПроблемы = 0;
Если Не ТекущийОбъект.ЕстьПроблемы Тогда
ТекущийОбъект.ИнформацияОПроблеме = "";
КонецЕсли;
КонецПроцедуры
Процедура ПересчитатьНДС(ТекущийОбъект) Экспорт
ТекущийОбъект.СуммаНДСОбщаяСтавка = 0;
ТекущийОбъект.СуммаДокументаСНДСОбщаяСтавка = 0;
ТекущийОбъект.СуммаНДС10 = 0;
ТекущийОбъект.СуммаДокументаСНДС10 = 0;
ТекущийОбъект.СуммаНДС7 = 0;
ТекущийОбъект.СуммаДокументаСНДС7 = 0;
ТекущийОбъект.СуммаНДС5 = 0;
ТекущийОбъект.СуммаДокументаСНДС5 = 0;
ОбъектРасчета = ТекущийОбъект.ОбъектРасчетов;
Если ОбъектРасчета <> Справочники.ОбъектыРасчетов.ПустаяСсылка() Тогда
РасшифровкаПлатежаПоНДС = ДенежныеСредстваСервер.РасшифровкаПлатежаНДС(ТекущийОбъект.Организация, ТекущийОбъект.Дата,
ТекущийОбъект.Валюта, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ОбъектРасчета), Истина);
Для каждого СтрокаРасшифровки Из РасшифровкаПлатежаПоНДС Цикл
Если СтрокаРасшифровки.СуммаДокумента <> 0 Тогда
СуммаНДС = СтрокаРасшифровки.СуммаНДС *
(ТекущийОбъект.СуммаДокумента / СтрокаРасшифровки.СуммаДокумента);
СуммаДокументаСНДС = СтрокаРасшифровки.СуммаСНДС *
(ТекущийОбъект.СуммаДокумента / СтрокаРасшифровки.СуммаДокумента);
Если СтрокаРасшифровки.СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС10) Тогда
ТекущийОбъект.СуммаНДС10 = СуммаНДС;
ТекущийОбъект.СуммаДокументаСНДС10 = СуммаДокументаСНДС;
ИначеЕсли СтрокаРасшифровки.СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС7) Тогда
ТекущийОбъект.СуммаНДС7 = СуммаНДС;
ТекущийОбъект.СуммаДокументаСНДС7 = СуммаДокументаСНДС;
ИначеЕсли СтрокаРасшифровки.СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС5) Тогда
ТекущийОбъект.СуммаНДС5 = СуммаНДС;
ТекущийОбъект.СуммаДокументаСНДС5 = СуммаДокументаСНДС;
ИначеЕсли СтрокаРасшифровки.СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС20)
Или СтрокаРасшифровки.СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС22)
Или СтрокаРасшифровки.СтавкаНДС = УчетНДСУП.СтавкаНДСПоУмолчанию(ТекущийОбъект.Организация, ТекущийОбъект.Дата) Тогда
ТекущийОбъект.СуммаНДСОбщаяСтавка = СуммаНДС;
ТекущийОбъект.СуммаДокументаСНДСОбщаяСтавка = СуммаДокументаСНДС;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ВычислитьСуммуКомиссииПоСуммеВозврата(ТекущийОбъект, ОплатыПоУИП) Экспорт
ПроцентКомиссии = 100 * ОплатыПоУИП.СуммаКомиссии / ОплатыПоУИП.СуммаДокумента;
ТекущийОбъект.СуммаКомиссии = ТекущийОбъект.СуммаДокумента * (ПроцентКомиссии / 100);
КонецПроцедуры
#Область ОбновлениеДокументов
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ЭтоНеУчтеннаяТранзакция(ДанныеОперации, СчетчикДокументов)
УчтеннаяТранзакция = Неопределено;
Если ТранзакцияУчтена(ДанныеОперации.ИдентификаторТранзакции,,УчтеннаяТранзакция) Тогда
РезультатДиагностики = Новый Структура("ЕстьПроблемы, КодПроблемы, ИнформацияОПроблеме");
Документы.ОперацияПоЯндексКассе.ПровестиДиагностикуПриЗагрузке(
РезультатДиагностики,
УчтеннаяТранзакция,
ДанныеОперации);
Если РезультатДиагностики.ЕстьПроблемы Тогда
ДокументОбъект = УчтеннаяТранзакция.ПолучитьОбъект();
ЗаполнитьЗначенияСвойств(ДокументОбъект, РезультатДиагностики);
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
СчетчикДокументов = СчетчикДокументов + 1;
КонецЕсли;
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Функция СтруктураРеквизитыФискальнойОперацииКассовогоУзла()
ДополнительныеПараметры = Новый Структура;
Реквизиты = Новый Структура;
Реквизиты.Вставить("Дата");
Реквизиты.Вставить("ДокументОснование");
Реквизиты.Вставить("Организация");
Реквизиты.Вставить("ТорговыйОбъект");
Реквизиты.Вставить("Устройство");
Реквизиты.Вставить("ТипОперации");
Реквизиты.Вставить("ТипРасчета");
Реквизиты.Вставить("НомерЧекаККМ");
Реквизиты.Вставить("НомерСмены");
Реквизиты.Вставить("ВариантОтправкиЭлектронногоЧека");
Реквизиты.Вставить("КонтактныеДанныеЭлектронногоЧека");
Реквизиты.Вставить("Сумма");
Реквизиты.Вставить("СуммаОплатыНаличные");
Реквизиты.Вставить("СуммаОплатыПлатежнаяКарта");
Реквизиты.Вставить("СуммаКредит");
Реквизиты.Вставить("СуммаПредоплаты");
Реквизиты.Вставить("СуммаВзаимозачет");
Реквизиты.Вставить("Данные");
Реквизиты.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
Возврат Реквизиты;
КонецФункции
Функция ПреобразоватьСтрокуВДату(СтрокаДанных)
ДатаЧека = ТекущаяДатаСеанса();
Если ТипЗнч(СтрокаДанных) = Тип("Строка") Тогда
Попытка
СтрокаДаты = Лев(СтрокаДанных, 10);
СтрокаВремени = Прав(СтрокаДанных, 8);
МассивДаты = СтрРазделить(СтрокаДаты, ".", Ложь);
МассивВремени = СтрРазделить(СтрокаВремени, ":", Ложь);
Если МассивДаты.Количество() >= 3
И МассивВремени.Количество() >= 3 Тогда
Для каждого ЭлементКоллекции Из МассивДаты Цикл
ЭлементКоллекции = Число(СокрЛП(ЭлементКоллекции));
КонецЦикла;
Для каждого ЭлементКоллекции Из МассивВремени Цикл
ЭлементКоллекции = Число(СокрЛП(ЭлементКоллекции));
КонецЦикла;
ДатаЧека = Дата(МассивДаты[2], МассивДаты[1], МассивДаты[0], МассивВремени[0], МассивВремени[1], МассивВремени[2]);
КонецЕсли;
Исключение
ДатаЧека = ТекущаяДатаСеанса();
КонецПопытки;
ИначеЕсли ТипЗнч(СтрокаДанных) = Тип("Дата") Тогда
ДатаЧека = СтрокаДанных;
КонецЕсли;
Возврат ДатаЧека;
КонецФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ОперацияПоЯндексКассе";
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса, ПолноеИмяДокумента, "", Ложь);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса, ПолноеИмяДокумента, "");
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметровПроведения();
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.БанковскийСчет КАК БанковскийСчет,
| ДанныеДокумента.БанковскийСчет.Подразделение КАК БанковскийСчетПодразделение,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НастройкаЯндексКассы КАК НастройкаЯндексКассы,
| ДанныеДокумента.Эквайер КАК Эквайер,
| ДанныеДокумента.ДоговорЭквайринга КАК ДоговорЭквайринга,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.НазначениеПлатежа КАК НазначениеПлатежа,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Исправление КАК Исправление,
| ДанныеДокумента.СторнируемыйДокумент КАК СторнируемыйДокумент,
| ДанныеДокумента.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ДанныеДокумента.Проведен КАК Проведен
|
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения(Реквизиты) Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
Организация = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументСсылка, "Организация");
Запрос.УстановитьПараметр("СтавкаНДСПоУмолчанию", УчетНДСУП.СтавкаНДСПоУмолчанию(Организация));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
Значения = Новый Структура;
Значения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ОперацияПоЯндексКассе"));
Значения.Вставить("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Значения.Вставить("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Если Реквизиты <> Неопределено Тогда
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Реквизиты.Валюта, Неопределено, Реквизиты.Период, Реквизиты.Организация);
Значения.Вставить("ИдентификаторСтроки", Строка(Реквизиты.Ссылка.УникальныйИдентификатор()));
Значения.Вставить("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Значения.Вставить("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
Значения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат Значения;
КонецФункции
#Область ТекстыЗапроса
#Область ВременныеТаблицы
Функция ТекстЗапросаВременнаяТаблицаОбъектовРасчета(Запрос, ТекстыЗапроса)
ИмяВременнойТаблицы = "ТаблицаОбъектовРасчетов";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ОбъектРасчетов.Договор КАК Договор,
| ВЫБОР
| КОГДА Таблица.ОбъектРасчетов.Организация.ГоловнаяОрганизация = &Организация
| ТОГДА Таблица.ОбъектРасчетов.Организация
| ИНАЧЕ &Организация
| КОНЕЦ КАК Организация,
| ЕСТЬNULL(Таблица.ОбъектРасчетов.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности
|ПОМЕСТИТЬ ТаблицаОбъектовРасчетовОплаты
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
|ГДЕ
| Таблица.Ссылка = &Ссылка
| И Таблица.ОбъектРасчетов <> ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка)
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектРасчетов";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Процедура ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаПартнеровИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросПоАналитикам = Новый Запрос;
ЗапросПоАналитикам.Текст = ТекстЗапросаВременнаяТаблицаОбъектовРасчета(ЗапросПоАналитикам, Новый СписокЗначений);
ЗапросПоАналитикам.Текст = ЗапросПоАналитикам.Текст + "
|;
|/////////////////////////////////////////////////////////////////////////////
|";
ЗапросПоАналитикам.Текст = ЗапросПоАналитикам.Текст +
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаОбъектовРасчетов.Организация КАК Организация,
| Таблица.Контрагент КАК Контрагент,
| Таблица.Партнер КАК Партнер,
| ТаблицаОбъектовРасчетов.Договор КАК Договор,
| ТаблицаОбъектовРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаОбъектовРасчетовОплаты КАК ТаблицаОбъектовРасчетов
| ПО Таблица.ОбъектРасчетов = ТаблицаОбъектовРасчетов.ОбъектРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО (ТаблицаОбъектовРасчетов.Организация = Аналитика.Организация)
| И Таблица.Контрагент = Аналитика.Контрагент
| И Таблица.Партнер = Аналитика.Партнер
| И (ТаблицаОбъектовРасчетов.Договор = Аналитика.Договор)
| И (ТаблицаОбъектовРасчетов.НаправлениеДеятельности = Аналитика.НаправлениеДеятельности)
|ГДЕ
| Таблица.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL ";
ЗапросПоАналитикам.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросПоАналитикам.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
Выборка = ЗапросПоАналитикам.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаПартнеровИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаОперации(Запрос, ТекстыЗапроса, Регистры = "")
ИмяВременнойТаблицы = "ТаблицаОперации";
Если Регистры = "РеестрДокументов" Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаОбъектовРасчетов", ТекстыЗапроса) Тогда
ТекстЗапросаВременнаяТаблицаОбъектовРасчета(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "ВЫБРАТЬ
| 1 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОбъектовРасчетовОплаты.Договор КАК Договор,
| ТаблицаОбъектовРасчетовОплаты.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ТаблицаОперации.ОснованиеПлатежа ССЫЛКА Документ.ОперацияПоЯндексКассе
| ТОГДА ТаблицаОперации.ОснованиеПлатежа.ОснованиеПлатежа
| ИНАЧЕ ТаблицаОперации.ОснованиеПлатежа
| КОНЕЦ КАК Документ.СчетНаОплатуКлиенту) КАК СчетНаОплату,
| ВЫБОР КОГДА ТаблицаОперации.ОснованиеПлатежа ССЫЛКА Документ.ОперацияПоЯндексКассе ТОГДА
| ТаблицаОперации.ОснованиеПлатежа.ОснованиеПлатежа
| ИНАЧЕ
| ТаблицаОперации.ОснованиеПлатежа
| КОНЕЦ КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
|
| ТаблицаОперации.СуммаДокумента КАК СуммаДокумента,
| ТаблицаОперации.Валюта КАК ВалютаОперации,
|
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
| ЕСТЬNULL(СуммыДокументовВВалютахУчета.СуммаБезНДСРегл, ТаблицаОперации.СуммаКомиссии) КАК СуммаКомиссииРегл,
|
| ТаблицаОперации.СуммаНДСОбщаяСтавка КАК СуммаНДСОбщаяСтавка,
| ТаблицаОперации.СуммаНДС10 КАК СуммаНДС10,
| ТаблицаОперации.СуммаНДС7 КАК СуммаНДС7,
| ТаблицаОперации.СуммаНДС5 КАК СуммаНДС5,
|
| ТаблицаОперации.СуммаДокумента КАК СуммаВзаиморасчетов,
| ТаблицаОперации.Валюта КАК ВалютаВзаиморасчетов,
|
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| ТаблицаОперации.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаОперации.АналитикаРасходов КАК АналитикаРасходов,
|
| &ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаОперации.ИдентификаторДокумента КАК ИдентификаторДокумента
|
|ПОМЕСТИТЬ ТаблицаОперации
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ТаблицаОперации
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ТаблицаОбъектовРасчетовОплаты КАК ТаблицаОбъектовРасчетовОплаты
| ПО
| ТаблицаОперации.ОбъектРасчетов = ТаблицаОбъектовРасчетовОплаты.ОбъектРасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| ТаблицаОбъектовРасчетовОплаты.Организация = Аналитика.Организация
| И ТаблицаОперации.Контрагент = Аналитика.Контрагент
| И ТаблицаОперации.Партнер = Аналитика.Партнер
| И ТаблицаОбъектовРасчетовОплаты.Договор = Аналитика.Договор
| И ТаблицаОбъектовРасчетовОплаты.НаправлениеДеятельности = Аналитика.НаправлениеДеятельности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК СуммыДокументовВВалютахУчета
| ПО
| СуммыДокументовВВалютахУчета.Регистратор = ТаблицаОперации.Ссылка
|ГДЕ
| ТаблицаОперации.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетовПоНДС(Запрос, ТекстыЗапроса)
ИмяВременнойТаблицы = "ТаблицаРасчетовПоНДС";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаОперации", ТекстыЗапроса) Тогда
ТекстЗапросаОперации(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "ВЫБРАТЬ
| 1 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОперации.Договор КАК Договор,
| ТаблицаОперации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаОперации.СчетНаОплату КАК СчетНаОплату,
| ТаблицаОперации.ОснованиеПлатежа КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
| ТаблицаОперации.СуммаДокумента КАК СуммаДокумента,
| ТаблицаОперации.ВалютаОперации КАК ВалютаОперации,
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
|
| ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС) КАК СтавкаНДС,
| 0 КАК СуммаНДС,
|
| ТаблицаОперации.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаОперации.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ТаблицаОперации.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаОперации.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ТаблицаРасчетовПоНДС
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОперации.Договор КАК Договор,
| ТаблицаОперации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаОперации.СчетНаОплату КАК СчетНаОплату,
| ТаблицаОперации.ОснованиеПлатежа КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
| 0 КАК СуммаДокумента,
| ТаблицаОперации.ВалютаОперации КАК ВалютаОперации,
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
|
| &СтавкаНДСПоУмолчанию КАК СтавкаНДС,
| ТаблицаОперации.СуммаНДСОбщаяСтавка КАК СуммаНДС,
|
| 0 КАК СуммаВзаиморасчетов,
| ТаблицаОперации.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ТаблицаОперации.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаОперации.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.СуммаНДСОбщаяСтавка <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 1 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОперации.Договор КАК Договор,
| ТаблицаОперации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаОперации.СчетНаОплату КАК СчетНаОплату,
| ТаблицаОперации.ОснованиеПлатежа КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
| 0 КАК СуммаДокумента,
| ТаблицаОперации.ВалютаОперации КАК ВалютаОперации,
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
|
| &СтавкаНДС10 КАК СтавкаНДС,
| ТаблицаОперации.СуммаНДС10 КАК СуммаНДС,
|
| 0 КАК СуммаВзаиморасчетов,
| ТаблицаОперации.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ТаблицаОперации.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаОперации.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.СуммаНДС10 <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОперации.Договор КАК Договор,
| ТаблицаОперации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаОперации.СчетНаОплату КАК СчетНаОплату,
| ТаблицаОперации.ОснованиеПлатежа КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
| 0 КАК СуммаДокумента,
| ТаблицаОперации.ВалютаОперации КАК ВалютаОперации,
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
|
| &СтавкаНДС7 КАК СтавкаНДС,
| ТаблицаОперации.СуммаНДС7 КАК СуммаНДС,
|
| 0 КАК СуммаВзаиморасчетов,
| ТаблицаОперации.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ТаблицаОперации.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаОперации.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.СуммаНДС7 <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3 КАК НомерСтроки,
| ТаблицаОперации.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаОперации.Партнер КАК Партнер,
| ТаблицаОперации.Контрагент КАК Контрагент,
| ТаблицаОперации.Договор КАК Договор,
| ТаблицаОперации.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаОперации.СчетНаОплату КАК СчетНаОплату,
| ТаблицаОперации.ОснованиеПлатежа КАК ОснованиеПлатежа,
|
| ТаблицаОперации.СуммаСчета КАК СуммаСчета,
| ТаблицаОперации.ВалютаСчета КАК ВалютаСчета,
| 0 КАК СуммаДокумента,
| ТаблицаОперации.ВалютаОперации КАК ВалютаОперации,
| ТаблицаОперации.СуммаКомиссии КАК СуммаКомиссии,
| ТаблицаОперации.ВалютаКомиссии КАК ВалютаКомиссии,
|
| &СтавкаНДС5 КАК СтавкаНДС,
| ТаблицаОперации.СуммаНДС5 КАК СуммаНДС,
|
| 0 КАК СуммаВзаиморасчетов,
| ТаблицаОперации.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ТаблицаОперации.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
|
| ТаблицаОперации.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.СуммаНДС5 <> 0";
Запрос.УстановитьПараметр("СтавкаНДС10", УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС10));
Запрос.УстановитьПараметр("СтавкаНДС7", УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС7));
Запрос.УстановитьПараметр("СтавкаНДС5", УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС5));
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДенежныеСредстваДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| Значение(Перечисление.ХозяйственныеОперации.КомиссияПоЭквайрингу) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &БанковскийСчетПодразделение КАК Подразделение,
| &Подразделение КАК ПодразделениеДоходовРасходов,
|
| &ДоговорЭквайринга КАК ДенежныеСредства,
| Значение(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУЭквайера) КАК ТипДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК Валюта,
|
| &СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| &АналитикаРасходов КАК АналитикаРасходов,
|
| ВЫРАЗИТЬ(ТаблицаОперации.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаОперации.СуммаКомиссии * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ТаблицаОперации.СуммаКомиссии КАК СуммаВВалюте,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| &СтатьяРасходов КАК ИсточникГФУДоходовРасходов
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|
|ГДЕ
| ТаблицаОперации.СуммаКомиссии <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДенежныеСредстваКонтрагент";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаРасчетовПоНДС", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаРасчетовПоНДС(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Период КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ДенежныеСредства КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУЭквайера) КАК ТипДенежныхСредств,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.ВалютаПлатежа КАК ВалютаПлатежа,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| СУММА(ДанныеДокумента.СуммаОплаты) КАК СуммаОплаты,
| СУММА(ДанныеДокумента.СуммаОплатыРегл) КАК СуммаОплатыРегл,
| СУММА(ДанныеДокумента.СуммаОплатыВВалютеПлатежа) КАК СуммаОплатыВВалютеПлатежа,
|
| СУММА(ДанныеДокумента.СуммаПостоплаты) КАК СуммаПостоплаты,
| СУММА(ДанныеДокумента.СуммаПостоплатыРегл) КАК СуммаПостоплатыРегл,
| СУММА(ДанныеДокумента.СуммаПостоплатыВВалютеПлатежа) КАК СуммаПостоплатыВВалютеПлатежа,
|
| СУММА(ДанныеДокумента.СуммаПредоплаты) КАК СуммаПредоплаты,
| СУММА(ДанныеДокумента.СуммаПредоплатыРегл) КАК СуммаПредоплатыРегл,
| СУММА(ДанныеДокумента.СуммаПредоплатыВВалютеПлатежа) КАК СуммаПредоплатыВВалютеПлатежа,
|
| СУММА(ДанныеДокумента.СуммаНДС) КАК СуммаНДС,
| СУММА(ДанныеДокумента.СуммаНДСРегл) КАК СуммаНДСРегл,
| СУММА(ДанныеДокумента.СуммаНДСВВалютеПлатежа) КАК СуммаНДСВВалютеПлатежа,
|
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| СУММА(ДанныеДокумента.СуммаОплатыВВалютеВзаиморасчетов) КАК СуммаОплатыВВалютеВзаиморасчетов,
| СУММА(ДанныеДокумента.СуммаПостоплатыВВалютеВзаиморасчетов) КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| СУММА(ДанныеДокумента.СуммаПредоплатыВВалютеВзаиморасчетов) КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ИсточникГФУДенежныхСредств КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.ИсточникГФУРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.СтавкаНДС КАК СтавкаНДС,
| ЛОЖЬ КАК ОтложенноеПроведение
|ИЗ
| (ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ДоговорЭквайринга КАК ДенежныеСредства,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
| ТаблицаРасчетовПоНДС.Партнер КАК Партнер,
| ТаблицаРасчетовПоНДС.Контрагент КАК Контрагент,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов.Договор КАК Договор,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫРАЗИТЬ(ТаблицаРасчетовПоНДС.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаОплаты,
| ВЫРАЗИТЬ(ТаблицаРасчетовПоНДС.СуммаДокумента * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаОплатыРегл,
| ТаблицаРасчетовПоНДС.СуммаДокумента КАК СуммаОплатыВВалютеПлатежа,
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСВВалютеПлатежа,
| ТаблицаРасчетовПоНДС.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасчетовПоНДС.СуммаВзаиморасчетов КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС
| ИЗ
| ТаблицаРасчетовПоНДС КАК ТаблицаРасчетовПоНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ДоговорЭквайринга КАК ДенежныеСредства,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
| ТаблицаРасчетовПоНДС.Партнер КАК Партнер,
| ТаблицаРасчетовПоНДС.Контрагент КАК Контрагент,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов.Договор КАК Договор,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов КАК ОбъектРасчетов,
| 0 КАК СуммаОплаты,
| 0 КАК СуммаОплатыРегл,
| 0 КАК СуммаОплатыВВалютеПлатежа,
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
| ВЫРАЗИТЬ(ТаблицаРасчетовПоНДС.СуммаНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаНДС,
| ВЫРАЗИТЬ(ТаблицаРасчетовПоНДС.СуммаНДС * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаНДСРегл,
| ТаблицаРасчетовПоНДС.СуммаНДС КАК СуммаНДСВВалютеПлатежа,
| ТаблицаРасчетовПоНДС.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ТаблицаРасчетовПоНДС.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаРасчетовПоНДС.СтавкаНДС КАК СтавкаНДС
| ИЗ
| ТаблицаРасчетовПоНДС КАК ТаблицаРасчетовПоНДС
| ГДЕ
| ТаблицаРасчетовПоНДС.СуммаНДС <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КомиссияПоЭквайрингу) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет КАК ДенежныеСредства,
| ДанныеДокумента.ДоговорЭквайринга.СтатьяДвиженияДенежныхСредствКомиссия КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
| ДанныеДокумента.ДоговорЭквайринга.Партнер КАК Партнер,
| ДанныеДокумента.ОбъектРасчетовКомиссии.Контрагент КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовКомиссии.Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетовКомиссии КАК ОбъектРасчетов,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаОплаты,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаКомиссии * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаОплатыРегл,
| ДанныеДокумента.СуммаКомиссии КАК СуммаОплатыВВалютеПлатежа,
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСВВалютеПлатежа,
| &Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаКомиссии КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
| ДанныеДокумента.ДоговорЭквайринга.БанковскийСчет КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.СуммаКомиссии КАК ИсточникГФУРасчетов,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС
| ИЗ
| Документ.ОперацияПоЯндексКассе КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ВестиУчетКомиссииВоВзаиморасчетах
| И ДанныеДокумента.СуммаКомиссии <> 0
|) КАК ДанныеДокумента
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Период,
| ДанныеДокумента.ХозяйственнаяОперация,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.ДенежныеСредства,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.ВалютаПлатежа,
| ДанныеДокумента.Партнер,
| ДанныеДокумента.Контрагент,
| ДанныеДокумента.Договор,
| ДанныеДокумента.ОбъектРасчетов,
| ДанныеДокумента.ВалютаВзаиморасчетов,
| ДанныеДокумента.ИсточникГФУДенежныхСредств,
| ДанныеДокумента.ИсточникГФУРасчетов,
| ДанныеДокумента.СтавкаНДС";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваВПути";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаОперации", ТекстыЗапроса) Тогда
ТекстЗапросаОперации(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
|
| &Организация КАК Организация,
| &БанковскийСчет КАК Получатель,
| НЕОПРЕДЕЛЕНО КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| &Эквайер КАК Контрагент,
| &ДоговорЭквайринга КАК Договор,
| &Валюта КАК Валюта,
|
| ТаблицаОперацииОплаты.СуммаДокумента КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаОперацииОплаты.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ТаблицаОперацииОплаты.СуммаДокумента * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
|
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
|
| ТаблицаОперацииОплаты.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеОплатыОтКлиента) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперацииОплаты
|
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
|
| &Организация КАК Организация,
| &БанковскийСчет КАК Получатель,
| НЕОПРЕДЕЛЕНО КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| &Эквайер КАК Контрагент,
| &ДоговорЭквайринга КАК Договор,
| &Валюта КАК Валюта,
|
| ТаблицаОперацииОплаты.СуммаКомиссии КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаОперацииОплаты.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ТаблицаОперацииОплаты.СуммаКомиссии * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
|
| ТаблицаОперацииОплаты.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КомиссияПоЭквайрингу) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперацииОплаты
|
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
| И ТаблицаОперацииОплаты.СуммаКомиссии <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
|
| &Организация КАК Организация,
| &БанковскийСчет КАК Получатель,
| НЕОПРЕДЕЛЕНО КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| &Эквайер КАК Контрагент,
| &ДоговорЭквайринга КАК Договор,
| &Валюта КАК Валюта,
|
| ТаблицаОперацииВозврата.СуммаДокумента КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаОперацииВозврата.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ТаблицаОперацииВозврата.СуммаДокумента * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
|
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
|
| ТаблицаОперацииВозврата.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратОплатыКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперацииВозврата
|
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
|
| &Организация КАК Организация,
| &БанковскийСчет КАК Получатель,
| НЕОПРЕДЕЛЕНО КАК Отправитель,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| &Эквайер КАК Контрагент,
| &ДоговорЭквайринга КАК Договор,
| &Валюта КАК Валюта,
|
| ТаблицаОперацииВозврата.СуммаКомиссии КАК Сумма,
| ВЫРАЗИТЬ(ТаблицаОперацииВозврата.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ТаблицаОперацииВозврата.СуммаКомиссии * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
|
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
|
| ТаблицаОперацииВозврата.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КомиссияПоЭквайрингу) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ТаблицаОперации КАК ТаблицаОперацииВозврата
|
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
| И ТаблицаОперацииВозврата.СуммаКомиссии <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ТаблицаОперации", ТекстыЗапроса) Тогда
ТекстЗапросаОперации(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаОперации.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаОперации.АналитикаРасходов КАК АналитикаРасходов,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
|
| ВЫРАЗИТЬ(ТаблицаОперации.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫРАЗИТЬ(ТаблицаОперации.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ТаблицаОперации.СуммаКомиссии * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
|
| ТаблицаОперации.СуммаКомиссииРегл КАК СуммаСНДСРегл,
| ТаблицаОперации.СуммаКомиссииРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочиеРасходы) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаОперации.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КомиссияПоЭквайрингу) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ТаблицаОперации КАК ТаблицаОперации
|
|ГДЕ
| ТаблицаОперации.СуммаКомиссии <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы(Ложь);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""ОперацияПоЯндексКассе"" КАК ИсточникДанных,
| ЛОЖЬ КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Дата КАК Дата,
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаДокумента.Валюта КАК ВалютаДокумента,
| НЕОПРЕДЕЛЕНО КАК ВалютаВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
| ТаблицаДокумента.Дата КАК ДатаКурса,
|
| 0 КАК НомерСтроки,
| """" КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаКомиссии КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| 0 КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.СуммаКомиссии <> 0
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &БанковскийСчет КАК МестоХранения,
| &Контрагент КАК Контрагент,
| &Подразделение КАК Подразделение,
| &Период КАК ДатаДокументаИБ,
| &Ссылка КАК Ссылка,
| &Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Ответственный КАК Ответственный,
| &Автор КАК Автор,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &НазначениеПлатежа КАК Дополнительно,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &СуммаДокумента КАК Сумма,
| &Валюта КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| &Исправление КАК СторноИсправление,
| &СторнируемыйДокумент КАК СторнируемыйДокумент,
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ОтражениеДокументовВРеглУчете";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| НАЧАЛОПЕРИОДА(&Период, ДЕНЬ) КАК ДатаОтражения
|";
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ"
+ ДоходыИРасходыСервер.ДополнитьТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Ложь);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаКУДиР(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "КнигаУчетаДоходовИРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| &Организация КАК Организация,
| &Ссылка КАК ДокументВозникновенияДоходовРасходов,
| СУММА(ПрочиеРасходы.СуммаБезНДСРегл) КАК Графа4,
| СУММА(ПрочиеРасходы.СуммаБезНДСРегл) КАК Графа5,
| СУММА(0) КАК Графа6,
| СУММА(0) КАК Графа7,
| СУММА(0) КАК НДС,
| СУММА(0) КАК ДоходЕНВД,
| &Номер КАК Номер,
| &Период КАК Дата,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КомиссияПоЭквайрингу) КАК ХозяйственнаяОперация,
| &Эквайер КАК Контрагент
|
|ИЗ
| ВтИсходныеПрочиеРасходы КАК ПрочиеРасходы
|ИМЕЮЩИЕ
| СУММА(ПрочиеРасходы.СуммаБезНДСРегл) <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовКомиссии КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента, Истина);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
Если НЕ Запрос.Параметры.Свойство("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств") Тогда
Запрос.УстановитьПараметр("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств",ПолучитьФункциональнуюОпцию("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств"));
КонецЕсли;
#Область РасчетыСКлиентами
#Область ТекстОплатаОтКлиента
ТекстОплата =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
|
| Таблица.СуммаДокумента КАК СуммаВзаиморасчетов,
| Таблица.СуммаДокумента КАК Сумма,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
|
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
| Таблица.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА Таблица.ОснованиеПлатежа ССЫЛКА Документ.ОперацияПоЯндексКассе
| ТОГДА Таблица.ОснованиеПлатежа.ОснованиеПлатежа
| ИНАЧЕ Таблица.ОснованиеПлатежа
| КОНЕЦ КАК Документ.СчетНаОплатуКлиенту) КАК СчетНаОплату,
| Таблица.Валюта КАК ВалютаДокумента,
| Неопределено КАК СвязанныйДокумент,
| Таблица.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеОплатыОтКлиента) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)";
ВзаиморасчетыСервер.ПроведениеОплатыОтКлиента(Запрос, ТекстыЗапроса, Регистры, ТекстОплата);
#КонецОбласти
#Область ТекстВозвратОплаты
ТекстВозврат = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.СуммаДокумента КАК СуммаВзаиморасчетов,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.СуммаДокумента КАК Сумма,
| 0 КАК УвеличениеОплачивается,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) КАК ХозяйственнаяОперация,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
| Таблица.Дата КАК ДатаКурса,
| Таблица.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| Таблица.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратОплатыКлиенту) КАК НастройкаХозяйственнойОперации,
| НЕОПРЕДЕЛЕНО КАК ЗаявкаНаРасходованиеДенежныхСредств
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)";
#КонецОбласти
#Область ПереносЗадолженности
ТекстПереносЗадолженности = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
|
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.СуммаДокумента КАК СуммаВзаиморасчетов,
| Таблица.СуммаДокумента КАК Сумма,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| Таблица.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПереносАванса) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)";
#КонецОбласти
#Область УменьшениеОплачивается
ТекстУменьшитьОплачивается = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.ОбъектРасчетов.Партнер КАК Партнер,
| Таблица.ОбъектРасчетов.Организация КАК Организация,
| Таблица.ОбъектРасчетов.Контрагент КАК Контрагент,
| Таблица.ОбъектРасчетов.Договор КАК Договор,
| Таблица.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| 0 КАК Оплачивается,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
| Таблица.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ЗаявкаНаРасходованиеДенежныхСредств,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеВозвратаОплатыКлиенту(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат,
ТекстПереносЗадолженности,ТекстУменьшитьОплачивается);
#КонецОбласти
#Область РасчетыСПоставщиками
ТекстОплата = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| СправочникДоговорыЭквайринга.Партнер КАК Партнер,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
|
| ДанныеДокумента.ОбъектРасчетовКомиссии КАК ОбъектРасчетов,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
|
| ДанныеДокумента.СуммаКомиссии КАК Сумма,
| ДанныеДокумента.СуммаКомиссии КАК СуммаВзаиморасчетов,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
| 0 КАК СуммаУпр,
| 0 КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КомиссияПоЭквайрингу) КАК ХозяйственнаяОперация,
| СправочникДоговорыЭквайринга.СтатьяДвиженияДенежныхСредствКомиссия КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ДанныеДокумента.Дата КАК ДатаПогашения,
| Неопределено КАК СвязанныйДокумент,
| ДанныеДокумента.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КомиссияПоЭквайрингу) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОперацияПоЯндексКассе КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СправочникДоговорыЭквайринга
| ПО ДанныеДокумента.ДоговорЭквайринга = СправочникДоговорыЭквайринга.Ссылка
|ГДЕ
| ДанныеДокумента.ВестиУчетКомиссииВоВзаиморасчетах
| И ДанныеДокумента.СуммаКомиссии <> 0
| И ДанныеДокумента.Ссылка В (&Ссылка)
|";
ВзаиморасчетыСервер.ПроведениеОплатыПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстОплата);
#КонецОбласти
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
#КонецЕсли