Диагностическое сообщение о том, что в действии «Обновление» отсутствует атрибут PXUIField, находится на месте.
Для некоторых функций свойств кнопок требуется наличие атрибута PXUIField .:
Вы можете переопределить действие Обновить, чтобы добавить атрибут PXUIField:
using PX.Data;
namespace PX.Objects.EP
{
public class TimecardPrimary_Extension : PXGraphExtension<TimecardPrimary>
{
public PXAction<TimecardPrimary.TimecardFilter> update;
[PXButton(Tooltip = Messages.EditTimecardToolTip, ImageKey = PX.Web.UI.Sprite.Main.RecordEdit)]
[PXUIField]
protected virtual void Update()
{
EPTimeCard row = PXSelect<EPTimeCard, Where<EPTimeCard.timeCardCD, Equal<Current<TimecardWithTotals.timeCardCD>>>>.Select(Base);
if (row == null) return;
PXRedirectHelper.TryRedirect(Base, row, PXRedirectHelper.WindowMode.InlineWindow);
}
protected void TimecardFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
Base.create.SetEnabled(false);
Base.update.SetEnabled(false);
Base.delete.SetEnabled(false);
}
}
}
Добавление атрибута PXUIField заставит метод SetEnabled работать:
Если вы удвоите-нажмите запись сетки, она вызовет действие сетки по умолчанию (обновление в этом случае).При двойном щелчке записи он уведомляет пользователя о том, что действие отключено:
Чтобы предотвратить запуск отключенного действия по умолчанию, вы можете настроить панель действий сетки для удалениядействие по умолчанию: