04.03.2005, 17:29 | #1 |
Administrator
|
Можно ли вообще сделать JOIN временной таблицы и InventDim???
Что-то я окончательно запутался.
Хочу сделать, вроде бы простую вещь: вывожу на Grid строки спецификации и присоединяю к ним InventDim, чтобы выводить в том же Grid'е. Пытаюсь сделать так же, как в форме BOMExpandPurch: при инициализации DataSource BOM пишу PHP код:
Дальше привязываю к BOM DataSource InventDim с помощью InnerJoin. И, либо в колонках InventDim ничего не выводится, либо выводится какая-то чушь (особенно хорошо это заметно, если попробовать сортировку по какой-нибудь аналитике; например, по складу). При этом, если вывести на Grid значения поля InventDimId из DataSource BOM и InventDim, они будут отличаться для одной и той же строки, хотя вроде как в Query по ним стоит связь. Я понимаю, что это от того, что я использую временную таблицу, но все-таки, как можно вывести (и отредактировать) значения складской аналитики для строки временной таблицы?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
04.03.2005, 17:35 | #2 |
Участник
|
Нельзя join временные и постоянные таблицы.
Сделай во временной поля на складскую аналитику и заполняй их. |
|
04.03.2005, 17:46 | #3 |
Administrator
|
Тогда не будет работать Отображение аналитики.
Можно, конечно, плюнуть на него. Но, для очищения совести: а как корректно заджойнить две временных таблицы, чтобы они в Grid выводились? Я делаю InventDim.setTmp(). Потом InventDim.setTmpData(...). Данные вроде бы есть в обеих таблицах, но через InnerJoin связать их никак не удается. Может я путано изъясняюсь. На всякий случай прикладываю форму, на которой я все тестировал.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
04.03.2005, 18:49 | #4 |
----------------
|
недавно делал похожую фигню
в методе active источника данных по временной таблицы PHP код:
|
|
05.03.2005, 09:37 | #5 |
----------------
|
И прибей init на InventDim
|
|
05.03.2005, 09:55 | #6 |
Administrator
|
Wamr, как я понимаю, ты делал так, чтобы аналитика и сама проводка выводились, например, на разных закладках формы. Поэтому тебе было достаточно обновить InventDim_ds только для текущей записи. Я пытаюсь все-таки все в одном Grid вывести.
Похоже, что два DS на временных таблицах невозможно связать с InnerJoin. Остается только вариант, когда моя таблица временная, а InventDim - настоящая. В целом такой подход работает в форме "Развертка спецификации". Только вот мне что-то никак не удается его заставить работать правильно
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
05.03.2005, 10:10 | #7 |
----------------
|
не угадал
выводилось в грид и управлялось кнопочкой "Отображание аналитики" и можно было править вот вроде заработала (изменил initTmpBOM под свои кривые тестовые данные) |
|
05.03.2005, 10:28 | #8 |
----------------
|
а вот вариант когда обе таблы временные
|
|
05.03.2005, 10:29 | #9 |
Administrator
|
Блин. Я с ума сойду с этой формой!
Первый раз открыл - не заработало. Посмотрел код, пооткрывал формы, попроверял паспорт записей - начало работать, причем достаточно стабильно. Бред какой-то. Wamr, большое спасибо.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
05.03.2005, 10:39 | #10 |
Administrator
|
Цитата:
Изначально опубликовано Wamr
а вот вариант когда обе таблы временные большое спасибо! этот вариант заработал сразу. его и оставлю не понял я только, почему active(). Он ведь только для выбранной строки один раз вызывается. Ну да ладно. Главное, что работает!!!
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|