public void ОтражениеОплатыВРегистреОперативныхРасчетовПоДокументам(/*СтруктураШапкиДокумента, ДатаДвижений, ИмяТаблицыПлатежейИлиТаблица, ВидРасчетовСКонтрагентом, ВидДвижения, Движения, Отказ, Заголовок*/)
{
//Ссылка = СтруктураШапкиДокумента.Ссылка;
//МетаданныеДокумента = Ссылка.Метаданные();
//ИмяДокумента = МетаданныеДокумента.Имя;
//ПереданоИмяТаблицы = ТипЗнч(ИмяТаблицыПлатежейИлиТаблица) = Тип("Строка");
if(true/*ПереданоИмяТаблицы*/)
{
/*// Таблицу платежей получаем запросом
*/
//ИмяТаблицыПлатежей = ИмяТаблицыПлатежейИлиТаблица;
//Запрос = Новый Запрос;
/*ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаПлатежей.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ПРЕДСТАВЛЕНИЕ(ТаблицаПлатежей.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление,
| ВЫБОР
| КОГДА ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоДоговоруВЦелом
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаПлатежей.Сделка В (&ПустыеСделки)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.Сделка
| КОНЕЦ КАК Сделка,
| ПРЕДСТАВЛЕНИЕ(ВЫБОР
| КОГДА ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоДоговоруВЦелом
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаПлатежей.Сделка В (&ПустыеСделки)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.Сделка
| КОНЕЦ) КАК СделкаПредставление,
| ВЫБОР
| КОГДА ТаблицаПлатежей.ДокументРасчетовСКонтрагентом В (&ПустыеРасчетныеДокументы)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.ДокументРасчетовСКонтрагентом
| КОНЕЦ КАК ДокументРасчетовСКонтрагентом,
| ПРЕДСТАВЛЕНИЕ(ВЫБОР
| КОГДА ТаблицаПлатежей.ДокументРасчетовСКонтрагентом В (&ПустыеРасчетныеДокументы)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.ДокументРасчетовСКонтрагентом
| КОНЕЦ) КАК ДокументРасчетовСКонтрагентомПредставление,
| ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ВедениеВзаиморасчетов,
| ТаблицаПлатежей.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
| ТаблицаПлатежей.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ПРЕДСТАВЛЕНИЕ(ТаблицаПлатежей.ДоговорКонтрагента.ВалютаВзаиморасчетов) КАК ВалютаВзаиморасчетовПредставление,
| СУММА(ВЫБОР
| КОГДА &СуммаПлатежаВВалютеРеглУчета
| ТОГДА ТаблицаПлатежей.СуммаПлатежа
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаПлатежей.КурсВзаиморасчетов = 0
| ИЛИ ТаблицаПлатежей.КратностьВзаиморасчетов = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ТаблицаПлатежей.СуммаВзаиморасчетов * ТаблицаПлатежей.КурсВзаиморасчетов / ТаблицаПлатежей.КратностьВзаиморасчетов КАК ЧИСЛО(15, 2))
| КОНЕЦ
| КОНЕЦ) КАК СуммаРегл,
| СУММА(ТаблицаПлатежей.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| МИНИМУМ(ТаблицаПлатежей.НомерСтроки) КАК НомерСтроки
|ИЗ
| Документ." + ИмяДокумента + "." + ИмяТаблицыПлатежей + " КАК ТаблицаПлатежей
// Пример:
//| Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ТаблицаПлатежей
|ГДЕ
| ТаблицаПлатежей.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА
| И ТаблицаПлатежей.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаПлатежей.ДоговорКонтрагента,
| ВЫБОР
| КОГДА ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоДоговоруВЦелом
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаПлатежей.Сделка В (&ПустыеСделки)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.Сделка
| КОНЕЦ,
| ВЫБОР
| КОГДА ТаблицаПлатежей.ДокументРасчетовСКонтрагентом В (&ПустыеРасчетныеДокументы)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.ДокументРасчетовСКонтрагентом
| КОНЕЦ,
| ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов,
| ТаблицаПлатежей.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах,
| ПРЕДСТАВЛЕНИЕ(ТаблицаПлатежей.ДоговорКонтрагента.ВалютаВзаиморасчетов),
| ПРЕДСТАВЛЕНИЕ(ВЫБОР
| КОГДА ТаблицаПлатежей.ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоДоговоруВЦелом
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ТаблицаПлатежей.Сделка В (&ПустыеСделки)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.Сделка
| КОНЕЦ),
| ПРЕДСТАВЛЕНИЕ(ВЫБОР
| КОГДА ТаблицаПлатежей.ДокументРасчетовСКонтрагентом В (&ПустыеРасчетныеДокументы)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаПлатежей.ДокументРасчетовСКонтрагентом
| КОНЕЦ)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";*/
if(true/*ТипЗнч(Ссылка) = Тип("ДокументСсылка.АвансовыйОтчет")*/)
{
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаПлатежей.СуммаПлатежа", "ТаблицаПлатежей.Сумма");
}
//Запрос.Текст = ТекстЗапроса;
//Запрос.УстановитьПараметр("Ссылка", Ссылка);
//Запрос.УстановитьПараметр("ПоДоговоруВЦелом", Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом);
//СуммаПлатежаВВалютеРеглУчета = СтруктураШапкиДокумента.ВалютаДокумента = СтруктураШапкиДокумента.ВалютаРегламентированногоУчета;
//Запрос.УстановитьПараметр("СуммаПлатежаВВалютеРеглУчета", СуммаПлатежаВВалютеРеглУчета);
//РеквизитыМетаданныхТабЧастиДокумента = МетаданныеДокумента.ТабличныеЧасти[ИмяТаблицыПлатежей].Реквизиты;
//ТипыСделок = РеквизитыМетаданныхТабЧастиДокумента.Сделка.Тип.Типы();
//МассивПустыхСделок = Новый Массив;
//ТипыРасчетныхДокументов = РеквизитыМетаданныхТабЧастиДокумента.ДокументРасчетовСКонтрагентом.Тип.Типы();
//МассивПустыхРасчетныхДокументов = Новый Массив;
//Запрос.УстановитьПараметр("ПустыеСделки", МассивПустыхСделок);
//Запрос.УстановитьПараметр("ПустыеРасчетныеДокументы", МассивПустыхРасчетныхДокументов);
//Результат = Запрос.Выполнить();
if(true/*Результат.Пустой()*/)
{
}
//ТаблицаПлатежей = Результат.Выгрузить();
}
//УпрУчет = СтруктураШапкиДокумента.ОтражатьВУправленческомУчете;
//ЗнакОстатка = ?(ВидДвижения = ВидДвиженияНакопления.Расход, 1, -1);
/*// Определение состояния расчетов по документам
*/
//Запрос = Новый Запрос;
//МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
//Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
/*Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Таб.ДоговорКонтрагента,
| Таб.Сделка,
| Таб.ДокументРасчетовСКонтрагентом
|ПОМЕСТИТЬ ТаблицаПлатежей
|ИЗ
| &ТаблицаПлатежей КАК Таб
|ГДЕ
| НЕ (Таб.ДокументРасчетовСКонтрагентом = &Ссылка)
| И НЕ (Таб.ДокументРасчетовСКонтрагентом = НЕОПРЕДЕЛЕНО)";*/
//Запрос.УстановитьПараметр("ТаблицаПлатежей", ТаблицаПлатежей);
//Запрос.УстановитьПараметр("Ссылка", Ссылка);
//Запрос.Выполнить();
if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
{
/*СтруктураПараметровБлокировки = Новый Структура(
"ИмяТаблицы, ИсточникДанных, ИмяВременнойТаблицы",
"ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов", МенеджерВремТаблиц, "ТаблицаПлатежей");*/
/*СтруктураЗначенийБлокировки = Новый Структура(
"ВидРасчетовСКонтрагентом, Организация, УпрУчет",
ВидРасчетовСКонтрагентом, СтруктураШапкиДокумента.Организация, СтруктураШапкиДокумента.ОтражатьВУправленческомУчете);*/
/*СтруктураИсточникаДанных = Новый Структура(
"ДоговорКонтрагента, Сделка, ДокументРасчетовСКонтрагентом",
"ДоговорКонтрагента", "Сделка", "ДокументРасчетовСКонтрагентом");*/
//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, СтруктураЗначенийБлокировки, СтруктураИсточникаДанных, Отказ, Заголовок);
}
/*Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента,
| ВзаиморасчетыПоДокументамОстатки.Сделка,
| ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом,
| ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток * &ЗнакОстатка КАК СуммаВзаиморасчетов,
| ВзаиморасчетыПоДокументамОстатки.СуммаРеглОстаток * &ЗнакОстатка КАК СуммаРегл
|ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(,
| Организация = &Организация
| И ВидРасчетовСКонтрагентом = &ВидРасчетовСКонтрагентом
| И УпрУчет = &УпрУчет
| И (ДоговорКонтрагента, Сделка, ДокументРасчетовСКонтрагентом) В (ВЫБРАТЬ ДоговорКонтрагента, Сделка, ДокументРасчетовСКонтрагентом ИЗ ТаблицаПлатежей)) КАК ВзаиморасчетыПоДокументамОстатки
|ГДЕ
| ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток * &ЗнакОстатка > 0
|
|ДЛЯ ИЗМЕНЕНИЯ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки";*/
//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
//Запрос.УстановитьПараметр("ВидРасчетовСКонтрагентом", ВидРасчетовСКонтрагентом);
//Запрос.УстановитьПараметр("УпрУчет", УпрУчет);
//Запрос.УстановитьПараметр("ЗнакОстатка",ЗнакОстатка);
//ОстаткиПоРасчетам = Запрос.Выполнить().Выгрузить();
//ДвиженияРегистраОперативныхРасчетов = Движения.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов;
if(true/*СтруктураШапкиДокумента.Свойство("РежимПроведения")*/)
{
//РежимПроведения = СтруктураШапкиДокумента.РежимПроведения;
}
//ЗапрещатьПревышениеОстатков = РежимПроведения = РежимПроведенияДокумента.Оперативный;
}