Было бы здорово, если строки и конкретные поля разделов/деталей можно было "раскрашивать" в бизнес-правилах

8 комментариев

для строк уже реализовано

https://marketplace.terrasoft.ru/app/color-filling-records-bpmonline

Здравствуйте!

Передали данное пожелание команде разработки для анализа возможности внедрения такой возможности в будущих версиях продукта.

Это дополнение реализовано компанией «CRM Tools», с пожеланиями дополнительной логики  лучше будет также обратиться и к ним. Будет странно, если поля будут помечаться цветом стандартно, а для строк придётся устанавливать дополнение.

 

gfdshdfsh,

К сожалению, там недостаточная реализация: можно брать только справочное поле, нельзя красить по 2 и больше вариантам, нет возможности покрасить только одно поле, при выделение строки все равно включается базовый цвет. Разработчикам отписался, но обратной связи так и нет.

Быстров Сергей,

 

печально, но для "простой" раскраски реестра этот вариант подходит. Так же не ясно как раскрасить детали

Очень хотелось бы конечно иметь более полноценный набор функций:

возможность раскраски строк и ячеек,

возможность выбора более одной колонки для создания правила,

для пересечения иметь приоритет раскраски!

Собственно на маркетплэйс странице данного приложения большинство отсутствующих возможностей так же перечислено

Возможно, они разработают больше возможностей в новой версии или под заказ. Попробуйте связаться с авторами дополнения.

Есть дополнение Fields color highlighting for bpm'online, оно позволяет выделять фон и текст полей в карточке записей любого раздела различным цветами для заданных ролей пользователей. 

Показать все комментарии

При установке свойства HasCustomDrawCell = true у DataTreeGrid редактирование последнего стало практически невозможным. При занесении значений в редактируемую ячейку и последующем нажатии кнопки Enter ничего не происходит. Если вводить значение на протяжение нескольких секунд значение в ячейке (как будто по таймеру) сбрасывается в 0. И только если успеть ввести значение и перейти мышкой на другую ячейку, то при редактировании программно других ячеек (код вида Dataset.Edit() ……….. Dataset.Post()) выскакивает ошибка о том что dataset not in edit or insert mode.

Если убрать раскраску таблицы HasCustomDrawCell = false всё продолжает нормально работать.

Как реализовать одновременно работу события OnGetCellDrawInfo и возможность редактирования внутри таблицы?

Нравится

3 комментария

Здравствуйте!

Предоставьте следующую информацию:

  • Версия конфигурации
  • Версия бинарных фалов приложения
  • Какие доработки были выполнены для редактируемого грида
  • Редактируете реестр или деталь
  • Редактируете базовый реестр/деталь

TerrasoftSales 3.3.2.313

Создали собственный раздел, реестр и деталь для внесения плана и сравнение с фактом продаж

Для реестра, где необходима подкраска ячеек редактировали события:
OnAfterEdit (редактирование итоговых данных после правок в привязанном к гриду датасете), OnBeforeEdit (проверка возможности редактирования конкретной ячейки) и CellDrawInfo.

Сейчас временно из ситуации вышли следующим образом: при редактировании значения в ячейке подкрашиваемые ячейки с утвержденным планом становятся обычного цвета, на OnBeforeEdit:
if (CanEdit.Value) {
OldValue = DataField.Value
if (DataGrid.HasCustomCellDraw) {
DataGrid.HasCustomCellDraw = false
}
}

Как только мы вышли из редактирования (сохранили значение или перешли на другую не редактируемую ячейку) – подкраска снова появляется, на OnAfterEdit:
if (!DataGrid.HasCustomCellDraw) {
DataGrid.HasCustomCellDraw = true
}

TerrasoftSales 3.3.2.313

Создали собственный раздел, реестр и деталь для внесения плана и сравнение с фактом продаж

Для реестра, где необходима подкраска ячеек редактировали события:
OnAfterEdit (редактирование итоговых данных после правок в привязанном к гриду датасете), OnBeforeEdit (проверка возможности редактирования конкретной ячейки) и CellDrawInfo.

Сейчас временно из ситуации вышли следующим образом: при редактировании значения в ячейке подкрашиваемые ячейки с утвержденным планом становятся обычного цвета, на OnBeforeEdit:
if (CanEdit.Value) {
OldValue = DataField.Value
if (DataGrid.HasCustomCellDraw) {
DataGrid.HasCustomCellDraw = false
}
}

Как только мы вышли из редактирования (сохранили значение или перешли на другую не редактируемую ячейку) – подкраска снова появляется, на OnAfterEdit:
if (!DataGrid.HasCustomCellDraw) {
DataGrid.HasCustomCellDraw = true
}

Показать все комментарии