![]() |
#9 |
Участник
|
Спасибо за разъяснения и подсказки, разобрался.
Компонент MatrixBox имеет название Matrix. Свойство MatrixSourceTable у элемента MatrixBox = таблица Date В правой части в столбце в свойстве SourceExpr = CurrForm.Matrix.MatrixRec."Period Start". На "Form - OnOpenForm()" или до открытия формы в функции ставим фильтр CurrForm.Matrix.MatrixRec.SETRANGE("Period Type",2); (0 -день, 2 - месяц) CurrForm.Matrix.MatrixRec.SETFILTER(CurrForm.Matrix.MatrixRec."Period Start",'>=%1 & <=%2',dtStart_MatrixDate,dtEnd_MatrixDate); Т.о. в столбце появляются нужные даты. В правой части (где будут отображаться строки) SourceExpr = decMatrixSum. decMatrixSum - глобальная переменная типа Decimal. В триггере "Matrix - OnAfterGetRecord()" пишем небольшой код recPwExecution - запись таблицы PwExecution recPwExecution.RESET; recPwExecution.SETRANGE(recPwExecution.HR_Employee,HR_Employee); recPwExecution.SETFILTER(recPwExecution.PA_WorkDate,'>=%1 & <=%2',CurrForm.Matrix.MatrixRec."Period Start" ,CurrForm.Matrix.MatrixRec."Period End"); IF recPwExecution.FINDFIRST THEN decMatrixSum := recPwExecution.PA_ActualOutput ELSE decMatrixSum :=0; В рез-те получаем то, что нужно: Сотрудник| 2010-08-02| E0000110 | 100 | E0001486 | 200 | |
|