powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
4 сообщений из 4, страница 1 из 1
Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
    #39362499
LittleLoya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток. Подскажите, пожалуйста, как это можно осуществить? Интересуют продажи, сргуппированные по регионам, но из-за того, что справочник иерархический, при группировке по региону, он разбивает области на города, например:
авторВладимирская обл, Владимир г
Владимирская обл, Гусь-Хрустальный г
и т.д.
Если сделать группировку по родителю (Контрагент.Регион.Родитель), то все продажи по контрагентам, у которых в регионе указан родитель самого верхнего уровня, группируются вместе. Этого получилось избежать сделав что-то вроде:

Код: sql
1.
2.
3.
4.
5.
ВЫБОР
	КОГДА ПродажиОбороты.Контрагент.Регион.Родитель = ЗНАЧЕНИЕ(Справочник.Регионы.ПустаяСсылка)
		ТОГДА ПродажиОбороты.Контрагент.Регион
	ИНАЧЕ ПродажиОбороты.Контрагент.Регион.Родитель
КОНЕЦ



Но если у контрагента регион является третьим уровнем, то он всё равно его почему-то не группирует, а выводит в отдельную строку, например:
авторАстраханская обл, Камызякский р-н, Азовский п
не попадает в Астраханскую область, а возвращается отдельным результатом
авторАстраханская обл, Камызякский р-н.

Подскажите, пожалуйста, как сгруппировать по самому верхнему уровню?

1С8.2, УТ10.3

Заранее благодарю за ответы. Если можно, то пример кода.
...
Рейтинг: 0 / 0
Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
    #39362662
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще всего

ВЫБОР
КОГДА ПродажиОбороты.Контрагент.Регион.Родитель = ЗНАЧЕНИЕ(Справочник.Регионы.ПустаяСсылка)
ТОГДА ПродажиОбороты.Контрагент.Регион
КОГДА ПродажиОбороты.Контрагент.Регион.Родитель .Родитель = ЗНАЧЕНИЕ(Справочник.Регионы.ПустаяСсылка)
ТОГДА ПродажиОбороты.Контрагент.Родитель .Регион
КОГДА ПродажиОбороты.Контрагент.Регион.Родитель .Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Регионы.ПустаяСсылка)
ТОГДА ПродажиОбороты.Контрагент.Родитель .Родитель.Регион
ИНАЧЕ ПродажиОбороты.Контрагент.Регион.Родитель
КОНЕЦ
...
Рейтинг: 0 / 0
Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
    #39362664
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или сложнее - сначала таблицу с группировками 1 уровня, а потом сравнение с ней.
...
Рейтинг: 0 / 0
Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
    #39362855
LittleLoya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Спасибо, первый вариант подошёл! А про второй можно поподробней? Не понимаю, что с чем сравнивать нужно. Первый вариант работает, но кажется каким-то неправильным, что-ли. Получается, нужно заранее знать уровень вложенности или делать с запасом.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Продажи по регионам, или как в запросе получить родителя самого верхнего уровня?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]