|
|
#1 |
|
Участник
|
Две темповые таблицы
Коллеги, добрый вечер! Ситуация следующая - есть две реальных таблицы jourHead и jourLine связанные между собой relation по двум полям.
И есть одна форма на который два грида jourHead и jourLine. Дата сорс построенный на основе темповых таблиц - jourHead.setTmp() и jourLine.setTmp(). При отображении формы в первом гриде данные с темповой таблицы, а вот строки грид по relation - данные подтягивает с regular table; X++: formDataSourceCommon.setTmp();
formDataSourceCommon.checkRecord(false);
formDataSourceCommon.setTmpData(common);
formDataSource.executeQuery(); даже не знаю что делать. Заранее благодарю. |
|
|
|
|
#2 |
|
Дмитрий Ерин
|
Попробуйте что-то в этом духе на датасорсе строк:
X++: formDataSource.query().dataSourceNo(1).clearDynalinks(); |
|
|
|
|
#3 |
|
Участник
|
|
|
|
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
|
#7 |
|
Участник
|
Никогда не встречал такого поведения. Какая у вас версия системы?
Сможете минимальный тестовый пример создать и проект здесь выложить? |
|
|
|
|
#8 |
|
Участник
|
Цитата:
Есть класс, в нем метод заполнения: X++: inventItemLocation.setTmp();
inventItemLocation.checkRecord(false);
//BP Deviation documented
inventItemLocationCountingStatus.setTmp();
inventItemLocationCountingStatus.checkRecord(false);
...inventItemLocation.doinsert();
...inventItemLocationCountingStatus.doInsert()X++: InventItemLocation.setTmp();
InventItemLocation.checkRecord(false);
InventItemLocation.setTmpData(callerEngine.parmInventItemLocation());X++: InventItemLocationCountingStatus.setTmp();
InventItemLocationCountingStatus.checkRecord(false);
InventItemLocationCountingStatus.setTmpData(callerEngine.parmInventItemLocationCountingStatus());InMemory temporary tables must be the outer tables when they are joined to a TempDB table or permanent table. |
|
|
|
|
#9 |
|
Участник
|
|
|
|
|
|
#10 |
|
Участник
|
после super();
|
|
|
|
|
#11 |
|
Участник
|
Судя по ошибке система думает что вы пытаетесь соединить постоянную таблицу со временной. Интересно в какой именно момент система проверяет это? Потому что в этот момент вторую (подчиненную) таблицу система считает уже временной, а первую (ведущую) - ещё постоянной. Возможно имеет значение то, в такой последовательности вызываются методы init() датасорсов? Попробуйте вынести код, делающий таблицы временными, в init формы после super().
|
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Помогите показать в одном гриде две таблицы | 12 | |||
| Две таблицы в одном datasource | 10 | |||
| две таблицы в двух разных вирт компаниях | 1 | |||
| Один DataSource на две таблицы | 14 | |||
| Две таблицы - один grid!? | 3 | |||
|