Экран, который я настраиваю, - это экран «Запросы» (RQ301000) - и я хочу изменить поиск поставщика в сетке, чтобы он основывался на классе запроса, выбранном в заголовке. Я уже знаю, как изменить селектор Vendor для включения фильтра, как я сделал это на экране Requisitions, но эта настройка включала добавление пользовательского поля для класса запросов (которого нет на экране Requisitions).
У меня есть код, который я получил ранее, который получает добавленное в поле шаблона значение поля. Проблема в том, что в этом коде использовалось поле пользователя, которое находилось в том же ЦАП, что и поле подстановочного знака. Код показан ниже:
public class RQRequisitionExt : PXCacheExtension<RQRequisition>
{
#region UsrRequestClass
[PXDBString(10, IsUnicode = true)]
[PXUIField(DisplayName = "NSA Request Class", Visibility = PXUIVisibility.SelectorVisible)]
[PXSelector(typeof(RQRequestClass.reqClassID), DescriptionField = typeof(RQRequestClass.descr))]
public virtual string UsrRequestClass { get; set; }
public abstract class usrRequestClass : IBqlField {}
#endregion
//This is a DAC field that creates / tacks on a wildcard to the end of the UsrRequestClass field above...
public abstract class myFieldWildcard : IBqlField { };
[PXString(30, IsUnicode = true)]
public virtual string MyFieldWildcard
{
[PXDependsOnFields(typeof(usrRequestClass))]
get
{
//return PXDatabase.Provider.SqlDialect.WildcardAnything + UsrRequestClass + PXDatabase.Provider.SqlDialect.WildcardAnything;
if (UsrRequestClass != null)
return PXDatabase.Provider.SqlDialect.WildcardAnything + UsrRequestClass.Substring(0, 2) + PXDatabase.Provider.SqlDialect.WildcardAnything;
else
return UsrRequestClass;
}
}
}
Для того, что я пытаюсь сделать на экране «Запросы», я не использую поле пользователя для этого - я использую поле «Класс запроса» уже на экране - но я понятия не имею, как получить значение этого поля для использования в процедуре подстановки 'get'.
По сути, я хочу получить значение класса запроса на экране и использовать его в этом поле с подстановочными знаками, чтобы вернуться к моему модифицированному селектору поставщиков (не показан, но выполнен с использованием события CacheAttached).
Любая помощь будет оценена. Благодаря.