СКД. Включение в иерархию свое значение

1. vadim1011985 100 24.09.17 20:02 Сейчас в теме
Всем привет. Просьба помочь советом. Делаю отчет на СКД. В отчете одна из группировок(договоры контрагентов) выводиться по иерархии. И в эту иерархии необходимо включить свой элемент с типом строка

Пример
Расходы 2017 (группа , элемент Справочника Договоры контрагентов)
[I]Расходы на содержание и ремонт[/I] (группа , элемент справочника контрагенты, входит в группу Расходы 2017)
Ремонт Орг.Техники (Элемент справочника Договоры входит в группу Расходы на сод. и ремонт)

Налоги И Отчисления (Тип Строка)
НДС (Тип Строка)

На текущий момент группа "Налоги и отчисления" выводится на том же уровне что и "Расходы 2017 " И пока никак не получается впихнуть ее в группу расходы.

Так как я использую отдельный набор данных для ограничения количества выводимых уровней иерархии , в этом запросе пытаю подменить возвращаемое значение , но не выходить

Сам запрос по построению иерархии выглядит так

ВЫБРАТЬ
	ДоговорыКонтрагентов.Ссылка КАК ДоговорКомитента,
	&Ссылка КАК ТекщаяГруппа,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(&ссылка) <> ТИП(СТРОКА)
			ТОГДА ВЫБОР
					КОГДА ДоговорыКонтрагентов.Родитель = &НачальныйУровеньИерархии
						ТОГДА ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяССылка)
					ИНАЧЕ ДоговорыКонтрагентов.Родитель
				КОНЕЦ
		ИНАЧЕ &НачальныйУровеньИерархии
	КОНЕЦ КАК Иерархия
ИЗ
	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
	(ВЫБОР
				КОГДА ТИПЗНАЧЕНИЯ(&Ссылка) <> ТИП(СТРОКА)
					ТОГДА ДоговорыКонтрагентов.Ссылка В (&Ссылка)
			КОНЕЦ
			ИЛИ ТИПЗНАЧЕНИЯ(&ссылка) = ТИП(СТРОКА))
Показать


&НачальныйУровеньИерархии = "Расходы 2017"


Подскажите как реализовать задуманное ?, где я косячу ?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vadim1011985 100 24.09.17 20:17 Сейчас в теме
Кстати , если изменить запрос на такой

ВЫБРАТЬ
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ (&Ссылка)  <> ТИП (Строка)	
		    ТОГДА ДоговорыКонтрагентов.Ссылка
		ИНАЧЕ &НачаьныйУровеньИерархии
	КОНЕЦ КАК ДоговорКомитента,
	&Ссылка КАК ТекщаяГруппа,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(&ссылка) <> ТИП(СТРОКА)
			ТОГДА ВЫБОР
					КОГДА ДоговорыКонтрагентов.Родитель = &НачальныйУровеньИерархии
						ТОГДА ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяССылка)
					ИНАЧЕ ДоговорыКонтрагентов.Родитель
				КОНЕЦ
		ИНАЧЕ &НачальныйУровеньИерархии
	КОНЕЦ КАК Иерархия
ИЗ
	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
	(ВЫБОР
				КОГДА ТИПЗНАЧЕНИЯ(&Ссылка) <> ТИП(СТРОКА)
					ТОГДА ДоговорыКонтрагентов.Ссылка В (&Ссылка)
			КОНЕЦ
			ИЛИ ТИПЗНАЧЕНИЯ(&ссылка) = ТИП(СТРОКА))
Показать


То при формировании выдается ошибка "Неверный параметр КОГДА ТИПЗНАЧЕНИЯ (<<?>> Ссылка)<>ТИП(Строка)"
3. Pavel_nv 16 24.09.17 20:19 Сейчас в теме
Непонятно, что требуется, но навскидку вижу опечатку: "ИНАЧЕ &НачаьныйУровеньИерархии"
4. vadim1011985 100 24.09.17 21:14 Сейчас в теме
(3) Нужно включить свои данные (тип строка) в чужую иерархию (Тип справочник.договоры контрагентов)
8. Dm_Kz 26.09.17 14:09 Сейчас в теме
(4) Как то так?
ВЫБРАТЬ
	ДоговорыКонтрагентов.Ссылка КАК ДоговорКомитента
ИЗ
	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&НачальныйУровеньИерархии
Показать
9. vadim1011985 100 26.09.17 14:12 Сейчас в теме
(8) в отчет уже выводится нужные данные нужен запрос для построения иерархии
10. Dm_Kz 26.09.17 14:21 Сейчас в теме
(9) Включить строку и иерархию ссылочных типов не получится, да оно вам и не надо. Вам нужна дополнительная группировка/ресурс "Налоги,относимые на расходы". В отчете это может выглядеть как отдельная колонка.
Это простой вариант.
Если сложный вариант - использовать макеты в СКД и/или постобработку результатов выполнения запроса
11. vadim1011985 100 26.09.17 14:37 Сейчас в теме
(10) у меня так и сделано см. скрин (выше по теме.)
Отчасти я понимаю что не получится включить тип строка в иерархии ссылочного типа, поэтому есть идея подмены строки на ссылочный тип , которую я хочу сделать в запросе построении иерархии
12. Dm_Kz 26.09.17 14:44 Сейчас в теме
(11) Если ссылки физически в базе данных не существует, на что вы подмените строку? Думаю, что в этом направлении надо переставать копать
13. vadim1011985 100 26.09.17 15:10 Сейчас в теме
(12) на &НачальныйУровеньИерархии
14. Dm_Kz 26.09.17 15:15 Сейчас в теме
(13)
&НачальныйУровеньИерархии = "Расходы 2017"
НачальныйУровеньИерархии - это не ссылка, это строка
15. vadim1011985 100 26.09.17 15:19 Сейчас в теме
(14) это параметр он служит для ограничения уровня иерархии в нижестоящей группировки и в этот параметр я передаю ссылку на нужную группу справочника
16. Dm_Kz 26.09.17 15:31 Сейчас в теме
(15) Тогда непонятно в чем проблема.
Изначально вы хотели вставлять в результат запроса (в иерархию договоров) произвольную строку.
Сейчас вы хотите подменять эту строку на ссылку на группу того же справочника.
Не проще ли просто создать нужную группу в справочнике?
alex-l19041; +1 Ответить
17. vadim1011985 100 26.09.17 15:50 Сейчас в теме
(16)
Изначально вы хотели вставлять в результат запроса (в иерархию договоров) произвольную строку.
Сейчас вы хотите подменять эту строку на ссылку на группу того же справочника.
Не проще ли просто создать нужную группу в справочнике?


Мы не ищем легких путей )))

Возможно я не корректно объясняю . Изначально задача вставить свои данные (тип строка) в иерархию (это основная задача) . Как я вижу решение этой задачи - подмена возвращаемого значения. в запросе построения иерархии. т.е. когда из основного запроса в параметр &ссылка передается тип строка, необходимо вернуть значение &НачальныйУровеньИерархии и таким образом дать СКД понять что мои данные входят в иерархию , а дальше система сама достроит иерархиию по связи набора с самим собой.
18. Dm_Kz 26.09.17 16:01 Сейчас в теме
(17) Я думаю, что собирать иерархию вручную - это шаманство.
Если иерархия формируется процессором СКД, по подмена значения ни к чему хорошему не приведет.
Думаю, что в этом направлении надо переставать копать
19. Dm_Kz 27.09.17 17:25 Сейчас в теме
(18)... и начинать копать в сторону
использования макетов СКД и/или постобработку результатов выполнения запроса
5. vadim1011985 100 25.09.17 08:58 Сейчас в теме
Сейчас отчет выводится в таком виде (см. рис 1.) Необходимо отнести группу "Налоги,относимые на расходы" в Иерархию "Расходы" а точнее отображалась как подчиненная группа к "Расходы 2017" Но Иерархия строится по справочнику Договоры Контрагентов, а Налоги относимые на расходы - тип строка
Прикрепленные файлы:
6. vadim1011985 100 25.09.17 11:30 Сейчас в теме
Есть у кого какие идеи ?
7. vadim1011985 100 26.09.17 13:58 Сейчас в теме
Добавил вознаграждение
20. sensoric 05.10.17 08:27 Сейчас в теме
Приложите файл схемы СКД, по скриншоту непонятно как у вас сгруппирован отчёт.
Если настройка иерархии по полям такая: Иерархия>ТекущаяГруппа>ДоговорКомитента с группировкой на верхнем уровне по элементам, то и так должно выходить так, как вам нужно.
Оставьте свое сообщение

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