Параметр к виртуальной таблице остатки

1. N_s_s 2 03.04.21 18:17 Сейчас в теме
Доброго всем вечера. Подскажите можно ли как то передать к виртуальной таблице остатков вычисляемый параметр.
Есть дополнительный реквизит в справочнике контрагентов. В зависимости от этого реквизита меняется дата, на которую нужно получить остаток.

ВЫБРАТЬ
	КонтрагентыДополнительныеРеквизиты.Значение КАК Значение,
	КонтрагентыДополнительныеРеквизиты.Ссылка КАК Контрагент
ПОМЕСТИТЬ ВтКоличествоДнейПросрочки
ИЗ
	Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ГДЕ
	КонтрагентыДополнительныеРеквизиты.Ссылка = &Контрагент
	И КонтрагентыДополнительныеРеквизиты.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент
	СУММА(РасчетыСКлиентамиОстатки.СуммаОстаток) КАК СуммаОстаток,
ПОМЕСТИТЬ ВТРасчетыСКлиентамиОстатки
ИЗ
	РегистрНакопления.РасчетыСКлиентами.Остатки(КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, -1 * (Выразить(ВтКоличествоДнейПросрочки.Значение Как Число(2)) + 1)), ДЕНЬ), ) КАК РасчетыСКлиентамиОстатки
	РегистрНакопления.РасчетыСКлиентами.Остатки(ВтКоличествоДнейПросрочки.Датаостатков, ) КАК РасчетыСКлиентамиОстатки
	ЛЕВОЕ СОЕДИНЕНИЕ ВтКоличествоДнейПросрочки КАК ВтКоличествоДнейПросрочки
			ПО ВтКоличествоДнейПросрочки.Контрагент = РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент

ГДЕ
	РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
СГРУППИРОВАТЬ ПО
	РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент
;

или подскажите как по другому подойти к решению данной задачи.


Показать
По теме из базы знаний
Найденные решения
2. SlavaKron 03.04.21 19:12 Сейчас в теме
Сделать динамический параметр виртуальной таблицы не получится. Предлагается сначала вычислить нужную дату остатков по контрагентам и поместить во временную таблицу. Левым соединением привязать к ВТ физическую таблицу РН РасчетыСКлиентами.
Принцип такой:
ВЫБРАТЬ
	Т.Ссылка КАК Контрагент,
	ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, 1 - (ВЫРАЗИТЬ(Т.Значение КАК ЧИСЛО(2, 0)))) КАК ДатаОстатков
ПОМЕСТИТЬ ВТ
ИЗ
	Справочник.Контрагенты.ДополнительныеРеквизиты КАК Т
ГДЕ
	Т.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ.Контрагент КАК Контрагент,
	ВТ.ДатаОстатков КАК ДатаОстатков,
	СУММА(ВЫБОР
			КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
				ТОГДА РасчетыСКлиентами.Сумма
			ИНАЧЕ -РасчетыСКлиентами.Сумма
		КОНЕЦ) КАК СуммаОстаток
ИЗ
	ВТ КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
		ПО ВТ.Контрагент = РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент
			И ВТ.ДатаОстатков >= РасчетыСКлиентами.Период

СГРУППИРОВАТЬ ПО
	ВТ.Контрагент,
	ВТ.ДатаОстатков
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 03.04.21 19:12 Сейчас в теме
Сделать динамический параметр виртуальной таблицы не получится. Предлагается сначала вычислить нужную дату остатков по контрагентам и поместить во временную таблицу. Левым соединением привязать к ВТ физическую таблицу РН РасчетыСКлиентами.
Принцип такой:
ВЫБРАТЬ
	Т.Ссылка КАК Контрагент,
	ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, 1 - (ВЫРАЗИТЬ(Т.Значение КАК ЧИСЛО(2, 0)))) КАК ДатаОстатков
ПОМЕСТИТЬ ВТ
ИЗ
	Справочник.Контрагенты.ДополнительныеРеквизиты КАК Т
ГДЕ
	Т.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ.Контрагент КАК Контрагент,
	ВТ.ДатаОстатков КАК ДатаОстатков,
	СУММА(ВЫБОР
			КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
				ТОГДА РасчетыСКлиентами.Сумма
			ИНАЧЕ -РасчетыСКлиентами.Сумма
		КОНЕЦ) КАК СуммаОстаток
ИЗ
	ВТ КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
		ПО ВТ.Контрагент = РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент
			И ВТ.ДатаОстатков >= РасчетыСКлиентами.Период

СГРУППИРОВАТЬ ПО
	ВТ.Контрагент,
	ВТ.ДатаОстатков
Показать
3. N_s_s 2 03.04.21 19:19 Сейчас в теме
(2)
я так пробовал, результат тот же
4. SlavaKron 03.04.21 19:23 Сейчас в теме
(3)
результат тот же
Какой именно?
5. N_s_s 2 04.04.21 16:58 Сейчас в теме
(4)
Работает, немного допилил. Спасибо огромное.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот