Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Объединение строк в запросе , Нужна помощь в построении запроса для отчета СКД.          
ZenBi Подменю пользователя
сообщение 23.10.21, 7:24
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 37
Спасибо сказали: 1 раз
Рейтинг: 1

Здравствуйте!
Нужна помощь!
Есть таблица(пример):
Группа - Кол.Человек. - Выработка час.
Група1 - 15 - 22
Група2 - 21 - 20
Група3 - 8 - 18
група4 - 11 - 27


После формирования запроса в ОТЧЕТЕ надо как-то вывести результат(пример):
Група1+Група3 - 23 - 40
Група2 - 21 - 20
Група4 - 11 - 27


И вот вопрос - Как сгрупировать строки 1 и 3?? и сделать это нужно как-то именно в запросе, сам запрос создается для формирования отчета простроеного в СКД(совершенно магическая система не связанная с программированием).

Batchir Подменю пользователя
сообщение 23.10.21, 8:28
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Если Група1 это справочник, то попробуйте использовать иерархию или какой-то объединяющий их реквизит

ВЫБРАТЬ
    "Група1+Група3" КАК РодительГруппы,
    "Група1" КАК Группа,
    15 КАК КолвоЧеловек,
    22 КАК Выработка
ПОМЕСТИТЬ ВТ

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

ВЫБРАТЬ
    NULL,
    "Група2",
    21,
    20

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

ВЫБРАТЬ
    "Група1+Група3",
    "Група3",
    8,
    18

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

ВЫБРАТЬ
    NULL,
    "Група4",
    11,
    27
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(ВТ.РодительГруппы, ВТ.Группа) КАК Поле1,
    СУММА(ВТ.КолвоЧеловек) КАК КолвоЧеловек,
    СУММА(ВТ.Выработка) КАК Выработка
ИЗ
    ВТ КАК ВТ

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(ВТ.РодительГруппы, ВТ.Группа)


Сообщение отредактировал Batchir - 23.10.21, 8:31

ZenBi Подменю пользователя
сообщение 23.10.21, 9:18
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 37
Спасибо сказали: 1 раз
Рейтинг: 1

Batchir @ Сегодня, 9:28 * ,
Возможно я немного неправильно пояснил.
Имя поля в БД "Группа" - это ссылка на справочник "группы" (как напремер "подразделения организации" в УПП или чем-то подобном )

а "Группа1" и "Группа2" это наименования элемента в этом справочнике. Но все равно спасибо. Не ожидал что кто-то ответит в суботу.

И да я человек не далёкий и в программировании плаваю не глубоко потому попрошу объяснять как для умственно отсталого.

Batchir Подменю пользователя
сообщение 25.10.21, 12:53
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Я Вас прекрасно понял. Для того что бы в запросе что-либо сгруппировать, необходимо иметь это поле по которому можно группировать

Вы привели пример на "кубиках", я и привел так же для примера запрос, в котором для "Група1" и "Група3" есть общее поле с наименованием "Група1+Група3"
В "Група2" и "Група4" оно равно NULL.
Далее в запросе проверяем что если заполнено объединяющее поле, то используем его для получения итогов. Если не заполнено, то используем поле Группа.

Возможно если бы Вы привели точный пример запроса, то и ответ получили бы более точный)

Сообщение отредактировал Batchir - 25.10.21, 12:55

Спасибо сказали: ZenBi,

ZenBi Подменю пользователя
сообщение 09.11.21, 10:59
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 37
Спасибо сказали: 1 раз
Рейтинг: 1

Batchir @ 25.10.21, 12:53 * ,
Здравствуйте. Спасибо за помощь. Простите, что поздно отписал. С задачей справился пусть и пришлось изгалятся.
Просто сделал несколько запросов:
1 - Запрос выбирает все значения "Группы1"
2 - Запрос выбирает все значения "Группы3"
3 - Объеденяем оба результата запроса в одну таблицу.
4 - Выбираем все "Группы" кроме 1 и 3

А в отчете выводим отдельно результат 3-го запроса (сумарную таблице двух групп) как "Группа1+Группа3" и отдельно же "Группы" из запроса "4".
Надеюсь обяснил относительно понятно. Но в итоге получил то что и хотел. Кстати оказалось что передать значение параметра в запрос как поле запроса(таблицы) можно просто добавив в отобранные запросом поля "&Параметр".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 15:10
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!