如何保存Acumatica创建的自定义表单

在acumatica开发中大家好,

我只想问一下如何在自定义表单上保存和设置操作按钮功能 所以我有一个在acumatica中创建的自定义表格制作时间表。

如何保存Acumatica创建的自定义表单

然后我从mssql创建了一个自定义表,然后在我的自定义表单上提供了所有类,这是我来自acumatica的表

[Serializable]
  public class prodsched : IBqlTable
  {
    #region Prodid
    [PXDBInt(IsKey = true)]
    [PXUIField(DisplayName = "Prodid")]
    public virtual int? Prodid { get; set; }
    public abstract class prodid : PX.Data.BQL.BqlInt.Field<prodid> { }
    #endregion

    #region Prodnumber
    [PXDBInt(IsKey = true)]
    [PXUIField(DisplayName = "Prodnumber")]
    public virtual int? Prodnumber { get; set; }
    public abstract class prodnumber : PX.Data.BQL.BqlInt.Field<prodnumber> { }
    #endregion

    #region Statusx
    [PXDBInt()]
    [PXUIField(DisplayName = "Statusx")]
    public virtual int? Statusx { get; set; }
    public abstract class statusx : PX.Data.BQL.BqlInt.Field<statusx> { }
    #endregion

    #region Approved
    [PXDBInt()]
    [PXUIField(DisplayName = "Approved")]
    public virtual int? Approved { get; set; }
    public abstract class approved : PX.Data.BQL.BqlInt.Field<approved> { }
    #endregion

    #region Datewan
    [PXDbdate()]
    [PXUIField(DisplayName = "Datewan")]
    public virtual DateTime? Datewan { get; set; }
    public abstract class datewan : PX.Data.BQL.BqlDateTime.Field<datewan> { }
    #endregion

    #region PromiseDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Promise Date")]
    public virtual DateTime? PromiseDate { get; set; }
    public abstract class promiseDate : PX.Data.BQL.BqlDateTime.Field<promiseDate> { }
    #endregion

    #region Descriptionx
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Descriptionx")]
    public virtual string Descriptionx { get; set; }
    public abstract class descriptionx : PX.Data.BQL.BqlString.Field<descriptionx> { }
    #endregion

    #region Shoename
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Shoename")]
    public virtual string Shoename { get; set; }
    public abstract class shoename : PX.Data.BQL.BqlString.Field<shoename> { }
    #endregion

    #region Country
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Country")]
    public virtual string Country { get; set; }
    public abstract class country : PX.Data.BQL.BqlString.Field<country> { }
    #endregion

    #region Article
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Article")]
    public virtual string Article { get; set; }
    public abstract class article : PX.Data.BQL.BqlString.Field<article> { }
    #endregion

    #region Currency
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Currency")]
    public virtual string Currency { get; set; }
    public abstract class currency : PX.Data.BQL.BqlString.Field<currency> { }
    #endregion

    #region Pm
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Pm")]
    public virtual string Pm { get; set; }
    public abstract class pm : PX.Data.BQL.BqlString.Field<pm> { }
    #endregion

    #region Quantity
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "Quantity")]
    public virtual string Quantity { get; set; }
    public abstract class quantity : PX.Data.BQL.BqlString.Field<quantity> { }
    #endregion

    #region Efd
    [PXDbdate()]
    [PXUIField(DisplayName = "Efd")]
    public virtual DateTime? Efd { get; set; }
    public abstract class efd : PX.Data.BQL.BqlDateTime.Field<efd> { }
    #endregion

    #region SeStartDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Se Start Date")]
    public virtual DateTime? SeStartDate { get; set; }
    public abstract class seStartDate : PX.Data.BQL.BqlDateTime.Field<seStartDate> { }
    #endregion

    #region SeEndDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Se End Date")]
    public virtual DateTime? SeEndDate { get; set; }
    public abstract class seEndDate : PX.Data.BQL.BqlDateTime.Field<seEndDate> { }
    #endregion

    #region AssStartDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Ass Start Date")]
    public virtual DateTime? AssStartDate { get; set; }
    public abstract class assStartDate : PX.Data.BQL.BqlDateTime.Field<assStartDate> { }
    #endregion

    #region AssEndDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Ass End Date")]
    public virtual DateTime? AssEndDate { get; set; }
    public abstract class assEndDate : PX.Data.BQL.BqlDateTime.Field<assEndDate> { }
    #endregion

    #region OutStartDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Out Start Date")]
    public virtual DateTime? OutStartDate { get; set; }
    public abstract class outStartDate : PX.Data.BQL.BqlDateTime.Field<outStartDate> { }
    #endregion

    #region OutEndDate
    [PXDbdate()]
    [PXUIField(DisplayName = "Out End Date")]
    public virtual DateTime? OutEndDate { get; set; }
    public abstract class outEndDate : PX.Data.BQL.BqlDateTime.Field<outEndDate> { }
    #endregion

    #region OSmatarrive
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "OSmatarrive")]
    public virtual string OSmatarrive { get; set; }
    public abstract class oSmatarrive : PX.Data.BQL.BqlString.Field<oSmatarrive> { }
    #endregion

    #region OScode
    [PXDBString(250,InputMask = "")]
    [PXUIField(DisplayName = "OScode")]
    public virtual string OScode { get; set; }
    public abstract class oScode : PX.Data.BQL.BqlString.Field<oScode> { }
    #endregion
  }

这就是我创建自定义表单和代码的方式

 public PXSave<prodsched> Save;
    public PXCancel<prodsched> Cancel;
        public PXInsert<prodsched> Insert;
        public PXCopypasteaction<prodsched> Copypaste;
        public PXDelete<prodsched> Delete;
        public PXFirst<prodsched> First;
        public PXPrevious<prodsched> Previous;
        public PXNext<prodsched> Next;
        public PXLast<prodsched> Last;

        public PXSelect<prodsched> MasterView;

所以它们都完美显示,但是当我为自定义表输入新数据然后在acumatica上单击保存时,它禁用了我的保存按钮,但是我输入的数据没有保存,您可以教我更多关于在acumatica上创建自定义表单的信息吗在我的按钮点击上添加保存和删除数据的功能,谢谢acumatica开发中的新功能。

buguizebinggan 回答:如何保存Acumatica创建的自定义表单

您应该将[PXDBInt(IsKey = true)]更新为[PXDBIdentity],因为您还将Prodnumber作为键并在页面上具有选择器控件。我假设这将要求用户输入Prodnumber字段并通过它进行搜索,这可能与自动编号键不同。

在这种情况下,我会将PXSelector属性附加到Prodnumber字段。您可以添加以下内容以搜索产品编号,还可以显示其他字段,例如日期和说明:

[PXSelector(typeof(prodsched.prodnumber),typeof(prodsched.prodnumber),typeof(prodsched.datewan),typeof(prodsched.promiseDate),typeof(prodsched.descriptionx))]

如果您希望清理操作并使用所有默认值,则可以用图形上主DAC的声明替换它们。例如,SOOrderEntry具有SOOrder的主要DAC。声明为

public class SOOrderEntry : PXGraph<SOOrderEntry,SOOrder>

提供所有默认操作。

本文链接:https://www.f2er.com/3140793.html

大家都在问