gifts2017

Размещение номенклатуры на схеме (HTML+JS)

Опубликовал Сергей Марфин (MCitrus) в раздел Программирование - Практика программирования

Размещение номенклатуры на рисунке в поле HTML с использованием JS.

Стояла задача на плане этажей графически показать размещение сетевого оборудования. "И срочно!" Так как средствами 1С "рисовать" проблематично, было принято решение использовать поле HTML документа и JS скрипты. Возможно боян. До универсальности далековато. Где-то будут нелепости. Но результат достигнут! За критику буду благодарен, ибо, одна голова хорошо, а..)))

  1. Загружаем в графическом формате в базу план или схему кабинета, этажа, территории, красивую девушку и .т.д.
  2. Запускаем обработку "Номенклатура на схеме" и выбираем нужную нам схему, нажимаем "Сформировать".
  3. Добавляем номенклатуру в список (при этом в левом верхнем углу в поле HTML она же появится в виде жёлтого квадратика).
  4. Растаскиваем мышкой "Квадратики" по схеме в соответствии с размещением в реальности.
  5. Сохраняем результат (координаты "Квадратиков" хранятся в Регистре сведений "HTML").

Небольшие удобства:

  • - При нажатии на "Квадратик" в списке номенклатуры активизируется элемент, соответствующий "Квадратику".
    - При нажатии на кнопку "Показать на схеме" в списке номенклатуры, нужный элемент на схеме на некоторое время окрашивается в красный цвет.
  • - При наведении на "Квадратик" отображается всплывающая подсказка с наименованием и кодом номенклатуры.

В обработке была использована информация с ресурса http://javascript.ru/ui/draganddrop, за что огромное спасибо автору!

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
HTML+JS.dt
.dt 56,51Kb
20.05.13
100
.dt 56,51Kb 100 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. qweasd qweasdzc (serega3333) 22.05.13 12:55
а на толстом клиенте с обычным интерфейсом покатит джава скрипт?
2. Сергей Марфин (MCitrus) 22.05.13 13:24
Скрипты должны и там работать. Единственно нужно будет переделать управляемую форму на обычную.
3. Virikus 22.05.13 14:31
А смена цвета возможна от реквизита в реальном времени?
например кабинет - переговорная, занят (истина-красный, ложь-зеленый) и когда занят меняется другим пользователем, чтобы на форме цвет менялся у текущего пользователя?
4. Сергей Марфин (MCitrus) 22.05.13 14:44
(3) Virikus, Как вариант ПодключитьОбработчикОжидания с необходимым интервалом. Подключаемая процедура будет заново формировать поле HTML. А в нём, в зависимости от реквизита, можно присваивать BACKGROUND-COLOR элементу нужный цвет.
5. Александр Анисков (vandalsvq) 22.05.13 17:35
А не искал пути как таки на само поле HTML перетаскивать? Понимаю события у 1С нет такого, и когда они сделают неизвестно. Но может каким другим способом. Хотя кажется наверное его нет.
6. Александр Анисков (vandalsvq) 22.05.13 17:36
7. Сергей Марфин (MCitrus) 23.05.13 11:58
(5) vandalsvq, была у меня и такая идея)) Но:
Операции перетаскивания поддерживают следующие элементы управления:
* табличное поле;
* поле табличного документа;
* поле календаря;
* поле картинки.

Поля HTML документа в этом списке нет.
Возможно кто-то и реализовал подобное, но я не встречал.
8. Яков Коган (Yashazz) 23.05.13 12:44
Да, да, да. ))) Когда я баловался с html-полем, думалось даже о чём-то вроде PageMaker'a или ишшо какого хтмл-мастера... Полезная штука, уже хотя бы в плане изучения примеров работы.
9. Vladimir K (KroVladS) 24.05.13 09:09
(0)
очень интересное решение надо будет по экспериментировать.
10. Сергей Сиренко (ssn1978) 24.05.13 10:27
Хорошо, очень хорошо!!! Понравилась реализация, автор молодец!
11. IR IR (Artemuch2) 25.05.13 18:57
Добрый день коллеги! А наоборот если когда с браузера данные в 1С попадут. то есть хотелось бы что бы схема была полностью интерактивной.
12. Сергей Марфин (MCitrus) 28.05.13 17:00
(11) Artemuch2, не совсем понятно, что Вы хотите сказать.
13. Павел С (pavel_pss) 18.06.13 10:13
Интересное решение. Спасибо.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа