Имя: Пароль:
1C
1С v8
Отловить на управляемой форме клик/активизацию в поле форматированного документа как?
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
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший