Стартовая страница › Форумы › Понять, как работает ПО › Мнемосхемы › Mimic ExtraMarkup
- В этой теме 17 ответов, 4 участника, последнее обновление 2 месяца, 3 недели назад сделано
Mikhail.
-
АвторСообщения
-
12.02.2026 в 12:58 #41911
Boriss
УчастникВ примере ExtraCompTest.mim для компонента ExtraMarkup есть скрипт. Замечательно работает. Как сделать ссылку на представление, например с id 12? Не на страницу(это просто), а именно на представление, что-бы оно открылось в текущем фрейме.
И как сделать, что-бы график открывался в модульном окне?
Перелопачивать всё вот это вот, создаваемое годами, времени нет… А выпадающая менюшка нужна вчера…class extends ComponentScript { domCreated(args) { args.component.dom.find(".markup-item1").on("click", () => { args.renderContext.viewHub.features.chart.show(args.component.properties.inCnlNum); }); args.component.dom.find(".markup-item2").on("click", () => { args.renderContext.viewHub.features.command.show(args.component.properties.outCnlNum); }); } domUpdated(args) { } dataUpdated(args) { } }-
Тема изменена 2 дня, 4 часа назад пользователем
Mikhail.
12.02.2026 в 17:36 #41937
MikhailМодераторДобрый день!
Для получения ссылки на представление можно использовать
let url = args.renderContext.viewHub.getViewUrl(1 /*ID представления*/, false /*модальное ли окно*/);Затем что-то одно из:
window.top.location = url; window.open(url); args.renderContext.viewHub.modalManager.showModal(url);12.02.2026 в 17:39 #41938
MikhailМодераторЧтобы открыть график в модальном окне, нужно получить ссылку на график, а затем использовать args.renderContext.viewHub.modalManager.showModal(url);
Ссылка на график
args.renderContext.viewHub.features.chart.getUrl(cnlNums, startDate, args)13.02.2026 в 10:13 #41951Boriss
УчастникДобрый день! Спасибо за ответ. Помогло. Вот только в фейсплейте не работает. В фейсплейтах вообще не работают скрипты для компонентов. Почему? Не понятно… В моем случае меню в виде фейсплейта и присутствует на всех мнемосхемах …и не работает. Придется меню вставлять на каждую мнемосхему.
13.02.2026 в 10:22 #41952
manjey73Участнику меня работает скрипт в faceplate и как раз с ExtraMarkup
http://176.109.111.174:10008/View/17
логин ggg пароль 321 — svg запихнут в ExtraMarkup и управляется скриптом.13.02.2026 в 10:47 #41955Boriss
УчастникНе только скрипты не работают. Вообще ничего не работает. Ни один компонент. Последнее обновление я не ставил. Может в этом причина?
13.02.2026 в 11:05 #41956
manjey73Участникпоследние обновления были связаны с тем, что что-то пропадало в faceplate, если внутри него использовать панель.
И масштабирование пальцами.это для версии 6.4.4 Scada
ааааа. Есть нюанс, вы для ПК с разработкой так же должны зарегистрировать дополнительные компоненты Mimic, так как ExtraMarkup относится к расширенным компонентам, если не ошибаюсь.
-
Ответ изменён 2 месяца, 3 недели назад пользователем
manjey73.
13.02.2026 в 11:34 #41958Boriss
УчастникПатч для фейсплейта я установил. ПК для разработки нет, «дергаю» основную вебстанцию )))
У меня версия скады 6.4.3. Надо ставить последнюю версию… Или не сегодня… Пятница 13-е…13.02.2026 в 11:41 #41959
manjey73Участникя тут не помню, возможно будет работать и на 6.4.3 вроде в 6.4.4 были изменения, не связанные с Мимик
А как вы дергаете основную станцию, если редактор Мимик запускается локально? Или прямо там и запускаете Админку ?
13.02.2026 в 11:42 #41960
manjey73УчастникСкорее всего скрипт не работает, если в нем что-то неверно. Он тогда вроде просто игнорируется.
Если фатальная ошибка, то что-то можно понять по консоли браузера.13.02.2026 в 14:17 #41961Boriss
УчастникОбновился, проверил, откатился и еще раз обновился. В так в разных комбинациях. В итоге версия 6.4.4 + патч для фейсплейтов. Результат:
Создаю фейсплейт. Прописываю класс. Добавляю компонент текст. Прописываю входной канал. Сохраняю и закрываю фейсплейи.
Открываю мнемосхему. Добавляю зависимость. Класс и путь к фейсплейту. Он появляется в меню слева. Добавляю фейсплейт на мнемосхему. Сохраняю мнемосхему, закрываю. Перезапускаю вебстанцию. Открываю в браузере представление с мнемосхемой. Фейсплейт есть, но мертвый. Совсем.
Может так и должно быть? Другие компоненты в нем не работают? Это другое? Нужно создавать экспортируемые свойства?13.02.2026 в 14:21 #41962
manjey73Участникя создавал экспортируемые свойства, иначе как связать с каналом?
13.02.2026 в 14:22 #41963GreatAlex
УчастникНапрямую в компонентах фейсплейта нельзя входные-выходные каналы указывать.
Работа — только через экспортируемые свойства, это как бы канал информационный между фейсплейтом и основной схемой.-
Ответ изменён 2 месяца, 3 недели назад пользователем
GreatAlex.
13.02.2026 в 15:09 #41966Boriss
УчастникТак я и думал… Надо разбираться. Пример есть, это хорошо. Документации нет, плохо…
13.02.2026 в 15:15 #41967
manjey73Участникпо идее, можно напрямую изменить что-нибудь, вставленное в faceplate, но это будет глупостью.
фейсплейт это тоже компонент — compХ и внутри него будут compХ-Y компоненты.
Но там как-то тяжко это все вылавливать из DOM-а 🙂 -
Тема изменена 2 дня, 4 часа назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.