Размещение номенклатуры на рисунке в поле HTML с использованием JS.
Стояла задача на плане этажей графически показать размещение сетевого оборудования. «И срочно!» Так как средствами 1С «рисовать» проблематично, было принято решение использовать поле HTML документа и JS скрипты. Возможно боян. До универсальности далековато. Где-то будут нелепости. Но результат достигнут! За критику буду благодарен, ибо, одна голова хорошо, а..)))
- Загружаем в графическом формате в базу план или схему кабинета, этажа, территории, красивую девушку и .т.д.
- Запускаем обработку «Номенклатура на схеме» и выбираем нужную нам схему, нажимаем «Сформировать».
- Добавляем номенклатуру в список (при этом в левом верхнем углу в поле HTML она же появится в виде жёлтого квадратика).
- Растаскиваем мышкой «Квадратики» по схеме в соответствии с размещением в реальности.
- Сохраняем результат (координаты «Квадратиков» хранятся в Регистре сведений «HTML»).
Небольшие удобства:
- — При нажатии на «Квадратик» в списке номенклатуры активизируется элемент, соответствующий «Квадратику».
— При нажатии на кнопку «Показать на схеме» в списке номенклатуры, нужный элемент на схеме на некоторое время окрашивается в красный цвет. - — При наведении на «Квадратик» отображается всплывающая подсказка с наименованием и кодом номенклатуры.
В обработке была использована информация с ресурса http://javascript.ru/ui/draganddrop, за что огромное спасибо автору!






а на толстом клиенте с обычным интерфейсом покатит джава скрипт?
Скрипты должны и там работать. Единственно нужно будет переделать управляемую форму на обычную.
А смена цвета возможна от реквизита в реальном времени?
например кабинет — переговорная, занят (истина-красный, ложь-зеленый) и когда занят меняется другим пользователем, чтобы на форме цвет менялся у текущего пользователя?
(3) Virikus, Как вариант ПодключитьОбработчикОжидания с необходимым интервалом. Подключаемая процедура будет заново формировать поле HTML. А в нём, в зависимости от реквизита, можно присваивать BACKGROUND-COLOR элементу нужный цвет.
А не искал пути как таки на само поле HTML перетаскивать? Понимаю события у 1С нет такого, и когда они сделают неизвестно. Но может каким другим способом. Хотя кажется наверное его нет.
— повтор… удалил
(5) vandalsvq, была у меня и такая идея)) Но:
Операции перетаскивания поддерживают следующие элементы управления:
* табличное поле;
* поле табличного документа;
* поле календаря;
* поле картинки.
Поля HTML документа в этом списке нет.
Возможно кто-то и реализовал подобное, но я не встречал.
Да, да, да. ))) Когда я баловался с html-полем, думалось даже о чём-то вроде PageMaker’a или ишшо какого хтмл-мастера… Полезная штука, уже хотя бы в плане изучения примеров работы.
(0)
очень интересное решение надо будет по экспериментировать.
Хорошо, очень хорошо!!! Понравилась реализация, автор молодец!
Добрый день коллеги! А наоборот если когда с браузера данные в 1С попадут. то есть хотелось бы что бы схема была полностью интерактивной.
(11) Artemuch2, не совсем понятно, что Вы хотите сказать.
Интересное решение. Спасибо.
Хорошая вещица. Вот бы еще реализовать в ней прорисовку многоугольников по заданным координатам вершин.
(14) В продолжении еще:
-(14)- добавить возможность рисовать объекты на карте, а не только кружечек в квадрате ()
— добавить вывод остатков этих номенклатур по складу
и получится
ждем, ждем 😉