Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

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

Проблемы

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

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

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

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

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

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

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

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

  • Microsoft Dynamics AX 2009 г.

Решение

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

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

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

Перед установкой исправления убедитесь, что выход из системы вошли пользователей клиента 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();    }}

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

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

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

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

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

Статус

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

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

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

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

×