24.09.2007, 15:05 | #1 |
MCTS
|
Конфигуратор продукции (расчет цены)
Доброе время суток!
Возможно, вопрос тривиальный, но после прочитения многих тем и материалов, касающихся модулей Product Builder и Inventory Management, все равно не понял, как реализовать следующуе функции. Есть спецификация BOM1, состоящая из двух закупаемых номенклатур: Item1 и Item2. Расчет цены продажи BOM1 должен происходить по следующему принципу (к примеру): Цена продажи BOM1 = Цена покупки Item1 * 1,5 + Цена покупки Item2 * 1,2. Каждый раз набор номенклатур будет меняться, т.е. в следующий раз BOM1 будет состоять, а цена считаться исходя из цен Item3, Item4 и т.д. Как такой расчет цены реализовать (для строки заказа)? Проделанные шаги: 1. Создал спецификацию BOM1, в строках указал номенклатуры Item1 и Item2 с определенными ценами. 2. Создал модель продукции, в версиях указал номенклатуру BOM1. 3. Далее непонятно - если использовать комбинацию цен, то, как я понимаю, за основу можно брать только цену продажи основной номенклатуры (в данном случае BOM1) и корректировать ее. Если использовать модельное дерево, то можно добавить в нем строку спецификации, тут несколько непонятных моментов: а) какие номенклатуры сюда добавлять (основную BOM1 или входящие Item1 и Item2); б) как сопоставить эти номенклатуры(у) с переменной моделирования; в) как получить цены этих номенклатур? Заранее спасибо за ответы! Последний раз редактировалось cherv; 24.09.2007 в 16:02. |
|
26.09.2007, 15:17 | #2 |
MCTS
|
Так как все еще не нашел ответа, подниму тему .
Стало понятно, как происходит расчет цены номенклатуры через спецификацию, но там вычисляется значение рассчитывается как сумма цен входящих в состав номенклатур, как добавить к ним коэффициенты - непонятно. Просьба подсказать хотя бы, в каком направлении стоит двигаться для решения проблемы. Последний раз редактировалось cherv; 26.09.2007 в 16:37. |
|
26.09.2007, 17:16 | #3 |
Аманд
|
Кратко: в конфигураторе цену можно рассчитать с помощью описанных ниже функций настроек цен и вторым способом - расчётом непосредственно в дереве модели - используя соответствующие переменные.
To determine the sales price of configured items, you can create price combinations for your product models. Price combinations are an alternative to the standard BOM price calculation. To use the standard BOM calculation instead of the price combination system, check the Product Builder / Setup / Parameters / User dialog tab page / Sales price calculation field. Price combinations are based on the item sales price (from the item table or from trade agreements), with the addition of one or more price adjustments that can be made dependent upon what has been selected in the product model’s user dialog. To set up price combinations for a product model, select Product Builder / Product models / Setup button / Price combinations. In the Price adjustment field, you can specify an amount or a percentage that should be added to the standard sales price (positive or negative). Via the Price/Discount setup button, you can then proceed to define a rule that decides when this particular price adjustment becomes active. Price adjustment rules are created in the same way as validation rules – please refer to the Setting up validation rules section for a description of this procedure. In the Percentage / Amount field you can choose between Amount, Percent and Calculated. · If you select Amount, the resulting price will be the standard sales price plus the amount specified in the Percentage / Amount field – and the adjustment will be active whenever the rule specified via the Price/Discount setup button evaluates to ‘true’. · If you select Percent , the resulting price will be the standard sales price plus the percentage of it that is specified in the Percentage / Amount field – and like before, the adjustment will be active whenever the rule specified via the Price/Discount setup button evaluates to ‘true’. The percentage amount is calculated after adding any amountbased price adjustments. For percentage-based adjustments, the Price adjustment in currency button will be inactive. · If you select Calculated, the Price/Discount setup button is used to to specify a formula for calculating the price adjustment value (instead of a rule that decides when the adjustment should be active). In this case, the Price adjustment field will always show the value 0. In each of these three cases, you may choose to write the rule or calculation expression as X++ code instead, on the Code tab page. This works exactly as with validation rules: You can build the expression first on the Overview tab page, and then transfer it to the Code tab page by clicking the Transfer to program code button. Note Remember that the Sales price calculation field under Product Builder / Setup / Parameters / User dialog must be left unchecked if you want to use price combinations with your product models. If this field is checked, the standard BOM price calculation will be used instead. Обращаю внимание, что конфигурирование BOM и Конфигуратор продукции не одно и то же. Для того чтобы Конфигуратор работал в номенклатуре (спецификация) нужно поставить галку Моделирование возможно и соотвественно должна быть аналитика Конфигурация. |
|
|
За это сообщение автора поблагодарили: cherv (1). |
26.09.2007, 17:29 | #4 |
Аманд
|
Цитата:
2. Создал модель продукции, в версиях указал номенклатуру BOM1
Цитата:
1. Создал спецификацию BOM1, в строках указал номенклатуры Item1 и Item2 с определенными ценами.
Цитата:
3. Далее непонятно - если использовать комбинацию цен, то, как я понимаю, за основу можно брать только цену продажи основной номенклатуры (в данном случае BOM1) и корректировать ее.
Цитата:
Если использовать модельное дерево, то можно добавить в нем строку спецификации
например: расход материала (переменная)* цена материала (переменная) = цена продажи Цитата:
тут несколько непонятных моментов: а) какие номенклатуры сюда добавлять (основную BOM1 или входящие Item1 и Item2
Цитата:
б) как сопоставить эти номенклатуры(у) с переменной моделирования;
Цитата:
в) как получить цены этих номенклатур
|
|
27.09.2007, 18:55 | #5 |
MCTS
|
Vals
Спасибо за ответ! Путем экспериментов удалось добиться некоего результата. Добавил в модельное дерево узел "Таблица", получил в переменную Var1 значение поля Price определенной номенклатуры. При конфигурировании строки заказа в диалоге появляется значение этой цены, однако в строку заказа не подставляется (ни по кнопке "Рассчитать цену", ни по кнопке "OK"). Мне остается неясно, как значение переменной подставить (скажем, в строке заказа) в цену продажи. Цитата:
В модельном дереве вы можете написать своё выражение используя операнд Code
например: расход материала (переменная)* цена материала (переменная) = цена продажи Помогите, пожалуйста, сделать последний шаг! |
|
27.09.2007, 21:08 | #6 |
Аманд
|
Цитата:
Цена продажи BOM1 = Цена покупки Item1 * 1,5 + Цена покупки Item2 * 1,2.
Если у вас 4.0 - смотрите Номенклатура/ закладка Ссылки/ Группа расчёта. Там настраивается очень близко к тому что вы хотите без использования конфигуратора. По конфигуратору, какую таблицу вы добавили? Последний раз редактировалось Vals; 28.09.2007 в 09:28. Причина: Добавил ссылку на группу расчёта |
|
|
За это сообщение автора поблагодарили: cherv (1). |
28.09.2007, 11:28 | #7 |
MCTS
|
Vals
Спасибо за наводку по поводу групп расчета - да, это примерно то, что нужно для данной реализации, думаю, что данная функциональность может пригодиться. Извините за назойливость, но хотелось бы до конца выстроить цепочку в Product Builder, так как предполагается использование и более сложных, чем приведенная в примере формула, и наверняка понадобится использовать также и этот модуль. В дереве я добавил таблицу InventTableModule, указал искомое знаения поля ItemId и ModuleType (тип цены), для получения знаения поля Price указал переменную Var1. Также добавил в дерево Простой узел, где указал, что для Var1 = Var1 * 1.5. Далее создаю заказ, строку с номенклатурой BOM1, конфигурирую строку, появляется окно с выбором модели продукции, выбираю, далее появляется окно с рассчитанной переменной Var1 (значение рассчитывается верно). Собственно, на последнем шаге и затык: как это значение перенести в цену продажи BOM1? Мне кажется, вопрос вообще более общий: как использовать результат расчета, произведенный в модельном дереве? Должен ли он перенесится в номенклатуру/заказ или еще куда-либо и каким образом? |
|
28.09.2007, 12:48 | #8 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: cherv (1). |
28.09.2007, 13:51 | #9 |
NavAx
|
|
|
28.09.2007, 14:36 | #10 |
MCTS
|
Михаил Андреев
Спасибо большое, теперь вроде все получилось! |
|
28.09.2007, 19:46 | #11 |
Аманд
|
Есть ещё момент - вы перенесли цену в справочник номенклатуры, а не в SalesLine.
|
|
01.10.2007, 10:27 | #12 |
MCTS
|
Vals
Цитата:
Есть ещё момент - вы перенесли цену в справочник номенклатуры, а не в SalesLine.
X++: select firstonly forupdate SalesLine where SalesLine.InventTransID == lotId; SalesLine.SalesPrice = Var1; SalesLine.update(); |
|
Теги |
ax4.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
Модуль "Конфигуратор продукции" | 17 | |||
Конфигуратор продукции. | 1 | |||
Конфигуратор продукции - номенклатура | 0 | |||
Конфигуратор продукции | 0 | |||
Конфигуратор продукции | 1 |
|