01.07.2004, 10:50 | #1 |
Участник
|
Создание заказов пакетно
Здравствуйте.
Помогите пожалуйста по следующему вопросу: На этапе ввода остатков (всего один раз) мне нужно ввести в систему несколько тысяч заказов (в каждом только одна строка) и обработать по каждому отборочную накладную Как планирую делать: 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 |
экс-модератор
|
1. вроде все... а может и нет... обычно в таких случая я создаю строку в таблице руками, а потом программно, и сравниваю.
2. вам сильно облегчат жизнь такие методы как SalesLine.createLine(), SalesLine.initFrom*() кто-то из них и генерит InventTransID хотя, вру, insert() наверно его генерит... обратите также внимание на SalesLine.CalcAmount*(), calcPackingUnit(), setPriceDisc() 3. а вот тут можно без программирования - выделяете заказы в гриде с шифтом, обработка, накладная можно в пакетном режиме |
|
|
За это сообщение автора поблагодарили: Poleax (1). |
01.07.2004, 14:10 | #3 |
Участник
|
1. Да, я тоже так делал, когда выцеплял поля, которые нужно заполнить
2. Я понял, что проще всего сделать импорт из csv. Если я сделаю так: а) взять последний номер лота из номерной серии б) пронумеровать все строки последовательно, начиная от этого номера в) залить все г) установить в номерной серии новый последний номер лота Это сработает? 3. ОГРОМНОЕ спасибо за совет! Все супер! Я про эту фичу просто забыл |
|
01.07.2004, 14:30 | #4 |
Модератор
|
Цитата:
Изначально опубликовано chel
Это сработает? А почему не хотите посмотреть на то, как данные в Benchmark tool генерятся? |
|
01.07.2004, 14:35 | #5 |
экс-модератор
|
2. должно сработать, только по-моему, если номер лота генерится в insert(), а insert(), в свою очередь, вызывается из механизма импорта, то все это излишне.
я уверен на 90% что номер лота создастся сам. проверить эту гипотезу просто - заимпортируйте одну строку не указывая никакого лота. |
|
01.07.2004, 15:13 | #6 |
Участник
|
Цитата:
Изначально опубликовано Vadik
Это обязательно однажды не сработает, если в системе параллельно работают другие пользователи и они получают значения номерных серий ШТАТНЫМИ средствами А почему не хотите посмотреть на то, как данные в Benchmark tool генерятся? Цитата:
Изначально опубликовано Vadik
я уверен на 90% что номер лота создастся сам. проверить эту гипотезу просто - заимпортируйте одну строку не указывая никакого лота. Спасибо за советы! |
|
|
|