2012-04-18 110 views
0

我一直在试图从代码中发布包装清单。我尝试了几种方法,但不幸的是没有成功。发布时发生错误通过X ++购买包装清单

我的代码如下:

purchTable = PurchTable::find('PO0012555'); 
purchFormLetter = PurchFormLetter::construct(DocumentStatus::PackingSlip); 
purchformLetter.getLast(); 
purchFormLetter.transDate(transDate); 
numberSeq = NumberSeq::newGetNum(PurchParameters::numRefPurchPackingSlipId()).num(); 
purchFormLetter.update(purchTable, 
"14",// numberSeq, //this is coming out blank 
transDate, 
PurchUpDate::All, 
AccountOrder::None, 
     false, 
     false); 

当我试图去执行,我得到这个错误:

库存关闭物理和金融交易,直到

你有什么想法?任何帮助将不胜感激。 谢谢

回答

0

感谢大师们试图帮助我,但我想出了我的问题。我的代码或任何地方都没有问题。

我们正在与另一家咨询公司合作开展此项目。不知何故,其他公司的开发人员之一在没有任何信息的情况下在PurchFormLetter类中评论(评论)了transdate行。

因此,当我试图在“purchFormLetter.transDate(transDate)”行设置transdate值时,PurchFormLetter无法设置标注行的值原因。

我取消注释该行,代码的工作就像一个魅力。

1

我的猜测:你的transDate变量没有有效日期。

使用交叉引用,您会看到错误仅发生在表InventClosingcheckOpen方法中。 随意在这里添加一个断点!

如果使用空白交易日期调用该方法将失败。

+0

是的,昨天我发现这个方法并没有采用任何transdate,但我通过class传递了transdate。当我通过Axe发送包装单时,该方法采用正确的转换。有没有任何参数,我忘了设置? – 2012-04-19 09:15:38

+0

这个应该很容易解决,如果你像Jan建议的那样放置一个断点。为什么它会在“checkopen”方法中使用if语句? – 2012-04-19 15:56:05

0

您是否发布到结束期限?什么是转换?检查(总帐>设置>期间>期间)

+0

嗨,我不认为它关闭,因为斧可以做到相同的顺序。我想我在上课时错过了一些东西。你可以查看我的代码,你看到任何错误或缺失的行吗? – 2012-04-19 12:15:11