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

17.07.24

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

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

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

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

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

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

 

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

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

 

 

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

 

 

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

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

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

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

 

 

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

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

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

 

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

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

 

 

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

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

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

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

 

Решение

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

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

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

 

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

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

 

 

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

 

 

Резюмируем

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

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

 

 

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

Вступайте в нашу телеграмм-группу Инфостарт

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    89657    68    44    

75

Консолидация данных Работа с интерфейсом Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)

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

6088 руб.

17.10.2025    2945    3    0    

2

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    9423    2    2    

6

Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

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

20.08.2024    54707    mrXoxot    44    

139

Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

27.05.2024    28942    smielka    39    

119

Инструментарий разработчика Работа с интерфейсом Программист 1С 8.3 Абонемент ($m)

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

1 стартмани

10.04.2023    18429    186    acces969    31    

132

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Питничная фантазия на возможности в разработке интерфейсов формы с помощью Платформы 1С - делаем свою подсказку. Публикация содержит готовую библиотеку программного формирования данной подсказки.

12.08.2022    15790    top_1c    39    

98

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    16451    kalyaka    8    

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