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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

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

Сообщение Nick »

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

Как такое можно решить? Создать отдельно два одинаковых классификатора:
- статьи затрат.
- статьи перетока.
?
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

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

Сообщение Seybukan »

Если речь идет о внешней классификации:
поставь значение у классификатора не уникальный
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

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

Сообщение 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?
???
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

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

Сообщение 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 получаю одно значение из "статьи затрат" , а одно из "статьи перетока", т.е. четыре всего на два запроса. Как их разграничить чтобы одни не 'залазили' в другие в отчете?
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

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

Сообщение 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
не прокатило?
Спецы, прошу совета :)
Ответить