AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.11.2003, 16:46   #1  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
? создание закупки-2
Dear All!

Не работает вот такой кусочек кода:

PurchTable purchTable;
PurchTableType purchTableType;
VendTable vendTable;
NumberSeq purchNumberSeq;
;

purchTable.initValue();
purchTable.purchStatus = PurchStatus::Backorder;
purchTable.purchaseType = PurchaseType::Purch;

purchNumberSeq = NumberSeq::newGetNum(purchParameters::numRefPurchId(), true);
purchTable.purchId = purchNumberSeq.num();
info(strfmt("purchId=%1", purchTable.purchId));

purchTable.orderAccount = "00001";
purchTable.initFromVendTable();

ttsbegin;
purchTable.insert();
purchTableType.purchIdUsed();
ttscommit;

return purchTable;

Видимо, натыкается на "ручной ввод". Но как здесь выбрать нужную запись?
Старый 06.11.2003, 17:10   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Какой еще "ручной ввод"? Что, собственно, говорит система в сообщении об ошибке? Теоретически ttsbegin должен быть в самом начале.
Старый 10.11.2003, 14:09   #3  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
Создание шапки закупки
Разобрался. Не указал, что purchParameters::numRefPurchId() - пользовательский метод, к-рый возвращает следующее:
NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(PurchId))), т. е. находит для текущей компании ссылку в таблице NumberSeqReference.
Т. е. действительно, метод NumberSeq.num() возвращал пустую строку, к-рая и пишется в PurchId, т. к. в таблице numTableNum (экземпляр NumberSequenceTable) в соотв. строке было numTableNum.restrictionLevel == RestrictionLevel::Manual ("Ручной выбор"). Исправил значение с 0 на 4 ("Изменения запрещены"), заработало.

В итоге такой код добавляет шапку закупки:

PurchTable purchTable;
PurchTableType purchTableType;
VendTable vendTable;
NumberSeq purchNumberSeq;
;

purchTable.initValue();

purchTable.purchStatus = PurchStatus::Backorder;
purchTable.purchaseType = PurchaseType::Purch;

purchTableType = purchTable.type();
purchTable.purchId = purchTableType.getNewPurchId();
purchNumberSeq = NumberSeq::newGetNum(NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(PurchId))), true);
purchTable.purchId = purchNumberSeq.num();

purchTable.orderAccount = "00001"; // код поставщика
purchTable.initFromVendTable();

ttsbegin;
purchTable.insert();
purchTableType.purchIdUsed();
ttscommit;

return purchTable;
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обработка закупки - создание с/ф bm DAX: Функционал 8 01.12.2004 09:46
Создание закупки на основе контракта. NJD DAX: Программирование 0 06.09.2004 13:01
Номер возврата в форме Создание закупки OlegKocherga DAX: Функционал 5 12.03.2004 12:12
Создание закупки в одной компании по заказу в другой. bucken DAX: Функционал 11 05.11.2003 15:21
Создание Закупки по Заказу для другой Компании Anton Sk. DAX: Функционал 3 19.12.2001 23:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:01.