Итоги в деталях (Detail summaries for bpm'online)
Всем добрый день!
В рамках Bpm Online Contest представляю вашему вниманию небольшое дополнение, которое позволит пользователям легко настраивать итоги по деталям. Сумма по какой-то колонке, минимальное значение другой колонки по всем записям в детали — всё это легко настраивается в два клика.
Основная функциональность приложения:
- итоги по любой из колонок детали числового типа (деньги, целое и дробное значение);
- настройка разных типов итогов (min, max, avg, sum);
- сохранение настроек для определенного пользователя.
Ссылка на Marketplace: https://marketplace.terrasoft.ru/app/detail-summaries-bpmonline
Ну и официальную часть хотелось бы дополнить небольшим комментарием. Идея пришла из этой темы, ну и плюс немного надоело на проектах делать одни и те же действия для добавления итогов, так что убил пару выходных, но реализовал данное дополнение.
Имеется небольшой глюк(идёт наложение стилей) с уже созданными итогами на детали "продукты" в Счетах. Уж простите, базовые итоги этой детали я стирать не имею права. Всё-таки базовый функционал).
Приложение планируется периодически дорабатывать, добавлять новые "фичи" (уже есть запрос на вынос количества записей в детали).
В принципе всё, приятного пользования. Буду рад любым идеям по доработке, объективной критике, багрепортам и советам по стилям.
Ух ты, круто. А можно как-нибудь Итого по сумме записать в какое-то поле?)
Alex Zaslavsky пишет:
записать в какое-то поле?)
Теперь можно. Недавно обновил приложение. Из нового:
1) Исправлен порядок элементов в детали "Файлы и примечания"
2) В конфигурацию посылается сообщение при каждом добавлении/изменении/загрузке/полной очистке панели итогов. Подписаться в странице можно следующим образом:
messages: { "DetailSummaryConfig": { mode: this.Terrasoft.MessageMode.PTP, direction: this.Terrasoft.MessageDirectionType.SUBSCRIBE } }, methods: { init: function() { this.callParent(arguments); this.sandbox.subscribe("DetailSummaryConfig", function(data) { debugger; }, this, [this.getDetailId("InvoiceProduct")]); //подписываемся на конкретную деталь. в которой добавлена панель } },
Информация приходит в таком виде:
3) И наконец-то руки дошли до единичного удаления итогов. Теперь можно либо снести всю настройку через менюшку, либо удалить только ненужные (по клику сверху на синие треугольники. и да, дизайн топовый).
Варфоломеев Данила пишет:
Теперь можно. Недавно обновил приложение.
чтобы получить обновления нужно заново установить?
Владимир Соколов пишет:
обновления нужно заново установить?
Скорее всего просто накатить пакет.
Ну и прямо сейчас обновляться через встроенный функционал нет смысла - пакеты на верификации в маркете. Вручную по ссылке.
Варфоломеев Данила,
Это прекрасно! Спасибо за помощь :)
Alex Zaslavsky пишет:
А можно как-нибудь Итого по сумме записать в какое-то поле?)
А итоги вычисляются с учетом фильтрации, которую установил пользователь? Тогда нет смысла их записывать в какое-то поле
А для всех пользователей сразу можно настроить отображение итогов?
Дмитрий А.,
пока что нет. будет время - займусь, доработаю.
Добрый день! Установил дополнение, но в настройках детали на появился пункт "итоги" Скажите пожалуйста в чем может быть проблема? Как дебажить? Вот список замещающих схем в конфигураторе:
Но при загрузки страницы файл BaseGridDetailV2 из пакета TcmDetailsSummary не подключается.
Трефилов Павел Сергеевич пишет:
Скажите пожалуйста в чем может быть проблема?
А какая версия приложения? Компиляция не помогает?
Версия 7.12.1 компиляцию делать не пробовал,
на чистой системе с такой же версией системы файл подключается
Сейчас еще раз проверил, проблема была в кэше. Очистил кэш полностью (ctrl+f5 не помогал) и появился новый пункт меню. Спасибо за дополнение.
Добрый день! Еще раз спасибо за приложение, активно пользовались. Но недавно у нас оно перестало работать.
Во время инициализации детали с итогами падает с ошибками, судя по всему метод getSummaryItemContainerConfig, строка return Ext.create("Terrasoft.BaseViewModel", {
Проверил на чистой сборке, дополнение работает, но в консоле все равно валятся ошибки. Как можно починить?
Нашел решение, как заставить работать приложение, нужно выключить режим дебага, но ошибку все равно хотелось бы исправить:
Terrasoft.SysSettings.postPersonalSysSettingsValue("IsDebug", false)