Пользовательское диалоговое окно на экране «Заказ клиента» (копия сетки инвентаря) - PullRequest
0 голосов
/ 25 марта 2020

У меня есть необходимость добавить пользовательский диалог на экран Заказа на продажу (SO301000), который по сути будет модифицированной версией существующего диалога «ДОБАВИТЬ СТОРОННУЮ ПУНКТ». Я называю мой "Поиск предметов".

Используя "Cst" в качестве суффикса для моих модов, мне удалось создать созданный диалог, необходимый базовый код в расширении графа (насколько я могу судить пока), но у меня есть только одна часть что я просто не могу заставить работать:

Когда вы нажимаете кнопку «ДОБАВИТЬ СТОРОННУЮ ПУНКТ», сетка в диалоговом окне заполняется данными. Когда вы нажимаете кнопку «ПОИСК ИЗДЕЛИЯ», в таблице нет данных. Однако, если вы нажмете кнопку refre sh сетки, она заполнится данными, фильтры начнут работать, и я могу выбрать несколько строк и нажать «ДОБАВИТЬ», чтобы добавить их в ожидаемый порядок.

Я просто не могу понять, почему в моей сетке нет данных, пока вручную не нажимают «Refre sh».

Я пытался добавить код перед тем, как открыть диалоговое окно, например:

        [PXLookupButton]
        public virtual IEnumerable AddInvBySiteCst(PXAdapter adapter)
        {
            /// this if(...) is the custom code I added, doesn't work
            if (sitestatusCst.Cache.Current == null)
            {
                sitestatusCst.View.RequestRefresh();
            }

            sitestatusfilterCst.Cache.Clear();
            if (sitestatusCst.AskExt() == WebDialogResult.OK)
            {
                return AddInvSelBySiteCst(adapter);
            }
            sitestatusfilterCst.Cache.Clear();
            sitestatusCst.Cache.Clear();
            return adapter.Get();
        }

Но это не работает.

Я прошел через .aspx код исходного диалогового окна «Inventory Lookup» и моего диалогового окна «Поиск элемента», чтобы увидеть, что я упустил что-то очевидное, и даже изменил мой в режиме .aspx, чтобы настроить некоторые свойства, которые были в исходном диалоговом окне, но не отображались через «Свойства макета».

При необходимости я могу опубликовать часть своего диалогового окна с расширением .aspx и код C# из расширения.

Буду признателен за любые идеи.

...