Имя: Пароль:
1C
1С v8
1с СКД необязательные параметры в СКД
, ,
0 skela1c
 
31.07.17
10:35
Запрос в СКД :
ВЫБРАТЬ
    РегСвед.Период,
    РегСвед.Сотрудник,
    РегСвед.Подразделение КАК Филиал,
    РегСвед.Период КАК Время
ИЗ
    РегСвед.зс_бк_ПодразделенияСотрудников КАК РегСвед
{ГДЕ
    (РегСвед.Сотрудник=&Сотрудник}

если "Сотрудник" не выбрано, то выводить по всем сотрудникам. Теоретически так должно работать, но не работает, подскажите, что я делаю не правильно?
1 Rokford
 
31.07.17
10:46
Добавь сотрудника в отборы, а из условия убери. будет более универсально.
2 skela1c
 
31.07.17
10:49
как можно проверить что параметр пустой, а не передаётся туда пустая ссылка
3 Mankubus
 
31.07.17
10:49
(2) почитай про фигурные скобки в СКД
4 skela1c
 
31.07.17
10:51
а если в отборах использовать, можно галочки убрать?
5 Rokford
 
31.07.17
10:54
А если уже хочешь с необязательным параметром в условии, то равенство писать не нужно, а просто перечисление.

{ГДЕ
    РегСвед.Сотрудник}
6 Rokford
 
31.07.17
10:55
(4) Какие галочки? Использование?
7 skela1c
 
31.07.17
11:14
ага
8 Rokford
 
31.07.17
11:17
когда в конфигураторе СКД настраиваешь у созданного набора галку сними (использование). Тогда изначально отбор в предприятии будет без "галки" показан.
Но, по-моему, это мелочи, т.к. после первой работы пользователя все параметры сохранятся так, как он настроит.

Если галка так принципиальна - проверяй программно (и изменяй, если нужно)
9 Rokford
 
31.07.17
11:17
*У созданного ОТБОРА конечно же
10 skela1c
 
31.07.17
11:22
я разобрался, спасибо
11 ildary
 
31.07.17
15:19
Скажите пожалуйста, чем отличается вариант

{ГДЕ
    РегСвед.Сотрудник}

от ручного создания отбора в СКД на закладеке "Настройки"?
12 D3O
 
31.07.17
16:32
(11) скоростью работы на больших объемах данных. условие ГДЕ при использовании отработает на стороне сервера БД, а отбор на стороне сервера 1С. уже после того, как получит всю пачку без отбора
13 ildary
 
31.07.17
16:35
(12) большое спасибо за пояснение
14 kittystark
 
31.07.17
17:47
(12) да ладно...

если у тебя в настройках СКД стоит отбор по какому-то полю, а в тексте запроса набора данных нет условия ГДЕ (без кривых скобок), то текст запроса "налету" модифицируется и это самое ГДЕ появляется "волшебным образом"

и ты хочешь сказать на SQL уходит первородный запрос, без этих автоматических модификаций ?