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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.02.2003, 16:21   #1  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
? Резервирование партионного товара с FIFO по сроку хранения: делал ли кто-нибудь?
Здравствуйте все!

Есть вопрос.

Внедряем партионный учет. Хотелось бы иметь отпуск (резервирование) товара с учетом даты истечения срока хранения (поле ExpiryDate таблицы InventBatch). То есть: товар с наиболее ранней этой датой должен резервироваться в первую очередь.
В документации сказано, что сие поле, равно как и ProdDate, являются исключительно информационными и на логику не влияют. Крыжик "резервирование по дате" в настройках групп складских моделей рассматривает дату складской проводки.

Сталкивался ли кто-либо с подобным? Если да - как победили? Если с помощью дописывания - насколько оно объемно? Если еще в придачу посоветуете классы и методы, куда смотреть - буду совсем благодарен

ПыСы. Аксапта - международная, версия 2.5 SP2. Если это, конечно, имеет значение...
Старый 12.02.2003, 17:58   #2  
Pavel is offline
Pavel
SAP
SAP
 
2,760 / 239 (13) ++++++
Регистрация: 14.12.2001
Адрес: Moscow
Вопрос
Резервирование обязательно должно выполняться автоматически, или есть вариант, когда пользователь ручками выбирает партию под резервирование?
Старый 12.02.2003, 18:03   #3  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
В том-то и дело что автоматически
Партий товара - куча, и сэйлзу некогда разбираться, какая из них с каким сроком хранения.
Сама дата конечно же выводится на экран в форме резервирования - но жизнь сэйлзам это не облегчает.
Старый 12.02.2003, 18:06   #4  
Pavel is offline
Pavel
SAP
SAP
 
2,760 / 239 (13) ++++++
Регистрация: 14.12.2001
Адрес: Moscow
Цитата:
Изначально опубликовано Falcon
Партий товара - куча, и сэйлзу некогда разбираться, какая из них с каким сроком хранения. Сама дата конечно же выводится на экран в форме резервирования - но жизнь сэйлзам это не облегчает.
А если изменить сортировку и задать по дате "Срок службы"? Тогда резервирование выполняется вручную, но "сэйлзу разбираться" не нужно.
Старый 12.02.2003, 18:19   #5  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
Павел, "в-нолевых" - спасибо что отвечаешь

Во-первых, "срок службы" выводится в форме резервирования только как информационное поле. То-есть сортировать по нему низзя. Можно конечно создать аналогичное допполе в InventTrans-е, и копировать туда значения из InventBatch-а. Или заморочиться написанием собственного сортировщика...
Но даже это не решит полностью проблему. Потому как сэйлз не хочет тратить время не только на разбирательство со сроками, но и вообще на проставление количеств. Ибо даже простая операция забивания цифирек отнимает его драгоценное время...Как обычно, всем хочется, чтобы "усе делалось аутоматом".
Неужто это совершенно невыполнимо и никто раньше такого не делал в Аксапте?
Сэйлзов нагнуть я конечно могу... в крайнем случае... тока может все-таки есть "красивое" решение?
Старый 12.02.2003, 18:49   #6  
Pavel is offline
Pavel
SAP
SAP
 
2,760 / 239 (13) ++++++
Регистрация: 14.12.2001
Адрес: Moscow
Цитата:
Изначально опубликовано Falcon
Павел, "в-нолевых" - спасибо что отвечаешь
Да, пожалуйста. Сам ведь спрашивал.

Цитата:
Изначально опубликовано Falcon
Во-первых, "срок службы" выводится в форме резервирования только как информационное поле. То-есть сортировать по нему низзя. Можно конечно создать аналогичное допполе в InventTrans-е, и копировать туда значения из InventBatch-а.
В чем трудности?

Цитата:
Изначально опубликовано Falcon
Или заморочиться написанием собственного сортировщика...
Думаешь, проще создать и откатать "свою функцию" авторезервирования? А кто потом в случае ошибки данные разгребать будет?

Цитата:
Изначально опубликовано Falcon
Но даже это не решит полностью проблему. Потому как сэйлз не хочет тратить время не только на разбирательство со сроками, но и вообще на проставление количеств. Ибо даже простая операция забивания цифирек отнимает его драгоценное время...Как обычно, всем хочется, чтобы "усе делалось аутоматом".
Так надо не только модификации программировать, но и "людей просвещать" (или их руководство поставить в известность, что проект срывается из-за нежелания некоторых сотрудников конструктивно работать, ожидающих, что все вокруг "само собой устроится").

Цитата:
Изначально опубликовано Falcon
Неужто это совершенно невыполнимо и никто раньше такого не делал в Аксапте?
м.б.

Цитата:
Изначально опубликовано Falcon
Сэйлзов нагнуть я конечно могу... в крайнем случае... тока может все-таки есть "красивое" решение?
Чем тебе не нравится решение изменить логику обычного резервирования в соответствии с датой - "Срок службы". Полагаю просто и эффективно.
Старый 12.02.2003, 19:03   #7  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
Привет, Павел,

Может быть, ты в чем-то и прав... Может быть, стОит больше уделить внимание "организационным моментам"... Хотя проект еще не "под угрозой"(тьфу три раза) и меня слушают и соглашаются с моими доводами.

Насчет "кто в случае ошибок будет разгребать данные" - это в точку, тут на 100% согласен. Слово в слово то же самое говорил. Задумались... Робко спросили: неужто это никак не можно автоматически? Я твердо рубанул "никак" - и побежал узнавать в форум (а также рыться в доках), как оно на самом деле
Старый 12.02.2003, 19:12   #8  
Pavel is offline
Pavel
SAP
SAP
 
2,760 / 239 (13) ++++++
Регистрация: 14.12.2001
Адрес: Moscow
Цитата:
Изначально опубликовано Falcon
Хотя проект еще не "под угрозой"(тьфу три раза) и меня слушают и соглашаются с моими доводами.
Позволю себе комментарий, хотя, он и не по существу обсуждаемого вопроса. Никто не знает когда проект "окажется под угрозой", поверь, это может случиться из-за накопления таких вот "незаметных" деталей. Есть методология и должна быть дисциплина, ибо любой проект подразумевает взаимную ответственность участников.
Наверняка, ты это понимаешь.
Старый 12.02.2003, 19:44   #9  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
Павел, спасибо за напоминание. Это очень важно. Я это понимаю. Хочу просто придерживаться "золотой середины", т.е. не впадать в крайности: "только оргметоды", или "только доработки".

Кстати, уже начал добавлять поля в InventSum. Вроде бы пока не так страшно, как казалось
Старый 15.02.2003, 00:47   #10  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
И все-таки я это дело победил...
Кажется...
Кому интересно - вот чего я сделал:
1. Добавил в таблицу InventSum поле Expiry date. Сделал обновление этого поля при каждом запуске формы InventOnHandReserve.
2. Вывел добавленное поле в грид вышеуказанной формы.
3. В метод executequery датасорса InventSum указанной формы добавил пару строчек:
PHP код:
    QueryBuildDataSource    qBSSum
...
    
qBSSum inventSum_DS.query().dataSourceName(inventSum_DS.name()); 
    
qBSSum.addSortField(fieldnum(InventSum,ExpDate)); 
Это для того,чтобы сортировка в форме шла по дате.
Знаю, что красивее было то же самое сделать в классе InventDimCtrl_Frm_OnHand - но уж очень не хотелось в классы лезть.
4. Теперь осталось самое сложное - поменять порядок автоматического резерва. Для этого в классе InventSumSearch_Reserve (все-таки пришлось...) в методе initQuery заменил LastUpdDateExpected на ExpDate - в нескольких строчках.
4.1. Еще в InventUpd_Reservation, метод updateReserveLess во всех трех селектах добавил
order by statusIssue, Expdate ,inventDimId. Только вот не знаю зачем, так на всякий случай

Вроде бы все...
Проверял и в SalesOrders, и в Inventory - вроде бы резервирует как надо...

Правда, попутно вылезла любопытная деталь. В "толстом клиенте" все работает ОК, а в тонком последние изменения (п.4) система как бы "не видит". Я естественно первым делом почистил кэш - не помогло. Перекомпилил все - без мазы. Подумал, может я не тот АОТ правил - нет, все правильно, в тонком клиенте изменения видны в АОТ, только как бы "не работают"...

Вот сижу, обхватив тыкву руками, и думаю - че ж такое может быть-то ? )))
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Партия + Ячейка + Резервирование Starling DAX: Функционал 3 19.08.2006 12:25
Кто нибудь делал просмотр/редактирование внешних DBF таблиц? edd DAX: Программирование 13 06.02.2003 17:43
Возврат товара по партии, проданной в минус axot DAX: Функционал 2 18.11.2002 18:22
Программное резервирование товара... Pavlo AKA Panok DAX: Программирование 1 04.11.2002 11:17
Физическая себестоимость товара Алексей Контев DAX: Функционал 5 22.08.2002 20:18
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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