Имя: Пароль:
1C
1С v8
СКД. Будьте внимательны с соединениями при отключенном автозаполнении настроек!
,
0 fisher
 
23.02.15
12:37
Если два разных соединения взяты по-отдельности в фигурные скобки и второе использует результат первого, то СКД не догадывается выполнить первое соединение, если результат второго используется только в формуле поля (будущего ресурса) в ВЫБРАТЬ (в конкретном варианте настроек).
В итоге при использовании такого ресурса (без явного использования данных первого соединения в конкретном варианте настроек) СКД не делает первое соединение. Ничего при этом не сообщая. Просто второе соединение будет оперировать с NULL вместо данных первого соединения с непредсказуемым результатом. Я блин кучу времени убил на разбор полетов, когда после рефакторинга отчета в новой конфе он начал тупо валиться из-за большого количества детальных записей (записи множились). А по факту просто убрал лишнее условие, где явно задействовались данные первого соединения и сработала вышеописанная фигня. В итоге просто сделал первое соединение обязательным (убрал фигурные скобки), благо оно "легкое" и необходимо во многих настройках.
1 GROOVY
 
23.02.15
12:44
В соединения же вроде есть галочка "Обязательное".
2 fisher
 
23.02.15
12:51
Дык оно на самом деле необязательное. Просто я описал ситуацию, когда СКД не догадывается его использовать. Полечить  этой галкой - да, можно (она убирает фигурные скобки). Так и полечил. Но ситуация стремная, поэтому решил описать. Может, кому время сэкономлю.
3 fisher
 
23.02.15
12:53
Если явно добавить в настройку вывод поля из второго соединения, то СКД догадывается, что нужно и первое задействовать тоже. А вот в сабжевой ситуации почему-то тупит.