Цитата:
Сообщение от
alicedr
Я добавляю датасорс в дизайнере, а связь на уровне инита главной таблицы:
X++:
[FormDataSourceEventHandler(formDataSourceStr(SalesTable, SalesLine), FormDataSourceEventType::Initialized)]
public static void SalesLine_OnInitialized(FormDataSource sender, FormDataSourceEventArgs e)
{
FormDataSource lines_ds = sender;
QueryBuildDataSource qbdsLines = lines_ds.query().dataSourceName('SalesLine');
//qbdsLines.clearLinks();
QueryBuildDataSource qbdsProduct = qbdsLines.addDatasource(tableNum(AttributesView), "AttributesView_code");
QbdsProduct.addLink(fieldNum(SalesLine, itemId),fieldNum(AttributesView, itemId));
QbdsProduct.joinMode(JoinMode::InnerJoin);
}
Если датасоурс добавлен в дизайнере зачем его еще раз добавлять в коде через qbdsLines.addDatasource ?
Цитата:
Сообщение от
alicedr
Далее в самом вью я перекрываю метод write и validatewrite:
Перед тем как их перекрывать вы проверили что они вызываются ? Что вообще должен делать write на view, писать в БД ? Разве форма в super() write вызывет write таблицы\представления?
Еще не видно modified метода который бы заполнял курсор view при изменении ItemId, есть такой?