|
Отловить на управляемой форме клик/активизацию в поле форматированного документа как? | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
12.03.19
✎
12:47
|
Собственно требуется сабж, делаю нечто вроде редактора/конструктора документов.
|
|||
1
Garykom
гуру
12.03.19
✎
12:49
|
Получать выделение и текущую позицию курсора уже умею.
Хак через таймер в ПодключитьОбработчикОжидания тоже могу но это некошерно. |
|||
2
_Дайвер_
12.03.19
✎
13:03
|
ПриАктивизацииСтроки()?
|
|||
3
Garykom
гуру
12.03.19
✎
13:07
|
(2) Это где там такое?
У меня "Поле форматированного документа" |
|||
4
Garykom
гуру
12.03.19
✎
13:12
|
||||
5
Garykom
гуру
12.03.19
✎
13:14
|
(4) Вот слева структура составных частей документа (часть, глава, раздел, абзац, фрагмент и т.д.) и мне надо при клике справа по позиции курсора понимать какую часть кликнули и активизировать ее слева, показывая инфу по ней.
|
|||
6
palsergeich
12.03.19
✎
13:53
|
Решение в лоб:
Для каждой строки дерева хранить текст форматированного документа и массив контекстов. Под контекстом можно принять первое предложение абзаца. По связи контекст - слово всегда можно найти строку дерева. |
|||
7
palsergeich
12.03.19
✎
13:54
|
И в принципе это будет работать быстро, я видел очень похожую реализацию.
|
|||
8
Garykom
гуру
12.03.19
✎
14:15
|
(6) У меня разные варианты просмотра будут результата.
Только текущий структурный элемент (включая подчиненные), весь документ и отдельно кнопочка с учетом условий видимости (для набора текущих параметров). И вот как хранить/находить это пофиг, проблема понять что в полном текстовом документе уже на другой элемент дерева перешли. |
|||
9
Cyberhawk
12.03.19
✎
14:36
|
ТекущийЭлемент
|
|||
10
Вафель
12.03.19
✎
14:40
|
делай общие для всех элементы контестного меню.
те что не подходят - просто не выполняй код |
|||
11
aleks_default
12.03.19
✎
14:45
|
ДобавитьОбработчик не подходит?
|
|||
12
Garykom
гуру
12.03.19
✎
15:02
|
(9) Чего текущий элемент?
Вот мы покрутили поле форматированного документа и установили курсор в другом месте. Какой обработчик события? Не нашел такого, да могу кнопку нажать и запустить процедуру, понять что теперь курсор в другом месте и поменять текущий элемент в дереве. |
|||
13
Garykom
гуру
12.03.19
✎
15:05
|
(11) Попробую но очень сомневаюсь
|
|||
14
Cyberhawk
12.03.19
✎
15:06
|
(12) Если ТекущийЭлемент = твое поле, то значит мы в нем
|
|||
15
Вафель
12.03.19
✎
15:06
|
делай на хтмл. тем более скоро будет вебкит
|
|||
16
Garykom
гуру
12.03.19
✎
15:12
|
(15) Да думал про Поле HTML
|
|||
17
Garykom
гуру
12.03.19
✎
15:14
|
(14) "ЭтаФорма.ТекущийЭлемент"? Какой обработчик срабатывает при смене его юзером ?
Хотя бы отловить клик при переходе от другого элемента формы |
|||
18
Cyberhawk
12.03.19
✎
15:17
|
(17) Так тебе же надо и чтоб внутри твоего поля при перемещении по тексту / выделению разных его фрагментов тоже срабатывало событие. А значит событийная модель не поможет - надо завязываться только на анализ что там в ТекущийЭлемент сейчас
|
|||
19
Garykom
гуру
12.03.19
✎
15:18
|
(18) Ну я уже навесил таймер через
ПодключитьОбработчикОжидания("ОбработчикОжидания", 1, Ложь); И оно вполне себе как надо но это же такой изврат! |
|||
20
Garykom
гуру
12.03.19
✎
15:20
|
Почему у "Поле форматированного документа" нет события "При выделении" или нечто вроде.
"При изменении" только есть, но оно срабатывает только при уходе фокуса с контрола. |
|||
21
Cyberhawk
12.03.19
✎
15:23
|
(20) Тебе, насколько понял, подошло бы событие "При изменении позиции курсора", которое ребятками из 1С не реализовано.
Поэтому придется через периодический анализ текущего элемента и получение позиции / выделенного текста. |
|||
22
Garykom
гуру
12.03.19
✎
15:27
|
(21) Угу.
Короче забиваю на "Поле форматированного документа" и делаю через "Поле HTML документа" там есть "ПриНажатии" |
|||
23
Sysanin_1ц
12.03.19
✎
21:03
|
(20) Спроси у 1с, они тебе расскажут про свою объектную модель и предметную область и почему они программистам 1с не дают возможность работать ни с HTML/CSS ни с таблицами БД напрямую и т.д. ))
|
|||
24
Garykom
гуру
12.03.19
✎
21:28
|
(23) С HTML там пока все замечательно, с таблицами ДБ напрямую тоже можно работать в случае sql базы даже легко.
|
|||
25
Garykom
гуру
12.03.19
✎
21:28
|
(24) *БД
|
|||
26
Sysanin_1ц
12.03.19
✎
21:44
|
(24) А что там с HTML замечательного. Ты пробовал к примеру bootstrap последний использовать в 1с ?
|
|||
27
Garykom
гуру
12.03.19
✎
21:50
|
(26) Неа ибо "Bootstrap использует современные наработки в области CSS и HTML, поэтому необходимо быть внимательным при поддержке старых браузеров"
А 1С только "Реализовано в версии 8.3.14.1565." для "Перевод клиентских приложений для Windows на использование WebKit (оптимизация отображения HTML)" https://wonderland.v8.1c.ru/blog/perevod-klientskikh-prilozheniy-dlya-windows-na-ispolzovanie-webkit-optimizatsiya-otobrazheniya-html/ |
|||
28
Garykom
гуру
12.03.19
✎
21:50
|
Кстати хорошая идея, сча проверю какой нить пример с ним
|
|||
29
Garykom
гуру
12.03.19
✎
21:54
|
(28)+ Вполне открывает однако https://getbootstrap.com/docs/4.3/examples/album/#
Там внутри <!-- Bootstrap core CSS --> <link href="/docs/4.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> https://i.paste.pics/bb2720627dacede257f986d66c9ffe90.png |
|||
30
Garykom
гуру
12.03.19
✎
21:55
|
(29) сорри не то скопировал из кода
<script src="/docs/4.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o" crossorigin="anonymous"></script> |
|||
31
Sysanin_1ц
12.03.19
✎
21:56
|
(27) Ты немного путаешь. Webkit это библиотека для разработчика платформы 1с (то есть самой 1с). А я речь веду о доступе к HTML/CSS при разработке интерфейса конфигураций. Этого доступа нет и не предвидится так как это противоречит идеологии 1с. А вместе с этой идеологией невозможна никакая вменяемая модернизация интерфейса 1с в принципе. Соответственно невозможны действия на движения мышкой, фокусировке, расфокусировке, красивыми интерактивными эффектами (то что есть в JS) и т.д.
|
|||
32
Garykom
гуру
12.03.19
✎
21:56
|
(26) Дай ссылку плиз на пример сайта с "bootstrap последний" который в 1С глючил
|
|||
33
Sysanin_1ц
12.03.19
✎
21:58
|
(32) Так в 1с bootstrap в принципе нет
|
|||
34
Garykom
гуру
12.03.19
✎
21:59
|
(31) Что запретили интерфейс внутри поля html рисовать?
Да иногда хочется УФ расширять самостоятельно, вот пример с которым столкнулся что нужно событие а нету. Но это слишком сложно реализовать для реализации, УФ меня пока вполне устраивает. |
|||
35
Garykom
гуру
12.03.19
✎
22:00
|
(33) И науй не нужен.
1С это как бы такой компромисс между корпоративным легаси (IE5) и модерном с бутстрапами а также вейпами со смузи в коворкинге )) |
|||
36
Sysanin_1ц
12.03.19
✎
22:00
|
(34) Что значит сложно реализовать? УФ вебклиент написан на JS. То есть 1с СОЗНАТЕЛЬНО ограничило функционал УФ
|
|||
37
Sysanin_1ц
12.03.19
✎
22:02
|
(35) Ну хорошо, как ты в 1с реализуешь канбан таблицы например? То что есть практически в каждом решении для производства. Это фактически стандарт. Или как ты сделаешь интерактивными Гант вью ?
|
|||
38
Garykom
гуру
12.03.19
✎
22:03
|
Плиз скажи сколько ты на html/css даже с бутстрапом будешь рисовать УФ формочку которую я сделал за пару часов?
Причем уже данные все внутри пишутся как надо и даже ПВХ заюзан по назначению. |
|||
39
Garykom
гуру
12.03.19
✎
22:04
|
(37) Табличный документ или поле html
|
|||
40
Sysanin_1ц
12.03.19
✎
22:07
|
(38) Спец по HTML/CSS напишет минут за 5. В том то и дело
|
|||
41
Garykom
гуру
12.03.19
✎
22:08
|
(40) Угу вместе с разработкой архитектуры приложения и написанием кода реализации да?
|
|||
42
Sysanin_1ц
12.03.19
✎
22:09
|
(38) Сколько как ты думаешь спец по HTML/CSS затратит времени например на то чтобы изменить шрифт в полях своей формы? Предположим у него 20 полей и в каждом поле он должен будет сделать шрифт единообразным. Ровно несколько секунд, просто присваивает новый тип и размер шрифту одному классу элементов
|
|||
43
Sysanin_1ц
12.03.19
✎
22:11
|
(41) Есть масса примеров когда ты и архитектуру на 1с замучаешься ваять. Например сделай таблицу регистров сведений с автоинкрементом поля. И так чтобы эта таблица работала быстро
|
|||
44
Garykom
гуру
12.03.19
✎
22:13
|
(42) Извини но ты говоришь какую то чушь и пытаешься сравнивать один узкоспециализированный инструмент с другим узкоспециализированным в другом.
|
|||
45
Garykom
гуру
12.03.19
✎
22:14
|
(43) Когда мне понадобится инструмент HTML/CSS я беру его.
Когда мне требуется JS я беру его. Но чаще всего мне хватает для задач учетных систем только 1С. |
|||
46
Sysanin_1ц
12.03.19
✎
22:15
|
(44) смешно когда простое действие из (0) на узкоспециализированном ПО 1С невозможно сделать ))
|
|||
47
Garykom
гуру
12.03.19
✎
22:16
|
(46) Как выяснилось что прекрасно можно, взяв вместо одного встроенного контрола слегка другой
|
|||
48
vde69
12.03.19
✎
23:13
|
HTML поле + ПодключитьОбработчик() которым переключаешь любое событие форматированого текста на нужную процедуру языка 1с
|
|||
49
Garykom
гуру
13.03.19
✎
00:03
|
Блин новая веселая проблема.
Вот я нашел выделенный тест в поле. А как понять какой именно выделен если есть повторяющиеся в внутри блока html? https://i.paste.pics/350394bd658f3e10dc705b5168af855d.png Что каждый символ в свой div заворачивать с уникальным номером? |
|||
50
Garykom
гуру
13.03.19
✎
00:19
|
Какое же извращение ))
https://i.paste.pics/933b6a1da1716de5026e9f49600d7303.png |
|||
51
Garykom
гуру
13.03.19
✎
00:23
|
хотя <span> лучше
|
|||
52
Garykom
гуру
13.03.19
✎
00:40
|
Оказывается просто надо прочитать инструкцию
https://i.paste.pics/5f10b9c07ed0fcac8455cfe9ead0717f.png |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |