связь периодов через Наборы данных СКД

1. user1004898 27 06.09.19 18:50 Сейчас в теме
Пишу отчет на СКД.
Два набора. В одном регистр накопления ОстаткиИОбороты (ничего не указываю, создаются два параметра периодов НачалоПериода и КонецПериода).
Второй набор имеет в себе регистр накопления остатки с одним параметром(тоже автоматом создается Период).
По советам форумчан создал свой параметр мойПериод
РегистрНакопления.ОбъемыРесурсовИС.Остатки(
				{(&мойПериод)},
				ИС = &ИС
					И ТипРесурса В
						(ВЫБРАТЬ
							тТипыРесурсов.ТипРесурса КАК ТипРесурса
						ИЗ
							тТипыРесурсов КАК тТипыРесурсов)) КАК ОбъемыРесурсовИСОстатки
Показать


в параметрах описал выражения для периодов.


Сейчас: Без указания периода в отчете данные из второго набора читаются (там регистр остатков), с установкой периода (своего) не читаются, отчет выводит ошибку на Несоответствие типов (Параметр номер ""1"")".

Если вообще убираю мойПериод из регистраОстатков

РегистрНакопления.ОбъемыРесурсовИС.Остатки(
				,
				ИС = &ИС
					И ТипРесурса В
						(ВЫБРАТЬ
							тТипыРесурсов.ТипРесурса КАК ТипРесурса
						ИЗ
							тТипыРесурсов КАК тТипыРесурсов)) КАК ОбъемыРесурсовИСОстатки
Показать

, но в параметрах СКД оставляю, то без указания периода в отчете данные из второго набора читаются, с установкой периода (своего) данные из регистра не выводятся, но отчет формируется.

Связываю наборы по полю ИС. Или и по периодам надо? Или как-то иначе?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 06.09.19 21:09 Сейчас в теме
(1) Что касается ошибки, то она вполне справедливая. Таблица остатков первым параметром ожидает значение типа "Дата", "Граница", "МоментВремени" или "Неопределено". У Вас же, судя по скриншоту закладки параметров СКД, это "СтандартныйПериод". Отсюда и ошибка.

Что касается исправлений, то из описания задачи непонятно, какого результата Вы пытаетесь добиться. Какие именно остатки Вам необходимо получить вторым набором данных.
- Если пользователь указывает период ("Мой период" - даты начала и окончания периода), и необходимо показать остатки на конец выбранного периода, то первым параметром виртуальной таблицы остатков должно быть выражение "{(&КонецПериода)}".
- Если остатки необходимо получить на начало выбранного пользователем периода отчета, то используйте выражение "{(&НачалоПериода)}".
- Если же остатки нужны всегда актуальные, не зависящие от выбранного пользователем периода, то в параметре виртуальной таблицы остатков укажите, например, "{(&ПустаяДата)}", а появившийся параметр СКД "ПустаяДата" не включайте в пользовательские поля, лучше вовсе ограничьте его доступность, дабы он никогда не заполнялся.
user1004898; +1 Ответить
Оставьте свое сообщение

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