|
|
|
Зачем здесь соединение со справочником Сотрудники? | ☑ | ||
|---|---|---|---|---|
|
0
Lama12
07.11.25
✎
13:03
|
Кусочек запроса из СКД отчета "Состояния сотрудников" из ERP.
Может кто объяснить, зачем здесь соединение со справочником сотрудники, если в регистре измерение Сотрудник не составного типа? ВЫБРАТЬ РАЗРЕШЕННЫЕ СостоянияСотрудников.Период КАК Период, СостоянияСотрудников.ДействуетДо КАК ДействуетДо, СостоянияСотрудников.Сотрудник КАК Сотрудник, ВЫБОР КОГДА СостоянияСотрудников.ВидВремени = ЗНАЧЕНИЕ(Справочник.ВидыИспользованияРабочегоВремени.ПустаяСсылка) ТОГДА СостоянияСотрудников.Состояние ИНАЧЕ СостоянияСотрудников.ВидВремени КОНЕЦ КАК Состояние, ВЫБОР КОГДА СостоянияСотрудников.Период > &НачалоПериода ТОГДА СостоянияСотрудников.Период ИНАЧЕ &НачалоПериода КОНЕЦ КАК НачалоПодсчета, ВЫБОР КОГДА СостоянияСотрудников.ДействуетДо < &ОкончаниеПериода И СостоянияСотрудников.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА СостоянияСотрудников.ДействуетДо ИНАЧЕ &ОкончаниеПериода КОНЕЦ КАК ОкончаниеПодсчета, СостоянияСотрудников.ОкончаниеПредположительно КАК ОкончаниеПредположительно ПОМЕСТИТЬ ВТСостоянияСотрудников ИЗ РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники ПО СостоянияСотрудников.Сотрудник = Сотрудники.Ссылка ГДЕ СостоянияСотрудников.Период < &ОкончаниеПериода И (СостоянияСотрудников.ДействуетДо >= &НачалоПериода ИЛИ СостоянияСотрудников.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1)) И СостоянияСотрудников.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Увольнение) |
|||
|
1
PLUT
гуру
07.11.25
✎
13:09
|
(0) работает? ничего не трогай
|
|||
|
2
2S
07.11.25
✎
13:12
|
Видимо когда-то было обращение к реквизитам справочника.
|
|||
|
3
Волшебник
07.11.25
✎
13:14
|
(2) Обращаться к реквизитам справочника надо так: СостоянияСотрудников.Сотрудник.Реквизит
|
|||
|
4
программистище
07.11.25
✎
13:15
|
(0) работа закончилась, нужно докопаться до мелочи?
|
|||
|
5
программистище
07.11.25
✎
13:17
|
(3) СостоянияСотрудников. не хранит структуру справочника Сотрудники, что приведет к неявному соединению с таблицей справочника
это плохая логика, доверять платформе?! |
|||
|
6
Волшебник
07.11.25
✎
13:20
|
(5) Неявные соединения — это хорошие соединения. Пользуйтесь возможностями платформы!
|
|||
|
7
Fragster
гуру
07.11.25
✎
13:23
|
надо смотреть что в настройках структуры СКД.
|
|||
|
8
Garykom
гуру
07.11.25
✎
13:31
|
(0) Для отборов СКД по сотрудникам
|
|||
|
9
Lama12
07.11.25
✎
13:32
|
(7) Ага... Значит что-то с особенностями работы СКД. Дальше разберусь. Спасибо за направление.
|
|||
|
10
Lama12
07.11.25
✎
13:33
|
(8) Предполагал, но не был уверен. Спасибо. Вместе с (7) картинка сложилась.
|
|||
|
11
программистище
07.11.25
✎
14:18
|
(6) так-то согласен, если платформа позволяет, значит можно
|
|||
|
12
Ненавижу 1С
гуру
07.11.25
✎
14:27
|
RLS у регистра и справочника разные (см. ПриЗаполненииОграниченияДоступа). Будет ограничиваться по обоим
|
|||
|
13
программистище
07.11.25
✎
14:31
|
(12) вот она истина, точняк
|
|||
|
14
Rovan
гуру
07.11.25
✎
14:38
|
(0) такое соединение помогает исключить битые ссылки
|
|||
|
15
PR
07.11.25
✎
14:58
|
(8) Серьезно что ли?
А без этого соединения по сотрудникам прям не получится отбирать что ли? |
|||
|
16
PR
07.11.25
✎
14:59
|
(12) Что-то прям сомнительно, если честно, но ХЗ
|
|||
|
17
PR
07.11.25
✎
14:59
|
(14) Какие битые ссылки, ты о чем?
|
|||
|
18
PR
07.11.25
✎
15:00
|
(0) Если не (12), то похоже, что и без соединения будет работать ровно так же
|
|||
|
19
scanduta
07.11.25
✎
15:01
|
(8) Сомнительно, но окэй
|
|||
|
20
d4rkmesa
07.11.25
✎
15:05
|
(15) Можно еще предположить, что отбор по характеристикам (доп. реквизитам и сведениям) справочника Сотрудники так будет работать, а только с регистром - нет.
|
|||
|
21
Franchiser
07.11.25
✎
15:05
|
(0) если на справочник rls есть, а на регистр rls не настраивали могут под неполными правами пропасть часть лишних записей регистра, на которые у пользователя нет доступа.
|
|||
|
22
PR
07.11.25
✎
15:19
|
(20) Хрень
Вообще нужно целиком СКД посмотреть, конечно Типа что отвалится и отвалится ли, если убрать соединение |
|||
|
23
PR
07.11.25
✎
15:20
|
(21) Ну вот это да, похоже на правду, такое может быть, так-то звучит логично
|
|||
|
24
Ненавижу 1С
гуру
07.11.25
✎
15:37
|
(16) полез в ЗУП (что под рукой)
вот регистр: Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт Ограничение.Текст = "РазрешитьЧтениеИзменение |ГДЕ | ЗначениеРазрешено(Сотрудник.ФизическоеЛицо)"; КонецПроцедуры вот справочник: Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт Ограничение.Текст = "ПрисоединитьДополнительныеТаблицы |ЭтотСписок КАК Т |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОрганизацииВКоторыхРаботалиСотрудники КАК Т2 | ПО Т2.Сотрудник = Т.Ссылка |; |РазрешитьЧтениеИзменение |ГДЕ | ЗначениеРазрешено(Т2.Организация) | и ЗначениеРазрешено(Т.ФизическоеЛицо)"; КонецПроцедуры в регистре нет ограничения по организациям, а в справочнике есть |
|||
|
25
Ненавижу 1С
гуру
07.11.25
✎
15:38
|
(21) (23) так это ровно тоже, что и (12)
|
|||
|
26
Маленький Вопросик
07.11.25
✎
15:55
|
Еще главное РАЗРЕШЕННЫЕ, как будто кто-то заморачивался у вас права делил по каждому))))))
А запрос - г*внокод! Внутренне соединение здесь не нужно, нужно условие постобработки, если хотите какой-то отбор сделать! |
|||
|
27
Rovan
гуру
07.11.25
✎
16:07
|
(17) битые ссылки в регистре СостоянияСотрудников
|
|||
|
28
PR
07.11.25
✎
16:13
|
(27) И че и че?
|
|||
|
29
Ненавижу 1С
гуру
07.11.25
✎
16:13
|
(26) вы правда считаете, что никто не использует RLS?
|
|||
|
30
PR
07.11.25
✎
16:14
|
(26) Расходимся, пацаны, это просто говнокод, главный сказал
|
|||
|
31
Rovan
гуру
07.11.25
✎
16:15
|
(27) по битым ссылкам соединение не пройдет и запрос их не вернет
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |