Axapta 在AX 2009中增加列的容量

Axapta 在AX 2009中增加列的容量,axapta,Axapta,我对AX非常陌生,我从一些非常简单的东西开始。我需要增加名为Invoice的列的大小。在AOT中,列上的StringSize属性变灰,因此我无法在那里更改它 在SQLServer(2005)中,该列是一个nvarchar(20),因此我认为AX可能只是使用数据库中定义的任何数据类型 如果我试图在SQLServer中增加列的大小,它会告诉我需要删除并重新创建表 在AX中增加列大小的最佳方法是什么?要增加列的容量,通常需要更改InvoiceId扩展数据类型上的StringSize属性 但是,在这种情

我对AX非常陌生,我从一些非常简单的东西开始。我需要增加名为Invoice的列的大小。在AOT中,列上的StringSize属性变灰,因此我无法在那里更改它

在SQLServer(2005)中,该列是一个nvarchar(20),因此我认为AX可能只是使用数据库中定义的任何数据类型

如果我试图在SQLServer中增加列的大小,它会告诉我需要删除并重新创建表


在AX中增加列大小的最佳方法是什么?

要增加列的容量,通常需要更改
InvoiceId
扩展数据类型上的
StringSize
属性

但是,在这种情况下,
InvoiceId
扩展数据类型从
Num
扩展数据类型扩展而来,您需要在那里进行更改。此大小增加还将影响扩展
Num
的所有其他扩展数据类型


此扩展数据类型可在AOT的
\Data Dictionary\extended Data Types\Num

中找到。发票列上的“ExtendedDataType”属性也是AOT中的InvoiceId。也许我需要在某个地方更改InvoiceID?千万不要试图通过自己更改数据库来胜过AX。对数据库的所有更改都应在AX中进行。您可以删除扩展数据类型InvoiceId的Num属性值,并保持Num不变。这将减少对database.dlhattere的更改—我昨天终于明白了这一点,并在我们的开发环境中进行了更改。大约花了15分钟才完成。我确实认为很多对象都扩展了Num。既然我已经在dev上更改了Num,有没有办法回滚它?我想我可以再把它改回20,但当我运行它时,我得到了一条消息(屏幕截图)——有没有一种方法可以进行真正的回滚——而不仅仅是手动恢复属性值?在我们的实时系统上进行更改之前,我想回滚它,并尝试Jan在dev上的方法。回滚更改的最好方法是,如果您在sys以外的层中工作,则将更改元素删除到您层中的元素。需要注意的一点是,您决定只更改InvoiceId,即系统中任何可以强制转换的位置从InvoiceId到从Num派生的其他内容可能会导致数据丢失,因为如果该值超过20个字符,它将被截断。