Сообщение об ошибке при выполнении учета заказа покупки в Microsoft Dynamics AX 2009: «Не удается создать запись в заголовок заказа на покупку - таблица обновления (PurchParmSubTable)»

Axapta Codefix Template

BUG #: 103700 (Content Maintenance)BUG #: 2997 (AXSE)

Данная статья относится к Microsoft Dynamics AX для всех регионов.

Проблемы

При разноске заказа на покупку в Microsoft Dynamics AX 2009, появляется следующее сообщение об ошибке:

Не удается создать запись в заголовок заказа на покупку - таблица обновления (PurchParmSubTable).

Эта проблема возникает при выполнении одного из следующих условий:

  • Включите параметр «Биология электронной подписи Настройка аудита» для всех таблиц.

  • Создание записи для распространенных таблицы.

  • Таблица PurchParmTable в журнале базы данных.

Эта проблема возникает при выполнении учета заказа на покупку, списков прихода, отборочной накладной и накладной. Эта проблема возникает в следующих продуктах:

  • Microsoft Dynamics AX 2009 с Пакет обновления 1

  • Microsoft Dynamics AX 2009 г.

Решение

Сведения об исправлении

Исправление от корпорации Майкрософт доступно. Однако оно предназначено только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления для Microsoft Dynamics AX 2009 или следующей версии, содержащего это исправление. Примечание. В особых случаях оплата, предусмотренная в службу поддержки может быть отменена Если специалист службы технической поддержки Microsoft Dynamics и связанных продуктов определит, что решения проблемы является специально выпущенное. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

This hotfix is not scheduled to be included with Service Pack for Microsoft Dynamics AX 2009.

Сведения об установке

Перед установкой исправления убедитесь, что выход из системы вошли пользователей клиента Microsoft Dynamics AX. Должен быть только клиент пользователя, который вошел в систему, при реализации данного исправления. Чтобы реализовать это исправление, необходимо иметь лицензию разработчика.Примечание. Рекомендуется учетной записи пользователя в окне Логины Windows или в окне Логины базы данных является членом группы администраторов пользователей в Microsoft Dynamics AX.

Изменения кода

Корпорация Майкрософт приводит примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их пригодности для применения в тех или иных целях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования и необходимых средств разработки и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не обязаны изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей. Всегда тестовый код исправления в контролируемой среде, прежде чем применить исправления на производственных компьютерах.Чтобы устранить эту проблему, выполните следующие действия:

  1. Переписать код в метод insert в таблице PurchParmSubTable следующим образом:

    public void insert(){    PurchParmSubTable tempPurchParmSubTable;    ;    select tempPurchParmSubTable where        tempPurchParmSubTable.ParmId == this.ParmId        && tempPurchParmSubTable.TableRefId == this.TableRefId        && tempPurchParmSubTable.OrigPurchId == this.OrigPurchId;    if(tempPurchParmSubTable.RecId == 0)    {        super();    }}
  2. Переписать код в методе createFromPurchParmTable в таблице PurchParmSubTable следующим образом:

    static PurchParmSubTable createFromPurchParmTable(PurchParmTable _purchParmTable, boolean _insert = true){    PurchParmSubTable   purchParmSubTable;    systemSequence systemSequence;    ;    ttsbegin;    purchParmSubTable.clear();    purchParmSubTable.initValue();    purchParmSubTable.initFromPurchParmTable(_purchParmTable);    if (_insert)    {        systemSequence = new systemSequence();        purchParmSubTable.RecId = systemSequence.reserveValues(1, tablenum(PurchParmSubTable));        purchParmSubTable.insert();    }    ttscommit;    return purchParmSubTable;}
  3. Переписать код в метод insert в таблице SalesParmSubTable следующим образом:

    public void insert(){    SalesParmSubTable tempSalesParmSubTable;    ;    select tempSalesParmSubTable where        tempSalesParmSubTable.ParmId == this.ParmId        && tempSalesParmSubTable.TableRefId == this.TableRefId        && tempSalesParmSubTable.OrigSalesId == this.OrigSalesId        && tempSalesParmSubTable.subId == this.subId;    if(tempSalesParmSubTable.RecId == 0)    {        super();    }}

Примечание. Необходимо объединить все существующие настройки, в этих методах.

Предварительные условия

Для установки предварительные компоненты не требуются.

Требование перезагрузки

Не требуется перезагружать компьютер после установки данного исправления.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Author: mansourm
Writer: v-brialu
Tech Reviewer: mansourm
Editor:

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×