• 添加管理权限工具

     C:\AOSService\PackagesLocalDirectory\bin\AdminUserProvisioning.exe
    
  • 表浏览器

     https://usnconeboxax1aos.cloud.onebox.dynamics.com/?cmp=xxxx&mi=systablebrowser&tablename=TableName
    
  • 调试进程

     wpw4 或 wpw3
    
  • 生成编码

     系统管理-定期任务-生成模块序列编号
    

-- using (SysErrorMessageHelpScope scope = SysErrorMessageHelpScope::newErrorContext(_args))

{
}

Danzel2020-11-26AX2012328 浏览
GeneralJournalAccountEntry.LedgerDimension = DimensionAttributeLevelValueAllView.ValueCombinationRecId
DimensionAttributeLevelValueAllView.DimensionAttribute = DimensionAttribute.RecId

DimensionAttributeLevelValueAllView中会把不同的维度展开成数行,结合DimensionAttribute表可以获取指定维度数据

copy from http://maryd.cn/?id=139

方法

curUserId(); //当前用户
XUserInfo::find(false, curUserId()).name;//当前用户名。
HcmWorker::worker2Name(HcmWorker::userId2Worker( curUserId()));;//当前Worker名。
curEXT();//当前帐套,等价于 Ledger.Name

appl.ttsLevel() //事务层数;
TablePName(tb) //table label;
fieldPName(tb,field) //field label;

Global_CN::numeralsToTxt(totalAmount, NoYes::No, NoYes::Yes,(strLen(num2str(totalAmount, 1, 0, 1, 0)) + 1 + #DecimalNum));//中文数字大写;


获取logisticPostalAddress

LogisticsElectronicAddress locationAddressTb;
select firstonly locationAddressTb order by locationAddressTb.IsPrimary desc
            exists join DirPartyLocation
                where  locationAddressTb.Location == DirPartyLocation.Location
                    && DirPartyLocationTb.Party == tb.Party
                    && DirPartyLocationTb.IsPrimary == NoYes::No;

Math

  • roundDown(real x,real 最小位);
  • 数字toString:

      num2str
      (
      moneyReal,
      -1, // Minimum number of characters to output into the string. -1 means infinite number of characters
    
      -1, // Required number of digits to the right of the decimal. -1 means infinite number of digitis
    
      DecimalSeparator::(Auto, Dot, Comma),    // 1
      ThousandSeparator::(Auto, None, Dot, Comma, Apostrophe, Space)  // 2
      );
    

date

当前date

客户端日期

DateTimeUtil::getSystemDate( DateTimeUtil::getClientMachineTimeZone() );

时间间隔

intvNo( fromDate, toDate,IntvScale::Day);//弃用
Date2Num(toDate) - Date2Num(fromDate);

日期展示

date2Str(date date, int sequence, int day, int SeparatorBtwM&D, int month, int SeparatorBtwY&M, int year); // separator顺序不对,恶心心。

第一天

dateStartMth(date)
dateStartQtr(date)
dateStartWk(date)
dateStartYr(date)

其中对应枚举类为:

  • DateSeparator:: Auto, None, Space, Dot, Hyphen, Slash; 99, 0, 1, 2, 3, 4;
  • DateDay:: Auto, None, Digits1or2, Digits2; 99, 0, 1, 2;
  • DateMonth:: Auto, None, Digits1or2, Digits2, Short, Long; 99,0,1,2,3,4;
  • DateYear:: Auto, None, Digitis2, Digits4; 99, 0, 2, 4;
  • 19990101 date2Str(date, 321,2,0,2,0,4)
  • 199901 date2Str(date, 321,0,0,2,0,4)
  • 1999 date2Str(date, 321,0,0,0,0,4)
  • 1999-01-01 date2Str(date, 321,2,3,2,3,4)
  • 1999-01 date2Str(date, 321,0,0,2,3,4)

类型转换

date 2 datetime :

DateTimeUtil::newDateTime(_Date, 0, DateTimeUtil::getCompanyTimeZone())

复制记录:

Global::buf2buf(tbFrom,tbTo);

tb.data(tbFrom);

PHP

语法

PHP 文件的默认文件扩展名是 ".php";
通常包含 HTML 标签和一些 PHP 脚本代码;
脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器;
可以放在文档中的任何位置;
以 <?php 开始,以 ?> 结束。

注释

<?php
// 单行注释1

# 单行注释2

/*
多行
注释
*/

?>


数据类型

PHP 支持以下几种数据类型:

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)
  • Resource(资源类型)

字符串类型

字符序列,可以将任意文本放在单双引号间。

整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前- 缀)或八进制(前缀为 0)。

浮点型

小数或者指数形式。

<?php
$a = 1.1;
$b = 2.2e4;
?>

Bool型

True or Fasle.

数组

相关方法链接

  • 普通数组
    可用
    $nums=array("one","two","3three);
    来定义普通数组,并使用
    $nums[0]
    来调用。
  • 关联数组
    关联数组类似于Map<key,value>,可使用一下两种方法创建:
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    //or
    $age['Peter']="35";
    $age['Ben']="37";
    $age['Joe']="43";
    使用$name['key']的形式调用。
  • 多维数组
    可使用
    $arrayy = array(

      array(item...),
      array(item...),
      ...

    }
    来创建二维普通数组,高维同理。
    可使用
    $arrayy = array
    (

      "one"=>array
      (1,11),
      "two"=>array
      (2,22),
      "3"=>array
      (3,33)

    );
    来创建二维关联数组,高维同理。


变量

变量规则

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

作用域

local

局部变量

global

全局变量
作用域从定义处到文件尾。
所有全局变量都存储在$GLOBAL[index]数组中,可以直接调用。
在函数内访问全局变量需要 global $index声明,否则无法调用。

static

静态变量
在函数中声明变量 static $index,该变量就不会随着函数的重新使用而重新定义。

parameter

函数参数


方法

基本输出

  • echo
    可以输出一个或多个字符串
  • print
    只允许输出一个字符串,返回值总为 1

    <?php
    $a = "1";
    $b = "2";

    echo $a,$b;//输出 12
    print "
    ";
    print $a;//输出 1
    ?>

EOF:

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

使用概述:

  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
<?php
echo <<<EOF
   <h1>我的第一个标题</h1>
   <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>

注意:

1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:

<?php
$name="runoob";
$a= <<<EOF
   "abc"$name
   "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>