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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.07.2012, 07:57   #1  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Программная вставка строки в заказ на покупку
AX2009.
Уважаемые Господа!
Надо через форму ввести строки в заказ на покупку программным путем.
Наверняка, подобная задача решелась множество раз...
Не подскажете как это сделать наиболее простым способом?

С уважением, Дмитрий.
Старый 10.07.2012, 08:09   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Можно допилить стандартную форму "Создать строки" в строках заказа на покупку, если она чем то не устраивает.

Посмотрите метод purchLine.createLine(...) и его использование в стандарте.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: DmitryK (1).
Старый 10.07.2012, 08:33   #3  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Спасибо, да конечно. Причем, на форуме этот метод описывался. Но в форме PurchQuickQuote я не нашел использования данного метода. Или не туда смотрю?


С уважением, Дмитрий.

Последний раз редактировалось DmitryK; 10.07.2012 в 08:52.
Старый 10.07.2012, 09:21   #4  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Этот метод находится на таблице PurchLine.
__________________
С уважением, Александр.
За это сообщение автора поблагодарили: DmitryK (1).
Старый 10.07.2012, 09:24   #5  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от DmitryK Посмотреть сообщение
Спасибо, да конечно. Причем, на форуме этот метод описывался. Но в форме PurchQuickQuote я не нашел использования данного метода. Или не туда смотрю?


С уважением, Дмитрий.
Он вызывается в неявном виде через метод purchLine.createFromTmpFrmVirtual(...)
__________________
Sergey Nefedov
Старый 10.07.2012, 09:50   #6  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Строку сформировал по примеру purchCopyng.copyline. Все получилось.

С уважением, Дмитрий.
Старый 10.07.2012, 10:52   #7  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Надеюсь, что последний вопрос по данной теме... )
purchLine.purchPrice = 123;

В результирующей строке заказа цена 0;

Есть какие-то дополнительные требования?

C уважением, Дмитрий.
Старый 10.07.2012, 11:39   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
А вы как строку в итоге создаете? Приведите весь код.

Например, purchLine.createLine() вызываете? С какими параметрами?
__________________
Ivanhoe as is..
Старый 10.07.2012, 12:21   #9  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Ну и про класс PurchLineType забывать не надо. Метод таблицы это хорошо, конечно. Но при том же инсерте будет вызван данный класс. А обработок там пишут много. Может и перетирается указанное значение.
Старый 10.07.2012, 13:36   #10  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Поступил по советам бывалых. Запись замечательно создается. Только без цены ... :O(
Вот так вызываю.
pLine.createLine(true, true, true, true, false, true);

C уважением, Дмитрий.
Старый 10.07.2012, 13:40   #11  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Так у вас последний true заставляет систему искать цену из прайса. Нет прайса - получаете ноль.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: DmitryK (1).
Старый 10.07.2012, 13:50   #12  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Да, это моя невнимательность. Установил в false.

pLine.createLine(true, true, true, true, false, false);

Но результат тот же.


С уважением, Дмитрий.
Старый 10.07.2012, 13:56   #13  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Этими параметрами надо играться...
Убрал в false initfrominventtable цена в строке появилась. Но не расчитывается сумма по строке.

C уважением, Дмитрий.
Старый 10.07.2012, 14:51   #14  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Цитата:
Сообщение от DmitryK Посмотреть сообщение
Этими параметрами надо играться...
Убрал в false initfrominventtable цена в строке появилась. Но не расчитывается сумма по строке.

C уважением, Дмитрий.
Я же говорю, класс PurchLineType.
InitFromInventTable метод данного класса. Там идет расчет строки:

purchLine.PriceUnit = inventTableModule.priceUnit();
purchLine.LineAmount = 0;
purchLine.lineAmountModified();

Скорее всего там и обнуление выскакивает.

P.S. Вот любят кодить в таблицах абсолютно забывая про классы. Что salesLine, что purchLine работают с классом *LineType.
За это сообщение автора поблагодарили: DmitryK (1).
Старый 10.07.2012, 14:52   #15  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Спасибо, сейчас попробую ваш совет.

С уважением, Дмитрий.
Старый 10.07.2012, 14:53   #16  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Я бы сделал так (что то типа такого)...
X++:
    AxPurchLine                 axPurchLine;
    ;
    axPurchLine = new axPurchLine();
    axPurchLine.parmPurchId("123");
    axPurchLine.parmItemId("ItemId");
    axPurchLine.parmPurchQty(10);
    
    axPurchLine.parmLineAmount(100);
//    или
    axPurchLine.parmPurchPrice(10);
    axPurchLine.save();
Старый 10.07.2012, 13:52   #17  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,740 / 404 (17) +++++++
Регистрация: 23.03.2006
пройдитесь уже дебагером и найдите где у вас обнуляется
Старый 10.07.2012, 15:36   #18  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Если вы брали за основу PurchCopying, используете ли
X++:
purchLine.LineAmount    = purchLine.calcLineAmount();
до pLine.createLine()?
__________________
Ivanhoe as is..
Старый 10.07.2012, 15:47   #19  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Если вы брали за основу PurchCopying, используете ли
X++:
purchLine.LineAmount    = purchLine.calcLineAmount();
до pLine.createLine()?
Ну так потом же всё равно пойдет изменение в PurchLineType ( если init из InventTable true).

P.S. А это джоб на раз пишется или функциональность? Просто интересено.
Старый 10.07.2012, 16:01   #20  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Это не job, это кнопка в форме заказа на покупку, которая позволяет сделать загрузку строк из клипборда. Пока программиста в проекте нет, но грузить надо и в большом количестве, пришлось сделать этот загрузчик.

purchLine.LineAmount = purchLine.calcLineAmount();
К сожалению не отработал, оставил произведение ручками (надо бы пройти дебагером, но время жалко)
pLine.LineAmount = pLine.PurchQty * pLine.PurchPrice;
Как временный вариант пойдет.
Главеное проверить разноску, с ней вроде все хорошо.

С уважением, Дмитрий.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 4.0 Заказ на продажу на основании заказа на покупку Бигудь DAX: Функционал 13 20.11.2024 17:12
DAX 4.0 Покупка ОС через ЗАКАЗ НА ПОКУПКУ IntoTheRain DAX: Функционал 12 11.03.2010 22:32
Заказ на покупку jiller DAX: Программирование 3 29.10.2008 10:03
Ошибка с разноской "Заказ на покупку" Kuat DAX: Администрирование 11 09.07.2008 15:56
Какие строки каких Зкупок вошли в Заказ Antidot DAX: Функционал 18 17.02.2005 11:29

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

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

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