Acumatica 有人能帮我编辑&;即使在装运状态已确认、已完成或已开具发票后,也在装运屏幕上保存跟踪号字段
下面是我在ShipmentEntry graph extension中尝试的代码,但未启用save按钮以保存跟踪号的新条目。也由于此代码,整行字段都已启用Acumatica 有人能帮我编辑&;即使在装运状态已确认、已完成或已开具发票后,也在装运屏幕上保存跟踪号字段,acumatica,acumatica-kb,Acumatica,Acumatica Kb,下面是我在ShipmentEntry graph extension中尝试的代码,但未启用save按钮以保存跟踪号的新条目。也由于此代码,整行字段都已启用 protected virtual void SOShipment_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected BaseEvent) { if (BaseEvent != null)
protected virtual void SOShipment_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected BaseEvent)
{
if (BaseEvent != null)
BaseEvent(sender, e);
SOShipment row = e.Row as SOShipment;
if (row == null)
return;
PXUIFieldAttribute.SetEnabled<SOPackageDetailEx.trackNumber>(sender, row, true);
Base.Document.Cache.AllowUpdate = true;
Base.Packages.Cache.AllowUpdate = true;
}
protected virtual void SOPackageDetailEx_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected BaseEvent)
{
if (BaseEvent != null)
BaseEvent(sender, e);
SOPackageDetail row = e.Row as SOPackageDetail;
if (row == null) return;
PXUIFieldAttribute.SetEnabled<SOPackageDetailEx.trackNumber>(sender, row, true);
}
protected virtual void soshipping\u RowSelected(PXCache发送方、PXRowSelectedEventArgs e、PXRowSelected BaseEvent)
{
if(BaseEvent!=null)
BaseEvent(发送方,e);
SoShipping行=e.作为SoShipping的行;
if(行==null)
返回;
PXUIFieldAttribute.SetEnabled(发送方,行,true);
Base.Document.Cache.AllowUpdate=true;
Base.Packages.Cache.AllowUpdate=true;
}
受保护的虚拟无效SOPackageDetailEx_RowSelected(PXCache发送方、PXRowSelectedEventArgs e、PXRowSelected BaseEvent)
{
if(BaseEvent!=null)
BaseEvent(发送方,e);
SOPackageDetail行=e.作为SOPackageDetail的行;
if(row==null)返回;
PXUIFieldAttribute.SetEnabled(发送方,行,true);
}
提前感谢您的帮助。以下代码编辑跟踪号字段的值,并将其保存到数据库中,即使货物已开具发票:
sOPackageDetailEx.TrackNumber = "Some Value";
Base.Packages.Update(sOPackageDetailEx);
Base.Caches[typeof(SOPackageDetailEx)].PersistUpdated(sOPackageDetailEx);
此代码必须在SOShipmentEntry扩展类中编写,其中sOPackageDetailEx是“sOPackageDetailEx”类的实例 只有在数据更改时,或者在缓存上设置IsDirty=True,或者使用带有更新/修改值的缓存设置状态方法时,才启用“保存”按钮。当由于文档状态而禁用整个文档时,您似乎只想启用一个字段。这与最佳实践背道而驰,所以你需要更加努力才能做到这一点。请先尝试AllowUpdate,然后尝试SetEnabled(行,false)以禁用所有字段,然后重新启用需要启用的唯一字段。嗨,Hayk,我不太清楚在哪里放置此代码,请告诉我在哪个事件中或在哪个位置确切地放置此代码。我已尝试此代码SOPackageDetailEx_RowSelected事件和SOShipment_Rowpersisted事件,但我无法修改和保存跟踪nbr更改。