Уважаемые коллеги,
Почему то JOIN программно на форме не работает.
Если установить в свойствах , то все работает коректно.
Что сдесь неправильно?
PHP код:
public void executeQuery()
{
Query q;
querybuilddatasource dsGIPJourLoadDiscIH;
querybuilddatasource dsGIPJourPremIH;
;
q = new query();
dsGIPJourPremIH = q.addDataSource(tablenum(GIPJourPremIH),"Prem");
dsGIPJourPremIH.relations(false);
dsGIPJourLoadDiscIH = dsGIPJourPremIH.addDataSource(tablenum(GIPJourLoadDiscIH),"Load");
dsGIPJourLoadDiscIH.joinMode(JoinMode::InnerJoin);
dsGIPJourLoadDiscIH.fetchMode(0);
dsGIPJourLoadDiscIH.relations(false);
dsGIPJourLoadDiscIH.addRange(fieldnum(GIPJourLoadDiscIH, GIPJourIHPremId)).value("Prem.GIPJourIHPremId == Load.GIPJourIHPremId");
this.query(q);
super();
}
Вот етот JOB работает и выдает то что надо
PHP код:
static void Job3(Args _args)
{
GIPJourPremIH aGIPJourPremIH;
GIPJourLoadDiscIH aGIPJourLoadDiscIH;
while select aGIPJourPremIH
join aGIPJourLoadDiscIH
where aGIPJourPremIH.GIPJourIHPremId == aGIPJourLoadDiscIH.GIPJourIHPremId
print aGIPJourPremIH.GIPJourIHPremId;
pause;
}
Таблици связаны как
GIPJourPremIH ---------------- 1:N---------------> GIPJourLoadDiscIH
по PK GIPJourIHPremId
Что может быть не так?
Спасибо!