Знакомая всем ситуация - понадобилось воссоздать на УФ то, что было привычно клиенту на обычных формах. Сделал минималистично, хотя уже намечены несколько моментов для дальнейшего развития.
Если кратко: за основу взят табличный документ. Я очень огорчился, узнав, что очередной раз изобрёл велосипед и уже была публикация //infostart.ru/public/94149/ (которую я принципиально не стал пока скачивать, потом посмотрю, как что там). Но, табличный документ удобнее, чем html. Используется режим "ТолькоПросмотр", поэтому шансов на самодеятельность пользователя не так уж много. Иконки и текст - это рисунки табличного документа, поэтому по сути это эмуляция рабочего стола, а не его полноценное воплощение.
Достоинства:
1. Гибкая настройка иконок, возможность их различного размера (хоть на пол-экрана растяните) и размера их надписей. Возможность частичного взаимоналожения (прозрачный фон) для экономии места.
2. Удобное перетаскивание. Для масштабирования и/или перетаскивания начинайте drag&drop на картинке иконки, чтобы она перешла в режим правки (появятся маркерные точки). Надпись иконки сама "ездит" вслед за картинкой.
3. Подключение к иконке вызов большинства форм объектов конфигурации (в т.ч. общие формы), управление передачей параметров в формы, возможность открытия форм новых/имеющихся экземпляров (указывается ссылка). Подключение внешних отчётов и обработок. Подключение вызова внешних файлов - формата 1С (mxl, grs), открываемых в 1С, и любых других, открываемых в их приложениях. Подключение произвольного кода (разумеется, в веб-клиенте не работает).
4. Сохранение/восстановление настроек в файлы формата xml (в т.ч. и картинки), т.е. можно таскать между базами и даже конфигурациями (подключится и запустится то, что сможет).
Недостатки:
1. Доступность контекстного меню табличного документа (до сих пор не догадался, как в //infostart.ru/public/94149/ сделаны такие менюшки). Помимо моих пунктов есть автодобавленные, что плохо.
2. Возможность вертикальной прокрутки "до конца фона", где начинается обычный mxl. Не знаю пока, как это отключить.
3. Отсутствие контроля полного взаимоналожения иконок - это может сбить с толку визуально.
Планы:
1. Учёт функциональных опций при настройке иконок.
2. Возможность создания "профилей" из нескольких настроек, выбираемых пользователем и/или доступных в зависимости от его роли и прочих условий. Предоставление пользователям с малыми правами "жёстких" настроек без возможности менять иконки.
3. Испытание в веб-клиенте (пока в этом смысле всё умозрительно).
4. Разные "области" рабочего стола в виде рисунков на фоне, эдакие прото-контейнеры для тематически организованных иконок.
5. Из области фантастики: подключить вызов общих команд.
6. Из области ещё большей фантастики: сделать виджеты на основе, например, ActiveX, вставляемых в mxl.
Жду отзывов о степени разумности своих планов, а также жду предложений по дальнейшей доработке. Клиента устроило уже и это, посему далее начинается спортивный интерес.
Тестировалось на самописной конфе и на УТ11. Не факт, что все формы правильно вызываются. Если будут найдены ошибки - большая просьба оперативно пинать, я буду их исправлять по мере обнаружения.
Поскольку, как выяснилось, такая идея уже была в //infostart.ru/public/94149/ - публикую в качестве Life, ибо вышел баян.