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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2004, 14:20   #1  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
? Как программно создать закупку?
Привет всем.

Возникла вот такая задача.. Рылся в аксапте, смотрел как делается из стандартных форм, но только запутался.. Наставьте плиз на путь истинный
Старый 12.03.2004, 14:27   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Посмотри класс PurchAutoCreate и его наследников.
Старый 12.03.2004, 14:44   #3  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
а где-нить примеры использования этого класса можно посмотреть?
Старый 12.03.2004, 15:18   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Думаю тут:
Расчеты с клиентами\Заказ
далее в шапке
Функции\Создание закупки
Старый 13.03.2004, 12:53   #5  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
блин запутался совсем

я начал юзать PurchAutoCreate_tmpPurchLine - думал с помошью его создать строки закупки и потом перевести все это в нормальную закупку, но что то у меня не получается.. там нада где-то взять InventTransId - что это такое я не понял

может кто-нибудь подскажет хотя бы примерный план использования этих классов..
Старый 15.03.2004, 09:59   #6  
Andrew Besedin is offline
Andrew Besedin
Участник
 
121 / 15 (1) ++
Регистрация: 25.01.2002
Привет!
Вообще говоря, inventTransId создается при вставке строки закупки (см. класс PurchLineType.insert(...))
PHP код:
numberSeq NumberSeq::newGetNum(InventParameters::numRefInventTransId());
purchLine.inventTransId numberSeq.num(); 
Поэтому тут тебе и о чем заботиться не нужно
__________________
С уважением,
Андрей Беседин
Старый 16.03.2004, 09:50   #7  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
блин не выходит нифига

может кто примерчик кода приведет, а

ps.. задача то вроде совсем простая, просто завести закупку с несколькими строчками с номенклатурой, никаких обработок программно делать не надо, все будут делать менеджеры...
Старый 16.03.2004, 11:01   #8  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Закупка создается в зва этапа.
1. Создать заголовок закупки (запись в PurchTable). Для это нам хватает вот этого
PurchTable purchTable;
purchTable.clear();
if ( !type ) purchTable.PurchaseType = PurchaseType::Purch;
else purchTable.PurchaseType = PurchaseType::ReturnItem;
purchTable.PurchId = purchTable.type().getNewPurchId();
purchTable.initValue();
purchTable.OrderAccount = vendAccount;
purchTable.transferOrderAccount();
purchTable.insert();
2. Создание строк закупки. Для этого посмотри метод createLine таблицы PurchLine,
при этом не забудь инициализировать PurchId, ItemId, Qty и что еще нужно, можно убрать флажки опять же если нужно
Старый 18.03.2004, 08:33   #9  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
спасибо за совет sergy, это похоже то что мне нужно, но вот проблемка возникла

PHP код:
purchTable.PurchId      purchTable.type().getNewPurchId(); 
но вот на этом месте аксапта у меня ругается.. и говорит, что метода getNewPurchId() нету у неё в этом месте

я попробовал получить код новой закупки из номерной серии, как выше советовал Andrew Besedin, но аксапта стала ругаться - цитирую "Система не поддерживает настройку 'непрерывности' номерной серии 'Расч_70'"

вот какой код я написал, подскажите что неправильно плиз


PHP код:
PurchTable _purchTable;
NumberSeq numberSeq;
;

numberSeq NumberSeq::newGetNum(PurchParameters::numRefPurchId());

_purchTable.clear();
_purchTable.PurchaseType PurchaseType::Purch;
_purchTable.PurchId numberSeq.num();
_purchTable.initValue();
_purchTable.OrderAccount "1234";
_purchTable.transferOrderAccount();
_purchTable.insert(); 

Update
хм.. убрал в номерной серии настройку "непрерывная" все стало работать, это нормально? и можно как нибудь получить код закупки, если все таки оставить настройку "непрерывная" у номерной серии
Старый 18.03.2004, 11:03   #10  
Xiras is offline
Xiras
Участник
 
8 / 10 (1) +
Регистрация: 12.03.2004
продираюсь потихоньку. теперь немогу понять почему у меня цена не инициализурется когда создаю строку закупки:

PHP код:

 _purchLine
.clear();
_purchLine.PurchId=purchId;
_purchLine.ItemId=_itemId;
_purchLine.PurchPrice=_price;
_purchLine.PurchQty=_qty;
_purchLine.initValue();
_purchLine.createLine(truetruetruetruetruetrue); 
че тут неправильно ?

Update
вопрос аннулирован, цену он берет из InventTable (т.к. установлен флажок инициализировать из InventTable)
Старый 23.03.2004, 14:11   #11  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
Мне тоже пришлось на форуме разбираться с созданием закупок.
Ссылочки такие:
http://www.axforum.info/forums/showt...&threadid=3610
http://www.axforum.info/forums/showt...&threadid=3730
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как программно создать документ в DocuView алька DAX: Программирование 5 03.04.2007 18:44
Как программно создать платежное поручение? AK9 DAX: Программирование 3 13.09.2006 09:37
Создать программно складскую проводку с количеством = 0. vasiliy DAX: Программирование 5 26.12.2005 16:46
программно создать таблицу mne2001 DAX: Программирование 40 13.08.2004 15:46
Как создать закупку из кодов? somebody DAX: Программирование 4 15.10.2003 11:34
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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