Имя: Пароль:
1C
1С v8
Запрос. Параметры вирт таб.
0 Boudybuilder
 
15.02.12
23:44
Запарился я чтото.
Ввожу отбор в параметрах виртуальных таблиц , но ничего не происходит...

ВЫБРАТЬ
   СостояниеРемонтовСрезПоследних.ID,
   СостояниеРемонтовСрезПоследних.Модель
ИЗ
   РегистрСведений.СостояниеРемонтов.СрезПоследних(, Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРемонтов.ВОчереди)) КАК СостояниеРемонтовСрезПоследних
1 Господин ПЖ
 
15.02.12
23:45
а что должно?
2 mirosh
 
15.02.12
23:46
(0) Привет, Boudybuilder
Состояние - это ресурс?
Если да, то используй секцию "ГДЕ" (Закладка "условия" компоновки данных), а не параметры виртуальной таблицы, ибо там указываются только отборы по измерениям
3 Boudybuilder
 
15.02.12
23:47
Спасибо!
4 Boudybuilder
 
15.02.12
23:49
А где мне сделать отбор на ресурс который имеет составной тип данных справочник.контрагенты и Справочник.склады. Чтоб показывало только справочник.склады ?
5 Boudybuilder
 
15.02.12
23:49
(4) Каким образом отфильтровать?
Напишите кодом , ато я не умею.
6 mirosh
 
15.02.12
23:50
(4) в условиях, ставится произвольное условие
<ИмяРесурса> ССЫЛКА Справочник.склады
7 mirosh
 
15.02.12
23:51
ВЫБРАТЬ
   СостояниеРемонтовСрезПоследних.ID,
   СостояниеРемонтовСрезПоследних.Модель
ИЗ
   РегистрСведений.СостояниеРемонтов.СрезПоследних() КАК СостояниеРемонтовСрезПоследних
ГДЕ
СостояниеРемонтовСрезПоследних.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРемонтов.ВОчереди)
И <ИмяРесурса> ССЫЛКА Справочник.склады
8 Boudybuilder
 
15.02.12
23:52
СостояниеРемонтовСрезПоследних.НаСкладе = Ссылка (Справочник.Склады)  

?
9 mirosh
 
15.02.12
23:53
(8) без равно, я же написал
10 mirosh
 
15.02.12
23:53
(8) и без скобок
11 Boudybuilder
 
15.02.12
23:54
Спасибо , интересный конечно метод отбора...
Впервые с таким сталкиваюсь...
12 mirosh
 
15.02.12
23:55
(11) на тип в запросе так проверяется
13 Boudybuilder
 
15.02.12
23:55
В запросах всегда не так как в остальном синтаксисе в 1С.
Где бы можно поподробнее язык запросов изучить?
каую литературу посоветуете?
14 GROOVY
 
15.02.12
23:56
На дисках ИТС есть клевые статьи.
15 mirosh
 
15.02.12
23:59
(13)
для начала можно во встроенной справке 1С, там целый раздел есть.
http://www.sql.ru/forum/actualfile.aspx?id=7332797
16 Boudybuilder
 
16.02.12
00:00
ВЫБРАТЬ
   СостояниеРемонтовСрезПоследних.ID,
   СостояниеРемонтовСрезПоследних.Модель
ИЗ
   РегистрСведений.СостояниеРемонтов.СрезПоследних(, Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРемонтов.ВОчереди)) КАК СостояниеРемонтовСрезПоследних
ГДЕ
   СостояниеРемонтовСрезПоследних.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРемонтов.ВОчереди)
И   <СостояниеРемонтовСрезПоследних.НаСкладе> ССЫЛКА Справочник.Склады

Синтаксическая ошибка
17 mirosh
 
16.02.12
00:00
(16) ну без треугольных скобок :)
18 mirosh
 
16.02.12
00:00
(16) и убери условие из параметров виртуальной таблицы
19 Boudybuilder
 
16.02.12
00:01
Пасиб...
20 Boudybuilder
 
16.02.12
00:01
Убрал
21 Boudybuilder
 
16.02.12
02:20
Хотелось бы решить такую задачу но не знаю каким образом.
Нужен отчет на примере как в типовой закупки и продажи но в одном.
Чтоб по конкретному контрагенту мог отобрать все доки с подробным описание к нему и от него.

Если тяну с регистра , то могу получить только в одном направлении , так как соединяю его с доком прихода или расхода и фильтрую по контрагенту с дока.

А если соединить с обеими доками , то как соединить отбор чтоб шол по их реквизитам "контрагент" ?
22 Boudybuilder
 
17.02.12
11:31
Блин , а если надо отфильтровать по двух типах?

СостояниеРемонтов.Регистратор ССЫЛКА Документ.ПередачаРемонтовНаСервис + Документ.ПриемРЕмонтовИзСервиса

Как написать строку?
23 Рэйв
 
17.02.12
11:32
(22) вместо  + - ИЛИ
24 Рэйв
 
17.02.12
11:32
ну и все остальное повтори слева.
25 Boudybuilder
 
17.02.12
11:50
Пасиб
26 Иоканаан
 
17.02.12
12:12
(2) Позволю себе с Вами не согласиться: в параметре условие виртуальной таблицы регистра сведений можно указать как условия на значение ресурсов, так и условия на значения измерений: в этом легко убедиться на любой подручной базе. Просто в первом случае - в заглавном запросе сначала были отобраны записи по условию, а потом выполняется нахождение среза последних.
Когда Вы предложили (весьма разумно и плодотворно) вынести условие в конструкцию ГДЕ, автор темы сначала получил срез последних, а потом уже применил условие.