Здравствуйте. Подскажите пожалуйста по какому БП рассчитывается колонка Итоги?
Нужно добавить новую колонку, которая будет считать сумму покупки всех продуктов в заказе.
Благодарю
Нравится
Добрый день, Дмитрий!
Это поле рассчитывается в процессе на объекте Order в методе SetOrderProductCurrency.
Guid currencyId = Entity.GetTypedColumnValue("CurrencyId");
decimal currencyRate = Entity.GetTypedColumnValue("CurrencyRate");
var currencyEntity = UserConnection.EntitySchemaManager.GetInstanceByName("Currency").CreateEntity(UserConnection);
currencyEntity.FetchFromDB(currencyEntity.Schema.GetPrimaryColumnName(), currencyId, new[] { "Division" });
decimal division = currencyEntity.GetTypedColumnValue("Division");
decimal currencyFromPrimaryFactor = division!= 0? currencyRate / division : 0;
var update = new Update(UserConnection, "OrderProduct")
.Set("CurrencyId", Column.Parameter(currencyId))
.Set("CurrencyRate", Column.Parameter(currencyRate))
.Set("Price", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryPrice"))
.Set("Amount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryAmount"))
.Set("DiscountAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryDiscountAmount"))
.Set("TaxAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryTaxAmount"))
.Set("TotalAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryTotalAmount"))
.Where("OrderId").IsEqual(Column.Parameter(Entity.GetTypedColumnValue("Id"))) as Update;
update.Execute();
Здравствуйте, Валерий. А как можно добавить в эту схему свою систему расчёта? Чтобы подсчитывалась нужный мне итог?
Добрый день!
1. В конфигурации необходимо на нужном объекте при вызове контекстного меню выбрать "Изменить процесс";
2. На открывшейся странице справа в дереве выбрать "methods", так как мы хотим переопределить метод и найти нужный нам метод;
3. Когда нашли метод два раза по нему кликнуть и в центральной части откроется код.
Прикрепил скриншоты для наглядности.
"Адасюк Валерий Викторович" написал:Добрый день!
1. В конфигурации необходимо на нужном объекте при вызове контекстного меню выбрать "Изменить процесс";
2. На открывшейся странице справа в дереве выбрать "methods", так как мы хотим переопределить метод и найти нужный нам метод;
3. Когда нашли метод два раза по нему кликнуть и в центральной части откроется код.Прикрепил скриншоты для наглядности.
Прикрепленный файлРазмер
1.jpg
23.68 кб2.jpg
41.88 кб
Валерий, здравствуйте. Не могли бы помочь с решением данной проблемы?
Создана строка "Сумма закупа" (UsrTotal) с типом данных "Деньги". Она должна считать общую сумму затрат на покупку всех товаров в заказе.
Для этого созданы две строки "Покупная цена" (UsrPrice), где рассчитывается стоимость одного товара и "Итого дил." (UsrTotalDil), тут рассчитывается сумма закупа в зависимости от кол-ва товаров в строке
Буду весьма благодарен за помощь