Как корректно построить запрос к РС с отбором по реквизитам? #571629


#0 by Aleks73
Есть периодический зависимый регистр сведений, у которого один из реквизитов имеет тип справочник, по нему нужно сделать отбор. Совсем не классика, я не имел дело с отборами по реквизитам вкупе со СрезПоследних, и не уверен что прокатит ГДЕ с учетом того, что понадобится ЛЕВОЕ СОЕДИНЕНИЕ. Чтобы не изобретать велосипед, киньте в меня кто-нибудь таким кодом.
#1 by Aleks73
сорри, напутал, по РЕСУРСАМ, если это важно
#2 by mikecool
сам спросил, сам ответил
#3 by Aleks73
нет не ответил
#4 by mzelensky
ну ты бы хоть свой вариант написал...для начала!
#5 by mzelensky
->
#6 by Aleks73
В сущности я написал . конкретно: что-то там из рс.срезпоследних( левое соединение другой рс по..... где рс.ресурс в (&списзначений) Не уверен, что так будет правильно. Кто делал, киньте код !
#7 by mzelensky
а исходя из каких соображений "Не уверен, что так будет правильно." ??? где читал, от кого слышал?
#8 by Aleks73
у меня были не раз случаи, и читал, что при СОЕДИНЕНИИ глючит отбор ГДЕ.
#9 by GenV
Озвучь примеры, может что нового узнаю ...
#10 by catena
ГДЕ никогда не глючит, скорее глючилка по другую сторону экрана. :)
#11 by Ненавижу 1С
потому при ЛЕВОМ бывает NULL
#12 by Aleks73
насколько я помню, чуть ли не стандат такое есть. например Р1.остатки(отбор1) левое соединение Р2.остатки(отбор2) прокатит, Р1.остатки левое соединение Р2.остатки(отбор2) ГДЕ отбор1 заглючит. конкретного примера нет, давно с этим сталкивался.
#13 by unregistered
Ну, например, с отбором по стране:   ФИОФизЛицСрезПоследних.Отчество
#14 by Aleks73
при том, что ГДЕ относится к ПЕРВОМУ регистру из соединения.
#15 by Aleks73
тут отбор ПО ИЗМЕРЕНИЯМ, а мне надо по РЕСУРСАМ
#16 by unregistered
Страна - ресурс регитра, а не измерение.
#17 by unregistered
Бред. Не верю (с). Нужен конкретный пример. Уверен, что причина не в "ГДЕ".
#18 by catena
Во-первых, у тебя в примере остатки, что не вяжется с РС. А во-вторых, не путай условие виртуальной таблицы с условием в самом запросе.
#19 by Aleks73
так будет работать ? какая база ? у меня на базе бух 2.0 один из последних релизов, по глобальному поиску ничего близко нет.
#20 by Aleks73
когда будет - напишу
#21 by Aleks73
просто редко делал РС ЛЕВОЕ СОЕДИНЕНИЕ РС, поэтому РО.
#22 by Ненавижу 1С
бухаем?
#23 by mzelensky
не вижу проблемы/глюков совершенно никаких!
#24 by unregistered
Это бух 1.5
#25 by Aleks73
я на работе не пью
#26 by Aleks73
а...попробую, все может быть.
#27 by catena
В данном примере левое соединение вообще ни на что не влияет.
#28 by unregistered
Кстати в Бух 2.0 есть точно такие же периодические регистры сведений.
#29 by GenV
Если проблемы и могут быть, то только из-за ...
#30 by catena
ВЫБРАТЬ    РаботникиСрезПоследних.ФизЛицо Все, кто чичас имеет должность &Должность ВЫБРАТЬ    РаботникиСрезПоследних.Физлицо Все, кто когда-либо имел должность &Должность.
#31 by Aleks73
интересное кино....
#32 by catena
#33 by Aleks73
а если конкретную дату ?
#34 by catena
Ну будет на дату. Усолвие в виртуальной таблице применяется до отбора, в ГДЕ - после отбора.
#35 by mzelensky
с какой это радость:    РаботникиСрезПоследних.Физлицо Все, кто когда-либо имел должность &Должность." ??? ты же все-таки срез последних берешь!!!
#36 by mzelensky
+ я же правельно понял ,что "Должность" в обоих случаях измерение ?
#37 by unregistered
>> Все, кто когда-либо имел должность &Должность С чего бы? Ты получишь только сотрудников которые сейчас на этой должности.
#38 by Aleks73
РЕСУРС
#39 by unregistered
Не имеет значения.
#40 by catena
Берет срез последних среди записей Должность = &Должность. А не из всех записей.
#41 by mzelensky
а...тогда ДА!
#42 by Aleks73
(40-41) озадачили.
#43 by unregistered
Что-то я тоже запутался. :)) Надо будет попробовать и сравнить.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С