如何向移动应用程序添加新操作
How to add a New Action to the mobile App
美好的一天
内部版本 20.107.0026
我创建了一个新操作并想将其添加到我的移动应用程序中。是否可以向移动屏幕添加自定义操作?我在约会屏幕 (FS300200)
中创建了以下操作
namespace PX.Objects.FS
{
// Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active
public class AppointmentEntry_Extension : PXGraphExtension<AppointmentEntry>
{
#region Event Handlers
public PXAction<PX.Objects.FS.FSAppointment> DoWork;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "DoWork")]
protected void doWork()
{
}
#endregion
}
}
手机代码如下。如果我想将按钮添加到主菜单;旁边的 3 个点是否使用 AppointmentRecords 作为容器?
update screen FS300200 {
update container "AppointmentRecords" {
add listAction "StartTravelAPICall" {
behavior = Void
displayName = "StartTravelAPICall"
}
}
}
简短的回答是肯定的!长答案部分取决于您使用的 Acumatica 版本。出于此答案的目的,我假设您在 2019R2 中并且已经知道如何在 Acumatica 中添加或编辑移动应用程序屏幕。如果没有,下面引用的培训指南应该会为您提供实现目标所需的所有详细信息。
如果 screen/action 在浏览器界面中运行,则操作移动应用程序 screens/actions 相对容易。 T410 课程 material 解释了如何在 2019R2 中添加操作。我不在 Field Services 工作,所以我必须根据培训指南进行更笼统的解释。
首先,您必须在自定义项目的移动应用程序部分添加或编辑屏幕。 (在您的情况下,您想要更新现有屏幕。)这将在自定义项目中创建一段代码,如下所示:
如您所见,右侧显示了移动应用程序中的原始屏幕定义,您将更新屏幕以添加您的操作。您将需要添加适当的容器(未在您的问题中显示),然后添加该容器内的操作。
为了继续回答,让我们切换到更新SO303000屏幕的T410课程第12页的培训指南示例。您可以与屏幕进行比较,看看需要更改什么。
add container "InvoiceSummary" {
# fields declaration
…
add recordAction "Save" {
behavior = Save
}
add recordAction "Cancel" {
behavior = Cancel
}
add containerAction "Insert" {
behavior = Create
}
add recordAction "ReleaseAction" {
syncLongOperation = true
behavior = Record
}
}
我相信您的操作将遵循示例底部的 ReleaseAction 部分,是否需要 syngLongOperation = true 将取决于您的操作在做什么(即,如果您需要异步执行操作)。
假设您的容器已在页面中定义(我怀疑是这样),让我们看看第 35 页上的 PO302000 示例。此示例说明如何更新容器以添加您的操作。
update screen PO302000 {
update container "DocumentSummary" {
add recordAction "AddPOOrderLine" {
displayName = "Add PO Line"
behavior = Void
redirect = True
redirectToContainer = "AddPurchaseOrderLine$List"
}
}
}
这是一个更复杂的操作,但您的操作可能很简单。
update screen FS300200 {
update container "ServiceOrderTypeLine" {
add listAction "DoWork" {
Behavior = Void
displayName = "Do Work"
}
}
}
如果您需要有关如何阅读 WDSL 架构以识别容器等方面的指导,可以在从第 13 页开始的 T400 中找到该培训。
如果您使用的是移动应用程序,我强烈建议您查看 T400 和 T410,因为这些培训指南中的详细信息比 Stack Overflow 中可以轻松解释的要多得多 post/answer.
美好的一天
内部版本 20.107.0026
我创建了一个新操作并想将其添加到我的移动应用程序中。是否可以向移动屏幕添加自定义操作?我在约会屏幕 (FS300200)
中创建了以下操作namespace PX.Objects.FS
{
// Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active
public class AppointmentEntry_Extension : PXGraphExtension<AppointmentEntry>
{
#region Event Handlers
public PXAction<PX.Objects.FS.FSAppointment> DoWork;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "DoWork")]
protected void doWork()
{
}
#endregion
}
}
手机代码如下。如果我想将按钮添加到主菜单;旁边的 3 个点是否使用 AppointmentRecords 作为容器?
update screen FS300200 {
update container "AppointmentRecords" {
add listAction "StartTravelAPICall" {
behavior = Void
displayName = "StartTravelAPICall"
}
}
}
简短的回答是肯定的!长答案部分取决于您使用的 Acumatica 版本。出于此答案的目的,我假设您在 2019R2 中并且已经知道如何在 Acumatica 中添加或编辑移动应用程序屏幕。如果没有,下面引用的培训指南应该会为您提供实现目标所需的所有详细信息。
如果 screen/action 在浏览器界面中运行,则操作移动应用程序 screens/actions 相对容易。 T410 课程 material 解释了如何在 2019R2 中添加操作。我不在 Field Services 工作,所以我必须根据培训指南进行更笼统的解释。
首先,您必须在自定义项目的移动应用程序部分添加或编辑屏幕。 (在您的情况下,您想要更新现有屏幕。)这将在自定义项目中创建一段代码,如下所示:
如您所见,右侧显示了移动应用程序中的原始屏幕定义,您将更新屏幕以添加您的操作。您将需要添加适当的容器(未在您的问题中显示),然后添加该容器内的操作。
为了继续回答,让我们切换到更新SO303000屏幕的T410课程第12页的培训指南示例。您可以与屏幕进行比较,看看需要更改什么。
add container "InvoiceSummary" {
# fields declaration
…
add recordAction "Save" {
behavior = Save
}
add recordAction "Cancel" {
behavior = Cancel
}
add containerAction "Insert" {
behavior = Create
}
add recordAction "ReleaseAction" {
syncLongOperation = true
behavior = Record
}
}
我相信您的操作将遵循示例底部的 ReleaseAction 部分,是否需要 syngLongOperation = true 将取决于您的操作在做什么(即,如果您需要异步执行操作)。
假设您的容器已在页面中定义(我怀疑是这样),让我们看看第 35 页上的 PO302000 示例。此示例说明如何更新容器以添加您的操作。
update screen PO302000 {
update container "DocumentSummary" {
add recordAction "AddPOOrderLine" {
displayName = "Add PO Line"
behavior = Void
redirect = True
redirectToContainer = "AddPurchaseOrderLine$List"
}
}
}
这是一个更复杂的操作,但您的操作可能很简单。
update screen FS300200 {
update container "ServiceOrderTypeLine" {
add listAction "DoWork" {
Behavior = Void
displayName = "Do Work"
}
}
}
如果您需要有关如何阅读 WDSL 架构以识别容器等方面的指导,可以在从第 13 页开始的 T400 中找到该培训。
如果您使用的是移动应用程序,我强烈建议您查看 T400 和 T410,因为这些培训指南中的详细信息比 Stack Overflow 中可以轻松解释的要多得多 post/answer.