СКД. Условие связи наборов данных по "больше"

1. herfis 499 23.05.18 17:58 Сейчас в теме
Возможно ли в связях наборов данных СКД указать условие связи не только по равенству полей наборов, но и по одно "больше" другого?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user705522_constantin_h 35 23.05.18 18:05 Сейчас в теме
3. herfis 499 23.05.18 19:06 Сейчас в теме
(2) Можно пример задания любого условия? Или ссылочку?
А то я что-то торможу и нагуглить плохо получается...
4. user705522_constantin_h 35 23.05.18 19:55 Сейчас в теме
(3)Можно так;
Прикрепленные файлы:
5. herfis 499 24.05.18 09:28 Сейчас в теме
(4) Хм...
Спасибо. Я так пробовал.
Проблемное условие у меня по дате. Т.е. я хочу, чтобы выводились те записи из второго набора, даты которых позже даты из первого набора (второй набор мне нужен для расшифровки).
Если я не заполняю поле "Условие связи" (дефолтовое условие на равенство), то все работает (но неправильно, т.к. выводятся не все записи).
Как только я пишу в "Условие связи": ДатаВозникновенияДолга <= ДатаДвижений, то ругается что "Поле не найдено "ДатаДвижений" (это поле из второго набора).
Что я уже только не делал. Поля переименовывал, для всех полей связи ставил в ролях что это обязательные измерения...
Не подскажите, в чем еще может быть дело?
6. user613881_hienerge 24.05.18 09:37 Сейчас в теме
(5) Выгрузи отчет во внешний и в студию его, посмотрим )
7. spacecraft 24.05.18 09:42 Сейчас в теме
(5) в условиях связи могут быть использованы поля только из первого набора (источник связи), или указанные в "выражение источник".
Соответственно, для данного случая нужно добавить связь.
Указать "выражение источник": ДатаВозникновенияДолга
Указать "выражение приемник": ДатаДвижений
Условия связи: ДатаВозникновенияДолга <= ДатаДвижений

ps. еще нужно снять флаг "Обязательная связь".
9. herfis 499 24.05.18 11:17 Сейчас в теме
(7) Если я снимаю "Обязательная связь", то условие тупо не учитывается...
10. user705522_constantin_h 35 24.05.18 11:18 Сейчас в теме
(7)Я же сделал условия из двух наборов:
Прикрепленные файлы:
11. herfis 499 24.05.18 11:22 Сейчас в теме
Скрины не думаю, что помогут...
Там практически один в один то же, что и в (10).
Только ругается на отсутствие второго поля.
Но при условии на равенство (без "Условие связи") связь по этим полям отрабатывает корректно.
ЗЫ. Уточню, что ругается при компоновке. При настройке тупо не позволит указать некорректное поле в условиях связи.
8. user705522_constantin_h 35 24.05.18 11:05 Сейчас в теме
15. herfis 499 24.05.18 12:06 Сейчас в теме
Нашел детальное пояснение про "Условие связи"

"Сделаю пояснение про поле "Условие связи", об которое так часто бьют свои копья начинающие программисты.
Условие связи - это вспомогательное поле. Туда можно писать выражения с участием полей только из набора данных, указанного в источнике связи.
В этом случае для всех строк из источника связи перед осуществлением связи будет проверяться это выражение (условие связи). И если это выражение равно ИСТИНА, то будет предприниматься попытка установить связи этой строки со строками из приемника связи. Если же выражение равно ЛОЖЬ, то таких попыток предприниматься не будет"


Если так и есть, то это возвращает меня к сабжевому вопросу. И непонятно тогда, как работает у (4). Может, тупо игнорируется, как необязательное?
Varozh; sogesti; +2 Ответить
12. herfis 499 24.05.18 11:33 Сейчас в теме
Может, какая-то хитрость в том, что второй набор данных я использую только для расшифровки.
То есть, в основном отчете не используется ни одно поле из второго набора, а в "расшифровочных" настройках не используется ни одно поле из первого набора (они просто прилетают в отборы).
ЗЫ. Да не, проверил - вроде без разницы...
13. user613881_hienerge 24.05.18 11:49 Сейчас в теме
(12) Проверь в полях второго набора данных есть поле "ДатаДвижений", если его там нет, то соответственно ты получишь ошибку, в условии используются поля наборов данных.
14. herfis 499 24.05.18 11:55 Сейчас в теме
(13) СКД не позволяет указать в условиях связи несуществующее в наборе поле. И как я уже говорил - обычная связь по этим полям отрабатывает.
16. herfis 499 24.05.18 12:22 Сейчас в теме
Похоже, что правильный ответ на сабжевый вопрос - "невозможно".
Но так как мне для расшифровки, выкручусь через проброску отбора по дате движений при выполнении расшифровки.
17. ArcDevil 31.03.21 13:18 Сейчас в теме
Понимаю что уже много времени прошло, но может кто ищет ответ

Можно обойти через Параметр там же в Связях наборов данных, примерно так, смотрите скрины:
Прикрепленные файлы:
annapam1983; pieceofmind; myoker; ligan; smit1c; +5 Ответить
18. XoloD 14 16.04.21 06:16 Сейчас в теме
(17) Помог. В приемнике в запросе, добавил параметр и в условие его.
Оставьте свое сообщение

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