|
|
#8 |
|
Участник
|
Цитата:
Сообщение от Alucardkds
Да, эти таблицы связаны. В обеих таблицах есть поле DepartmentId и при создании записи в Table1 могут быть созданы только те, по которым есть записи в Table2.
И моя идея реализации работает по 1-ому варианту, да. Но если есть что-то более оптимальное - с радостью выслушаю совет.. X++: void initQuery() { query query1 = new query(); QueryBuildDataSource qbds1, qbds2; ; qbds1= query1.addDataSource(tableNum(Table1)); qbds2= qbds1.addDataSource(tablenum(Table2)); // Если есть явно прописанные Relation на таблицах или в EDT //qbds2.relation(true); // Если нет, то указать объединение явно qbds2.addLink(fieldnum(Table1, DepartmentId), fieldnum(Table2, DepartmentId)) // Явное указание полей, которые будут отображены в форме диалога qbds1.addRange(fieldnum(Table1, Field1)); qbds2.addRange(fieldnum(Table2, Field1)); queryrun1 = new queryRun(query1); } X++: void printSheet1() { ... EDT edt1, edt2; Table1 table1; Table2 table2; ... ; while (queryrun1.next()) { table1 = queryrun1.get(tablenum(Table1)); table2 = queryrun1.get(tableNum(Table2)); edt1 = Table1.Field1; edt2 = Table2.Field2; (...) } }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
| За это сообщение автора поблагодарили: mazzy (2), Alucardkds (1). | |