Openbravo Forum End of Life Notice

Dear Openbravo Forum User,

Because of continued very low usage we decided to stop the forums on 31st of August 2017

In case of questions: webmaster "at" openbravo.com

Калькулируемые поля

<<

Danil Zelichenko

Posts: 6

Joined: Mon Feb 13, 2012 8:29 am

Post Wed Apr 18, 2012 3:55 pm

Калькулируемые поля

Всем привет!
Сейчас появилась небходимость добавления ряда калькулируемых полей - т.е. полей, являющимися расчетными на основе различных объектов.
Самый минимальный пример - в список номенклатуры заказа подтянуть его категорию. Насколько я понял логику OB3 в номенклатуру заказа физически добавляется айдишник категории продукта. А это не совсем удобно, а точнее совсем неудобно, т.к. если у продукта изменится категория, в заказе это не отразится. Обвешивать все триггерами на измененние это вообще мрак.
По опыту работы с другими системами всегда встречал понятие JOIN - т.е. поле не находится физически в таблице сущности, а является JOINом от ряда других сущностей. При таком подходе имеем всегда актуальную информацию и ГЛАВНОЕ - по таким полям можно фильтровать и сортировать.

Как решает такую проблему OB3? Есть ли возможность задать некое виртуальное поле, калькулироемое на основе нескольких объектов и при этом с возможностью сортировки и фильтрации по нему? Пока что такого я не нашел.
<<

Antuan Avdioukhine

Posts: 42

Joined: Sat Feb 25, 2012 4:11 pm

Post Wed Apr 18, 2012 10:38 pm

Re: Калькулируемые поля

Приветствую!
Danil Zelichenko wrote:Насколько я понял логику OB3 в номенклатуру заказа физически добавляется айдишник категории продукта. А это не совсем удобно, а точнее совсем неудобно, т.к. если у продукта изменится категория, в заказе это не отразится.

В данном случае это сделано идеологически верно -- чтобы не влиять на обработанные транзакции.

Danil Zelichenko wrote:Как решает такую проблему OB3? Есть ли возможность задать некое виртуальное поле, калькулироемое на основе нескольких объектов и при этом с возможностью сортировки и фильтрации по нему? Пока что такого я не нашел.

Вот конкретно на этот вопрос я не отвечу, может, разработчики подскажут, но лично у меня отквоченный выше пример не склеивается с этим вопросом. Какая-то связка упущена. Может, опишите "живую" задачу чуть подробнее?
<<

Danil Zelichenko

Posts: 6

Joined: Mon Feb 13, 2012 8:29 am

Post Thu Apr 19, 2012 8:55 am

Re: Калькулируемые поля

Примеров много, но самый обычный следующий:
1. В документ инвентаризации в списке номенклатуры добавить поле "категория" с возможностью фильтрации по нему.
Дело в том, что сам справочник номенклатуры может меняться каждый день, у продуктов могут изменяться категории и т.д., поэтому необходимо в каждый момент времени во всех прочих документах иметь актуальную информацию по категории продукта
2. В тот же документ инвентаризации добавить поле "Отклонение", как разность между планом и фактом и опять же иметь возможность фильтрации по нему для выделения той номенклатуры, "которой не досчитались"

но вообще примеров масса.

Причем, насколько я понял, кое-где в системе такая возможность есть. Взять, например, всплывающее окно добавления товара к заказу. Там содержится наименование товара, склад, количество, цена. И по всем этим параметрам можно фильтровать. Почему же нельзя такое же иметь и на обычных списках?
<<

Dmitry Mezentsev

Posts: 280

Joined: Wed Mar 18, 2009 7:25 pm

Post Wed May 16, 2012 9:00 am

Re: Калькулируемые поля

Привет!

У меня несколько комментов.
1. Калькулирумеые поля - штука хорошая, полная поддержка у нас в Roadmap, http://wiki.openbravo.com/wiki/Openbravo_ERP_roadmap, search for Computed Fields.
2. Первая часть этого проекта готова, Canvas Fields (Front-end Computed fields), http://wiki.openbravo.com/wiki/How_to_a ... rm_or_Grid.
3. На счёт бизнес задачи. Моё мнение, что применять это к обозначенному примеру, про который написано, м.б. не лучшая тема. И без калькулируемых полей, если категория продукта изменена, то в новых транзакциях она отразится. Если её поменять для "старых" транзакций, которые уже завершены, то велика вероятность получить конфликт. Многие (почти все) транзакции сопровождаются печатными или электронными копиями (отправляются клиентам, подшиваются в архив) и они будут со старой номенклатурой (на тот момент), а в системе это будет с новой. Надо будет поднять и сверить (для аудита или ещё чего) и не сойдётся.

П.С. Кстати, если подобные вопросы будете задавать на английском в соотв. форумы (т.к. они для России не специфичны), например этот в Девелоперс, то ответ, скорее всего, придёт сильно раньше, т.к. там больше людей участвует.
<<

Dmitry Mezentsev

Posts: 280

Joined: Wed Mar 18, 2009 7:25 pm

Post Thu Jul 12, 2012 12:11 am

Re: Калькулируемые поля

FYI.

---------- Forwarded message ----------
From: Martin Taal <martin.taal@openbravo.com>
Date: 9 July 2012 09:38
Subject: [Openbravo-development] New features in MP13: computed columns, property fields, combining child and parent columns in one grid
To: openbravo-development <openbravo-development@lists.sourceforge.net>


FYI,
In MP13, 2 new concepts were introduced which can be very usefull when developing functional code:

> Property field: this allows you to add related/indirect columns as fields to a tab, for example the bankAccount of a businesspartner can be shown in the sales order window. Even more powerfull: also (grand-)parent columns can be shown in a grid, this makes it possible to show child tables in the top of a new window, for example a grid with all sales orderlines with columns from the sales order header in the same grid.

> Computed column: it is possible to add a computed column to a table definition in the Application Dictionary. The computed column is computed at runtime using a sql expression (defined in the column application dictionary), the computed column does not have a column in the database schema, it is always computed at realtime when retrieving a record. Computed columns make it for example possible to have a new column in a parent tab showing aggregated child information, for example in the sales order header show the total quantity of the child records.

For both concepts:
* fields are readonly
* sorting and filtering works in the same way as for the 'standard' columns/fields
* automatically recomputed when inserting/saving a record or a child record

For more information visit the following howtos/wiki pages:
http://wiki.openbravo.com/wiki/How_to_c ... ted_Column
http://wiki.openbravo.com/wiki/How_to_u ... rty_fields

--

With Regards, Martin Taal

Openbravo
M: +31 6 288 48 943
@: martin.taal@openbravo.com
Skype: martintaal

Openbravo Headquarters:
P: +34 93 27 25 947
F: +34 93 27 25 905
Address: Edificio Slan, Planta 2a, Landaben, Calle J, 31012 Pamplona, Navarra, Spain
Mailing address: PO Box 5117, 31010 Pamplona, Navarra, Spain

Return to Openbravo Russia

Who is online

Users browsing this forum: No registered users and 1 guest

cron
Website Terms


Designed by ST Software for PTF.