про интерфейс
Модераторы: m0p3e, edward_K, Модераторы
про интерфейс
Здравствуйте!
пытаюсь реализовать интерфейс, такой же как в модуле ФРО -> Сводные платежные поручения -> ОКДиР.
Открывается интерфейс, в котором в верхей части показаны Сводные платежные поручения(по таблице ReePlPor),
а в нижней - соответствующие платежные поручения(по таблице PlPor).
В общем, не знаю как сделать.
Подскажите пожалуйста вариант решения.
пытаюсь реализовать интерфейс, такой же как в модуле ФРО -> Сводные платежные поручения -> ОКДиР.
Открывается интерфейс, в котором в верхей части показаны Сводные платежные поручения(по таблице ReePlPor),
а в нижней - соответствующие платежные поручения(по таблице PlPor).
В общем, не знаю как сделать.
Подскажите пожалуйста вариант решения.
То есть я делаю так:
два браузера и две вьюхи, первая "вьюха" просто выбирает записи из таблицы ReePlPor для верхнего браузера,
а вторая "вьюха" выбирает записи из таблицы PlPor, соответствующие той записи из верхнего браузера (ReePlPor), на которой стоит курсор.
Вот у меня возникла сложность с селектом для второй "вьюхи". Не могу связать эти два браузера.
Подскажите пожалуйста
два браузера и две вьюхи, первая "вьюха" просто выбирает записи из таблицы ReePlPor для верхнего браузера,
а вторая "вьюха" выбирает записи из таблицы PlPor, соответствующие той записи из верхнего браузера (ReePlPor), на которой стоит курсор.
Вот у меня возникла сложность с селектом для второй "вьюхи". Не могу связать эти два браузера.
Подскажите пожалуйста
Вот такая ситуация сложилась
этот код не компилируется, Сапорт выдает ошибку: Ошибка: Oops. Такой таблицы нет: Plpor
interface interf1 'qqq' show at(0,0,50,20);
create view X
as select * from reeplpor;
create view y
as select * from PlPor;
browse bbb_x show at(1,1,49,8);
table reeplpor;
fields
x.reeplpor.name;
end;
browse bbb_y show at(1,9,49,19);
table PlPor;
fields
y.plpor.nodok;
end;
handleevent
end;
end.
а если вообще закоментировать эту строку table PlPor,
то компилируется, а когда запускаю интерфейс, то Сапорт выдает ошибку Runtime error 216 in ORA73.drv at ...
Скажите пожалуйста, что не так
этот код не компилируется, Сапорт выдает ошибку: Ошибка: Oops. Такой таблицы нет: Plpor
interface interf1 'qqq' show at(0,0,50,20);
create view X
as select * from reeplpor;
create view y
as select * from PlPor;
browse bbb_x show at(1,1,49,8);
table reeplpor;
fields
x.reeplpor.name;
end;
browse bbb_y show at(1,9,49,19);
table PlPor;
fields
y.plpor.nodok;
end;
handleevent
end;
end.
а если вообще закоментировать эту строку table PlPor,
то компилируется, а когда запускаю интерфейс, то Сапорт выдает ошибку Runtime error 216 in ORA73.drv at ...
Скажите пожалуйста, что не так
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
1. У вас две логических таблицы. В этом случае надо обращаться к таблицам так table y.plpor
2. В вашем случае у вас в разных браузераз будут разные записи, т.е. плпор ни как не будет связан с реестром.
Если вам это нужно, надо сделать одну логическую таблицу и уже плпор подключать к реестру. Как? Ищите поле связки.
2. В вашем случае у вас в разных браузераз будут разные записи, т.е. плпор ни как не будет связан с реестром.
Если вам это нужно, надо сделать одну логическую таблицу и уже плпор подключать к реестру. Как? Ищите поле связки.
Вот такую подцепку сделал
create view
as select * from reeplpor,PlPor,reepldoc
where((reepldoc.creeplpor==reeplpor.nrec and reepldoc.cplpor==plpor.nrec));
в обычном отчете я бы в первом селекте запоминал Reeplpor.nrec в переменную N, а потом во втором селекте выбирал бы все записи, удовлетворяющие условию where (ReeplPor.nrec = N). (логика такая, хотя может и ошибочная)
А как тут поступить я не знаю, может кто-нибудь знает, подскажите пожалуйста
create view
as select * from reeplpor,PlPor,reepldoc
where((reepldoc.creeplpor==reeplpor.nrec and reepldoc.cplpor==plpor.nrec));
в обычном отчете я бы в первом селекте запоминал Reeplpor.nrec в переменную N, а потом во втором селекте выбирал бы все записи, удовлетворяющие условию where (ReeplPor.nrec = N). (логика такая, хотя может и ошибочная)
А как тут поступить я не знаю, может кто-нибудь знает, подскажите пожалуйста
Помогите кто-нибу-у-у-дь!
все же не получается сделать так, чтобы выбрав курсором запись из "Сводных платежных поручений" (ReePLPor), в нижней панели отображались несколько соотетствующих платежных поручений(PLPor).
Алексей (см. выше) сказал, что надо использовать одну логическую таблицу, помогите построить эту самую логическую таблицу. У меня не получается прицепить платежные поручения(PLPoR) к реестру (ReePLPoR)
Спасибо!
все же не получается сделать так, чтобы выбрав курсором запись из "Сводных платежных поручений" (ReePLPor), в нижней панели отображались несколько соотетствующих платежных поручений(PLPor).
Алексей (см. выше) сказал, что надо использовать одну логическую таблицу, помогите построить эту самую логическую таблицу. У меня не получается прицепить платежные поручения(PLPoR) к реестру (ReePLPoR)
Спасибо!
Код: Выделить всё
create view
from reeplpor,PlPor,reepldoc
where
((
reeplpor.nrec == reepldoc.creeplpor and
reepldoc.cplpor == plpor.nrec
));
Здравствуйте!
У меня три браузера:
------------------------------------------------------------------------------------
браузер №1: Реестр платежных поручений(табл. ReePlPor)
------------------------------------------------------------------------------------
браузер №2: Платежные поручения (табл. PlPor)
------------------------------------------------------------------------------------
браузер №3: а тут выводятся Авизо для платежного поручения
------------------------------------------------------------------------------------
Выбрав в первом браузере сводное платежное поручение,
во втором браузере отображаются соответствующие платежные поручения ,
а в третьем браузере - авизо, соответствующие платежному поручению.
Но дальше мне нужно делать некоторые вычисления, в том числе выводить сумму всех Авизо для каждого платежного поручения.
Использую обработчик cmPositionChanged и в нем "пробегаю" по платежным поручениям из браузера№2 (PlPor) и вычисляю сумму Авизо.
Считает все нормально, но после добавления обработчика изменения позиции(cmPositionChanged), стал невозможен выбор мышкой(перемещение) по любой из нескольких платежек в браузере №2.
В принципе, это и логично, так как после смены позиции в браузере№1 интерфейс автоматически пробегает по браузеру №2 (по выборке во вьюхе из PlPor) и так каждый раз при нажатии на строку из браузера№2.
А вопрос в том, как решить проблему, может обработчик другой использовать , не cmPositionChanged, или еще какой-нибудь вариант решения есть, подскажите пожалуйста
У меня три браузера:
------------------------------------------------------------------------------------
браузер №1: Реестр платежных поручений(табл. ReePlPor)
------------------------------------------------------------------------------------
браузер №2: Платежные поручения (табл. PlPor)
------------------------------------------------------------------------------------
браузер №3: а тут выводятся Авизо для платежного поручения
------------------------------------------------------------------------------------
Выбрав в первом браузере сводное платежное поручение,
во втором браузере отображаются соответствующие платежные поручения ,
а в третьем браузере - авизо, соответствующие платежному поручению.
Но дальше мне нужно делать некоторые вычисления, в том числе выводить сумму всех Авизо для каждого платежного поручения.
Использую обработчик cmPositionChanged и в нем "пробегаю" по платежным поручениям из браузера№2 (PlPor) и вычисляю сумму Авизо.
Считает все нормально, но после добавления обработчика изменения позиции(cmPositionChanged), стал невозможен выбор мышкой(перемещение) по любой из нескольких платежек в браузере №2.
В принципе, это и логично, так как после смены позиции в браузере№1 интерфейс автоматически пробегает по браузеру №2 (по выборке во вьюхе из PlPor) и так каждый раз при нажатии на строку из браузера№2.
А вопрос в том, как решить проблему, может обработчик другой использовать , не cmPositionChanged, или еще какой-нибудь вариант решения есть, подскажите пожалуйста
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
Код: Выделить всё
function GetSQR(x: Double): Double; forward;
.create view
as select
GetSQR(LSchet.Tarif) (fieldname = sGetSQR)
from LSchet;
function GetSQR(x: Double): Double;
{
GetSQR := x * x;
}
Жду выхода Вселенная 2.12!