Как выделить строку цветом при повторяющихся значениях поля?

Все вопросы/проблемы по установке и использовании.
Ответить
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

Доброго дня!
В списке сущности есть необходимость выделить цветом строку, при условии, что в поле повторяющееся значение (НЕуникальное).
Как это сделать при помощи функционала "Настройка списка"->"Выделить строку"?
Функционал "Уникальное поле" не подходит, т.к. оно не даст записать форму.

Может кто-то сталкивался с подобной задачей или решил задачу иным способом. Буду признателен за любые варианты!
syrorybin
Инвестор
Инвестор
Сообщения: 312
Зарегистрирован: 14 ноя 2023, 09:19
Имя: Роман
Откуда: Екатеринбург

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение syrorybin »

Добрый день.
Насколько понимаю, вам нужно поле с типом MySQL, где выбирается сущность, поле и задается нужное условие.
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

Нет, постараюсь наглядно объяснить.
На скрине:
1й столбец - № заказа
2й столбец - Проверка - выбран первый блок цифр до дефиса из поля "№ заказа". Это идентификатор клиента.
Надо чтобы выделяло цветом строку с заказом, у которого идентификатор клиента НЕуникальный (повторные заказы от одного клиента).
Вложения
изображение_2025-03-05_162604406.png
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1085
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение Fait »

Можно сделать поле MySQL формула и на него настроить выделение цветом стандартным способом.
По формула такая примерно:

Код: Выделить всё

select count(*) from app_entity_33 where field_444=[444] and id<>[current_item_id]
Где 33 - id сущности
444 - id поля с id клиента

P.S.: Интересно у вас получается интеграция с Озон.
Если что, у меня есть довольно мощная система для работы с маркетплейсами)
Если интересно, обращайтесь в ЛС, много времени сэкономите на разработке, тем более, что решение то уже имеется)
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

Спасибо, но почему-то уходит в ошибку:
Сущность "Заказы". Поле "Проверка@" [356]. Ошибка расчета формулы "select count(*) from app_entity_21 where field_221=[221] and id<>[current_item_id]".

Формула такая прописана:

Код: Выделить всё

select count(*) from app_entity_21 where field_221=[221] and id<>[current_item_id]
З/Ы: По поводу вашего предложения - в личку отписался, жду ответа.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1085
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение Fait »

gayfullin.r писал(а): 06 мар 2025, 14:09 Спасибо, но почему-то уходит в ошибку:
Сущность "Заказы". Поле "Проверка@" [356]. Ошибка расчета формулы "select count(*) from app_entity_21 where field_221=[221] and id<>[current_item_id]".

Формула такая прописана:

Код: Выделить всё

select count(*) from app_entity_21 where field_221=[221] and id<>[current_item_id]
З/Ы: По поводу вашего предложения - в личку отписался, жду ответа.
Извиняюсь, немного не то написал, забылся...
Вот ваш код, только что у себя проверил + добавил проверку на пустоту:

Код: Выделить всё

if([221]<>"",(select count(*) from app_entity_21 where field_221=[221] and id<>[id]),0)
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

Теперь формула рабочая, благодарю!
Но затык в том, что это не работает с типом поля MySQL формула, при помощи которого и выдергивается идентификатор клиента из номера заказа. Есть мысли, как это обойти?
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1085
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение Fait »

gayfullin.r писал(а): 06 мар 2025, 23:35 Теперь формула рабочая, благодарю!
Но затык в том, что это не работает с типом поля MySQL формула, при помощи которого и выдергивается идентификатор клиента из номера заказа. Есть мысли, как это обойти?
Надо встраивать ту формулу в эту, а на поле MySQL формула нет смысла ссылаться, так как оно динамическое и не хранит значений в БД.
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

Ясно, спасибо за наводку! 👍🤝
gayfullin.r
Сообщения: 66
Зарегистрирован: 31 май 2018, 14:24
Имя: Рустем Гайфуллин
Откуда: РФ, Казань
Контактная информация:

Re: Как выделить строку цветом при повторяющихся значениях поля?

Сообщение gayfullin.r »

В итоге MySQL запрос получился такой (может пригодится кому-то):

Код: Выделить всё

IF([158] <> "", 
   (SELECT COUNT(*) 
    FROM app_entity_21 
    WHERE SUBSTRING_INDEX(field_158, '-', 1) = SUBSTRING_INDEX([158], '-', 1) 
      AND id <> [id]), 
   0)
Далее заходим в "Настройка списка" -> "Выделить строку"
и настраиваем выделение цветом строки при значении ">0".
Ответить