22.07.2002, 16:35 | #1 |
Moderator
|
Перейти к основной таблице
Таблица VendTrans -> браузер таблиц -> поле Voucher -> Перейти к основной таблице.
Открылась какая-то "левая" форма без каких либо данных. А нужно чтобы работало. Причем в зависимости от строки должна открываться та или иная форма (например LedgerJournalTrans, VendInvoiceJour). У кого-нибудь есть идеи хотя бы в каком направлении разбираться ? |
|
23.07.2002, 08:55 | #2 |
сибиряк
|
...... соображения есть, может даже верные
кажется безусловный переход к основной таблице, в зависимости от конкретных значений в строке, строится на основе Relations, а в формах он может перекрываться методом jumpRef() того контрола, из которого вы переходите по ссылке. причем переход происходит не к конкретной таблице, а к <i>форме</i>, которая проставлена в ее свойствах, как FormRef. Ну и еще вносит свою лепту тип поля, из которого вы "перепрыгиваете". Если у него стоит какой-либо ЕДТ, который связан с таблицей (а именно ссылается на поле), то переход будет осуществлен к <i>форме</i> той таблицы, на которую ссылается ЕДТ. Нда... Запутанно очень, но, кажется, верно
__________________
С уважением, Вячеслав. |
|
23.07.2002, 10:35 | #3 |
Moderator
|
Добрый день.
Итак, Цитата:
кажется безусловный переход к основной таблице, в зависимости от конкретных значений в строке, строится на основе Relations
Цитата:
а в формах он может перекрываться методом jumpRef() того контрола, из которого вы переходите по ссылке. причем переход происходит не к конкретной таблице, а к форме, которая проставлена в ее свойствах, как FormRef.
jumpRef() - перекрыл, посмотрел - да, он вызывается. Но могу ли я в нем как-нибудь повлиять на результат перехода ? Цитата:
Ну и еще вносит свою лепту тип поля, из которого вы "перепрыгиваете". Если у него стоит какой-либо ЕДТ, который связан с таблицей (а именно ссылается на поле), то переход будет осуществлен к форме той таблицы, на которую ссылается ЕДТ.
|
|
23.07.2002, 10:42 | #4 |
Moderator
|
Попробую упрастить себе задачу. Пусть есть форма с информацией из VendTrans и на форме есть кнопка, при нажатии на которую я должен переходить на одну из форм - LedgerJournalTransVendPayment или VendInvoiceJournal в зависимости от вида проводки. Причем на открытой форме должен показываться только тот документ, который вызвал эту проводку.
Тогда может при нажатии на кнопку определять какую из форм открывать, ну например так: PHP код:
Затем в Init() этих двух форм анализировать, откуда они были вызваны. И если причиной их вызова являлась моя форма, то накладывать фильтр на DataSource. Вроде все звучит логично, но для решения такой простой задачи выглядит слишком громоздко. Что Вы думаете насчет этого ? |
|
23.07.2002, 12:44 | #5 |
Участник
|
1.
По-моему, вы зря углубляетесь в программирвание. Если возникла задача динамически изменять основную таблицу, то скорее всего в консерватории что-то поправить надо. Статическое определение основной таблицы делается в типах. 2. Если нужно сделать именно динамическое переопределение, то посмотрите на форму общего журнала, на поле Счет. В зависимости от типа счета переход к основной таблице будет выполняться по разному (Тип "главная книга" - переход к плану счетов, тип "клиент" - переход к таблице клиентов и т.п.) Уверен, что скорее всего в постановке есть какие-то дыры, если возникла задача динамической работы с основной таблицей. |
|
23.07.2002, 13:56 | #6 |
Moderator
|
Цитата:
Уверен, что скорее всего в постановке есть какие-то дыры, если возникла задача динамической работы с основной таблицей.
Есть форма VendTrans в которой хранятся проводки. У пользователя возникает естественное желание посмотреть, на основании чего сделана эта проводка. Проводки создаются на основании того или иного документа. В зависимости от вида документа он хранится в той или таблице, а проводки все складываются все в одну таблицу. По моему с постановкой задачи тут уже ничего не поделаешь, надо как-то реализовывать этот требование. |
|
23.07.2002, 14:46 | #7 |
Участник
|
ага. извини. я невнимательно вопрос понял.
да в стандартной открывается таблица со счетами-фактурами на суммовые разницы. Дело в Relation, который добавили в российской версии. Вот и появилась возможность перехода к основной таблице. В международной версии такой возможности нет. В исходной версии предполагается, что пользователь нажмет на кнопку "документ ГК" или на "документ-основание". А уж оттуда пойдет куда ему надо. |
|
23.07.2002, 14:52 | #8 |
Смотрящий поверх деревьев (Варварский отморозок)
|
<Зохавано мудератором>
за неуплату
__________________
It's a dirty job, but someone's got to do it. So? |
|
23.07.2002, 15:56 | #9 |
Moderator
|
Цитата:
Мне как-то всегда хватало в данной конкретной ситуации использования кнопок "Документ ГК" и "Документ-источник".
Или я что-то не догоняю?... P.S. Теперь есть где посмотреть, как это по нормальному делается. |
|
05.08.2003, 13:38 | #10 |
Соучастник
|
а вот такое
Есть две таблицы. Parent и Child.
у Parent-а поле id, а у Сhild-а parentId, у которого в соотв. EDT прописано, что child.parentid=parent.id. есть форма, в которой есть parentId из Child. Если мы перейдем к основной таблице - то откроется форма, которая прописана в formRef для Parent-a. И это правильно. Но вот такой вопрос: можно ли без программирования(то бишь без переопределения jumpRef) заставить систему переходить к formRef Child-a?
__________________
View Anton Soldatov's LinkedIn profile |
|
06.08.2003, 13:47 | #11 |
Участник
|
Может не правильно понял... Нужно стоя на поле - ссылке на Parent переходить на FormRef Child'а? Для чего?
Можно определить поле-ссылку на самого себя и тогда переходить по "Перейти к основной таблице" без проблем. |
|
06.08.2003, 14:12 | #12 |
Соучастник
|
Цитата:
Изначально опубликовано Andronov
Может не правильно понял... Нужно стоя на поле - ссылке на Parent переходить на FormRef Child'а? Цитата:
Для чего? Цитата:
Можно определить поле-ссылку на самого себя и тогда переходить по "Перейти к основной таблице" без проблем.
__________________
View Anton Soldatov's LinkedIn profile |
|
06.08.2003, 15:47 | #13 |
Moderator
|
Цитата:
Но вот такой вопрос: можно ли без программирования(то бишь без переопределения jumpRef) заставить систему переходить к formRef Child-a?
Вот для stringEdit - контрола, который должен проваливаться в справочник номенклатуры: PHP код:
|
|
07.08.2003, 04:54 | #14 |
Соучастник
|
Цитата:
Изначально опубликовано Андре
Может я не так понял вопрос, но попробую ответить.... Перекрыв jumpRef можно "провалить" любой контрол на любую нужную форму.
__________________
View Anton Soldatov's LinkedIn profile |
|
|
|