Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.
Комментарии
bolsun #1, ред. 21 сентября 2023 16:54
Если окно макета развернуто, то могу добавить макеты в исключения по заголовку. Иначе не знаю как определить, что это обычный текстовый документ, а не модуль 1с.
0
tormozit #2, 21 сентября 2023 17:10
Для ответа на такой вопрос предлагаю следующую эвристику
И СтрДлина(ТекстМодуля) > 10000
И Найти(ТекстМодуля, "КонецПроцедуры") = 0
И Найти(ТекстМодуля, "конецпроцедуры ") = 0
И Найти(ТекстМодуля, "КонецФункции") = 0
И Найти(ТекстМодуля, "конецфункции") = 0
И Найти(ТекстМодуля, "EndProcedure") = 0
И Найти(ТекстМодуля, "endprocedure") = 0
И Найти(ТекстМодуля, "EndFunction") = 0
И Найти(ТекстМодуля, "endfunction") = 0
Аналогично продолжить для КонецЦикла, КонецЕсли
0
tormozit #3, 21 сентября 2023 17:12
И можно заодно в параметрах Т9 этот признак передать, чтобы мне второй раз это не проверять.
0
bolsun #4, 21 сентября 2023 17:13
(3) tormozit, а если это запрос большой? тогда нужно еще ВЫБРАТЬ добавить
0
bolsun #5, 21 сентября 2023 17:15
определить по ключевым словам что это модуль понятно можно, но гарантированно не получится. Опять же если текст меньше 10000 строк, что делать?
0
tormozit #6, ред. 21 сентября 2023 17:25
Да. В целом надежность такой эвристики будет недостаточно невысокой.
Тогда надо при первом обращении пытаться открыть список методов. Если открылся, то это модуль. Дальше запомнить результат по ключу идентификатора Automation.
Еще можно попытаться через главное меню смотреть тип текстового документа
0
bolsun #7, ред. 21 сентября 2023 17:32
Это все сильно увеличит вероятность всяких залипаний и может вызвать другие проблемы.
За все годы это первое обращение, что кто-то редактирует текст в макете )
Возможно просто добавить минимальную проверку на то что это код 1С (по ключевым словам) при условии что текст достаточно большой, и это сработает в абсолютном большинстве случаев, я уверен.
Если текст небольшой проверку не делать.
0
bolsun #8, 21 сентября 2023 17:31
или вообще не делать ничего с этим
0
tormozit #9, 21 сентября 2023 17:54
Еще можно насильно включать панель инструментов "Модуль" и проверять наличие контрольной кнопки
Еще можно открывать контекстное меню и в нем проверять наличие контрольного элемента, например "Рефакторинг".
0
bolsun #10, 21 сентября 2023 18:12
(9) tormozit, а если эта панель скрыта у пользователя?
0
bolsun #11, ред. 21 сентября 2023 18:13
(9) tormozit, интерактивных способов много. Можно нажать сохранить как и посмотреть имя файла в диалоге, можно развернуть окно, можно еще придумать.
Нужен не интерактивный, чтобы исключить лишние проблемы. Мы намного чаще печатаем в модуле или текстовом поле. Чем редактируем простой текстовый документ в конфигураторе.
0
bolsun #12, 21 сентября 2023 18:15
Лишнее обращение к кнопкам и меню, как раз приводило к блокировкам раньше при получении параметров ИБ. А сейчас мы будем при каждом новом окне туда лезть.
0
tormozit #13, ред. 21 сентября 2023 19:16
Отключил все обработчики скриптов. Торможение осталось. Т.е. оно как минимум большей частью в коде Турбоконфа. Решать проблему нужно. Вред от Турбоконфа тут существенный.
0
tormozit #14, 21 сентября 2023 19:20
Еще часто возникает сообщение "Не удалось выполнить окружение". Хотя я не нажимал сочетания CTRL+D, которое его должно вызывать. Видимо залипание CTRL часто происходит. Еще моргает окно редактора как будто окно сообщений периодически активируется.
Ссылка скрыта
0
bolsun #15, 21 сентября 2023 19:24
Подумаю, что можно сделать, и не испортить работу в других окнах.
Пока варианты - приостановить работу ТК, на время редактирования.
Редактировать во внешнем редакторе (который к тому же будет поддерживать синтаксис js)
0
tormozit #16, ред. 21 сентября 2023 19:29
Вот текстовый макет, в котором все особенно печально Ссылка скрыта
0
bolsun #17, 21 сентября 2023 19:35
Как минимум для начала можно сделать принудительный игнор окна командой.
0
tormozit #18, 21 сентября 2023 23:28
Проверил. Теперь после доработки Турбоконфа и скрипта задержки и залипания в неудобном текстовом макете исчезли.
#1, ред. 21 сентября 2023 16:54
Если окно макета развернуто, то могу добавить макеты в исключения по заголовку. Иначе не знаю как определить, что это обычный текстовый документ, а не модуль 1с.
#2, 21 сентября 2023 17:10
Для ответа на такой вопрос предлагаю следующую эвристику
Аналогично продолжить для КонецЦикла, КонецЕсли
#3, 21 сентября 2023 17:12
И можно заодно в параметрах Т9 этот признак передать, чтобы мне второй раз это не проверять.
#4, 21 сентября 2023 17:13
(3) tormozit, а если это запрос большой? тогда нужно еще ВЫБРАТЬ добавить
#5, 21 сентября 2023 17:15
определить по ключевым словам что это модуль понятно можно, но гарантированно не получится. Опять же если текст меньше 10000 строк, что делать?
#6, ред. 21 сентября 2023 17:25
Да. В целом надежность такой эвристики будет недостаточно невысокой.
Тогда надо при первом обращении пытаться открыть список методов. Если открылся, то это модуль. Дальше запомнить результат по ключу идентификатора Automation.

Еще можно попытаться через главное меню смотреть тип текстового документа
#7, ред. 21 сентября 2023 17:32
Это все сильно увеличит вероятность всяких залипаний и может вызвать другие проблемы.
За все годы это первое обращение, что кто-то редактирует текст в макете )
Возможно просто добавить минимальную проверку на то что это код 1С (по ключевым словам) при условии что текст достаточно большой, и это сработает в абсолютном большинстве случаев, я уверен.
Если текст небольшой проверку не делать.
#8, 21 сентября 2023 17:31
или вообще не делать ничего с этим
#9, 21 сентября 2023 17:54
Еще можно насильно включать панель инструментов "Модуль" и проверять наличие контрольной кнопки

Еще можно открывать контекстное меню и в нем проверять наличие контрольного элемента, например "Рефакторинг".
#10, 21 сентября 2023 18:12
(9) tormozit, а если эта панель скрыта у пользователя?
#11, ред. 21 сентября 2023 18:13
(9) tormozit, интерактивных способов много. Можно нажать сохранить как и посмотреть имя файла в диалоге, можно развернуть окно, можно еще придумать.
Нужен не интерактивный, чтобы исключить лишние проблемы. Мы намного чаще печатаем в модуле или текстовом поле. Чем редактируем простой текстовый документ в конфигураторе.
#12, 21 сентября 2023 18:15
Лишнее обращение к кнопкам и меню, как раз приводило к блокировкам раньше при получении параметров ИБ. А сейчас мы будем при каждом новом окне туда лезть.
#13, ред. 21 сентября 2023 19:16
Отключил все обработчики скриптов. Торможение осталось. Т.е. оно как минимум большей частью в коде Турбоконфа. Решать проблему нужно. Вред от Турбоконфа тут существенный.
#14, 21 сентября 2023 19:20
Еще часто возникает сообщение "Не удалось выполнить окружение". Хотя я не нажимал сочетания CTRL+D, которое его должно вызывать. Видимо залипание CTRL часто происходит. Еще моргает окно редактора как будто окно сообщений периодически активируется.
Ссылка скрыта
#15, 21 сентября 2023 19:24
Подумаю, что можно сделать, и не испортить работу в других окнах.
#16, ред. 21 сентября 2023 19:29
Вот текстовый макет, в котором все особенно печально Ссылка скрыта
#17, 21 сентября 2023 19:35
Как минимум для начала можно сделать принудительный игнор окна командой.
#18, 21 сентября 2023 23:28
Проверил. Теперь после доработки Турбоконфа и скрипта задержки и залипания в неудобном текстовом макете исчезли.
#19, 21 сентября 2023 23:29
tormozit изменил статус на Закрыто