AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.07.2010, 08:40   #9  
Programmer2 is offline
Programmer2
Участник
 
7 / 10 (1) +
Регистрация: 25.06.2010
Спасибо за разъяснения и подсказки, разобрался.

Компонент 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 |
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:33.