![]() |
|
Обращение через точку в запросе | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
slavawashere
21.01.21
✎
12:18
|
Во всех статьях про запросы 1С пишут про "смертный грех" - обращение к данным через точку, которое порождает вложенный запрос и влечет замедление запроса.
Но я не совсем понимаю до конца про что это: Вот есть у нас регистр "ФактическоеРабочееВремяСотрудников", а там есть измерение "Сотрудник" с типом "Справочник.ФизическиеЛица", а у этого справочника есть реквизит "Магазин" - чтобы понимать где работает этот сотрудник. И вот я пишу запрос к этому регистру, пытаясь выяснить всех работающих сотрудников определенного магазина (ну такая задача - надо именно через этот регистр, с учетом еще некоторых сведений из этого регистра, которые я опустил в запросе для простоты) ВЫБРАТЬ ФактическоеРабочееВремяСотрудников.Сотрудник КАК Сотрудник ИЗ РегистрНакопления.ФактическоеРабочееВремяСотрудников КАК ФактическоеРабочееВремяСотрудников ГДЕ ФактическоеРабочееВремяСотрудников.Сотрудник.Магазин = &Магазин Я тут совершил этот грех или нет? И если да, то как это исправить? Как наложить такое условие не обращаясь через две точки? Делать сначала запрос к справочнику Физ-лица, выбирать оттуда сотрудников определенного магазина и потом в запросе к регистру выбирать сотрудников только из полученного ранее списка? А не будет ли это дольше в конечном итоге? |
||||||||||
24
youalex
21.01.21
✎
13:05
|
(0) не вложенный запрос, а соединение.
в твоем примере это нормально, тяжесть греха зависит от того, является ли тип поля составным. это не смертный грех, но... |
||||||||||
45
Anton1307
21.01.21
✎
15:52
|
(43) Что значит "пол не изменен". Ты из какого века свалился?
Я, кстати, ещё лет 5 назад на партнёрском форуме "1С" задал вопрос, как в ЗУП отразить смену пола сотрудником. Техподдержка ещё думает. По теме - если обращаешься к какому ни-будь небольшому справочнику на 10-100 записей - через точку не смертный грех. А вот если через точку регистратора регистра - смертный это не смертный грех, но... |
||||||||||
52
МихаилМ
21.01.21
✎
16:55
|
чем точнее и однозначней 1с8 указать текст запроса, тем предсказуемым и стабильным будет результат преобразования запроса 1с в запрос субд.
1с аж два раза умудрилась накосячить с разименованием через точку. ждем третьего. это не смертный грех, но... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |