|
15.08.2002, 16:46 | #1 |
Moderator
|
Смена единицы измерения для хранения номенклатуры
Добрый день.
Кажется этот вопрос сюда. Ситуация следующая. В справочнике номенклатур есть номенклатура, в форме "Номенклатурные единицы" на закладке Количество\Склад\Единица стояла единица измерения - кг. В этих самых кг номенклатура какое-то время списывалась и приходовалась на склад. Теперь закупщики говорят, что хотят списывать и приходовать эту номенклатуру в шт. Как я понимаю сменить номенклатуру на этой форме я не могу, так как при построении оборотной ведомости я буду получать неправильный оборот, складывая штуки с килограммами. При этом списывать со склада, перемещать товар со склада на склад и получать все отчеты мы непременно хотим теперь в штуках. Что делать ? Интересуют решения как в рамках стандартной функциональности(прежде всего), так и соображения насчет модификации таблиц Аксапты(если уж по другому никак нельзя). |
|
29.05.2006, 19:26 | #2 |
Участник
|
А с чем вообще связано, что менять складскую единицу можно только когда нету открытых проводок? Ведь можно же легко пересчитать по пересчету единиц, какое должно быть количество в новых единицах измерения. Все равно ведь история сохранения изменения не хранится и мы получаем суммирования штук с килограммами, как в приведенном выше примере. Как кто с этим боролся. Почему вообще складская единица, если она такая важна, не обязательна к заполнению. Ведь если не указать единицу измерения, то при обработке финансовой накладной дробного количества получаем ошибку.
|
|
06.06.2006, 14:35 | #3 |
Участник
|
И, кстати говоря, почему не происходит такого пересчета при смене единиц?
Вот к примеру, закупили мы 5 000 штук номенклатуры. Открытых проводок нет. Меняем единицу складского учета со "штуки" на "тысячу штук". В итоге в запросе "В наличии" получаем 5000 "тысяч штук" или 5 000 000 "штук". Разве это правильно? |
|
13.08.2008, 22:01 | #4 |
Участник
|
Возможно, не самый умный вопрос, но всё-таки: с 2003-го года никаких подвижек не произошло? Всё так же система не хранит единицу измерения в складских операциях, и дает менять ее в карточке номенклатуры с миллиграммов на килотонны, и в отчетах бодро объединяет одно с другим, а себестоимость считает вообще "вслепую"?
Почему, всё-таки, менять складскую единицу можно только когда нет открытых проводок? Какой смысл в этом ограничении, если пересчетов всё равно нет как класса, а менять единицу, по логике, должно быть нельзя если есть как раз разнесенные операции? |
|
13.08.2008, 23:23 | #5 |
Member
|
Цитата:
Сообщение от Geo
...
Почему, всё-таки, менять складскую единицу можно только когда нет открытых проводок? ... Цитата:
Сообщение от Geo
...
менять единицу, по логике, должно быть нельзя если есть как раз разнесенные операции? ... Я могу привести пример, когда смена складской единицы измерения не разрушит целостности данных. Думайте перед сменой единицы измерения. Или вы хотите работать в системе не думая? Если "козла пустить в огород", то он там и без таких проверок все разрушит до основания.
__________________
С уважением, glibs® |
|
14.08.2008, 10:33 | #6 |
Участник
|
По-моему, правильный ответ давно известен: нельзя менять единицу измерения хранения, если есть разнесенные операции. Если есть неразнесенные - то надо либо пересчитывать их при смене ед. изм-я, либо также запрещать, оставляя таким образом эту работу на пользователя (удалять и заново создавать строки).
Цитата:
Я могу привести пример, когда смена складской единицы измерения не разрушит целостности данных.
Цитата:
Думайте перед сменой единицы измерения. Или вы хотите работать в системе не думая?
Если "козла пустить в огород", то он там и без таких проверок все разрушит до основания. Кстати, это касается, например, также возможности принимать строку заказа покупки несколько раз с разными суммами. Тоже явный (на мой взгляд) архитектурный провал. Причем ладно, что провал (у всех систем есть свои минусы), но надо ведь было его закрыть... Скажем, запретить изменений всех параметров строки/заказа, могущих повлиять на себестоимость (цена, сумма, налоговые группы, галка "Цена включает НДС" и т.п.), если по строке/заказу есть финансово разнесенные операции. А то остается прямой путь к ошибке при сторнировании через немедленное получение поставки с ошибочной суммой. Цитата:
Сообщение от kashperuk
на самом деле, в АХ 2009 уже это изменили следующим образом - 2 проверки
|
|
14.08.2008, 11:24 | #7 |
Member
|
Цитата:
Сообщение от Geo
...
Интересно. ...
__________________
С уважением, glibs® |
|
19.08.2008, 13:09 | #8 |
Участник
|
Ну, это можно вообще переименованием решить. Т.е. это не есть по сути смена единицы измерения.А вот если у штук были одни правила пересчетов (или никаких), а у рулонов - другие, то это уже также чревато ошибками.
Это конечно да, нормальное сторнирование было бы лучше. Но в существующей архитектуре его не реализовать. При этом путь закрытия сомнительных операций через интерфейс гораздо проще, чем доработки архитектуры. |
|
14.08.2008, 11:37 | #9 |
Member
|
Цитата:
Сообщение от Geo
...Тоже явный (на мой взгляд) архитектурный провал. Причем ладно, что провал (у всех систем есть свои минусы), но надо ведь было его закрыть... Скажем, запретить изменений всех параметров строки/заказа, могущих повлиять на себестоимость (цена, сумма, налоговые группы, галка "Цена включает НДС" и т.п.), если по строке/заказу есть финансово разнесенные операции. А то остается прямой путь к ошибке при сторнировании через немедленное получение поставки с ошибочной суммой.
...
__________________
С уважением, glibs® |
|
13.08.2008, 23:30 | #10 |
Участник
|
на самом деле, в АХ 2009 уже это изменили следующим образом - 2 проверки,
X++: if (InventTrans::transactionsExist(this.ItemId)) return checkFailed(strfmt("@SYS120463",this.ItemId)); if (InventItemPrice::costPricesExistForItem(this.ItemId)) return checkFailed(strfmt("@SYS126703",this.ItemId)); Цитата:
The inventory unit for item %1 cannot be changed because transactions exist. If the transactions cannot be deleted you will need to use a new item number with a new inventory unit.
Цитата:
The inventory unit for item %1 cannot be changed because activated cost prices exist. The cost prices can only be deleted by deleting the item.
|
|