Доброго всем вечера. Подскажите можно ли как то передать к виртуальной таблице остатков вычисляемый параметр.
Есть дополнительный реквизит в справочнике контрагентов. В зависимости от этого реквизита меняется дата, на которую нужно получить остаток.
Есть дополнительный реквизит в справочнике контрагентов. В зависимости от этого реквизита меняется дата, на которую нужно получить остаток.
ВЫБРАТЬ
КонтрагентыДополнительныеРеквизиты.Значение КАК Значение,
КонтрагентыДополнительныеРеквизиты.Ссылка КАК Контрагент
ПОМЕСТИТЬ ВтКоличествоДнейПросрочки
ИЗ
Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ГДЕ
КонтрагентыДополнительныеРеквизиты.Ссылка = &Контрагент
И КонтрагентыДополнительныеРеквизиты.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент
СУММА(РасчетыСКлиентамиОстатки.СуммаОстаток) КАК СуммаОстаток,
ПОМЕСТИТЬ ВТРасчетыСКлиентамиОстатки
ИЗ
РегистрНакопления.РасчетыСКлиентами.Остатки(КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, -1 * (Выразить(ВтКоличествоДнейПросрочки.Значение Как Число(2)) + 1)), ДЕНЬ), ) КАК РасчетыСКлиентамиОстатки
РегистрНакопления.РасчетыСКлиентами.Остатки(ВтКоличествоДнейПросрочки.Датаостатков, ) КАК РасчетыСКлиентамиОстатки
ЛЕВОЕ СОЕДИНЕНИЕ ВтКоличествоДнейПросрочки КАК ВтКоличествоДнейПросрочки
ПО ВтКоличествоДнейПросрочки.Контрагент = РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент
ГДЕ
РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
СГРУППИРОВАТЬ ПО
РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент
;
или подскажите как по другому подойти к решению данной задачи.
ПоказатьПо теме из базы знаний
- Виртуальная таблица «Остатки» регистра накопления и избыточные блокировки
- Регистры накопления. Виртуальные таблицы. Часть №1: Обороты
- Регистры накопления. Виртуальные таблицы. Часть №2: "Остатки" и "Остатки и обороты"
- Регистры бухгалтерии. Виртуальная таблица остатков
- Ошибка в виртуальной таблице или баг 1С 8.3.18?
Найденные решения
Сделать динамический параметр виртуальной таблицы не получится. Предлагается сначала вычислить нужную дату остатков по контрагентам и поместить во временную таблицу. Левым соединением привязать к ВТ физическую таблицу РН РасчетыСКлиентами.
Принцип такой:
Принцип такой:
ВЫБРАТЬ
Т.Ссылка КАК Контрагент,
ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, 1 - (ВЫРАЗИТЬ(Т.Значение КАК ЧИСЛО(2, 0)))) КАК ДатаОстатков
ПОМЕСТИТЬ ВТ
ИЗ
Справочник.Контрагенты.ДополнительныеРеквизиты КАК Т
ГДЕ
Т.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.ДатаОстатков КАК ДатаОстатков,
СУММА(ВЫБОР
КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА РасчетыСКлиентами.Сумма
ИНАЧЕ -РасчетыСКлиентами.Сумма
КОНЕЦ) КАК СуммаОстаток
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
ПО ВТ.Контрагент = РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент
И ВТ.ДатаОстатков >= РасчетыСКлиентами.Период
СГРУППИРОВАТЬ ПО
ВТ.Контрагент,
ВТ.ДатаОстатков
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сделать динамический параметр виртуальной таблицы не получится. Предлагается сначала вычислить нужную дату остатков по контрагентам и поместить во временную таблицу. Левым соединением привязать к ВТ физическую таблицу РН РасчетыСКлиентами.
Принцип такой:
Принцип такой:
ВЫБРАТЬ
Т.Ссылка КАК Контрагент,
ДОБАВИТЬКДАТЕ(&ДатаОтсчета, ДЕНЬ, 1 - (ВЫРАЗИТЬ(Т.Значение КАК ЧИСЛО(2, 0)))) КАК ДатаОстатков
ПОМЕСТИТЬ ВТ
ИЗ
Справочник.Контрагенты.ДополнительныеРеквизиты КАК Т
ГДЕ
Т.Свойство.Имя = "КоличествоДнейПросрочки_56cab0d772524c678cd6eb678fb7fae4"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.ДатаОстатков КАК ДатаОстатков,
СУММА(ВЫБОР
КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА РасчетыСКлиентами.Сумма
ИНАЧЕ -РасчетыСКлиентами.Сумма
КОНЕЦ) КАК СуммаОстаток
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
ПО ВТ.Контрагент = РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент
И ВТ.ДатаОстатков >= РасчетыСКлиентами.Период
СГРУППИРОВАТЬ ПО
ВТ.Контрагент,
ВТ.ДатаОстатков
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот