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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2004, 10:50   #1  
chel is offline
chel
Участник
 
153 / 10 (1) +
Регистрация: 02.09.2003
Создание заказов пакетно
Здравствуйте.

Помогите пожалуйста по следующему вопросу:
На этапе ввода остатков (всего один раз) мне нужно ввести в систему несколько тысяч заказов (в каждом только одна строка) и обработать по каждому отборочную накладную

Как планирую делать:

1. Импортировать SalesTable из текстового файла (поля SalesID, CustAccount, InvoiceAccount, CurrencyCode, Payment, TaxGroup, CustGroup, Dimension, SalesType, PostingProfile, DeliveryDate, Deadline, LanguageID, SalesStatus)

2. Импортировать SalesLine из текстового файла (поля SalesID, LineNum, ItemID, SalesStatus, TaxGroup, QtyOrdered, RemainSalesPhysical, SalesQty, RemainInventPhysical, CostPrice, SalesPrice, LineAmount, CurrencyCode, ConfirmedDlv, SalesUnit, Dimension, PriceUnit, InventTransID, CustGroup, CustAccount, SalesType, TaxItemGroup, TaxAutogenerated.

3. Сделать джоб для обработки отборочных накладных по каждому заказу

Вопросы:
1. Нормально ли так делать или можно проще? Не забыл ли я чего?
2. Как мне можно получить InventTransID?
3. Какими функциями/классами воспользоваться в джобе, чтобы обработать по всем заказам отборочные накладные?

В поиске смотрел, но ответа на вопросы не нашел.

Заранее спасибо
Старый 01.07.2004, 13:58   #2  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
1. вроде все... а может и нет... обычно в таких случая я создаю строку в таблице руками, а потом программно, и сравниваю.

2. вам сильно облегчат жизнь такие методы как SalesLine.createLine(), SalesLine.initFrom*()
кто-то из них и генерит InventTransID
хотя, вру, insert() наверно его генерит...

обратите также внимание на SalesLine.CalcAmount*(), calcPackingUnit(), setPriceDisc()

3. а вот тут можно без программирования - выделяете заказы в гриде с шифтом, обработка, накладная
можно в пакетном режиме
За это сообщение автора поблагодарили: Poleax (1).
Старый 01.07.2004, 14:10   #3  
chel is offline
chel
Участник
 
153 / 10 (1) +
Регистрация: 02.09.2003
1. Да, я тоже так делал, когда выцеплял поля, которые нужно заполнить

2. Я понял, что проще всего сделать импорт из csv. Если я сделаю так:
а) взять последний номер лота из номерной серии
б) пронумеровать все строки последовательно, начиная от этого номера
в) залить все
г) установить в номерной серии новый последний номер лота
Это сработает?

3. ОГРОМНОЕ спасибо за совет! Все супер! Я про эту фичу просто забыл
Старый 01.07.2004, 14:30   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Изначально опубликовано chel
Это сработает?
Это обязательно однажды не сработает, если в системе параллельно работают другие пользователи и они получают значения номерных серий ШТАТНЫМИ средствами

А почему не хотите посмотреть на то, как данные в Benchmark tool генерятся?
Старый 01.07.2004, 14:35   #5  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
2. должно сработать, только по-моему, если номер лота генерится в insert(), а insert(), в свою очередь, вызывается из механизма импорта, то все это излишне.

я уверен на 90% что номер лота создастся сам.
проверить эту гипотезу просто - заимпортируйте одну строку не указывая никакого лота.
Старый 01.07.2004, 15:13   #6  
chel is offline
chel
Участник
 
153 / 10 (1) +
Регистрация: 02.09.2003
Цитата:
Изначально опубликовано Vadik

Это обязательно однажды не сработает, если в системе параллельно работают другие пользователи и они получают значения номерных серий ШТАТНЫМИ средствами

А почему не хотите посмотреть на то, как данные в Benchmark tool генерятся?
Понимаете, мне надо сделать это всего 1 (!) раз, при вводе остатков. Так что никакими пользователями там и не пахнет.

Цитата:
Изначально опубликовано Vadik

я уверен на 90% что номер лота создастся сам.
проверить эту гипотезу просто - заимпортируйте одну строку не указывая никакого лота.
Да, это так. Номерная серия обновляет последний номер и вставляет нужный.

Спасибо за советы!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание большого числа заказов на продажу. Падение скорости загрузки. bobski DAX: Программирование 30 29.04.2009 17:40
Расчеты с поставщиками\Функции\Создание на основе заказов\Резервирование заказанной номенклатуры slava09 DAX: Функционал 10 30.01.2007 13:57
Создание склад. журналов из заказов basanko DAX: Функционал 17 30.12.2006 11:49
"Закупка на основе заказов" или "сводное планирование" Hamster DAX: Функционал 2 17.02.2004 01:47
Заказов -> Строки заказов -> Запросы -> Пункт "Производство" Андре DAX: Программирование 1 20.09.2002 10:43
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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