|
|
|
|
#1 |
|
Участник
|
Слишком много "буков"
Разбивай задачу на этапы.Аксиома 1: данные, влияющие на конечную цену продажи, должны так или иначе быть сохранены, для возможного "разбора полетов". Иначе программист всегда будет крайним: "программа плохая", "я ничего не менял", "она сама посчитала" Аксимома 2: Если заказа проведен по бухгалтерии, то изменить его невозможно! Нужно сторнирование и проведение заново, но уже как нового заказа (новые складские проводки, новые логи) Т.е. выбирать/сохранять какие-либо реквизиты надо один раз в момент обработки заказа. Либо обработки счета-фактуры, либо накладной. Смотря по тому, в какой момент требуется окончательная цена в зависимости от бизнес-процессов. Ну, и необходимо блокировать возможность изменения реквизитов заказа, влияющих на цену после обработки Лично у нас вообще сделана отдельная кнопка "Пересчет цен по прайсу", которая выполняется после резервирования, но до обработки заказа. Причем без пересчета цен обработка невозможна (пункты меню блокируются). Специальная галка в шапке заказа добавлена. Соответсвенно, фиксируем только и исключительно то, что действовало на момент проведения заказа. И не важно, что там было "до" или стало "после". Еще менее важен интервал изменений. Хоть сутки, хоть год, хоть миллисекунды. Что "попало" в момент проведения, то и использовали. Если возникла необходимость изменить цены (акции) "задним числом", то необходимо сторнировать ранее проведенный заказ и провести его заново с новыми ценами. Соответственно, будут сохранены новые акции, действующие на момент проведения после сторнирования (у нас в связи с этим была добавлена "дата действия" в шапке заказа) Ну, а что именно надо зафиксировать - это уже другой вопрос. Другими словами, не важно как и кто будет менять справочники акций, но если они влияют на цену продажи, то они должны быть зафиксированы на момент проведения заказа либо в самом заказе, либо в отдельной таблице логов, привязанных к конкретному заказу по аналогии со складскими проводками
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
| За это сообщение автора поблагодарили: mazzy (2). | |
|
|
#2 |
|
Возьми свет!!!
|
Цитата:
Сообщение от Владимир Максимов
Другими словами, не важно как и кто будет менять справочники акций, но если они влияют на цену продажи, то они должны быть зафиксированы на момент проведения заказа либо в самом заказе, либо в отдельной таблице логов, привязанных к конкретному заказу по аналогии со складскими проводками
я вот и думаю чеже делать то... город маленький...
__________________
Axapta 3.0 sp 5 Oracle ![]() Я могу взорвать вам мозг!!! |
|
|
|
|
#3 |
|
Участник
|
Цитата:
Спроси у бухов, как они будут относится к ситуации, когда суммы бух.проводок будут меняться произвольным образом и без их ведома. Как они вообще отчеты для налоговой сдавать будут? "Столкни лбами" менеджера и глав.буха. Пусть они сначала разберутся между собой.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#4 |
|
Участник
|
To Владимир Максимов
Вообще конечно со всем согласен, но вот этот пункт Цитата:
Я не нашел ни какого универсального решения этой проблемы. На конкретном проекте пришлось вводить ряд ограничений: 1. Использовать многострочные скидки, хотя по свой природе это были скидки по строке, чтобы отдельно выделять их. 2. Запретить административно использовать более чем одну скиду по строке к одному заказу на продажу. 3. Ряд скидок вынести на накладные расходы. В целом хранить историю цены получилось, но решение далеко не универсальное. Стояла ли перед вами такая задача, если да, то как вы ее решали. |
|
|
|
|
#5 |
|
Участник
|
Ну, у нас несколько попроще. Изменение задним числом, конечно, возможно, но это целая история с вовлечением в процесс кучи народа. Так что, нет особой необходимости хранить историю изменений именно в заказе. Сами справочники не меняются задним числом. Поэтому вполне досточно хранить лог изменения таблицы скидок через стандартный SysDataBaseLog
В общем случае, насколько я понимаю, нет и не может быть какого-либо универсального решения, поскольку, в первую очередь, все упирается в некие организационные (административные) меры, завязанные на конкретные бизнес-процессы организации.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#6 |
|
Участник
|
Цитата:
1. Хранить историю изменения коммерческих соглашений, для этих целей подходит журнал коммерческих соглашений. И на его основании можно было бы формировать отчеты. В 2012 все коммерческие соглашения можно менять только через эти журналы. И автору я бы советовал посмотреть в эту сторону. 2. Хранить историю ценообразования для конкретной продажи. У меня были сложности именно с этим. И я когда-то думал о том, чтобы хранить историю формирования цен и скидок в отдельной таблице, по структуре схожей на коммерческие соглашения, но со ссылкой на строку расходной накладной. Но так как удалось "запихнуть" историю почти в стандарт с учетом описанных выше ограничений, то от этой идеи отказались. Как по мне такое решение было более универсальным. |
|
|
| Теги |
| как правильно |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|