Показать сообщение отдельно
Старый 14.11.2005, 11:48   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Thumbs up Пересчет между двумя единицами измерения на уровне партии
Добрый день.

Я тут последнее время довольно плотно занимаюсь Oracle eBS. Заодно сравниваю, различные решения в той и другой ERP системе, а также что можно позаимствовать из OeBS в Axapta, а что наоборот.

Коэффициент пересчет из одной единицы измерения в другую на уровне партии - функциональность OeBS, используемая на практически всех предприятих, где есть непрерывное производство. Простейший пример: поставщики привозят нам цемент в вагонах, мы его храним в килограммах. Так как различные поставки цемента имеют различную влажность, то вывести единый коэффициент для перерасчета вагонов в килограммы не возможно. Но, после проведения тестов и определения влажности цемента мы всегда можем указать указать коэффициент пересчета для данной партии. Данная функциональность необходима там, где присутсвуют растворы и смеси различной концентрации: химической и пищевой промышленности, металлургии, нефтяной и газовой промышленности, life science и т.д. Это также могуть быть какие-то качественные характеристики партии - например, экстрактивность при производстве пива.

Несмотря на то, что функциональность довольно актуальна, как я понял, реализована она только в OeBS. Кстати, если кто-то знает, где еще присутсвует такая возможность - буду благодарен за информацию.
Я слышал, что SAP работает над данным функционалом (называя его catch weight), но как я понял это у них пока в стадии глубокой разработки. Впрочем, моя информация может быть устаревшей - если знает про это больше, опять же, буду рад услышать.

Как оказалось, реализовать данную возможность в Axapta не так уж и сложно - я потратил на это где-то полтора часа, большую часть из которых вспоминал то, что забыл за последние полгода. Выкладывать проект мне бы не хотелось, так как я не проверял, как будет вести себя система при планировании и при определении себестоимости. Тем более здесь, как мне кажется, важнее сама идея, нежели ее реализация.

Собственно, вот форма пересчета единиц измерения:

Нажмите на изображение для увеличения
Название: one.jpg
Просмотров: 675
Размер:	29.4 Кб
ID:	1597

Я добавил сюда номер партии.

Вот работа механизма на примере закупки:

Нажмите на изображение для увеличения
Название: two.jpg
Просмотров: 721
Размер:	26.8 Кб
ID:	1598

То есть, в зависимости от номера партии система сама пересчитывает закупаемое количество из закупочных единиц измерения в складские.

Вот складские проводки, после разноски закупки:

Нажмите на изображение для увеличения
Название: three.jpg
Просмотров: 826
Размер:	32.2 Кб
ID:	1599

Вся реализация свелась к добавлению поля в таблицу UnitConvert (Type = InventBatchId), правке методов данной таблицы (добавлению еще одного опционального параметра - партии) и правки всех вызовов этих методов (перекрестные ссылки значительно упрощают данную задачу). Как правило, во всех методах, где вызываются методы UnitConvert получить значение партии не составляет труда.

Как дополнительное удобство, можно реализовать возможность ввода коэффициента пересчета в момент приходования партии.

Буду рад, если кому то будет это будет или натолкнет на новые мысли.