|
![]() |
#1 |
Участник
|
Цитата:
На данный момент, хочу добиться понимания как вообще работает форма
Цитата:
показывать в форме "анализ по измерениям" записи только с определенным отступом
Где отступы-то рисуются? - Правильно,<div class='CALtop'>C/AL</div><div class='CAL'>Name - OnFormat(VAR Text : Text[1024] ![]() CurrForm.Name.UPDATEFONTBOLD("Show in Bold"); CurrForm.Name.UPDATEINDENT(220 * Indentation);</div> Значит есть этот Indentation - поле в таблице очевидно.. Ctrl+F7 - точно, есть. пишем, скажем, 2. нет эффекта. понятно - переписаны триггеры получения данных. Смотрим - действительно, несущей таблицей формы является какой-то ...Buf, временная структура данных то бишь. Как же туда Indentation попадает? ищем Ctrl+F... видим - <div class='CALtop'>C/AL</div><div class='CAL'> Indentation := TheGLAcc.Indentation;</div> а так же <div class='CALtop'>C/AL</div><div class='CAL'> Indentation := TheDimVal.Indentation;</div>больше нету. Понятно - иерархия поддерживается у плана счетов и измерений. Надо пользовательский фильтр по этому полю перенести в секцию получения данных для этих таблиц, а именно в функциях FindRec и NextRec, на примере секции для плана счетов: <div class='CALtop'>C/AL</div><div class='CAL'>FindRec(.......) CASE DimOption OF DimOption::"G/L Account" : BEGIN GLAcc."No." := DimCodeBuf.Code; IF GLAccFilter <> '' THEN GLAcc.SETFILTER("No.",GLAccFilter); Rec.COPYFILTER(Indentation, GLAcc.Indentation); //<вот это добавим, перед Found. Found := GLAcc.FIND(Which); IF Found THEN CopyGLAccToBuf(GLAcc,DimCodeBuf); END;</div> ну и <div class='CALtop'>C/AL</div><div class='CAL'>NextRec(......) CASE DimOption OF DimOption::"G/L Account" : BEGIN GLAcc."No." := DimCodeBuf.Code; IF GLAccFilter <> '' THEN GLAcc.SETFILTER("No.",GLAccFilter); Rec.COPYFILTER(Indentation, GLAcc.Indentation); //<вот это добавим, перед Next. ResultSteps := GLAcc.NEXT(Steps); IF ResultSteps <> 0 THEN CopyGLAccToBuf(GLAcc,DimCodeBuf); END;</div> компилируем, запускаем, Ctrl+F7, Отступ, 2.... смотрим. На мой взгляд польза сомнительная, но.. если очень хочется... секции для измерений доработать аналогично. |
|