Имя: Пароль:
1C
1С v8
СКД отборы только на этапе выборки данных
,
0 craxx
 
01.04.15
08:24
Доброго времени суток! Помогите пожалуйста разобраться со следующим моментом. В отчете имеется запрос, состоящий из временных таблиц и собственно выборки данных. Как сделать так, чтобы пользовательскими отборами отбиралось только на этапе выборки данных, а на временные таблицы не влияли никакие отборы?
1 ShoGUN
 
01.04.15
08:28
(0) Убрать условия в фигурных скобках в этих запросах.
2 craxx
 
01.04.15
08:28
их и так нету
3 ShoGUN
 
01.04.15
08:29
(2) А с чего ты взял, что отборы влияют на временные таблицы?
4 craxx
 
01.04.15
08:35
а с того что меняются коэффициенты, которые во временных таблицах вычисляются
5 craxx
 
01.04.15
08:36
и которые должны считаться без учета всяких пользовательских отборов
6 NikLab
 
01.04.15
08:38
Разделить запрос. То есть создать несколько наборов данных типа Запрос. Каждый набор, есть временная таблица. А объединять через связи наборов данных или создавать объединение.
7 craxx
 
01.04.15
08:39
(6) а в самом запросе это никак не сделать? чтобы не фильтровал регистр накоплений по одному из измерений пользовательский фильтр?
8 StanleyMarsh
 
01.04.15
08:41
(0) нужно лучше осознать почему меняются коэффициенты. Причин тут может быть много. Может можно настройками СКД добиться правильных коэффициентов без всяких отборов в запросах.
9 craxx
 
01.04.15
08:43
отборы заказчик в тз заказал
10 craxx
 
01.04.15
08:46
(8) грубо говоря, во временной таблице вычисляются коэффициенты, путем деления ПланаПродажПодразделений на ЛичныеПродажиСотрудников, и в регистре ЛичныеПродажиСотрудников есть измерение Сотрудник, но в запросе я его не использую, беру обороты в целом по подразделению, все это заливаю во временную таблицу. Так вот если установить отбор по сотруднику - то коэффициенты меняются, а они не должны меняться, потому что отбор по выборке данных, в которых так же сотрудник присутствует
11 NikLab
 
01.04.15
09:01
(7) Ничего не могу сказать больше пока не скинешь запрос
12 craxx
 
01.04.15
09:08
(11) Запрос офигенных размеров из 23 временных таблиц разной степени вложенности. Смысла нету. Решил вопрос тупо, переименовал в конечной выборке поля измерений, грубо говоря сделал вместо Сотрудник - ПодразделениеСотрудник, и тп. Все заработало.
13 Defender aka LINN
 
01.04.15
09:09
(12) Молодец. Распечатай себе на А3 табличку "Я не умею в СКД".
14 craxx
 
01.04.15
09:14
(13) ты бы написал как правильно сделать
15 StanleyMarsh
 
01.04.15
09:38
(10) чтобы понять какой будет итоговый результат нужно видеть как соединяются таблицы в запросе...Возможно тебе чем то поможет вкладка Ресурсы в СКД, там можно настраивать как будут вычисляться ресурсы (в частности твои коэффициенты)... Да и вообще 23 временные таблицы - много даже для разработчиков 1С уверен, что есть более оптимальное техническое решение.
16 fisher
 
01.04.15
10:04
(14) Вариантов несколько на самом деле. В сложно-хитрых случаях бывает проще вообще отключать автозаполнение настроек.
"При автоматическом заполнении полей наборов данных действуют следующие правила.
1. Все поля списка выборки запроса и их дочерние поля становятся доступными для настроек отчета: отбора, сортировки, выбора, группировки и т. п. Заметим, что доступность поля будет определяться по его типу. Например, поле неограниченной длины не может быть использовано в качестве поля группировки.
2. Поля виртуальных таблиц, на которые можно наложить условия в параметрах этих таблиц, становятся доступными для отбора.
3. Параметры виртуальных таблиц становятся доступными параметрами. Также становятся доступными все параметры, явно указанные в запросе."
17 fisher
 
01.04.15
10:09
У тебя просто поле виртуальной таблицы из запроса временной таблицы совпало по имени с полем основной выборки и на него тоже наложился фильтр. В большинстве случаев это правильное поведение по умолчанию.
18 Defender aka LINN
 
01.04.15
10:50
(14) Убрать автозаполнение, прописать поля для выборки и отборов в запросе
19 echo77
 
01.04.15
11:58
(18) +1
(0) Схему свою покажи, скорее всего автозаполнение тебе все "портит"
20 ИС-2
 
naïve
01.04.15
12:49
(0) переименовать поле в самой выборе. Например, в ВТ Склад, а выборке СуперСклад. И отбор делать по супе склад
Или на закладке компононовщик в запросе в условиях добавить свое поле.