[UI] Работа с коллекцией картинок в таблице, или история, как баг стал фичей!

17.07.24

Разработка - Работа с интерфейсом

Скрыть/Показать элемент формы "Картинка" в таблице на форме. Из категории мелочь, а приятно.

Привет! Давно не было от меня вестей. За это время я сменил профессию: теперь я не программист, а аналитик. Однако я по-прежнему считаю себя разработчиком! А ещё блогером :)

– Кому это интересно! Давай контент! Мамкин блогер! – Хейтер

Кто помнит, кто знает, я люблю экспериментировать с дизайном в платформе 1С и находить интересные и креативные решения. Об одном из таких решений я хочу рассказать.

– Где контент?! Два абзаца воды. – Хейтер

 

Проблемная ситуация

Для начала давайте посмотрим на скриншот, который представлен ниже.

 

 

Всё выглядит хорошо, но давайте обратим внимание на загадочную колонку «Палет/ТУ» и картинку рядом с ней. Вы не видите картинку? А она есть, но пустая. Давайте уменьшим размер этой колонки и посмотрим, что получится.

 

 

Всё пропало! Посмотрите, в ячейке нет даже «трёх точек», значение "10,0" ячейки исчезает и показывает пустоту. Это может привести к тому, что пользователь получит неверную информацию и примет неправильное решение. А всё из-за странного поведения платформы.

– Сам создал проблему на ровном месте, горе дизайнер! А пользователь, ты что тупой, раздвинь колонку, сбрось настройки формы, пошевели извилинами и всё увидишь! – Хейтер

Мы подошли к самой сути проблемы: «пустая» картинка, как и картинка с изображением, требует определённого количества пикселей. Если на картинке есть рисунок, это хотя бы как-то оправдано, но если она выводится «пустой», то это просто бесполезная трата пространства.

Ещё один пример — выбор транспортного средства в очень компактном столбце.

 

 

Не только «пустая» картинка занимает место, но и стандартные кнопки забирают остатки свободного пространства. В результате пользователь видит лишь небольшое окошко, что, безусловно, вызывает у него раздражение. Меня это тоже раздражает! К тому же, в большинстве случаев на этом месте нет никакой картинки, только если произошла ошибка.

– Фи! Заботится о пользователях, что вы, что вы. – Хейтер

Думаю, проблема уже понятна, но какое же её решить?

 

Предыстория поиска решения

Давайте начнём с примера, который можно назвать классикой: «Не баг, а фича». В одном из релизов нашего продукта пропала иконка. Когда мы меняли значение, иконка должна была меняться, но вместо этого она исчезала (красная стрелка указывает на проблему). Это было похоже на магию: иконка просто пропадала как элемент формы.

 

 

Как обычно, мы столкнулись с ошибкой, которую необходимо исправить. Поведение функционала было некорректным. Параллельно возникла дополнительная задача — добавить ещё одну иконку для отображения состояния. К сожалению, в таблице уже нет места для этой иконки без порождения «тумач». Ранее мы объединили десяток иконок в одну картинку, чтобы скрыть за ней интересный функционал, но это отдельная история.  В данном случае нам нужна была именно отдельная иконка с отдельной колонкой. И самое неприятное, что в большинстве случаев она будет пустой и займёт ценные 16 пикселей экрана.

– Да твой текст, уже сплошной тумач! Много букв! 16 пикселей ему жалко, кг/ам! – Хейтер

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

«Исчезала» - подумал я и эврика! Это же классно, это то что нам нужно, в большинстве случаев можно скрывать картинку как элемент формы в ячейке, а в некоторых случаях выводить.

 

Решение

Дело за малым, нужно всего-то на всего передать не существующий номер коллекции, хоть три топора! Ну или два, в честь памяти платформы 7.7!

– Бо-же-мой и всё?! Так много писал ради этого! – Хейтер *прицокивает*

Итак входные данные, у нас есть коллекция картинки, где 0 – это пустая картинка, а 1 – некие «три точки а-ля хищник». Если мы передадим значение 77, тогда картинка и вовсе не будет выведена в интерфейс! Вот так просто! Единственное, я не уверен, что это задокументированное поведение платформы и тут, кто знает, подскажите, если есть на ИТС. А так используем на свой страх и риск.

 

Демонстрация работы

Задача: необходимо подсветить особенность у единичных позиций номенклатуры в колонке «Артикул». Решили использовать данную возможность и выводить картинку только у тех значений, где это необходимо.

 

 

Преимущество в том, что если по какой-то причине пользователь попытается уменьшить размер колонки, он не увидит «пустое значение», а увидит часть текста и поймёт, что там скрыто что-то важное.

 

 

Резюмируем

Не баг, а фича! Возможность интерфейса классная, поэтому решил с вами поделиться. Если вы о ней знали, молодцы, я не знал и поделился со всеми. Всем спасибо!

– Я это знал давно! Зря потратил время. – Хейтер

 

 

С уважением, Дмитрий Котов | 1С (одноименный канал в ТГ).

Динамический список таблица формы список картинка

См. также

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55301    17    23    

43

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63692    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19547    27    6    

42

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10763    7    7    

11

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    20803    mrXoxot    44    

128

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    10285    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17735    1223    elcoan    53    

125
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. webester 26 27.05.24 12:47 Сейчас в теме
Понравилось, что автор мои замечания, сразу в тексте написал)
Mahon83; gorenski; rpgshnik; +3 Ответить
2. user1826876 27.05.24 13:23 Сейчас в теме
Я вообще ни чего не понял.
CheBurator; tsmult; McLer; rpgshnik; +4 Ответить
3. starik-2005 3096 27.05.24 13:33 Сейчас в теме
Сразу видно - писал хейтер со стажем )))
gorenski; Interrupted; flanchev; quazare; McLer; rpgshnik; +6 Ответить
4. SerVer1C 839 27.05.24 18:00 Сейчас в теме
6. svsrus 179 27.05.24 23:20 Сейчас в теме
(4)
-1 даст пустую картинку (т.е. как будто 0 передал). Сегодня тоже этот баг/фичу заметил. А начал боловаться, потому что пустая картинка была просто белый квадрат и было очень не красиво на цветном фоне. Передал 99 - нет картинки! Чудеса!
rpgshnik; +1 Ответить
5. quazare 3866 27.05.24 21:07 Сейчас в теме
Дмитрий, ты подписан на меня в тг? Вообще в типовых - с индексом 3.0 там такое творится с табличными частями…. Я разбирал один из документов
rpgshnik; +1 Ответить
7. gigapevt 26 28.05.24 10:18 Сейчас в теме
Странно... таким поведение коллекции уже пользуюсь очень давно, если выставить индекс за пределы массива коллекции, то иконка не отображается. Думал что это нормальное поведение системы )))
rpgshnik; +1 Ответить
8. CheBurator 2693 28.05.24 21:23 Сейчас в теме
Хоспадя, это ж ещё со времён клюшек известно: если передать номер несуществующей картинки - будет "пусто"
headMade; rpgshnik; Dach; gorenski; +4 Ответить
9. CheBurator 2693 28.05.24 21:25 Сейчас в теме
Остальное настолько мутно в стате изложено с таким количеством воды как будто платят за количество букв.
.
Понятно почему ТС ушёл из погромистов если код пишет также как статью... ;-)
11. support 4453 29.05.24 09:39 Сейчас в теме
(9) Сергей, тебе не кажется, что ты превратился в ворчливого деда? ))
dsdred; rpgshnik; +2 Ответить
10. gorenski 389 29.05.24 05:12 Сейчас в теме
Хорошая статья, возможно не все знают про эту фичу. Немного портят впечатление запикселенные скриншоты, что там за секретная информация, которую никому нельзя видеть - тайная номенклатура или Иванов-Петров-Сидоров? ))
12. reset2 17 29.05.24 16:10 Сейчас в теме
Нуда, ну да, нынче такие водохранилища набирают плюсы, а не настоящие джедайские разработки.
Оставьте свое сообщение