Acumatica 更改自定义字段长度

Acumatica 更改自定义字段长度,acumatica,Acumatica,我使用了自定义字段(字符串类型),现在想增加它的长度。我增加了数据访问和项目XML部分的长度并发布了它。根据新的长度输入值时,我得到错误“字符串或二进制数据将被截断。语句已被删除”。下面是我试图将长度从12增加到15的XML项目 `<PXGridLevel DataMember="AccountRecords" ParentId="phL_grid_Levels#0" TypeFullName="PX.Web.UI.PXGridLevel"> &

我使用了自定义字段(字符串类型),现在想增加它的长度。我增加了数据访问和项目XML部分的长度并发布了它。根据新的长度输入值时,我得到错误“字符串或二进制数据将被截断。语句已被删除”。下面是我试图将长度从12增加到15的XML项目

    `<PXGridLevel DataMember="AccountRecords" ParentId="phL_grid_Levels#0" 
      TypeFullName="PX.Web.UI.PXGridLevel">
        <Children Key="Columns">
            <AddItem>
                <PXGridColumn TypeFullName="PX.Web.UI.PXGridColumn">
                    <Prop Key="DataField" Value="UsrBRXAccountID" />
                    <Prop Key="Width" Value="170" />
                </PXGridColumn>
            </AddItem>
            <PXGridColumn DataField="AccountClassID" OriginalIndex="2" />
        </Children>
    </PXGridLevel>
    </Page>
    <Table TableName="Account">
    <Column TableName="Account" ColumnName="UsrBRXAccountID" 
    ColumnType="string" AllowNull="True" MaxLength="15" DecimalPrecision="2" 
     DecimalLength="15" IsNewColumn="True" IsUnicode="True" />
    </Table>
    <DAC type="PX.Objects.GL.Account">
    <Field FieldName="UsrBRXAccountID" TypeName="string" MapDbTable="Account" 
      TextAttributes="#CDATA" StorageName="AddColumn">
        <CDATA name="TextAttributes"><![CDATA[[PXDBString(15)]
      [PXUIField(DisplayName="BRX Account ID")]]]></CDATA>
      </Field>
      </DAC>
      </Customization> `
`
`

如果您能够访问数据库,最好的选择是直接更改字段的长度。只需确保更新项目以使用新长度即可

如果您无法访问数据库,并且它对您有效,最简单的选择是创建一个具有所需长度的新Usr字段(不同名称)。这是因为Acumatica应用项目中定义的表自定义,但忽略对用户字段的任何更改(如果已经存在),这些字段以“Usr”开头

另一种方法是编写包含SQL查询的临时自定义项目,以便为您更新表字段。请注意,这不是官方建议的,因此请小心,首先在非生产环境中测试它,但在某些情况下它是有用的。以下是此类项目的XML,如果在Customization元素中输入Acumatica版本,则可以直接使用:



只需发布一次就可以更改表,以后可以将其删除。

发布时,长度更改是否传播到数据库?如果您可以直接访问数据库,则可以使用数据库管理实用程序(如Microsoft SQL Server management Studio)检查USRBRXACCOUNT字段长度。我刚刚介绍了该场景,可以很好地增加字段大小。我可以输入值,没问题。我猜就像HB_Acumatica提到的一样,DB大小的变化并没有使其达到DB。确保您的测试站点中没有其他公司使用相同的旧尺寸定制。您好,感谢您的快速响应。否大小更改没有传播到数据库,因为它的数据类型仍然显示“nvarchar(12)”。如何修复它请?重新测试我放在一起的东西似乎你是正确的,它不是因为某些原因改变数据库。(版本6.10.1511-MySql)。我唯一的建议是更改数据库中现有的列名,然后重置站点并发布。然后传输数据。这似乎是针灸的一个问题,因为它没有看到大小的变化。当我取消发布和重新发布时,它也不起作用。