|
Параметры в скд | ☑ | ||
---|---|---|---|---|
0
DexterMorgan
13.11.12
✎
12:46
|
Есть отчет на скд, в запросе есть две вирт. таблицы, имеющие одинаковый параметр, например "склад". Если в пользовательском режиме сделать отбор по складу, то скд (при вкл. автозаполнении) добавит этот параметр в обе вирт. таблицы. Вопрос, чтобы она добавляла только в одну таблицу обязательно выключать автозаполнение и самому прописывать все параметры,поля и отборы? В смысле других вариантов нет?
|
|||
1
Irek-kazan
13.11.12
✎
12:49
|
два параметра?
|
|||
2
DexterMorgan
13.11.12
✎
12:50
|
(1) ну два одинаковых измерения, в доступных полях отбора они идут как одно.
|
|||
3
DexterMorgan
13.11.12
✎
12:51
|
(1) В смысле склад измерение и в первой и во второй вирт таблице
|
|||
4
Irek-kazan
13.11.12
✎
12:55
|
Хрусталеву почитай, Стр.363
|
|||
5
DexterMorgan
13.11.12
✎
12:56
|
(4) А тебе не лень страницу искать было? Если не трудно можешь ответь просто есть другой вариант или нет?
|
|||
6
Irek-kazan
13.11.12
✎
13:00
|
попробуй поиграться с фигурными скобками или я чего-то не догоняю
|
|||
7
DexterMorgan
13.11.12
✎
13:01
|
(6) Все верно, но для этого нужно отключать автозаполнение
|
|||
8
DexterMorgan
13.11.12
✎
13:02
|
(6) Фигурные скобки позволяют указать явно, то что ты хочешь заполнять. А мне нужно указать то, что я НЕ хочу заполнять, но автозаполнение не отключая)
|
|||
9
Пеппи
13.11.12
✎
13:04
|
(8) непонятно чего ты хочешь? Параметр автоматом не добавится для вирт.таблиц это раз-его нужно все таки указать, а если ты отбор делаешь в пользовательском режиме то отбор будет работать для обоих таблиц автоматом, ничего здесь не сделаешь.
|
|||
10
DexterMorgan
13.11.12
✎
14:03
|
(9) Добавится, если пользователь укажет отбор по полю Склад добавляется параметр в обе вирт таблицы. Смотрел в консоли скд, где макет xml посмотреть можно.
<<отбор будет работать для обоих таблиц автоматом, ничего здесь не сделаешь. Сделаешь. Можно отключить автозаполнение и указать вручную где будет применяться этот отбор. Просто это затронет и другие поля. Ну походу только так придется. |
|||
11
Ork
13.11.12
✎
14:05
|
(0) имеющие одинаковый параметр, например "склад"
Задать для разных таблиц разные псевдонимы? |
|||
12
DexterMorgan
13.11.12
✎
14:09
|
(11) Поясни. В запросе псевдонимы разные, это не одна таблица два раза выбрана, это просто разные регистры. Но поле склад в досупных полях появляется одно, ну и отбор соответственно только по одному полю можно указать
|
|||
13
К_Дач
13.11.12
✎
14:11
|
(11) ничего это не даст...
так понимаю, тебе нужно делать отбор в первой виртуально таблице и соединять ее с правой (второй) таблицей, в которой отбора быть не должно? |
|||
14
Ork
13.11.12
✎
14:11
|
(12) В тексте запроса :
Таблица1.Склад КАК СкладИзТаблицы1 Таблица2.Склад КАК СкладИзТаблицы2 |
|||
15
К_Дач
13.11.12
✎
14:12
|
поясни, что ты делаешь с этими таблицами - соединяешь, объеденяешь?
|
|||
16
DexterMorgan
13.11.12
✎
14:14
|
(15) Да, в первой отбора по складу быть не должно. Первую соединяю со второй, где пользователь может указать отбор по складу.
|
|||
17
DexterMorgan
13.11.12
✎
14:15
|
Ну вообщем в (13) тоже самое
|
|||
18
DexterMorgan
13.11.12
✎
14:17
|
(14) Мне склад нужен только из одной таблицы. Я выбираю его из одной таблицы, но когда пользователь указывает отбор, он автоматически на обе накладывается.
|
|||
19
ДемонМаксвелла
13.11.12
✎
14:22
|
обе таблицы, и с отбором, и без отбора, закинь во временные таблицы, а их уже соединяй
|
|||
20
Irek-kazan
13.11.12
✎
14:23
|
та не прокатит вариант с запросом по условию без параметров вирт.таблицы?
|
|||
21
DexterMorgan
13.11.12
✎
14:24
|
(19) Так и есть. Есть Вр1 есть Вр2. В обоих есть поле склад. Затем их соединяю. Выбирается только поле Вр1.Склад. Когда пользоваетль накладывает отбор Склад = ...., скд его накладывает и на Вр1 и на Вр2
|
|||
22
DexterMorgan
13.11.12
✎
14:25
|
(20) Да не заполнены параметры их скд заполняет!
|
|||
23
К_Дач
13.11.12
✎
14:25
|
Дело в том, что как только накладывается отбор - ЛЕВОЕ ВНЕШНЕЕ соединение в СКД сразу превращается в ПОЛНОЕ ВНУТРЕННЕЕ. Хотел тебе предложить делать через два набора данных, но из-за этого - ничего не выйдет...
1. Отбора нет - первая таблица по полям связи соединяется со второй. Все записи из первой + совпадающие записи из второй 2. Отбор на вторую таблицу. Должны получить все записи из первой + отобранные записи из второй по полям связи. Вторая таблица должна стоять справа - это раз. Во второй на параметр надо прописать что-то вроде: ВЫБОР КОГДА &Склад ССылка Справочник.Склад ТОГДА ВиртуальнаяТаблица.Склад КОНЕЦ |
|||
24
bzaugolnov
13.11.12
✎
14:26
|
Попробуй
Вирт таблица остатков1(, {(Склад) КАК Склад1}) Вирт таблица остатков2(, {(Склад) КАК Склад2}) |
|||
25
К_Дач
13.11.12
✎
14:27
|
Условия можно писать прямо в полях задания параметров ВТ
|
|||
26
vmv
13.11.12
✎
14:28
|
(18) группировки правильно настрой и не забывай, что есть группировка <детальные записи>.
Я обычно делаю <детальные записи> корневой без всяких отборов, чтобы можно было получать все детальные записи в функциях СКД ГРУППОВАЯОБРАБОТКА() ВЫЧИСЛИТЬ() и т.д., а уже отборы делаю во вложенних(минимизированных) группировках |
|||
27
Irek-kazan
13.11.12
✎
14:29
|
(22) я имел ввиду что пользователь при отборе должен заполнить не параметр вирт.таблицы, а условие для отбора в вирт.таблицах:
Выбрать склад из ВТ() ГДЕ склад=&УсловиеОтбораСклада |
|||
28
К_Дач
13.11.12
✎
14:31
|
ВЫБОР КОГДА &Склад ССылка Справочник.Склад ТОГДА &Склад = Неопределено КОНЕЦ
вот так точнее |
|||
29
DexterMorgan
13.11.12
✎
14:39
|
(28) При автозаполнении вообще фигурные скобки игнорирует походу
|
|||
30
К_Дач
13.11.12
✎
14:41
|
Блин... словом "параметр" сбил меня с толку. Склад - это просто выбираемое поле? Если да, то делай через два набора данных, в каждом из них назови склад уникально, связывай по этому полю. А чтобы получить при утсановке отбора все записи из первого набора, не теряя при отборе во втором - делай как посоветовали в (26)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |