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
 
365 / 542 (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
 
365 / 542 (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 / 2155 (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 / 2155 (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:52   #13  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
пройдитесь уже дебагером и найдите где у вас обнуляется
Старый 10.07.2012, 13:56   #14  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Этими параметрами надо играться...
Убрал в false initfrominventtable цена в строке появилась. Но не расчитывается сумма по строке.

C уважением, Дмитрий.
Старый 10.07.2012, 14:51   #15  
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   #16  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Спасибо, сейчас попробую ваш совет.

С уважением, Дмитрий.
Старый 10.07.2012, 14:53   #17  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 423 (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, 15:08   #18  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
axPurchLine.parmLineAmount(100);

это 10 * 10?

C уважением, Дмитрий
Старый 10.07.2012, 15:11   #19  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 423 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от DmitryK Посмотреть сообщение
axPurchLine.parmLineAmount(100);

это 10 * 10?

C уважением, Дмитрий
Это просто пример. Сумма по строке в валюте закупки.

Можно указать цену, а можно сумму. Одно из двух. При этом если указана цена сумма будет пересчитана, и наоборот.
За это сообщение автора поблагодарили: DmitryK (1).
Старый 10.07.2012, 15:13   #20  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
В принципе, все работает, переделывать задачу не хочется.
Только не считается автоматом lineAmount (чистая сумма)
у purchLine есть множество методов .calc*
Может надо их использовать?
Если кто знает, не подскажете каккой?

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

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 4.0 Заказ на продажу на основании заказа на покупку Бигудь DAX: Функционал 12 06.10.2010 11:06
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, время: 23:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.