Страница 1 из 1

Из одного классификатора два поля с разными значениями - воз

Добавлено: 01 ноя 2004, 19:05
Nick
В ДО нужно добавить поля "статья затрат" и "статья перетока", которые будут брать свои значения из одного классификатора. Такое можно сделать?
Я так понял, что нельзя. При изменении одного из полей, другое принимает его значение и после очередного входа в документ эти поля имеют одинаковые значения.
Да и на печать как выводить?

Как такое можно решить? Создать отдельно два одинаковых классификатора:
- статьи затрат.
- статьи перетока.
?

Re: Из одного классификатора два поля с разными значениями -

Добавлено: 01 ноя 2004, 19:49
Seybukan
Если речь идет о внешней классификации:
поставь значение у классификатора не уникальный

Re: Из одного классификатора два поля с разными значениями -

Добавлено: 03 ноя 2004, 14:54
Nick
Да, все верно, но мы все же решили вести два параллельных классификатора (одинаковых, но для одной таблицы - "статьи затрат" и "статьи перетока" для BaseDoc), т.к. так удобнее заполнять - на форму кидаем два поля, одно для статьи затрат, второе для статьи перетока, а не через точку с запятой в одном поле, как в случае просто не уникального классификатора.
Все вроде нормально, но не могу положить в отчет их правильно. Почитал форум, не помогло. Подскажите барану .`)

Делаю так: для двух классификаторов:
(код BaseDoc=1102)

.CREATE VIEW MyView01 AS
SELECT ExClassSeg.Name, ExclassSeg.Value
WHERE
((
word(1102) == ExClassName.WTable
AND (‘Статьи затрат’ = ExClassName.Name)
AND BaseDocNrec == ExClassVal.Crec
AND ExClassVal.cClassSeg == ExClassSeg.Nrec
));

.CREATE VIEW MyView02 AS
SELECT ExClassSeg.Name, ExclassSeg.Value
WHERE
((
word(1102) == ExClassName.WTable
AND (‘Статьи перетока’ = ExClassName.Name)
AND BaseDocNrec == ExClassVal.Crec
AND ExClassVal.cClassSeg == ExClassSeg.Nrec
));

А в отчете получаю две пустые строки по первому запросу и две заполненные (верными значениями) от второго запроса. Но ведь эти значения лежат в разных классификаторах. Как они оба смогли попасть в запрос №2?
???

Re: Из одного классификатора два поля с разными значениями -

Добавлено: 03 ноя 2004, 16:03
Nick
И так пробовал:

.CREATE VIEW MyView01 AS
SELECT ExClassSeg.Name, ExclassSeg.Value
WHERE
((
word(1102) == ExClassVal.Wtable
AND BaseDocNrec == ExClassVal.Crec
AND ExClassVal.cClassSeg == ExClassSeg.Nrec
AND ExClassSeg.ClassCode == ExClassName.ClassCode
AND 20 == ExClassName.ClassCode
));

результат тот же.
Вот, указал в .Fields:
MyView01.ExclassSeg.Name
MyView02.ExclassSeg.Name
вместо:
ExclassSeg.Name
ExclassSeg.Name

В обоих View получаю одно значение из "статьи затрат" , а одно из "статьи перетока", т.е. четыре всего на два запроса. Как их разграничить чтобы одни не 'залазили' в другие в отчете?

Re: Из одного классификатора два поля с разными значениями -

Добавлено: 03 ноя 2004, 18:03
Nick
В общем, решил, но решением не доволен :)

.CREATE VIEW MyView01 AS
SELECT ExClassSeg.Name, ExclassSeg.Value
WHERE
((
word(1102) == ExClassVal.Wtable
AND BaseDocNrec == ExClassVal.Crec
AND ExClassVal.cClassSeg == ExClassSeg.Nrec
AND ExClassSeg.ClassCode == ExClassName.ClassCode
))
AND 20 = ExClassName.ClassCode
;

Все вроде бысро пашет, т.к. значений выбираем совсем немного, но AND 20 = ExClassName.ClassCode как я понимаю на клиенте уже фильтруется. Это не гуд, и почему AND 20 == ExClassName.ClassCode
не прокатило?
Спецы, прошу совета :)