#acumatica
#acumatica
Вопрос:
Я хочу добавить pxselector в поле AlternateID в сетке строк заказа на продажу для поиска нескольких альтернативных идентификаторов для одного товара для клиента, указанного в SOHeader. Я добавил следующий код:
namespace PX.Objects.SO {
public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry> {
#region Event Handlers
[PXMergeAttributes(Method = MergeMethod.Merge)]
[PXSelector(typeof(Search<INItemXRef.alternateID,
Where<INItemXRef.inventoryID, Equal<Current<SOLine.inventoryID>>,
And<INItemXRef.bAccountID, Equal<Current<SOOrder.customerID>>>>>),
typeof(INItemXRef.alternateID),
typeof(INItemXRef.inventoryID),
typeof(INItemXRef.bAccountID)
)]
public void SOLine_AlternateID_CacheAttributeCacheAttached() {}
#endregion
}
}
Я также удалил текстовый элемент управления из таблицы транзакций и повторно добавил его в качестве селектора.
Мой селектор отображается в поле AlternateID, как и ожидалось, но при нажатии на селектор отображается ошибка "Error #107: View doesn't exist"
. Это был пример, который Руслан из Acumatica рассматривал с нами на обучении Framework на прошлой неделе в Огайо, но я, очевидно, пропустил один шаг. Любая помощь будет оценена.
Ответ №1:
Джордж, ты ввел неправильное имя для своего обработчика событий, и это вызывает ошибку. Попробуйте заменить свой обработчик приведенным ниже фрагментом кода:
[PXMergeAttributes(Method = MergeMethod.Merge)]
[PXSelector(typeof(Search<INItemXRef.alternateID>),
typeof(INItemXRef.alternateID),
typeof(INItemXRef.inventoryID),
typeof(INItemXRef.bAccountID))]
public void SOLine_AlternateID_CacheAttached(PXCache sender)
{
}