自定义默认库
Customization Default library
有人可以帮我用acumatica吗?我有一个应用程序, 使用 acumatica 库连接到 acumatica:Auth,Default_18.200.001,来自这里的 RESTClient:https://github.com/Acumatica/AcumaticaRESTAPIClientForCSharp 我正在像子模块一样使用它 - 如果某些内容会在 git - 我总是可以更新它
我需要将自定义字段添加到项目表单。我做到了 - 添加字段,发布更改。之后,我创建了一个从默认端点继承它的新端点 - 并且在使用 Project 实体时新字段可供我使用。我通过创建继承自 api 的 类 和覆盖 GetEntityName() 方法的基本模型来实现这一点。
如果我需要更改字段,我将不得不创建新的继承 类。
也许有一些支持自定义字段的标准方法?我就是没找到。
我的 Api 分机:
public class ProjectExtApi : EntityAPI<ProjectExt>
{
public ProjectExtApi(Configuration configuration) : base(configuration)
{ }
protected override string GetEntityName()
{
return "Project"; //base code: return typeof(EntityType).Name;
}
}
和型号:
[DataContract]
public class ProjectExt : Project
{
[DataMember(Name = "TestDate", EmitDefaultValue = false)]
public DateTimeValue TestDate { get; set; }
}
我的回答与 Acumatica 产品中的自定义字段有关。自定义字段应添加 DAC 扩展(PXCacheExtension class),示例:
public class MyContractExt : PXCacheExtension<Contract>
{
#region UsrDateTime
[PXDBDateAndTime]
public virtual DateTime? UsrDateTime { get; set; }
public abstract class usrDateTime : BqlDateTime.Field<usrDateTime> { }
#endregion
}
请注意,Acumatica 中的 PMProject DAC 继承自 Contract DAC,该字段将保留在 Contract table 中。
如果该字段需要保存在数据库中(使用 PXDBxyz.. 属性而不是 PXxyz..),则需要数据库脚本。
建议添加自定义字段。在自定义的数据访问部分创建自定义字段时,向导将自动创建数据库脚本以将列添加到 table.
有人可以帮我用acumatica吗?我有一个应用程序, 使用 acumatica 库连接到 acumatica:Auth,Default_18.200.001,来自这里的 RESTClient:https://github.com/Acumatica/AcumaticaRESTAPIClientForCSharp 我正在像子模块一样使用它 - 如果某些内容会在 git - 我总是可以更新它
我需要将自定义字段添加到项目表单。我做到了 - 添加字段,发布更改。之后,我创建了一个从默认端点继承它的新端点 - 并且在使用 Project 实体时新字段可供我使用。我通过创建继承自 api 的 类 和覆盖 GetEntityName() 方法的基本模型来实现这一点。
如果我需要更改字段,我将不得不创建新的继承 类。
也许有一些支持自定义字段的标准方法?我就是没找到。
我的 Api 分机:
public class ProjectExtApi : EntityAPI<ProjectExt>
{
public ProjectExtApi(Configuration configuration) : base(configuration)
{ }
protected override string GetEntityName()
{
return "Project"; //base code: return typeof(EntityType).Name;
}
}
和型号:
[DataContract]
public class ProjectExt : Project
{
[DataMember(Name = "TestDate", EmitDefaultValue = false)]
public DateTimeValue TestDate { get; set; }
}
我的回答与 Acumatica 产品中的自定义字段有关。自定义字段应添加 DAC 扩展(PXCacheExtension class),示例:
public class MyContractExt : PXCacheExtension<Contract>
{
#region UsrDateTime
[PXDBDateAndTime]
public virtual DateTime? UsrDateTime { get; set; }
public abstract class usrDateTime : BqlDateTime.Field<usrDateTime> { }
#endregion
}
请注意,Acumatica 中的 PMProject DAC 继承自 Contract DAC,该字段将保留在 Contract table 中。 如果该字段需要保存在数据库中(使用 PXDBxyz.. 属性而不是 PXxyz..),则需要数据库脚本。
建议添加自定义字段。在自定义的数据访问部分创建自定义字段时,向导将自动创建数据库脚本以将列添加到 table.