03 2012 档案
摘要:Sub test()Dim strcon As StringDim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetstrcon = "Driver={SQL Server};Server=**********;UID=**;PWD=*********;DataBase=***"cn.Open strconstrsql = "exec存储过程名 '" & Sheet2.Cells(2, 2).Value & " ','" &
阅读全文
摘要:static void AXD_SynTable(Args _args){ #define.unknown("UNKNOWN") #define.tableIdMax(65536) int i = 1; ; while (i < #tableIdMax) { if (tableID2Name(i) != #unknown) { if (!appl.dbSynchronize(i, false, true)) error(strFmt("同步失败:%1",tableID2Name(i))); } i++; }}
阅读全文
摘要:InventSum表中的几个字段,用于计算物理库存 PostedQty = 已过帐财务帐数量(包括SO过账,PO过账,库存日记账过账,生产库存过账) Received = 已过账实物帐数量(SO,PO,MO,的正数) Deducted = 已过账实物帐数量(SO,PO,MO的负数) Registered = 预留数量(处于预留状态的数量) Picked = PICK数量(处于pick状态...
阅读全文
摘要:在标准ax中,允许在Table中上传文档,而这些文档是专用一个表来储存的,这个表是DocuValue ax将所有table的文档都储存在一起,那么必定有关系将记录连接,这种关系就是: DataAreaId TableId RecId 文档存储使用到了两个表,DocuRef与DocuValue. DocuRef存放的是各表的引用关系,而DocuValue则存放的是文档的核...
阅读全文
摘要:在ACT方案中,每个用户分配了相应的相应的仓库与库位,避免了一些不相关的仓存操作。 在ax中用户所属仓存放在表ACT_LocationOwnerAuth中(地点授权),通常控制用户使用所属仓一般是在Lookup时过滤,使操作无法选择不相关的仓库仓位,从而实现仓库权限控制。 下面看一段代码,这段代码用于Lookup仓库之用: private void Fld2_1_Lookup() {...
阅读全文
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlTypes; using System.Drawing; using System.IO; namespace NJ_MF_ClassLib ...
阅读全文
摘要:在ACT的方案中没有使用传统的转仓功能,而是在原基础上增加了两个操作, 发送 接收 每一次转仓都是先发送到中转仓,然后在接收时将中转仓的物料再次过账到目标仓。 下面代码摘自 类ACT_CreateMovementJournal 方法initFrom2StepTransSend_NJ() public void initFrom2StepTransSend_NJ(Nj_2Ste...
阅读全文
摘要:在ax中有时会需要发送固定格式的邮件给用户,在ax中有提供邮件模板功能,邮件模板使用了两个表 SysEmailTable SysEmailMessageTable SysEmailTable保存的是表头,SysEmialMessageTable保存了邮件模板的内容。 现在我们调用系统SysEmailTable::SendMail()来发送邮件:(有关邮件服务器参数请先在系统...
阅读全文
摘要:void CleanMap(map _map) { MapEnumerator mapEnumerator; ; mapEnumerator = _map.getEnumerator(); while (mapEnumerator.moveNext()) { if (_map.exists(mapEn...
阅读全文
摘要:static void NJ_MF_SendMail(Args _args) { SysMailer sysMailer; str emailHeader; str emailToAddress; ; emailToAddress = "Macro Feng<Macro.Feng@py.nelson-je...
阅读全文
摘要:Quiet often we get the request from the clients that they wish if the reports or query data they design can be seen in excel in the Excel formatted way. Though the standard reports output can be sent ...
阅读全文
摘要:在ax中有许多窗体都有维度显示功能,例如生产订单、销售订单等等… 下面介绍一下,如果在自己开发的窗体中使用维度显示功能。 维度显示,是调用了class InventDimCtrl_Frm来完成的。 步骤: 声明InventDimCtrl_Frm 类 InventDimCtrl_Frm inventDimCtrl_Frm; 在窗体中添加InventDim表作数据源,并且J...
阅读全文
摘要:查询TableID需要从SqlDictionary中查询,此表中存放了TableID和FieldID alter procedure GetImageOfItemId @ItemId varchar(20) as begin select top 1 a.itemId, b.ACT_DesignNo, d.ima...
阅读全文
摘要:在ax中有时可能需要在打印时,不显示报表的预览与设置窗口,而是直接Send到打印机。可以使用ClassFactory、PrintJobSettings、ReportRun来完成。 static void NJ_MF_DirectPrint(Args _args) { Args args = new Args(); Re...
阅读全文
摘要:Exportfile for AOT version 1.0 or later Formatversion: 1 ***Element: FTM ; Microsoft Dynamics AX MENUITEM : MF_QueryBrowser unloaded ; ---------------------------------------------------------...
阅读全文
摘要:Ax2009与4.0在窗体显示上有所不同,2009中除Aot、编辑器之外的窗体一量失去焦点后会从工作区中隐藏,这时需要在窗口菜单中寻找,这使得开发人员十分不方便。 2009中默认窗体的属性WindowType多了三种类型: FormWindowType枚举值: ContentPage ListPage Popup Standard ...
阅读全文
摘要:在ax中新建表时,通常要实现这两个方法,以便于重用。下面贴出Find与Exists方法示例,摘自表InvenBatch Find方法: static InventBatch find(InventBatchId _inventBatchId, ItemId _itemId, boolean _forupdate = false) { InventBatch inven...
阅读全文
摘要:使用FormLetter取Logo图,下面方法是某报表中display方法 display Bitmap dispCompanyLogo() { return FormLetter::companyLogo(); } display Bitmap dispCompanyName() { Image tempImage = ne...
阅读全文
摘要:public static server PwC_Import readexcel(filenameopen _file) { #Excel #AviFiles SysExcelApplication excelApp = SysExcelApplication::construct(); SysOperationPro...
阅读全文
摘要:领料或退料过账,主要是用两个Class来完成 ProdJournalCheckPost ProdJournalCheckPostBOM::newJournalCheckPost(); 过账步骤: 在ProdJournalTable建立领料日志,插入相关数据与生成凭证编号 在ProdJournalBom插入领料日志行,与主表关联 使用上述两过账类: jour...
阅读全文
摘要:static Qty ConvertUnit(InventTable _inventTable,Qty _qtyFrom,UnitID _unitTo) { qty qtyTo; ; setprefix("Unit Conversion"); if (_inventTable.inventTableModuleInvent()...
阅读全文
摘要:使用自定义窗体做为Lookup窗体,其实非常简单:关键地方有两处: CloseSelect方法 this.performFormLookup(formRun); 步骤: 新建一个窗体作为lookup窗体,将Frame设为Border; 添加一个数据源,这个数据源即是lookup内容; 覆盖窗体方法CloseSelect写上: (此处我们将Unit表作为Loo...
阅读全文
摘要:static str num2eng(real _num) { str ret, sign, sCents = ''; int tThousand, i; str sThousand[8]; //---------------------------------------------------------- ...
阅读全文
摘要:static FormWindowControl showBitmap(FormWindowControl _control, Bitmap _bitmap, int _width=0, int _height=0) { real ratio; Image _image; ...
阅读全文
摘要:此方法是在Class SysSetupFormRun中 RUN() curEXT用于获取当前公司账号; public void run() { super(); this.design().colorScheme(2); switch (curEXT()) { case '011' : ...
阅读全文
摘要:void startupPost() { int counter; int maxUserSessions = 1; int maxAdminSessions = 4; int num = 0; int maxSessions = Info::l...
阅读全文
摘要:两种方法: 第一: 查询userGroupList表 select userGroupList where userGroupList.userId == currentUserId && userGroupList.groupId == 'Admin' 第二: 执行EventSecurity::construct(curuserid()).isUserAdmin() ...
阅读全文
摘要:1.在FORM数据源下,覆盖方法displayOption(); 2.覆盖数据源的Write()方法:在Super之后写入 GridColours_ds.clearDisplayOption(gridColours); 处出关键地方是:affectedElementsByControl()方法。 public void displayOption(Common _record, Form...
阅读全文
摘要:SysQuery::findOrCreateRange(qbds, fieldnum(InventJournalTrans, JournalId)).value(inventJournalTable.JournalId); ueryBuildDataSource = SysQuery::findOrCreateDataSource(_query, tablenum(InventPackagin...
阅读全文
摘要:Object callerForm = args.caller(); ; if (callerForm && formHasMethod(callerForm,identifierstr(interCompanyRefreshCache))) { callerForm.interCompanyRefr...
阅读全文
摘要:使用Spliter控件: 首先声明 SysFormSplitter formSplitter; 添加一个Group 设置FrameType为Edged 3D,宽度2,覆盖方法 MouseUp; MouseMove; MouseDown; 三方法中写入代码: super(_x,_y,_butt...
阅读全文
摘要:DateStartWk(today()); DateEndWk(today())
阅读全文