Имя: Пароль:
1C
1С v8
1с8.2.15 СКД. Связи наборов данных
0 echo77
 
22.05.12
14:31
Имеем два набора данных:
Запрос1(Поля: Подразделение, Участок, Сотрудник, Сумма)
Таблица1(Поля: Подразделение,Участок, Процент)

Таблица1 заполняется программно - это таблица содержащая процент для пары Подразделение и его участка, при чем, если если в подразделении для всех участков процент один, то таблица имеет одну запись в таблице, где участок = 0.
Примерный вид набора Запрос1:
Подразделение; Участок; Сотрудник; Сумма
01 цех; 1; Иванов; 100 руб.
01 цех;41; Петров; 200 руб.
02 цех; 2; Васькин;300 руб.
02 цех; 3; Пупкин; 400 руб.

Таблица1 имеет вид:
Подразделение; Участок; Процент
01 цех; 0; 40%
02 цех; 2; 20%
03 цех; 3; 30%

В итоге, после соединения должно получиться:
Подразделение; Участок; Сотрудник; Сумма; Процент
01 цех; 1; Иванов; 100 руб.; 40%
01 цех;41; Петров; 200 руб.; 40%
02 цех; 2; Васькин;300 руб.; 20%
02 цех; 3; Пупкин; 400 руб.; 30%

На вкдадке Связи, в СКД, указываю
источник: Запрос1
приемник: Таблица1
выражение источник: Подразделение
выражение приемник: Подразделение
Условия связи?:  Участок=Участок или Участок = 0 так писать?

Не получается :-/

В курсе Гилева и Насипова, вопрос про связи рассмотрен по верхам
1 echo77
 
22.05.12
16:14
ап?
2 Ns33
 
22.05.12
17:04
Делай связь запросом, то что в СКД, лучше использовать там, где нельзя сделать запросом: иерархия и прочие хитрые штуки.
3 echo77
 
22.05.12
17:58
Придется тогда регистр сведений добавлять в конфигурацию чтобы в нем хранить эту таблицу.
Запросом я пока не могу получить набор Таблица1
4 Рыжий Лис
 
22.05.12
18:41
Разделить таблицу на две там где участок = 0 и <> 0. Соединяться с обоими. ISNULL(ТаблицаСУчастком.Процент, ТаблицаБезУчастка.Процент)
5 echo77
 
22.05.12
19:13
(4) Да, думаю, такое решение поможет
Независимо от того, куда вы едете — это в гору и против ветра!