В созданной мной форме отчета для FR есть поле LookupControl Я хочу чтобы значение этого поля устанавливалось в соответствии с ParentItemID, не знаю как его получить если моя форма унаследована от формы wnd_DateReportFilter.
Подскажите пожалуйся по шагам.
так не вышло:
function wnd_SalesByCorporateClientsOnPrepare(Window){ var ParentItemID = GetAttribute(Self,'ParentItemID');//fail!
...
Атрибут ParentItemID устанавливается в скрипте scr_BaseGridAreaUtils. Ни окно wnd_DateReportFilter, ни Ваше не имеют наследования от wnd_BaseGridArea, поэтому атрибут не определен.
Причина того что ParentItemID не определен мне известна, цель моего вопроса - узнать каким образом получить значение id выбранной записи раздела в моем случае, то есть когда мое окно унаследовано не от окна wnd_BaseGridArea.
Возможно ли это, и каким образом. Если это не возможно, то какие пути решения этой проблемы вы можете посоветовать?
Я поставил дебаггер в скрипте wnd_ReportOpportunitiesDateFilterScript базового отчета с формой фильтрации и добрался до выбранных записей родительского грида таким образом:
Не зная, к какому атрибуту обращаться, перебирал их через Attributes.Items(i), а найдя подходящий обращался по Attributes('атрибут'). Возможно кто-то знает другой способ, я пользуюсь перебором, так как у разных объектов кардинально отличные атрибуты.
FilterForm - это в данном случае атрибут родительского окна просмотрщика отчета. Этим атрибутом есть форма фильтрации. А уже у нее есть атрибут SelectedIDs, который и содержит выбранные записи в главном гриде. Для других объектов таких атрибутов не будет, потому что они используются для передачи значений из одного объекта в другой, но передается только необходимые, жестко определенного списка атрибутов нет и по логике не должно быть.
Искал не так, но вручную. Просто установил debugger и в окне инспектора выражений (watch) перебирал ReportPreviewer, ReportPreviewer.ParentWindow, ReportPreviewer.ParentWindow.Attributes.Items(i), ReportPreviewer.ParentWindow.Attributes('FilterForm').Attributes.Items(i)
По ходу использовал SDK, чтобы посмотреть свойства, которые есть у ReportPreviewer.