18.02.2015, 15:58 | #1 |
Сенбернар
|
DAX2012 tempDB form dataSource
Очень коротко пока :
- есть форма, у которой датасорсом работает табличка типа tempDB - далее - стандартно : X++: public void fillData() { ; select tmpTable; dataProvider = InventoryDetailsFillData_MI::construct(); tmpInventoryDetails_MI.linkPhysicalTableInstance(dataProvider.run(tmpTable)); } Метод применим только к переменным таблицы TempDB, не связанным с существующим физическим экземпляром таблицы" ЧТО ЭТО?? ))
__________________
Best Regards, Roman |
|
18.02.2015, 16:04 | #2 |
Участник
|
Я бы попытался работать с готовой записью, а не линкать ее.
dataProvider.run(tmpInventoryDetails_MI) |
|
18.02.2015, 16:15 | #3 |
Сенбернар
|
Так, собственно, и сделано :
На форме : X++: public class FormRun extends ObjectRun { tmpInventoryDetails_MI tmpTable; InventoryDetailsFillData_MI dataProvider; } X++: public void fillData() { ; select tmpTable; // Таблица создалась dataProvider = InventoryDetailsFillData_MI::construct(); // Это класс, который заполняет таблицу. И он это делает ) tmpInventoryDetails_MI.linkPhysicalTableInstance(dataProvider.run(tmpTable)); // Таблица заполнилась, линкуем.. получаем "фигвам" } Не понимаю (( PS : - дает ту же диагностику : "Невозможно выполнить требуемую операцию с базой данных. Метод применим только к переменным таблицы TempDB, не связанным с существующим физическим экземпляром таблицы" Бред какой-то (
__________________
Best Regards, Roman Последний раз редактировалось RVS; 18.02.2015 в 16:19. |
|
18.02.2015, 16:21 | #4 |
Участник
|
Я имел ввиду использовать форменный датасурс в качестве основного, а не линковать его к чему-то.
Судя по всему форма как-то его инициализирует и его нельзя больше линковать. X++: dataProvider.run(tmpInventoryDetails_MI);
void dataProvider::run(TmpTable _table)
{
TmpTabl localBuffer;
localBuffer.linkPhysicalSystem(_table);
insert_something_into localBuffer;
} |
|
|
За это сообщение автора поблагодарили: Oz (2), RVS (2). |
12.01.2017, 16:24 | #5 |
Участник
|
Проблема решается если
X++: select tmpTable; X++: tmpInventoryDetails_MI.linkPhysicalTableInstance(tmpTable); |
|