Я пытаюсь добавить новую кнопку на панели инструментов рядом с надписью «TAKE CASE» на экране Case (CR306000). Я настроил CRCaseMaint DAC, но кнопка не появляется. Может кто-нибудь предложить.Добавить кнопку на верхнюю панель инструментов на экране Case
ответ
реплицировано это и проблема и решение было PXAction должно быть общедоступным. В примере выше его обозначено как личное.
код следующим образом работы:
public class CaseExtension : PXGraphExtension<CRCaseMaint>
{
public PXAction<CRCase> Change2;
[PXButton(CommitChanges=true)]
[PXUIField(DisplayName="Change Me")]
protected virtual void change2()
{
}
}
Спасибо Али за вашу помощь. – Krunal
Следующие шаги необходимы для вас:
1. Создайте библиотеку классов (CL). .
2. Ссылка в созданных CL DLLs из папки Acumatica, которые начинаются с ПХ *
3. В CL добавить новый класс CRCaseMaintExt с членом TakeCase так:
public class CRCaseMaintExt : PXGraphExtension<CRCaseMaint>
{
private PXAction<CRCase> TakeCase2;
[PXButton]
[PXUIField(DisplayName = "Take Case")]
public virtual IEnumerable takeCase2(PXAdapter adapter)
{
//your custom code
return adapter.Get();
}
}
4. Принять к сведению, что случай в TakeCase и takeCase. Также имеет значение PXAction
5. Построить CL
6. Добавить ссылку на CL в проект Acumatica.
Это дает мне ошибку компиляции, как показано ниже. – Krunal
Тип «PX.Objects.CR.CRCaseMaint» не может использоваться как параметр типа «Таблица» в общем типе или методе «PX.Data.PXCacheExtension
Можете ли вы поделиться код, который вы добавили? – Gabriel