Соединение только уникальных значений

1. WaldemarV01 29.11.24 16:15 Сейчас в теме
Всем привет! Есть задача: в отчете скд нужно вывести две колонки начисления и удержания по сотруднику. В запросе хочу получить три колонки: Сотрудник, Начисление, Удержание. Количество начислений и удержаний различно, соответственно, хотелось бы получать записи как на скрине (если нет соответствия - "0"). Для ситуации когда был один сотрудник, делал две ВТ и добавлял АВТОНОМЕРЗАПИСИ() и потом делал по нему связь, но такое не прокатит, если нужны записи по всем сотрудникам. Подскажите, какие есть соображения по поводу решения)
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. Sashares 35 29.11.24 16:26 Сейчас в теме
(1) Как вариант, внешний набор данных. Таблица с колонками Сотрудник, Начисление, Удержание.
Заполнять внешний набор в ПриКомпоновкеРезультата отчета.
То есть до выполнения СКД получить таблицу в нужном виде и передать ее в СКД.


Надо использовать не соединение, а объединение.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sashares 35 29.11.24 16:26 Сейчас в теме
(1) Как вариант, внешний набор данных. Таблица с колонками Сотрудник, Начисление, Удержание.
Заполнять внешний набор в ПриКомпоновкеРезультата отчета.
То есть до выполнения СКД получить таблицу в нужном виде и передать ее в СКД.


Надо использовать не соединение, а объединение.
5. WaldemarV01 29.11.24 16:44 Сейчас в теме
(4) Если объединять, то как? Там ведь получаться сначала записи только с начислениями и "0" по полю удержания, а потом наоборот. Или я чего-то не догоняю)
10. Sashares 35 29.11.24 18:40 Сейчас в теме
(5) потом сгруппировать)
13. Bukaska 140 29.11.24 18:50 Сейчас в теме
(5) Объединить все... это вы получите все поля. Для исключения дублей группируете по сотруднику
Почитайте про разницу операторов когда нужно ОБЪЕДИНИТЬ, а когда ОБЪЕДИНИТЬ ВСЕ, но вам подсказывают верное направление
16. Said-We 30.11.24 01:29 Сейчас в теме
(1)
но такое не прокатит, если нужны записи по всем сотрудникам.
Нумеруй отдельно по тем сочетаниям полей, по которым необходимо. В вашем случае отдельная нумерация по каждому сотруднику отдельно. По сути примерно так:
row_number() over(PARTITION by Сотрудник ORDER by Начисление.Код)
И соединение тут не нужно. Объедини пронумерованные начисления и удержания и сгруппируй по сотруднику и номеру, а для колонки с суммой начисления и ещё одной колонки удержания агрегатная функция сложения.
2. MissionOnly 8 29.11.24 16:22 Сейчас в теме
Метка:
Есть на кого перевалить решение задачи,
Тогда молодец - ЗАДАЧА РЕШЕНА
Иначе GOTO ~Метка

Такой АЛГОРИТМ.
3. WaldemarV01 29.11.24 16:26 Сейчас в теме
(2) Это не практическая, а учебная задача(я новенький в 1С) И я прошу не решения, а соображения как можно это сделать. А так алгоритм не плохой)
6. starjevschik 29.11.24 17:06 Сейчас в теме
(3) так лучше преподавателя спросить, он за это деньги получает, иначе за что платишь ему?
7. WaldemarV01 29.11.24 17:14 Сейчас в теме
(6) Решил попользоваться форумом)
8. starjevschik 29.11.24 18:21 Сейчас в теме
(7) так на форуме учебные вопросы только стеб вызывают, все же это форум профессионалов. Здесь даже если найдется кто-то добрый и сделает за тебя, все равно никто не объяснит, как и почему. Смысла в таком ответе нет никакого. Ученикам логичнее обращаться к учителю. В школе же вопросы по домашке не спрашиваешь в реддите, спрашиваешь у учителя, это его работа.
9. WaldemarV01 29.11.24 18:40 Сейчас в теме
(8) Спасибо, учту) Не совсем, конечно, понимаю механику "постебаться на тем, кто учиться". По школьным вопросам точно также есть форумы, куда можно зайти и поиздеваться на тем, у кого проблемы с каким-нибудь предметом. И точно также, не всегда учитель может помочь, потому что самому бы поучиться. Зато у людей всегда хватает времени написать какую-нибудь колкость, чтобы видимо эго потешить)
12. starik-2005 3090 29.11.24 18:42 Сейчас в теме
(9)
И точно также, не всегда учитель может помочь, потому что самому бы поучиться. Зато у людей всегда хватает времени написать какую-нибудь колкость, чтобы видимо эго потешить)
Жиза...
11. starik-2005 3090 29.11.24 18:40 Сейчас в теме
(8)
В школе же вопросы по домашке не спрашиваешь в реддите, спрашиваешь у учителя
Серьезно?
14. user1863362 29.11.24 22:53 Сейчас в теме
(7)
Решил попользоваться форумом)
Представь себе, что твой преподаватель внезапно тоже читает этот форум. И, видя твои "обоснования", понимает что ты из себя представляешь.
user2107184; +1 Ответить
15. user2107184 29.11.24 22:57 Сейчас в теме
17. WaldemarV01 30.11.24 12:36 Сейчас в теме
(14) Где из моих слов следует, что у меня плохой наставник?) Я написал на форуме, потому что мне был интересен сам процесс решения вопроса здесь. Я бы действительно мог не тратить время и спросить у него напрямую, но суть была посмотреть какое комьюнити у 1С)
18. user2107184 30.11.24 12:40 Сейчас в теме
(17)
но суть была посмотреть какое комьюнити у 1С)
У тебя курсовик по социологии?

И да, коммьюнити во всем мире - это сообщество профессионалов.
А в 1С - это огромное сборище халявщиков и неучей с одной стороны, и кучки циников с неудовлетворенным ЧСВ, самоутверждающихся за счет первых. И это реальная целевая аудитория форума.
Так там и напиши.
19. WaldemarV01 30.11.24 12:56 Сейчас в теме
(18) нет, для личных целей. Но я согласен с выводом.
20. user1863362 30.11.24 22:08 Сейчас в теме
(19)
Но я согласен с выводом.
И к какой категории ты себя относишь?
21. WaldemarV01 30.11.24 23:19 Сейчас в теме
(20) Ахаха, я не хочу относиться ни к какой, поэтому в ближайшее время сюда не планирую)
22. user2107184 01.12.24 00:04 Сейчас в теме
(21)
в ближайшее время сюда не планирую)
А отсюда?
23. Said-We 01.12.24 00:15 Сейчас в теме
(21) 20 и более лет назад форумы не были на столько токсичными. И помогали и общались более открыто.
Хотя и было разное хамское поведение и откровенный троллинг. На Т1С был такой таксяк и ему подобные молодые люди. От нечего делать писали всё подряд во все ветки. Авторизация была не обязательна. Любое имя указал и вперед. Из тех кто был более 20 лет назад мало кто в форумах остался. С Т1С помню только Гену. Вот недавно (годик назад), после закрытия Т1С, он решил не на инфостарт перейти, а на другой форум. Предположу из-за более привычного интерфейса. Человек он весьма уже не молодой. Привычки дело такое. Но знаниями и размышлениями он делится и ему не жалко.

И да, форумы полезными перестают быть. Всё меньше людей готовы делиться знаниями. И всё меньше людей читает книжки, а сразу задают любой вопрос. Клипое мышление подразумевает быстрые ответы без подумать и без обоснование. Просто короткий вопрос и максимально короткий ответ.

Сейчас всё больше молодежи пользуются ИИ для ответов. Телеграмм каналы и соцсети для общения.
Форумы как площадки будут умирать потихоньку. Раньше же были чаты - а сейчас остались, наверное, только в играх на время самой игры. Так и форумы через какое-то время изживут себя.
24. user1863362 01.12.24 09:06 Сейчас в теме
(23) Я был там, Гэндальф. Я был там три тысячи лет назад. Я был там в тот день, когда сила людей иссякла. Это всё произошло из-за людей, народ людей бессилен
Оставьте свое сообщение

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