Ошибка при публикации Покупки Упаковочный лист через X++
Я пытался опубликовать упаковочный лист из кода. Я пробовал несколько способов, но, к сожалению, безуспешно.
Мой код ниже:
purchTable = PurchTable::find('PO0012555');
purchFormLetter = PurchFormLetter::construct(DocumentStatus::PackingSlip);
purchformLetter.getLast();
purchFormLetter.transDate(transDate);
numberSeq = NumberSeq::newGetNum(PurchParameters::numRefPurchPackingSlipId()).num();
purchFormLetter.update(purchTable,
"14",// numberSeq, //this is coming out blank
transDate,
PurchUpDate::All,
AccountOrder::None,
false,
false);
Когда я попытался выполнить, я получил эту ошибку:
Запас закрыт для физических и финансовых операций до
Есть ли у вас какие-либо идеи? Любая помощь будет оценена. Спасибо
3 ответа
Спасибо мастерам, которые пытались мне помочь, но я разобрался в своей проблеме. Там нет проблем с моим кодом или где-либо еще.
Мы работаем над этим проектом с другой консалтинговой компанией. Каким-то образом один из разработчиков, который работает в другой компании, заметил (прокомментировал) строку трансдейта в классе CustomersFormLetter без какой-либо информации.
Таким образом, когда я попытался установить значение transdate в строке "purchaseFormLetter.transDate(transDate)", PurchaseFormLetter не смог установить причину значения отмеченной строки.
Я раскомментировал строку, и код работал как шарм.
Мое предположение: ваш transDate
переменная не имеет действительной даты.
Используя перекрестную ссылку, вы видите, что ошибка возникает только в checkOpen
метод таблицы InventClosing
, Не стесняйтесь добавить точку останова здесь!
Метод не будет выполнен, если вызывается с пустой датой транзакции.
Вы отправляете на закрытый период? Что такое трансдат? Проверка (Главная книга> Настройка> Периоды> Периоды)