首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入应收付款时,应收发票和备注上的必填字段会导致错误

输入应收付款时,应收发票和备注上的必填字段会导致错误
EN

Stack Overflow用户
提问于 2017-08-23 22:02:04
回答 2查看 173关注 0票数 0

我创建了一个简单的自定义来在AR Invoices and Memos屏幕上添加一个字符串UDF,AR.30.10.00。我通过添加属性PXDefault使其成为必需的。

现在,当我在AR Payments and Applications ( AR.30.20.00 )中输入现金收款,并且未将现金核销至发票时,系统会抛出错误,指出需要自定义项。付款屏幕上没有用于输入UDF的位置。自定义项与发票相关,与付款无关。

为什么系统会抛出这个错误?有没有什么办法呢?

EN

回答 2

Stack Overflow用户

发布于 2017-08-24 02:42:34

您的CustomField似乎已添加到ARRegister DAC(扩展),而不是ARInvoice DAC(扩展)。ARInvoice和ARPayment都继承自ARRegister,因此如果您将自定义字段(必需)添加到ARRegister DAC(扩展)中,则这两个字段都是必需的。

如果您通过Customization Project中的Data Access部分添加了该字段,我认为它会将其添加到ARRegister DAC扩展中。在自定义工具上,您可以单击Code部分,单击加号( add ),选择DAC Extension On File Template,add name,然后单击ok。这将创建一个Dac扩展文件,您可以操作该文件并使用ARInvoice而不是ARRegister

保存文件后,您需要转到顶部菜单中的文件->编辑项目项。

在这里你需要右键点击网格区域,选择Add->Database Table Field:

然后在您的案例中选择所需的DAC (ARInvoice),字段名称和类型(与DAC扩展文件中使用的字段名称和类型匹配)。请注意,您不需要在字段中添加"Usr",这是由工具自动添加的。

单击Ok,然后单击Save publish,这样就可以在Screen部分访问该字段。

票数 2
EN

Stack Overflow用户

发布于 2017-08-23 22:16:22

在保存到数据库之前,PXDefault属性还会检查字段值是否不为空。可以使用PersistingCheck属性调整此行为。它的值指示属性是否应该检查值不是null、检查值是否不是null或空字符串,还是不检查。

代码语言:javascript
复制
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]

参考:PXDefault Attribute

您扩展的DAC可能在两个屏幕上都使用,因此您应该更改持久化检查或设置默认值。

您可以使用CacheAttached事件覆盖特定图形上您想要/不想要的行为的自定义字段:

代码语言:javascript
复制
[PXMergeAttributes(Method = MergeMethod.Merge)]
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]
protected virtual void ARTran_UDF_CacheAttached(PXCache sender)
{
}

如果没有显式的默认值,字段将为空,并在持久化检查时引发错误。要为字符串字段设置非空默认值,请执行以下操作:

代码语言:javascript
复制
[PXDefault("")]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45841924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档