|
Обращение через точку в запросе |
☑ |
0
slavawashere
21.01.21
✎
12:18
|
Всего мнений: 8
Во всех статьях про запросы 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с аж два раза умудрилась накосячить с разименованием через точку. ждем третьего.
это не смертный грех, но... |
|