我试图让这个问题听起来尽可能清晰.
基本上,我已经创建了一个报告,它现在作为menuitem按钮存在,以便报表可以在表单上运行.
我想做的是,能够多选记录,然后当我点击我的按钮运行我的报告时,当前选择的记录将被传递到出现的对话框表格(过滤器屏幕).
我尝试使用与SaleLinesEdit表单相同的方法来完成此操作,但没有成功.
如果有人能指出我正确的方向,我会非常感激.
这是我用于解决此问题的解决方案;
\n\n报表上的两种方法,以便当在表单上多重选择字段时,将值传递到过滤器对话框;
\n\nprivate void setQueryRange(Common _common)\n {\n FormDataSource fds;\n\n LogisticsControlTable logisticsTable;\n\n QueryBuildDataSource qbdsLogisticsTable;\n QueryBuildRange qbrLogisticsId;\n str rangeLogId;\n\n set logIdSet = new Set(Types::String);\n\n str addRange(str _range, str _value, QueryBuildDataSource _qbds, int _fieldNum, Set _set = null)\n {\n str ret = _range;\n QueryBuildRange qbr;\n ;\n\n if(_set && _set.in(_Value))\n {\n return ret;\n }\n\n if(strLen(ret) + strLen(_value) + 1 > 255)\n {\n qbr = _qbds.addRange(_fieldNum);\n qbr.value(ret);\n ret = \'\';\n }\n\n if(ret)\n {\n ret += \',\';\n }\n\n if(_set)\n {\n _set.add(_value);\n }\n\n ret += _value;\n return ret;\n }\n ;\n\n switch(_common.TableId)\n {\n case tableNum(LogisticsControlTable):\n\n qbdsLogisticsTable = element.query().dataSourceTable(tableNum(LogisticsControlTable));\n qbrLogisticsId = qbdsLogisticsTable.addRange(fieldNum(LogisticsControlTable, LogisticsId));\n\n fds = _common.dataSource();\n\n for(logisticsTable = fds.getFirst(true) ? fds.getFirst(true) : _common;\n logisticsTable;\n logisticsTable = fds.getNext())\n {\n rangeLogId = addrange(rangeLogId, logisticsTable.LogisticsId, qbdsLogisticsTable, fieldNum(LogisticsControlTable, LogisticsId),logIdSet);\n }\n\n qbrLogisticsId.value(rangeLogId);\n break;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n// 这设置了查询并获取将它们传递到范围的值,即“SO0001、SO0002、SO000\xc2\xa3...
\n\n第二种方法如下;
\n\nprivate void setQueryEnableDS()\n{\n Query queryLocal = element.query();\n ;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在 init 方法中这也是必需的;
\n\npublic void init()\n{\n ;\n super();\n\n if(element.args() && element.args().dataset())\n {\n this.setQueryRange(element.args().record());\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n希望这对将来遇到我遇到的问题的其他人有所帮助。
\n| 归档时间: |
|
| 查看次数: |
21079 次 |
| 最近记录: |