小编Phi*_*ich的帖子

Microsoft Dynamics AX 2012 X ++无法插入记录.记录已经存在错误

我正在尝试从CSV文件将一些值导入AX(GEACAccounts)中的自定义表.

现在,下面的代码按预期工作,除非我尝试加载包含表中已存在的GEACaccount(容器项#3)编号的CSV文件.在这种情况下,AX抛出一个错误,说"将记录插入表中时出错.记录已存在.

在我看来,这个错误正在发生,因为表上有一些设置不允许表中的重复值,但我不知道这个设置可能是什么.将不同的字段设置为主键(RecID).GEACAccount字段也与另一个表相关.这会导致我的错误或其他什么?

此外,此功能是正确的,此表上应该只允许一个唯一的GEACAccount值.我只是问,因为我很好奇这可能会受到控制.

任何关于下一步的建议都将不胜感激.

代码如下.

static void Job11(Args _args)
{
 TextIo ioReader;
FileIOPermission fioPermission;
str sTempPath;
GEACAccounts Accounts;


container readCon;


try
{
    info("Begin reading file " +'C:\\\\testload.txt');

    fioPermission = new FileIOPermission('C:\\\\testload.txt',"RW");
    fioPermission.assert();

    ioReader = new TextIo('C:\\\\testload.txt',"R");
    ioReader.inFieldDelimiter(num2char(44));
    ioReader.inRecordDelimiter('\n');


    readCon = ioReader.read();

    if(ioReader)
    {
        //readCon = ioReader.read();
        // i++;

        while(ioReader.status() == IO_Status::Ok)
        {
             i++;


            info(conPeek(readCon,1));
            info(conPeek(readCon,2));
            info(conPeek(readCon,3));
            info(conPeek(readCon,4));


            ttsBegin;
            accounts.clear();
            accounts.initValue();
            accounts.GEACAccountGroup = 5637144826;
            accounts.AddlSecType = conPeek(readCon,1);
            accounts.CashflowMovement = conPeek(readCon,2);
            accounts.GEACAccountNumber = conPeek(readCon,3);
            accounts.GEACFlipSign = 0;
            accounts.SecurityGroup = …
Run Code Online (Sandbox Code Playgroud)

x++ axapta import-from-csv dynamics-ax-2012

0
推荐指数
1
解决办法
1696
查看次数

标签 统计

axapta ×1

dynamics-ax-2012 ×1

import-from-csv ×1

x++ ×1