Exportfile for AOT version 1.0 or later Formatversion: 1 ***Element: CLS ; Microsoft Dynamics Class: SysTableBrowser unloaded ; -------------------------------------------------------------------------------- CLSVERSION 1 CLASS #SysTableBrowser PROPERTIES Name #SysTableBrowser Extends # RunOn #Client ENDPROPERTIES METHODS Version: 3 SOURCE #classDeclaration #public class SysTableBrowser #{ # boolean allowEdit; # boolean allowDelete; # boolean allowCreate; # indexId defaultIndexId; # # #DEFINE.FormWidth(500) # #DEFINE.FormHeight(300) #} ENDSOURCE SOURCE #new #void new() #{ # allowEdit = true; # allowDelete = true; # allowCreate = true; # defaultIndexId = 0; #} ENDSOURCE SOURCE #newSelection #//AOSRunMode::Client #public void newSelection(Object obj) #{ # Form tableBrowser; # Form oldForm; # Object formRun; # FormBuildDesign formBuildDesign; # FormDesign oldFormBuildDesign; # FormDesign formDesign; # FormBuildDataSource formBuildDataSource; # FormBuildGridControl formBuildGridControl; # FormGridControl formGridControl; # # DictTable dictTable; # Args args; # Args browserArgs; # int idx; # Source sqlStmt; # tableId tableId; # # Object formRunObject; # SysSetupFormRun sysSetupFormRun; # # FormComboboxControl formComboboxControl, newComboboxControl; # ; # # sysSetupFormRun = obj; # sqlStmt = obj.parmSQLStmt(); # oldForm = sysSetupFormRun.form(); # formBuildDataSource = oldForm.dataSource(1); # tableId = formBuildDataSource.table(); # # dictTable = new DictTable(tableId); # # browserArgs = new Args(); # browserArgs.name(formStr(SysTableBrowser)); # formRun = classFactory.formRunClass(browserArgs); # tableBrowser = formRun.form(); # # # formBuildDataSource = tableBrowser.dataSource(1); #// formBuildDataSource = tableBrowser.addDataSource(dictTable.name()); # formBuildDataSource.name(dictTable.name()); # formBuildDataSource.table(tableId); # formBuildDataSource.autoQuery(true); # formBuildDataSource.linkType(0); # formBuildDataSource.allowCreate(allowCreate); # formBuildDataSource.allowDelete(allowDelete); # formBuildDataSource.allowEdit(allowEdit); # if (defaultIndexId) # { # formBuildDataSource.index(defaultIndexId); # } # # formBuildDesign = tableBrowser.design(); # formBuildDesign.caption("@SYS54191" + ': ' + dictTable.name()); # # oldFormBuildDesign = sysSetupFormRun.design(); # formBuildDesign.leftMode(-1); # formBuildDesign.leftValue(oldFormBuildDesign.leftValue()); # formBuildDesign.topMode(-1); # formBuildDesign.topValue(oldFormBuildDesign.topValue()); # formBuildDesign.widthMode(-1); # formBuildDesign.widthValue(oldFormBuildDesign.widthValue()); # formBuildDesign.heightMode(-1); # formBuildDesign.heightValue(oldFormBuildDesign.heightValue()); # # # formBuildGridControl = formBuildDesign.addControl(FormControlType::Grid,'Grid'); # formBuildGridControl.dataSource(dictTable.name()); # formBuildGridControl.allowEdit(allowEdit); # formBuildGridControl.widthMode(1); # formBuildGridControl.heightMode(1); # idx = formBuildGridControl.id(); # # formDesign = sysSetupFormRun.design(); # formComboboxControl = formDesign.controlName('cbxFieldGroups'); # # if (formComboboxControl.selection() == 0) # { # this.showAllFields(tableId, formBuildGridControl, formBuildDataSource); # } # else # { # this.showAutoFields(tableId, formBuildGridControl, formBuildDataSource, formComboboxcontrol.valueStr()); # } # # # args = new Args(); # args.object(tableBrowser); # formRun = classFactory.formRunClass(args); # # formRun.init(); # formRun.parmSQLStmt(sqlStmt); # formRun.parmTableId(tableId); # # formRun.run(); # formRunObject = formRun; # # newComboboxControl = formRunObject.getComboboxControl(); # newComboboxControl.selection(formComboboxControl.selection()); # # formGridControl = formRun.control(idx); # formGridControl.setFocus(); # # formRun.detach(); #} ENDSOURCE SOURCE #run #//AOSRunMode::Client #public void run(tableId tableId) #{ # Form tableBrowser; # Object formRun; # FormBuildDesign formBuildDesign; # FormBuildDataSource formBuildDataSource; # FormBuildGridControl formBuildGridControl; # FormGridControl formGridControl; # DictTable dictTable; # Args args; # Args browserArgs; # int idx; # # FormComboboxControl formComboboxControl; # ; # # dictTable = new DictTable(tableId); # # browserArgs = new Args(); # browserArgs.name(formStr(SysTableBrowser)); # formRun = classFactory.formRunClass(browserArgs); # tableBrowser = formRun.form(); # # # formBuildDataSource = tableBrowser.dataSource(1); #// formBuildDataSource = tableBrowser.addDataSource(dictTable.name()); # formBuildDataSource.name(dictTable.name()); # formBuildDataSource.table(tableId); # formBuildDataSource.autoQuery(true); # formBuildDataSource.linkType(0); # formBuildDataSource.allowCreate(allowCreate); # formBuildDataSource.allowDelete(allowDelete); # formBuildDataSource.allowEdit(allowEdit); # # if (defaultIndexId) # { # formBuildDataSource.index(defaultIndexId); # } # # formBuildDesign = tableBrowser.design(); # formBuildDesign.caption("@SYS54191" + ': ' + dictTable.name()); # formBuildDesign.widthMode(-1); # formBuildDesign.widthValue(#FormWidth); # formBuildDesign.heightMode(-1); # formBuildDesign.heightValue(#FormHeight); # # formBuildGridControl = formBuildDesign.addControl(FormControlType::Grid,'Grid'); # formBuildGridControl.dataSource(dictTable.name()); # formBuildGridControl.allowEdit(allowEdit); # formBuildGridControl.widthMode(1); # formBuildGridControl.heightMode(1); # idx = formBuildGridControl.id(); # # this.showAllFields(tableId, formBuildGridControl, formBuildDataSource); # # args = new Args(); # args.object(tableBrowser); # formRun = classFactory.formRunClass(args); # # formRun.init(); # formRun.parmTableId(tableId); # formRun.run(); # # if (dictTable.fieldGroupCnt() > 0) # { # formComboboxControl = formRun.getComboboxcontrol(); # } # # formGridControl = formRun.control(idx); # formGridControl.setFocus(); # # formRun.detach(); # # #} ENDSOURCE SOURCE #setAllowCreate #void setAllowCreate(boolean newValue) #{ # allowCreate = newValue; #} ENDSOURCE SOURCE #setAllowDelete #void setAllowDelete(boolean newValue) #{ # allowDelete = newValue; #} ENDSOURCE SOURCE #setAlowEdit #void setAlowEdit(boolean newValue) #{ # allowEdit = newValue; #} ENDSOURCE SOURCE #setDefaultIndexId #void setDefaultIndexId(indexId newValue) #{ # defaultIndexId = newValue; #} ENDSOURCE SOURCE #showAllFields #//AOSRunMode::Client #public void showAllFields(tableId tableId, # FormBuildGridControl formBuildGridControl, # FormBuildDataSource formBuildDataSource) # # #{ # FormBuildStringControl formBuildStringControl; # Object formBuildControl; # DictTable dictTable; # SysDictField dictField; # fieldId fieldId; # int i,j; # int fieldCnt; # ; # # dictTable = new DictTable(tableId); # fieldCnt = dictTable.fieldCnt(); # for (i=1; i<=fieldCnt; i++) # { # fieldId = dictTable.fieldCnt2Id(i); # dictField = new SysDictField(dictTable.id(), fieldId); # if (dictField.saveContents()) # { # for(j = 1;j <= dictField.arraySize(); j++) # { # if (dictField.baseType() == Types::String || # dictField.baseType() == Types::RString || # dictField.baseType() == Types::VarString) # { # formBuildStringControl = formBuildGridControl.addDataField(formBuildDataSource.id(),fieldId2Ext(fieldId,j)); # formBuildStringControl.displayHeightMode(0); # formBuildStringControl.displayHeightValue(1); # formBuildStringControl.label(dictField.name()); # formBuildStringControl.helpText(dictField.label()); # formBuildStringControl.allowEdit(true); # } # else # { # if (dictField.baseType() != Types::Container) # { # formBuildControl = formBuildGridControl.addDataField(formBuildDataSource.id(),fieldId2Ext(fieldId,j)); # formBuildControl.label(dictField.name()); # formBuildControl.helpText(dictField.label()); # } # else # { # formBuildControl = formBuildGridControl.addControl(FormControlType::String,'TableBrowserContainer'); # formBuildControl.datasource(formBuildDataSource.id()); # formBuildControl.dataField(fieldId2Ext(fieldId,j)); # formBuildControl.label(dictField.name()); # formBuildControl.helpText(dictField.label()); # formBuildControl.displayLengthMode(0); # formBuildControl.displayLengthValue(5); # formBuildControl.lookupButton(2); # } # # } # } # } # } #} ENDSOURCE SOURCE #showAutoFields #//AOSRunMode::Client #public void showAutoFields(tableId tableId, # FormBuildGridControl formBuildGridControl, # FormBuildDataSource formBuildDataSource, # str _fieldGroupName) #{ # FormBuildStringControl formBuildStringControl; # Object formBuildControl; # DictFieldGroup dictFieldGroup; # SysDictField dictField; # DictType dictType; # fieldId fieldId; # Name methodName; # Types types; # int i,j; # MethodInfo methodInfo; # ; # # dictFieldGroup = new DictFieldGroup(tableId, _fieldGroupName); # # if (dictFieldGroup) # { # for (i=1; i <= dictFieldGroup.numberOfFields(); i++) # { # methodName = dictFieldGroup.methodName(dictFieldGroup.field(i)); # # if (methodName) # { # methodInfo = new MethodInfo(UtilElementType::TableInstanceMethod, tableId, methodName); # dictType = new DictType(methodInfo.returnId()); # # if (dictType) # { # types = dictType.baseType(); # } # else # { # types = methodInfo.returnType(); # } # # switch (types) # { # case Types::String: # formBuildControl = formBuildGridControl.addControl(FormControlType::String, methodName); # break; # case Types::DateTime: # formBuildControl = formBuildGridControl.addControl(FormControlType::Time, methodName); # break; # case Types::Date : # formBuildControl = formBuildGridControl.addControl(FormControlType::Date, methodName); # break; # case Types::Enum : # formBuildControl = formBuildGridControl.addControl(FormControlType::ComboBox, methodName); # break; # case Types::Integer : # formBuildControl = formBuildGridControl.addControl(FormControlType::Integer, methodName); # break; # case Types::Real : # formBuildControl = formBuildGridControl.addControl(FormControlType::Real, methodName); # break; # case Types::Int64 : # formBuildControl = formBuildGridControl.addControl(FormControlType::Int64, methodName); # break; # case Types::Guid : # formBuildControl = formBuildGridControl.addControl(FormControlType::Guid, methodName); # break; # } # # if (formBuildControl) # { # formBuildControl.dataSource(formBuildDataSource.id()); # formBuildControl.dataMethod(methodName); # formBuildControl.displayHeightMode(0); # formBuildControl.displayHeightValue(1); # formBuildControl.allowEdit(false); # # if (dictType) # { # formBuildControl.label(dictType.name()); # formBuildControl.helpText(dictType.label()); # } # else # { # formBuildControl.label(methodName); # } # } # } # else # { # fieldId = dictFieldGroup.field(i); # dictField = new SysDictField(tableId, fieldId); # # if (dictField.saveContents()) # { # for(j = 1;j <= dictField.arraySize(); j++) # { # if (dictField.baseType() == Types::String || # dictField.baseType() == Types::RString || # dictField.baseType() == Types::VarString) # { # formBuildStringControl = formBuildGridControl.addDataField(formBuildDataSource.id(),fieldId2Ext(fieldId,j)); # formBuildStringControl.displayHeightMode(0); # formBuildStringControl.displayHeightValue(1); # formBuildStringControl.label(dictField.name()); # formBuildStringControl.helpText(dictField.label()); # formBuildStringControl.allowEdit(false); # } # else # { # if (dictField.baseType() != Types::Container) # { # formBuildControl = formBuildGridControl.addDataField(formBuildDataSource.id(),fieldId2Ext(fieldId,j)); # formBuildControl.label(dictField.name()); # formBuildControl.helpText(dictField.label()); # } # else # { # formBuildControl = formBuildGridControl.addControl(FormControlType::String,'TableBrowserContainer'); # formBuildControl.datasource(formBuildDataSource.id()); # formBuildControl.dataField(fieldId2Ext(fieldId,j)); # formBuildControl.label(dictField.name()); # formBuildControl.helpText(dictField.label()); # formBuildControl.displayLengthMode(0); # formBuildControl.displayLengthValue(5); # formBuildControl.lookupButton(2); # } # # } # } # } # } # } # } # else # { # Box::info("@SYS54212"); # } #} ENDSOURCE SOURCE #main #//AOSRunMode::Client #client static void main(Args args) #{ # tableId tableId; # SysContextMenu sysContextMenu; # TreeNode treeNode; # SysTableBrowser sysTableBrowser; # Object object; # ; # # if (SysContextMenu::startedFrom(args)) # { # sysContextMenu = args.parmObject(); # treeNode = sysContextMenu.first(); # tableId = SysTableBrowser::treeNode2TableId(treeNode); # } # else # { # if (classidget(args.caller()) == ClassNum(SysSetupFormRun)) # { # object = args.caller(); # sysTableBrowser = new SysTableBrowser(); # sysTableBrowser.newSelection(object); # } # else # { # tableId = pickTable(); # } # } # # if (tableId) # { # sysTableBrowser = new SysTableBrowser(); # sysTableBrowser.run(tableId); # } #} ENDSOURCE SOURCE #treeNode2TableId #static tableId treeNode2TableId(TreeNode treeNode) #{ # #TreeNodeSysNodeType # tableId tableId; # QueryBuildDataSource queryBuildDataSource; # Form form; # FormBuildDataSource formBuildDataSource; # TreeNode treeNodeDatasource; # int datasourceCnt, i; # # if (treeNode.applObjectType() == UtilElementType::Table || //Table,System Table,TableCollection # treeNode.sysNodeType() == #SysNodeTypeSystemTable || # treeNode.sysNodeType() == #SysNodeTypeTableCollection) # { # tableId = tablename2id(treeNode.treeNodeName()); # } # else # if (treeNode.sysNodeType() == #SysNodeTypeQueryDatasource) //Query DataSource # { # queryBuildDataSource = treeNode; # tableId = queryBuildDataSource.table(); # } # else # if (treeNode.sysNodeType() == #SysNodeTypeFormDatasource) //Form Datasource # { # treeNodeDatasource = treeNode; # # do //Finds Form node # { # treeNode = treeNode.AOTparent(); # } while (!((treeNode.applObjectType() == UtilElementType::Form ) || (treeNode.applObjectType() == UtilElementType::WebForm ))) ; # # form = treeNode; # datasourceCnt = form.dataSourceCount(); # for ( i=1; i<=datasourceCnt; i++) # { # formBuildDataSource = form.dataSource(i); # if (formBuildDataSource.name() == treeNodeDatasource.treeNodeName()) # { # tableId = formBuildDataSource.table(); # break; # } # } # } # return tableId; #} ENDSOURCE ENDMETHODS ENDCLASS ***Element: FRM ; Microsoft Dynamics Forms unloaded ; -------------------------------------------------------------------------------- FRMVERSION 5 FORM #SysTableBrowser PROPERTIES Name #SysTableBrowser ENDPROPERTIES METHODS Version: 3 SOURCE #getComboboxControl #FormComboboxControl getComboboxControl() #{ # return cbxFieldGroups; #} ENDSOURCE SOURCE #listFieldGroups #void listFieldGroups() #{ # int i; # ; # # cbxFieldGroups.add(''); # # if (dictTable) # { # for (i=1; i<=dictTable.fieldGroupCnt(); ++i) # { # cbxFieldGroups.add(dictTable.fieldGroup(i)); # } # } #} ENDSOURCE SOURCE #ClassDeclaration #class FormRun extends ObjectRun #{ # tableId tableId; # Source sqlcmd; # DictTable dictTable; #} ENDSOURCE SOURCE #TableBrowserContainer_lookup #public void tableBrowserContainer_lookup() #{ # FormStringControl formStringControl = this.controlCallingMethod(); # FormObjectSet formObjectSet = element.dataSource(1); # Common common = formObjectSet.cursor(); # ; # # conView(common.(formStringControl.dataField()), # strfmt("@SYS26868", element.design().caption(), strfmt("@SYS53184", formStringControl.name(), common.caption()))); #} # ENDSOURCE SOURCE #init #public void init() #{ # super(); # this.controlMethodOverload(true); #} ENDSOURCE SOURCE #parmSQLStmt #Source parmSQLStmt(Source _sql = SQL.text()) #{ # SQL.text(_sql); # return SQL.text(); #} ENDSOURCE SOURCE #task #int task(int p1) #{ # #define.tab(2827) # FormControl cur = element.selectedControl(); # int ret; # # if ((p1 == #tab) && (cur.hWnd() == SQL.hWnd())) # { # SQL.pasteText(' ', true); # SQL.updateWindow(); # ret = 0; # } # else # ret = super(p1); # # return ret; #} ENDSOURCE SOURCE #parmTableId #tableId parmTableId(tableId _tableId = tableId) #{ # ; # tableId = _tableId; # return tableId; #} ENDSOURCE SOURCE #Run #void run() #{ # super(); # dictTable = new DictTable(tableId); # this.parmSQLStmt('SELECT * FROM '+tableid2name(tableId)); # # this.listFieldGroups(); #} ENDSOURCE ENDMETHODS OBJECTBANK DATASOURCE OBJECTPOOL PROPERTIES Name #ds Table #Common InsertIfEmpty #No ENDPROPERTIES FIELDLIST ENDFIELDLIST ENDOBJECTPOOL METHODS Version: 3 SOURCE #executeQuery #void executeQuery() #{ # ExecutePermission executePermission; # ; # # if (sqlcmd) # { # //assert # executePermission = new ExecutePermission(); # executePermission.assert(); # //BP Deviation Documented # runbuf(sqlcmd, this.cursor()); # } # else # { # super(); # } #} ENDSOURCE ENDMETHODS ENDDATASOURCE ENDOBJECTBANK JOINS ENDJOINS DESIGN PROPERTIES Caption #@SYS54191 HTMLHelpFile #HTMLHelpFileIWorker HTMLHelpTopic #AxShared.chm::/html/5e550c85-568b-4610-80c3-bbc2c9b4c2d7.htm Columnspace #0 ENDPROPERTIES CONTAINER CONTROL GROUP ;==== controlId:12290, containerId: 0, containerdata:61440 ;---------------------------------------------------------- PROPERTIES Name #SQLGrp Top #Bottom edge Width #Column width VerticalSpacing #0 HTMLHelpFile #HTMLHelpFileAxShared HTMLHelpTopic #html/8B22B5C2-42AB-450C-86D0-8E136FA3C428.htm FrameType #None ENDPROPERTIES CONTAINER CONTROL STRINGEDIT ;==== controlId:12291, containerId:12290, containerdata:12290 ;---------------------------------------------------------- PROPERTIES Name #SQL AutoDeclaration #Yes Width #Column width Height #Column height HelpText #@SYS57539 MultiLine #Yes Font #Courier New FontSize #9 Bold #Normal ENDPROPERTIES ENDCONTROL CONTROL GROUP ;==== controlId:12296, containerId:12290, containerdata: 0 ;---------------------------------------------------------- PROPERTIES Name #Group HTMLHelpFile #HTMLHelpFileAxShared HTMLHelpTopic #html/E225BA4E-ECCA-4704-BAEA-D943E48BEC71.htm FrameType #None Columns #2 ArrangeGuide ARRAY INDEX Columns #0 #0 ENDARRAY ENDPROPERTIES CONTAINER CONTROL COMBOBOX ;==== controlId:12295, containerId:12296, containerdata: 0 ;---------------------------------------------------------- PROPERTIES Name #cbxFieldGroups AutoDeclaration #Yes ENDPROPERTIES METHODS Version: 3 SOURCE #selectionChange #public int selectionChange() #{ # Args args = new Args(); # int ret; # # ret = super(); # args.caller(element); # SysTableBrowser::main(args); # element.close(); # return ret; #} ENDSOURCE ENDMETHODS ENDCONTROL CONTROL BUTTON ;==== controlId:12293, containerId:12296, containerdata:12292 ;---------------------------------------------------------- PROPERTIES Name #ExecuteSQL HelpText #@SYS57538 ButtonDisplay #Image only NormalResource #1094 DisabledResource #1094 BackStyle #Transparent ForegroundColor #Button face (3D) ENDPROPERTIES METHODS Version: 3 SOURCE #clicked #void clicked() #{ # XppCompiler compiler = new XppCompiler(); # if (sql.text()) # { # sqlcmd = 'void SQLSTMT('+dictTable.name()+' '+dictTable.name()+')\n{\n'+sql.text()+';\n}\n'; # if (compiler.compile(sqlcmd)) # { # ds_ds.executeQuery(); # } # else # { # setprefix("@SYS57538"); # info (sqlcmd); # error (compiler.errorText()); # } # } # else # { # sqlcmd = ''; # ds_ds.executeQuery(); # } # # super(); #} ENDSOURCE ENDMETHODS ENDCONTROL ENDCONTAINER ENDCONTROL ENDCONTAINER ENDCONTROL ENDCONTAINER ENDDESIGN ENDFORM ***Element: PRN ; Microsoft Dynamics Project : TableBrowserFieldGroups unloaded ; -------------------------------------------------------------------------------- PROJECTVERSION 2 PROJECT #TableBrowserFieldGroups SHARED PROPERTIES Name #TableBrowserFieldGroups ENDPROPERTIES BEGINNODE FILETYPE 0 UTILTYPE 45 UTILOBJECTID 1561 NODETYPE 329 NAME #SysTableBrowser ENDNODE BEGINNODE FILETYPE 0 UTILTYPE 11 UTILOBJECTID 0 NODETYPE 201 NAME #SysTableBrowser ENDNODE ENDPROJECT ***Element: END