![]() |
#1 |
Дмитрий Ерин
|
![]()
Прошу прощения за дублирование этого сообщения (первоначально оно было в теме "Программирование в среде MorphX..."), но из-за особенностей навигации на сайте этот форум - "Программирование в Аксапта (дороботка)" - посещается гораздо чаще.
Вопрос такой: есть класс, в который при создании передается параметром ДатаСорс формы. А в этом классе необходимо получить доступ к таблице этого ДатаСорса. Именно к таблице, то есть к объекту типа Common. Нужно это для того, чтобы потом можно было выполнять такие запросы к этой таблице: PHP код:
|
|
![]() |
#2 |
NavAx
|
можно попробовать так
PHP код:
|
|
![]() |
#3 |
NavAx
|
можно так
PHP код:
|
|
![]() |
#4 |
NavAx
|
поищи в AOT такой текст
switch (_common.tableId) и надешь кучу примеров |
|
![]() |
#5 |
Дмитрий Ерин
|
Так мне-то наоборот нужно
![]() В указанных примерах тип таблицы указан ЯВНО: SalesTable salesTable; так то оно без проблем работает. А нужно, чтобы тип таблицы заранее не был известен, а передавалась она как-то через FormDataSource... Идентификатор ее я могу вытащить через DataSource.table(), но вопрос в том, как из него получить объект Common, а не заранее известный тип таблицы... |
|
![]() |
#6 |
----------------
|
RTFM - System Documentation\ Classes\ FormDataSource
FormDataSource.cursor()
а можно еще воспользоваться Query & QueryRun для получения данных по известному TableId |
|
![]() |
#7 |
Дмитрий Ерин
|
Спасибо!
cursor() действительно работает! |
|
![]() |
#8 |
Administrator
|
Цитата:
Изначально опубликовано Ruff
cursor() действительно работает! Для более подробного ответа, необходимо знать подробности вашей задачи.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#9 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано Maxim Gorbunov
Лучше создать еще один объект, и делать select'ы по нему. Для более подробного ответа, необходимо знать подробности вашей задачи. А вот насчет "создать еще один объект" хотелось бы поподробнее, если можно... |
|
![]() |
#10 |
Модератор
|
Цитата:
А вот насчет "создать еще один объект" хотелось бы поподробнее, если можно...
|
|
![]() |
#11 |
NavAx
|
Цитата:
Изначально опубликовано Ruff
А вот насчет "создать еще один объект" хотелось бы поподробнее, если можно... PHP код:
__________________
С уважением, Игорь Ласийчук. |
|
![]() |
#12 |
Administrator
|
Чтобы понять, что я имел в виду, под фильтрацией буфера, проведите маленький эксперимент:
А теперь представьте, что вы генерируете более сложные запросы. Представьте, что будет видеть пользователь! Вместо этого, предлагаю вам создать новый буфер и читать данные из него. Если вы хотите добиться полной универсальности, воспользоваться можно следующим способом (вставьте в тот же самый метод clicked()): PHP код:
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#13 |
Дмитрий Ерин
|
Не понимаю механизма...
2 Garic:
Цитата:
Common common = _formDS.cursor().data();
Хотя так и не понял смысла метода data(). Он дублирует всю таблицу? То есть, это как бы новый экземпляр? 2 Maxim Gorbunov: А чем отличается common = dictTable.makeRecord(); от, скажем, common = InventTable_ds.cursor().data() ? |
|
![]() |
#14 |
Administrator
|
Из Online Help про метод data():
Цитата:
Returns only the data part of the record. Is used to copy data from one record buffer to another rather than making the new buffer into a pointer to the buffer copied from. The buffer copied to has no database position or locks.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|