Всем добрый день!
Задача состоит в том, что бы выбрать все ном. единицы (InventTable), которых нет в строках спецификаций (BOM) и которые не заблокированны для продажи (InventTableModule)
код:
Код:
static void QueryBuildDataSource(Args _args)
{
Query q = new Query();
QueryBuildDataSource qbdsInventTable;
QueryBuildDataSource qbdsBOM;
QueryBuildDataSource qbdsInventTableModule;
;
qbdsInventTable = q.addDataSource(tableNum(InventTable));
// Ограничение №1 -->
qbdsInventTableModule = qbdsInventTable.addDataSource(tableNum(InventTableModule));
qbdsInventTableModule.joinMode(JoinMode::INNERJOIN);
qbdsInventTableModule.relations(true);
qbdsInventTableModule.addRange(fieldnum(InventTableModule, ModuleType)).value(queryValue(ModuleInventPurchSales::Sales));
// Ограничение №1 <--
// Ограничение №2 -->
qbdsBOM = qbdsInventTable.addDataSource(tablenum(BOM));
qbdsBOM.joinMode(JoinMode::NOEXISTSJOIN);
qbdsBOM.relations(true);
// Ограничение №2 <--
info(qbdsInventTable.toString());
}
в результате получается следующий запрос: "SELECT * FROM InventTable"
подскажите пожалуйста в чем тут дело?
(причем если закомертировать одно из ограничений - все в порядке)