Добрый день!
BPM 7.1
у меня возникла проблема написать, вроде на первый взгляд не сложная, простой фильтр котрорый должен срабатывать при открытии Lookup.
type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
name: 'UsrPlanningPrice',
columnPath: 'UsrPlanningPrice', //справочник, таблица [UsrCropInPlanning]
dataValueType: Terrasoft.DataValueType.LOOKUP,
visible: true,
filter: function() {
var purchaseDate = this.get('UsrDate');
if (!Ext.isEmpty(purchaseDate)) {
var subSelect = Ext.create('Terrasoft.EntitySchemaQuery', {
rootSchemaName: 'UsrPlanning',
rowCount: 1
});
subSelect.addColumn('Id');
subSelect.filters.add("TypeFilter",
subSelect.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
'UsrType',
'1CC0703B-FA0D-4711-A1E4-14DEFA3C19EA')); //const
subSelect.filters.add("DateFilter",
subSelect.createColumnFilterWithParameter(
Terrasoft.ComparisonType.LESS_OR_EQUAL,
'UsrDate',
purchaseDate));
return Terrasoft.createCompareFilter(
Terrasoft.ComparisonType.EQUAL,
'UsrPlanning',
subSelect);
}
}
в результате хочу:
SELECT TOP 15 [UsrCropInPlanning].[Id] [Id]
,[UsrCropInPlanning].[UsrName] [UsrName]
FROM [dbo].[UsrCropInPlanning] [UsrCropInPlanning]
WHERE [UsrCropInPlanning].[UsrPlanningId] = (SELECT
TOP 1 [Id]
FROM [dbo].[UsrPlanning]
WHERE UsrTypeId = @P1 AND [UsrPlanning].[UsrDate] = @P2)
то есть мне нужно отобрать в таблице поля справочника UsrPlanningPrice только те записи которые относяться к одному "планированию" выбраному по указаной дате.
прошу помочь, либо сказать как такое можно реализовать?
спасибо.