Axapta 服务不';无法在sysoperation框架中启动

Axapta 服务不';无法在sysoperation框架中启动,axapta,x++,dynamics-365-operations,sysoperationframework,Axapta,X++,Dynamics 365 Operations,Sysoperationframework,下面是我的sysOperation framework类,我的问题是,当我打开对话框并按OK时,什么都没有发生,这段代码怎么了? 我的服务课程: class ProdutionFLowsService extends SysOperationServiceBase { ProductionFlowId idOfCopy; int copyToDo; ProdTable prodTable; public void process(ProdutionFLowsC

下面是我的sysOperation framework类,我的问题是,当我打开对话框并按OK时,什么都没有发生,这段代码怎么了?

我的
服务
课程:

class ProdutionFLowsService extends SysOperationServiceBase
{

    ProductionFlowId idOfCopy;
    int copyToDo;
    ProdTable prodTable;

    public void process(ProdutionFLowsContract  _contract)
    {

        this.getPromptParameters(_contract);

        select firstonly ProdId
                from prodTable
                order by ProdId
                where prodTable.ProductionFlowId == this.idOfCopy;

        this.insertInProdTable();
      


    }

     public void insertInProdTable()
    {
        ProdTable _prodTable;
        while(copyToDo > 0)
        {
             buf2Buf(prodTable,_prodTable);
            _prodTable.RecId = 0;
            _prodTable.ProdId = _prodTable.Type().initProdId(true);
            _prodTable.GAP035ProductionFlowId = _prodTable.ProductionFlowId;
            _prodTable.insert();
            copyToDo--;
        }
    }

    public void getPromptParameters(ProdutionFLowsContract _contract)
    {
       copyToDo =  _contract.parmCopyToDo();
       idOfCopy = _contract.parmidOfCopy();
    }

}
class ProdutionFLowsController extends SysOperationServiceController
{
    
    public void new()
    {
        super();
        super(classStr(ProdutionFLowsService), methodStr(ProdutionFLowsService, process), SysOperationExecutionMode::Synchronous);
        this.parmDialogCaption("TODO");
    
    }
    public static void main(Args _args)
    {
        ProdutionFLowsController controller = new ProdutionFLowsController();
        controller.parmArgs(_args);
        controller.startOperation();
    }

}
我的
控制器
类别:

class ProdutionFLowsService extends SysOperationServiceBase
{

    ProductionFlowId idOfCopy;
    int copyToDo;
    ProdTable prodTable;

    public void process(ProdutionFLowsContract  _contract)
    {

        this.getPromptParameters(_contract);

        select firstonly ProdId
                from prodTable
                order by ProdId
                where prodTable.ProductionFlowId == this.idOfCopy;

        this.insertInProdTable();
      


    }

     public void insertInProdTable()
    {
        ProdTable _prodTable;
        while(copyToDo > 0)
        {
             buf2Buf(prodTable,_prodTable);
            _prodTable.RecId = 0;
            _prodTable.ProdId = _prodTable.Type().initProdId(true);
            _prodTable.GAP035ProductionFlowId = _prodTable.ProductionFlowId;
            _prodTable.insert();
            copyToDo--;
        }
    }

    public void getPromptParameters(ProdutionFLowsContract _contract)
    {
       copyToDo =  _contract.parmCopyToDo();
       idOfCopy = _contract.parmidOfCopy();
    }

}
class ProdutionFLowsController extends SysOperationServiceController
{
    
    public void new()
    {
        super();
        super(classStr(ProdutionFLowsService), methodStr(ProdutionFLowsService, process), SysOperationExecutionMode::Synchronous);
        this.parmDialogCaption("TODO");
    
    }
    public static void main(Args _args)
    {
        ProdutionFLowsController controller = new ProdutionFLowsController();
        controller.parmArgs(_args);
        controller.startOperation();
    }

}
我的
合同
类别:

[DataContractAttribute]
class ProdutionFLowsContract implements SysOperationInitializable,SysOperationValidatable
{
    ProductionFlowId idOfCopy;
    int copyToDo;

   
    public void initialize()
    {
        idOfCopy = "";
        copyToDo = 0;
    }
    [DataMemberAttribute("idOfCopy"),SysOperationLabelAttribute(literalStr("TODO(Id)")),SysOperationDisplayOrderAttribute("1")]
    public ProductionFlowId parmidOfCopy(ProductionFlowId    _idOfCopy = idOfCopy)
    {
        idOfCopy = _idOfCopy;

        return idOfCopy;
    }
    [DataMemberAttribute("copyToDo"),SysOperationLabelAttribute(literalStr("copyToDo(Copy)")),SysOperationDisplayOrderAttribute("2")]
    public int parmCopyToDo(int     _copyToDo = copyToDo)
    {
        copyToDo = _copyToDo;

        return copyToDo;
    }

    public boolean validate()
    {
        
        return false;
    }

}

您的合同验证总是失败,因为它总是返回
false
,并且在信息日志中不显示任何错误:

public boolean validate()
{
    return false;
}
尝试将
return false
替换为
return true
或删除
sysoperationvalidable
validate
方法