|
![]() |
#1 |
Участник
|
Я бы проверил корректность выбора датасорса на формах где их несколько.
Ваша вариант похоже заточен на формочки с одним датасорсом. |
|
![]() |
#2 |
Участник
|
Да вроде бы работает и на формах с несколькими datasource... Буду ещё тестировать.
|
|
![]() |
#3 |
Участник
|
В процессе тестирования выяснилось, что не работает с полями из Datasource-ов с linkType == InnerJoin, поэтому теперь тестируем такой вариант:
Код: if (_p1 == #taskShortCutMenuFilter) { formControl = this.selectedControl(); if (formControl && classidget(formControl) == classnum(formStringControl)) { formStringControl = formControl; if (formStringControl.dataField()) { for (f = 1; f <= this.dataSourceCount(); f++) { formDataSource = this.dataSource(f); if (formDataSource.id() == formStringControl.dataSource()) { formDataSource.filter(formStringControl.dataField(), queryvalue(formStringControl.valueStr())); joinSourceId = formDataSource.joinSource(); if (joinSourceId && formDataSource.linkType() == FormLinkType::InnerJoin) { for (i = 1; i <= this.dataSourceCount(); i++) { formDataSource = this.dataSource(i); if (formDataSource.id() == joinSourceId) { formDataSource.research(); break; } } } return 1; } } } } } |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
|
|
|
|