powershell 带参数的调用NAVCodeunit

ryevplcw  于 2022-12-26  发布在  Shell
关注(0)|答案(1)|浏览(117)

在Powershell和dynamics NAV 2015的上下文中,有一个用于运行代码单元的函数。它提供了Argument参数。没有关于如何使用此参数或如何使用值的文档 可以在码单元内接收。
我试过使用示例字符串运行代码单元,但在代码单元中的任何位置都无法接收到它。当使用MethodName参数和arguments运行代码单元时,出现以下错误:

Invoke-NAVCodeunit : Method 'Codeunit50060.UpdateStatus(number of arguments: 1), with matching argument types.' not found.
At line:2 char:1
+ Invoke-NAVCodeunit -ServerInstance navisiontest -CompanyName d-velop  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (0:Int32) [Invoke-NAVCodeunit], FaultException`1
    + FullyQualifiedErrorId : MicrosoftDynamicsNavServer$navisiontest,Microsoft.Dynamics.Nav.Management.Cmdlets.InvokeNavCodeunit

这是我的代码单元:codeunit

vlurs2pr

vlurs2pr1#

如果调用代码单元,它将在OnRun中运行代码()函数。如果您的()调用另一个方法,必须在设计器中将方法Local属性设置为“否”。请转到“开发工具”-〉选择代码单元-〉转到“设计”-〉“函数”选项卡-〉选择需要运行的函数-〉单击“属性”按钮-〉将Local设置为“否”当您希望直接调用代码单元内的方法而不定义OnRun()时,这也很有用。
然后在powershell中,您可以使用参数调用,如下例所示:
调用-NAV代码单元样本示例-代码单元Id 500001 -方法名称“样本方法”-参数“样本参数”

相关问题