Smart Configurator - расширяем конфигуратор без Снегопата и ТурбоКонфа

Программирование - Инструментарий

Набор скриптов с использованием Autohotkey позволяет упросить работу в конфигураторе. Часть функционала дублирует возможности снегопата/турбоконфа, часть уникальна. Возможности конфигуратора расширяются за счет автоматического вызова хоткеев плафтормы/операционной системы. Никаких внедрений в процессы, модификации файлов платформы/ОС не происходит.

Почти все скрипты написаны на OneScript (входит в поставку).

 

Если кто желает присоединиться к разработке / просмотреть историю изменений / скачать последнюю версию - добро пожаловать:

https://github.com/ret-Phoenix/SmartConfigurator

канал в giiter: https://gitter.im/v8CfgAddsAhk/Lobby

 

Важно: имеется возможность перенастроить горячие клавиши, для этого редактируется файл v8CfgAdds.ahk

Реализованные функции

Работа с метаданными:

  • Навигация по метаданным: {ctrl + shift +j}
  • Навигация по входящим в объект типам: {ctrl + j}
  • Поиск метаданных по имени: {Alt + j}

Работа с методами:

  • Вызов списка методов: {ctrl +1}
  • Переход в начало метода: {Ctrl+b}
  • Переход в конец метода: {Ctrl+e}
  • Препроцессор метода: {Ctrl+7}
  • Переход в процедуру: {ctrl+enter}
  • Возврат на предыдущую позицию: {Alt,-}
  • Показать имя метода: {Win + N}
  • Взять в буфер текущее слово: {Win + C}

 

Прочие операции с текстом:

  • Форматирование выделенного кода: {Ctrl+Alt+f}
  • Поиск с рег.выражениями: {Alt+f}
  • Поиск с рег.выражениями (результат последнего поиска): {Alt+r}
  • Выбор ранее набранных слов + Выбор заранее заготовленных слов\фраз (файл words.txt в корне директории скриптов): {ctrl+w}
  • Переход по областям: {Ctrl+2}
  • Закоментировать строку: {ctrl + / (ctrl + .)}
  • Развернуть модуль: {ctrl+i}
  • Авторские комментарии:
    • блок добавлен: {alt+a}
    • блок изменен: {alt+e}
    • блок удален: {alt+d}
  • Cимвол '|': {Ctrl-\}
  • Cимвол '&': {Alt-&}
  • Cимвол '[': {Alt-[}
  • Cимвол ']': {Alt-]}
  • Копирование текущей строки / выделенного блока и вставка в следующей строке: {Ctrl+d}
  • Выделение в верхний регистр
  • Выделение в нижний регистр
  • Выделение в нормальный регистр
  • Выравнять по равно
  • Выравнять по первой запятой
  • Выравнять по выбранному значению
  • Очистить модуль (убирает комментарии (исключения в скрипте), лишние пустые строки (оставляет только 1 пустую), убирает пробелы в конце строк)
  • Убрать пробелы на конце строк
  • Установка/Удаление '|'
  • Показать последний список выбора {shift + alt + r}
  • Обрамление выделенного текста конструкциями:
    • Если ... Тогда
    • Пока .. Цикл
    • Для По Цикл
    • Для каждого Из Цикл
    • Попытка .. Исключение
    • Область
  • Автозамена
    • Переменная ++
    • Переменная +=
    • Переменная --
    • Переменная -=
  • Перейти к началу слова в составной строке: Shift + Alt + Left 
  • Перейти к концу слова в составной строке: Shift + Alt + Right
  • Передвинуть строку вверх: {Alt + Up}
  • Передвинуть строку вниз: {Alt + Down}
  • Взять в буфер слово под курсором: {Win + C}

Прочие скрипты:

  • Открытие внешних отчетов/обработок, файлов конфигурации: {Ctrl + 3}
  • Менеджер скриптов (обработка выделенного блока, автоматическое добавление скриптов из папки auto): {Ctrl + shift + m}:
  • Генератор кода для объектов метаданных (требуется предварительная генерация файла структуры обработкой \ext\ПолучениеСтруктуры.epf)
  • Менеджер окон: {Win+W}
  • Фильтрация результата поиска: {Win+S}
  • Пример работы с меню {Win + X}:
    • Быстрый выбор:
      • КонецЕсли;
      • КонецЦикла;
      • КонецПроцедуры;
      • КонецФункции
    • Выравнивание выделения по знаку равно

 

Новое 2017/10/04

  • Снова перешел на обмен через буфер обмена. Выросла скорость в разы.
  • Генератор кода переписан на oscript
  • Убран оригинальный ContinueRow.ahk, сделана реализация на связке AHK + oscript. Работает моментально, анализирует предыдущие 3-4 строки.

Новое 2017/09/12

- Переход на OneScript GUI

- Множественные правки скриптов

 

Новое 2017/06/18

- Добавлено: `Форматирование выделенного кода: {Ctrl+Alt+f}`

- Удалено: `Удаление строки: {Ctrl+y}` т.к. перекрывает команду в 1С

 

Новое 2017/06/14

- Удалить пустые строки

- Взять в буфер слово под курсором: {Win + C}

- Форматирование модуля: {Ctrl + Alt + F}

- Проверка типа текущего окна

- Убрал удаление строки по {Ctrl + Y}

 

Новое 2017/05/04

- Перейти к началу слова в составной строке: Shift + Alt + Left 

- Перейти к концу слова в составной строке: Shift + Alt + Right

- Передвинуть строку вверх: {Alt + Up}

- Передвинуть строку вниз: {Alt + Down}

- Показать имя метода: {Win + N}

- Копировать выделенный блок/текущую строку по {Ctrl+d}

 

Новое 2016/06/15

- Полная реструктуризация скриптов (разложил по папочкам)

- Обрамление выделенного текста конструкциями - добавил Область

- Автозамена:

    - Переменная ++

    - Переменная +=

    - Переменная --

    - Переменная -=

- Переписаны с JS на 1script:

    - Добавить/Удалить перенос строк

    - Авторские комментарии

    - Навигация по модулю

        - Список методов

        - Спивок областей

        - Переход в начало метода

        - Переход в конец метода

        - Поиск с рег.выражениями

        - Внешние файлы (ускорена работа)

        - Менеджер скриптов (доступны обе версии, для 1script надо побороть появление консольного окна)

- Показать последний список выбора {shift + alt + r}

- Пример работы с меню {Win + X}:

    - Быстрый выбор:

        - КонецЕсли;

        - КонецЦикла;

        - КонецПроцедуры;

        - КонецФункции

    - Выравнивание выделения по знаку равно

 

Новое 2016/06/10

- Автоматический поиск скриптов в папке auto (найденные скрипты вызываются через менеджер скриптов)

- Обрамление выделенного текста конструкциями:

- Если ... Тогда

- Пока .. Цикл

- Для По Цикл

- Для каждого Из Цикл

- Попытка .. Исключение

 

Новое 2016/06/08

- Стабилизировал навигацию по метаданным.

- Выделение в верхний регистр

- Выделение в нижний регистр

- Выделение в нормальный регистр

- Выравнять по равно

- Выравнять по первой запятой

- Выравнять по выбранному значению

- Очистить модуль (убирает комментарии (исключения в скрипте), лишние пустые строки (оставляет только 1 пустую), убирает пробелы в конце строк)

- Убрать пробелы на конце строк

- Пример испльзования других скриптовых движков (Python, PHP, 1Script)

 

Новое 2016/06/07

- Навигация по метаданным: {ctrl + shift +j}

- Навигация по входящим в объект типам: {ctrl + j}

 

Новое 2016/06/06

- Убрана привязка к svcsvs.dll. Выбор из списка осуществляется через спец.приложение на C#: SelectValueSharp.exe.

 

Новое 2016/05/20

- Переход в начало метода: {Ctrl+b}

- Переход в конец метода: {Ctrl+e}

- Переход по областям: {Ctrl+2}

- Поиск метаданных по имени: {Alt+j}

- Cимвол '&': {Ctrl-&}

- Cимвол '[': {Alt-[}

- Cимвол ']': {Alt-]}

 

Новое 2016/06/06

- Убрана привязка к svcsvs.dll. Выбор из списка осуществляется через спец.приложение на C#: SelectValueSharp.exe.

 

Новое 2016/06/07

- Навигация по метаданным: {ctrl + shift +j}

- Навигация по входящим в объект типам: {ctrl + j}

 

Новое 2016/06/08

- Стабилизировал навигацию по метаданным.

- Выделение в верхний регистр

- Выделение в нижний регистр

- Выделение в нормальный регистр

- Выравнять по равно

- Выравнять по первой запятой

- Выравнять по выбранному значению

- Очистить модуль (убирает комментарии (исключения в скрипте), лишние пустые строки (оставляет только 1 пустую), убирает пробелы в конце строк)

- Убрать пробелы на конце строк

- Пример испльзования других скриптовых движков (Python, PHP, 1Script)

 

Новое 2016/06/10

- Автоматический поиск скриптов в папке auto (найденные скрипты вызываются через менеджер скриптов)

- Обрамление выделенного текста конструкциями:

- Если ... Тогда

- Пока .. Цикл

- Для По Цикл

- Для каждого Из Цикл

- Попытка .. Исключение

 

Новое 2016/06/15

- Полная реструктуризация скриптов (разложил по папочкам)

- Обрамление выделенного текста конструкциями - добавил Область

- Автозамена:

- Переменная ++

- Переменная +=

- Переменная --

- Переменная -=

- Переписаны с JS на 1script:

- Добавить/Удалить перенос строк

- Авторские комментарии

- Навигация по модулю

- Список методов

- Список областей

- Переход в начало метода

- Переход в конец метода

- Поиск с рег.выражениями

- Внешние файлы (ускорена работа)

- Менеджер скриптов (доступны обе версии, для 1script надо побороть появление консольного окна)

- Показать последний список выбора {shift + alt + r}

- Пример работы с меню {Win + X}:

- Быстрый выбор:

- КонецЕсли;

- КонецЦикла;

- КонецПроцедуры;

- КонецФункции

- Выравнивание выделения по знаку равно

 

 

Установка

Установить Autohotkey (http://www.autohotkey.com/)

Запуск

SmartConfigurator\SmartConfigurator.ahk (Основной набор скриптов, раскладка при запуске значения не имеет)

При желании можно сделать exe файл, инструмент включен в Autohotkey.

 

Как это работает

При помощи Autohotkey назначаются управляющие сочитания клавиш (хоткеи). На языке Autohotkey описываются действия посылаемые платформе: оправляются нажатия клавиш, получается текст из буфера, читаются и записываются файлы.

 

Разберем работу скриптов на основе вызова списка методов (процедур/функций):

1. Получаем текст модуля (шлем Ctrl+A и Ctrl+ins)

2. Записываем полученный в буфер обмена текст в служебный файл (tmp\module.1s)

3. Запускаем скрипт парсинга модуля

4. Полученный список методов записываем во временный файл

5. Запускаем приложение выбора из списка: SelectValueSharp

6. Получаем номер строки выбранной функции (указывается в списке выбора перед названием метода) и возвращаем в ahk

7. AHK вызывает хоткей перехода к строке (Ctrl + G) и вставляет номер строки, полученный при выборе метода, подтверждает переход к строке

 

Для обмена между скриптами текстом используются текстовые файлы. Скрипты читают файл источник, обрабатывают и перезаписывают файл, который потом считывается ahk в буфер обмена и вставляется стандартным способом (Ctrl + V).

Используя менеджер скриптов можно обрабатывать выделенный фрагмент кода. При использовании менеджера текст берется в буфер, обрабатывается выбранным скриптом и не снимая выделения вставляется результат. 

Скрипты находящиеся в папке auto добавляются в список выбора менеджера, при этом подразумевается что никаких входящих параметров скриптам передевать не надо. Если требуется организовать выбор или ввод данных для автоскрипта используется внешнее приложение, в поставку входит пример: auto\ОбрамлениеКода.os. Выбор обрамления происходит вызовом приложения SelectValueSharp.

К автоматически добавляемым относятся файлы с раширением: os, js

 

Примеры

Список процедур + переход к процедуре

Список процедур + переход к процедуре

 

Поиск с регулярными выражениями

Поиск с регулярными выражениями

 

Генератор кода

Генератор кода

 

Команды препроцессора + Авторские комментарии

Команды препроцессора + Авторские комментарии

 

Навигация по метаданным

 

Навигация по входящим в объект типам

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

Наименование Файл Версия Размер
Набор скриптов
.zip 4,30Mb
12.09.17
99
.zip 1 4,30Mb 99 Скачать

См. также

Комментарии
1. Гость 30.03.15 13:05 Сейчас в теме
кроме снегопада есть http://infostart.ru/public/137124/
Faster поддерживает любую версию 1С (сколько бы их не выходило:) )

2. Сергей (ret-Phoenix) 287 30.03.15 13:22 Сейчас в теме
(1) Функционал практически не пересекается с Faster. Скрипты заточены под работу именно с 1С, например процедуры/функции модуля, генераторы кода. этого нет в Faster, Поиск работает тоже иначе. Оба продукта дополняют друг друга, нежели заменяют.
3. Гость 30.03.15 13:34 Сейчас в теме
(2) Возможно и дополняют (в Faster горячие клавиши можно настроить аналогично статье).
Но не об этом я хочу сказать...
Мне одно не понятно: неужели так тяжело компании 1С внедрить многие подобные вещи в саму платформу?
Например, в выборе процедур хоть немного расширить функционал (фильтр по типу сделать и т.п.)
За столько платформ сделали только быстрый поиск по конфе (уже прогресс :) ).
7OH; aikosyapr; KilloN; TreeDogNight; корум; alest; artbear; marsohod; DrAku1a; so-quest; dj_serega; +11 Ответить
4. tixis1c tixis1c (qwed557) 26 30.03.15 15:21 Сейчас в теме
Что то не регистрируются библиотеки, Win7 prof 32 bit, что не так?
5. Сергей (ret-Phoenix) 287 30.03.15 15:28 Сейчас в теме
Регистрацию необходимо делать с правами администратора (обычная ситуация для Win 7 и выше): Пуск - Выполнить - regsvr32 <путь к dll>
6. tixis1c tixis1c (qwed557) 26 30.03.15 15:30 Сейчас в теме
Ну да оказывается надо было запустить из под админа
7. Сергей (ret-Phoenix) 287 30.03.15 15:41 Сейчас в теме
(6) Внешне ничего не изменится в конфигураторе. При вызове хоткеев будут появляться различные окна, отвечающие за тот или иной функционал, хоткеи описаны в статье, при желании их можно переопределить, подправив файл v8CfgAdds.ahk. Могу записать видео, но не знаю как здешние админы к этому отнесутся. Ссылку на github запретили размещать, пришлось слепок выкладывать.
8. tixis1c tixis1c (qwed557) 26 30.03.15 16:00 Сейчас в теме
(7) с этим разобрался, не могу понять как структуру файла создать, запустил обработку, ПолучениеСтруктуры.epf, сохранил в файл в папку conf, при нажатии альт+g выходи ошибка файл не найден
9. Сергей (ret-Phoenix) 287 30.03.15 16:10 Сейчас в теме
(7) Какая ошибка? Может регистрация dll не прошла?

В режиме 1C Предприятие - v8CfgAddsAhk\ext\ПолучениеСтруктуры.epf
В поле файл указать место расположения генерируемого файла: v8CfgAddsAhk\configs\myCfg.txt

Alt + G - вызов меню генератора.
Конфигурация по умолчанию - указываем какой файл будет использоваться для генератора
Объект метаданных - выбор объекта метаданных для которого требуется сделать генерацию.

Почему может вылетать ошибка при нажатии Alt +G не знаю, ни на одной из моих машин проблем не было.
10. zhuravlik (unichkin) 31.03.15 00:48 Сейчас в теме
Установил autohotkei, зарегистрировал библиотеки - все прошло хорошо. "continueRow.ahk" - запустился нормально, а при запуске "v8CfgAdds.ahk" - вышло несколько окон с сообщением типа "the hotkey ... will not be active..." (скрин1), насколько понял что-то нужно вам в скриптах подкрутить. Потом увидел что в трее висит нечто зеленое, попробовал ctrl+1, получил скрин2. Стоит win7 64.
(7) Нормально относятся к видео, вот например StartManager - уже давно видео висит.
Замечательная идея, особенно конструктор) Есть некоторая тоска по опенконфу, хоть уже и привык к штатному редактору. Спасибо вам)
Прикрепленные файлы:
11. Сергей (ret-Phoenix) 287 31.03.15 02:22 Сейчас в теме
(10) По запуску скриптов, есть особенность Ahk - раскладка клавиатуры должна быть Eng. Скан коды не использовал, не столь удобно, посмотрю, может что иначе сделаю.
Ошибка вывалилась скорее всего потому что не прошла регистрация dll.
15. zhuravlik (unichkin) 31.03.15 09:36 Сейчас в теме
(11) судя по виндовым сообщениям регистрация прошла успешно. Чему еще верить, как не им?..
14. Иван Иванов (Famza) 80 31.03.15 08:54 Сейчас в теме
Согласен с (10), таки опенконф весьма полезен был. А к автору вопрос - можнли хоть часть скриптов из опенконфа прикрутить для Autohotkey - никто не пробовал? Хотя и шаблоны в 8ке не чета 7.7
16. Сергей (ret-Phoenix) 287 31.03.15 10:29 Сейчас в теме
(14) Можно, например авторские комментарии, поиск с рег.выражениями, генератор кода от туда, немного адаптировал и все.
(15) по коду там: var choicer = new ActiveXObject("SvcSvc.Service"); Попробуй где-нить отдельно создать этот объект и вызвать его метод
Насчет видео - постараюсь сегодня сделать. Только определюсь какой программой записывать видео чтобы события клавиатуры фиксировались

12. eugenie zheludkov (eugeniezheludkov) 33 31.03.15 02:36 Сейчас в теме
первое впечатление:
Порог вхождения. т.е инструкция по установке не полная "зарегистрировать в системе" укажите, что это regsvr32 или как еще ну или bat файл рядом приложите. желательно описать источник откуда взяты эти dll, а то 1 апреля близко и доверять каким то там dll :)
13. Сергей (ret-Phoenix) 287 31.03.15 02:46 Сейчас в теме
(12) Ресурс и материал в первую очередь для ИТ, как мне кажется ИТ специалист должен знать как регистрируется DLL (regsvr32). если кто знаком с Опенконф - думаю узнает эти dll )
Похоже действительно придется описывать все более подробно (
17. Дима Головаченко (Smaylukk) 548 31.03.15 14:39 Сейчас в теме
По своему опыту скажу - AHK хорошая штука, но сам инструмент надо сделать компактным. Тоже в свое время сделал для себя утилиту на нем. Только вот AHK позволяет сделать EXE-шник, который проще с собой таскать, ведь не всегда работаешь на одном месте - иногда приходится работать в другом месте и таскать за собой такой набор - еще то удовольствие.
Поэтому имеет смысл сделать Portable или Lite версию в виде EXE. А на основной машине уже запустить полный комплект.
Но за работу однозначно плюс.
18. Сергей (ret-Phoenix) 287 31.03.15 14:44 Сейчас в теме
(17) Собрать в exe проблем не составляет, это родной механизм, выложил именно как ahk чтобы можно было перенастроить под себя хоткеи да и допилить функционал, может кто что придумает и захочет сделать )

За хорошие слова - спасибо)
NN2P; alexinzaz; pumbaE; +3 Ответить
19. Алексей (ADirks) 179 01.04.15 12:33 Сейчас в теме
я бы ещё добавил

;символ '[' по Ctrl-[
$^SC01A::Send [
;символ ']' по Ctrl-]
$^SC01B::Send ]
;символ '&' по Ctrl-&
$^SC008::Send &
21. Валерий *** (VV) 01.04.15 17:39 Сейчас в теме
(19) ADirks,
;символ '&' по Ctrl-&
$^SC008::Send &

Штатно Альт+38 - тоже удобно.
20. Валерий *** (VV) 01.04.15 14:21 Сейчас в теме
Привет авторам! Давненько переписывались, еще со времен Телепата с Интелом.
Я тут пересаживаюсь на 8-ку, обнаружил, что дело живо и продолжается. Т.к. Снегопат на 8.3 только поднимается, наткнулся на эту тему.
ДЛЛ зарегил из под учетки админа (винда 8.1. Х64), скрипты запустил, в трее висят.
Но при Цтрл+1 -

Что не так сделал?
22. Сергей (ret-Phoenix) 287 01.04.15 19:04 Сейчас в теме
Удалил у себя регистрацию dll после этого тоже перестало работать. Повозившись получилось, но не ясно почему так

регистрируем обычным образом: %windir%\sysWOW64\ <путь к>\v8CfgAddsAhk\system\svcsvc.dll

заходим в: Панель управления\Все элементы панели управления\Программы по умолчанию\Настройка сопоставлений
для .js выбираю программу: c:\WINDOWS\SysWOW64\cscript.exe

После этого работает.
23. Алекс Ю (AlexO) 120 02.04.15 10:58 Сейчас в теме
Жизнь без Снегопата
Звучит как "Все, конец всему, и медным тазом" ))
25. Сергей (ret-Phoenix) 287 06.04.15 12:50 Сейчас в теме
с учетом комментариев и переписке в личке доработал материал и скрипты
26. cmd_vasec (cmd_vasec) 34 11.09.15 15:43 Сейчас в теме
Авторские комментарии не работают выдает ошибка "путь не найден". Alt + G не работает. Что делаю не так?
27. kokon 06.01.16 20:09 Сейчас в теме
Никак не могу нигде информацию найти как пишут подобные вещи: Снегопат, Телепат или вот эту разработку. Как получают доступ к окну конфигуратора? Ломают config.dll и правят ее в hex-редакторе?
28. Сергей (ret-Phoenix) 287 13.01.16 21:59 Сейчас в теме
никаких изменений в бинарных файлах 1С не делается. мой набор скриптов работает в буфером обмена и отработкой горячих клавиш. например активному окну шлется сочетание клавиш: Ctrl+A (выделить все), Ctrl + ins (копировать выделеное) и так далее. Снегопат внедряется в адресное пространство конфигуратора. т.е. действует более тонко и мощно.
29. Алексей Ларин (roofless) 20 18.05.16 09:00 Сейчас в теме
интересует, могу ли я в своем скрипте написать обращение к веб-сервису и получение от него каких-то данных для показа их (или вставки) в окне конфигуратора?
возможно, вопрос покажется глупым, но раньше со снегопатом дело не имел, поэтому прошу прощения за некомпетентность
30. Сергей (ret-Phoenix) 287 18.05.16 12:26 Сейчас в теме
(29) roofless, Мой набор скриптов не имеет отношения к снегопату. По вашему вопросу: думаю что можно, на JS пишите обращение к WS, далее обрабатываете результат как Вам нужно, на том же JS. Вызвать JS скрипт можно используя мой набор скриптов, можно и в Снегопате. разница лишь в способе вызова из конфигуратора.
roofless; +1 Ответить
31. Алексей Ларин (roofless) 20 18.05.16 13:22 Сейчас в теме
(30) понял, большое спасибо за ответ
32. Алексей Ларин (roofless) 20 02.06.16 12:33 Сейчас в теме
(30) идея начинает обретать видимые черты, но возник вопрос:
RunWait, %A_WinDir%\SysWOW64\wscript.exe scripts.js %module% proclist

это и есть вызов javascript?
а
if (ErrorLevel > 0) {
		nStr := ErrorLevel
		SendInput ^%KeyG%%nStr%{ENTER}
	}

это обработка результата?
33. Сергей (ret-Phoenix) 287 02.06.16 18:18 Сейчас в теме
(32) Да, именно так. Но этот вариант отрабатывает возвращаемое число. для более сложных вариантов (работа с текстом) результат получается через временный файл, копируется в буфер и вставляется (метод pasteTextFromFile())
Сейчас на стадии проверки возможность работы без регистрации dll, выбор из списка будет осуществляться запуском спец.приложения на C#.
34. Александр Полтава (Патриот) 198 01.09.16 11:11 Сейчас в теме
(0)+
Может вы подскажите по ahk, проблема тривиальная, но я уже несколько часов не могу решить =(
Хочу эмулировать нажатие на клавишу Alt, чтобы активировать главное меню активного окна (это стандартное действие). Получил код нажатой интерактивно клавиши "sc38" с помощью встроенного скрипта GetKeyboardCode.ahk
В своём скрипте пишу такой код:
Send {sc38}
и он, сволочь, не работает =(((
вместо sc38, я пытался обращаться по встроенному имени: ! {Alt} {LAlt} {RAlt} {sc38}. Ни одно из этих обращений не помогло.
Зато помогло следующее: перед нажатием альта нажимать на какой-нибудь видимый символ. Например работает так:
Send 1 {sc38}
или так
Send 2 {sc38}
Естественно, от такого побочного действия надо избавиться.
Я пробовал менять Send на SendInput - не помогает.
после такого руки невольно опускаются и силы вместе с верой в разумное вечное доброе покидают
вдруг вы сможете помочь...
35. Сергей (ret-Phoenix) 287 01.09.16 14:23 Сейчас в теме
А что пытаетесь сделать?
пример кода нажимающего Alt, потом А, переходы вниз, выбор меню, вставка в открытый диалог имени файла и подтверждение выбора

actionShowExtFilesList() {
	Global

	; RunWait, wscript scripts\ExtFiles.js
	RunWait, system\OneScript\bin\oscript.exe scripts\ExtFiles.os,,Hide

	NewText := getTextFromFile()
	If (NewText <> "") {
		ClipWait
		Sleep 1
		set_locale_ru()
; след.строка нажимает Alt +A (переход в меню, раскрытие меню файл)
		SendInput, !%KeyA% 
		SendInput, {DOWN}{DOWN}{Enter}
		Sleep 500
		SendInput, ^%KeyV%{Enter}
	}
}
Показать
36. Александр Полтава (Патриот) 198 01.09.16 20:10 Сейчас в теме
(35) как раз выбрать файл я и хочу. но в режиме предприятия на УФ. там есть кнопка "главное меню". Пытаюсь её нажать. Вы дали пример, когда нажимается комбинация клавиш - так у меня тоже проблем не возникает. А я пытаюсь нажать просто Альт. и проверил, что дело не в предприятии, мой код отрабатывает по вышеописанному одинаково для любого окна, где есть главное меню.
37. Сергей (ret-Phoenix) 287 01.09.16 20:59 Сейчас в теме
(36) Патриот,

Win + X- нажимает альт, значок подкрашивается голубым фоном.
#sc02D:: 
	SendInput, {sc38}
return


а это нажмет альт и развернет меню
SendInput, {sc38}{enter}
38. Игорь Steelvan (Steelvan) 31 16.04.17 21:59 Сейчас в теме
У вас ошибка на картинке "Генерация заполнения строки табличной части документа - выбор".

Там должен быть британский флаг, а не америкаканский.

Если это звездно-полосатое недоразумение подразумевает английскую раскладку.
39. Yan Tsys (YanTsys) 11 22.09.17 18:56 Сейчас в теме
А насколько безопасно использование
OneScript
???

Как я понимаю в этом случае нужно в систему добавлять чужой бинарный код проверить который рядовому 1с-нику было бы крайне нелегко...

Если уже в обработках и отчетах вирусная зараза появилась, то бинарники они же еще опаснее?
40. Сергей (ret-Phoenix) 287 23.09.17 09:42 Сейчас в теме
(39) в таком случае, а насколько опасно использовать 1С? там ведь бинарники! или тот же Python/php? там ведь тоже бинарники!
41. Yan Tsys (YanTsys) 11 25.09.17 08:40 Сейчас в теме
(40) Сергей это просто троллинг и ёрничанье или вам ваша квалификация реально не позволяет понять разницу между софтом который мы купили у фирмы репутация которой стоит больших денег и бинарниками из источников чья репутация нам не известна?

Бинарник, это как лекарство, химический состав которого вам проверить не хватает квалификации, вы же наверное не рискнете выпить из пузырька который вам предложит бомж из подъезда, и не начнете с полной серьезностью приравнивать это пойло к лекарству из аптеки?

Меня интересует какая репутация у тех кто предлагает этот OneScript, кто это такие? Насколько велико сообщество его продвигающее, сколько людей пользуется...
42. Сергей (ret-Phoenix) 287 25.09.17 13:25 Сейчас в теме
только сейчас увидел что смайлы не поставил в конце.

Репутация? думаю достаточно посмотреть контрибуторов на гитхабе: https://github.com/EvilBeaver/OneScript/graphs/contributors
https://github.com/oscript-library

Думаю будет приятное удивление от списка лиц продвигающих oscript ;)
43. Artem Shamsutdinov (smartem) 26.09.17 12:11 Сейчас в теме
Интересное решение, взял на заметку.
Но первое впечатление: пока TurboConf - лучший (не реклама).

Почему так:
1) не всегда стабильно отрабатывает функция Форматирование кода
2) Быстрая простановка ';' отсутствует (понятно, можно запилить через скрипты).
3) Очень сильно тормозится написание кода при работе с continueRow.ahk (Операции по переносу комментариев, строк). Возможно, получится ускорить если попробовать написать на oscript.

Пока получается, что данное решение, и, уж тем более, Снегопат - сыроваты. Но этому проекту желаю успехов в развитии.
44. Сергей (ret-Phoenix) 287 26.09.17 12:53 Сейчас в теме
1. Форматирование кода - в чем заключается "не всегда стабильно"?
2. ; - не ставится, зачем? в каком случае? не понимаю необходимости.
3. continueRow.ahk - фактически мертвый скрипт, т.к. я не нашел ему применения, поэтому и оптимизацию не проводил, даже не смотрел - а возможно ли.
45. Artem Shamsutdinov (smartem) 26.09.17 13:41 Сейчас в теме
(44)
1. Форматирование кода - в чем заключается "не всегда стабильно"?


Чтобы выполнить форматирование кода, или участка кода, его необходимо выделить (правильно понимаю?) Здесь уже -когда выделяешь весь код (Ctrl + A), курсор иногда перескакивает в первую строку. То есть, если ты был где-то в середине кода, то после форматирования приходится искать это место и устанавливать курсор там.
Иногда, при выполнении команды Ctrl + Shift + F фрагмент удаляется - так как выделен. Приходится делать отмену действий и повторять процедуру.

2. ; - не ставится, зачем? в каком случае? не понимаю необходимости.


Ну, например, в том же Турбоконф эта комбинация завязана на правый Alt + Ж. Удобно - не зависит от текущей раскладки. Не надо пальцы тянуть до "4-ки".


3. continueRow.ahk - фактически мертвый скрипт, т.к. я не нашел ему применения, поэтому и оптимизацию не проводил, даже не смотрел - а возможно ли.


Это удобно, когда необходимо написать многострочный комментарий, или для оформления строки и текста запроса.
46. Сергей (ret-Phoenix) 287 26.09.17 13:55 Сейчас в теме
1. форматирование обрабатывает выделенный текст: копирует в буфер, обработка скриптом, вставка из буфера. в этом случае может поехать позиция курсора, удаление фрагмента? не сталкивался. по этому функционалу лучше ответит Антон Степанов @Stepa86
2. Так сделайте хоткей, это работы меньше чем на минуту.
3. насчет большого комментария - вполне может быть. а перевод строки - на панели задач есть, либо хоткеем поставить. я так делаю.
47. Сергей (ret-Phoenix) 287 26.09.17 13:59 Сейчас в теме
Основной плюс набора - если что не нравится или чего-то не хватает - можете доделать сами. при этом в 99% случаев придется использовать знакомый язык (oscript).
artbear; smartem; +2 Ответить
48. Artem Shamsutdinov (smartem) 27.09.17 06:33 Сейчас в теме
49. Artem Shamsutdinov (smartem) 27.09.17 08:27 Сейчас в теме
Вот ещё: использование функции "Авторские комментарии".
При каждой новой "вставке" блока авторских комментариев, количество этих самых блоков комментариев увеличивается.
Я так понимаю, что при выполнении скрипта временный файл module.txt должен очищаться?
См скрин
Прикрепленные файлы:
50. Сергей (ret-Phoenix) 287 27.09.17 09:46 Сейчас в теме
Скрипт обрамляет в теги выделенный текст. Анализ текста внутри тегов не производится.
51. Artem Shamsutdinov (smartem) 27.09.17 10:18 Сейчас в теме
(50)Сергей, просьба делать ответы к сообщениям, а то не совсем понятно к чему:

Скрипт обрамляет в теги выделенный текст. Анализ текста внутри тегов не производится


если к моему вопросу про "авторские комментарии", то в данном случае выделенный блок просто заменяется блоком комментариев.

ниже видео того, как на примере работает добавление авторского комментария alt+a
Прикрепленные файлы:
Видео_2017-09-27_121344.wmv
52. Сергей (ret-Phoenix) 287 27.09.17 12:31 Сейчас в теме
53. Artem Shamsutdinov (smartem) 27.09.17 14:03 Сейчас в теме
54. Сергей (ret-Phoenix) 287 28.09.17 09:32 Сейчас в теме
(53) Очень странно. Попробуйте взять из репо ветку v8-3-11. Там многое пересмотрено и оптимизировано.
55. Кирилл Т (Chehan) 03.10.17 17:16 Сейчас в теме
Товарищи знатоки, как побороть?
Прикрепленные файлы:
56. Сергей (ret-Phoenix) 287 04.10.17 01:07 Сейчас в теме
(55) Сейчас советую смотреть ветку 8-3-11. На днях будет релиз на ее основе.
Скрипт continuerow.ahk не поддерживается. скорее всего удалю его в ближайшие релизы, либо пересмотрю его работу.
57. Сергей (ret-Phoenix) 287 09.10.17 16:24 Сейчас в теме
Обновил набор скриптов
Новое 2017/10/09
- Снова перешел на обмен через буфер обмена. Выросла скорость в разы.
- Генератор кода переписан на oscript
- Инкременты ++/+=/--/-= переписаны на oscript
- Убран оригинальный ContinueRow.ahk, сделана реализация на связке AHK + oscript. Работает моментально, анализирует предыдущие 3-4 строки.
- различные мелкие правки.
58. Руслан Ибрагимов (break) 29 17.11.17 14:48 Сейчас в теме
У меня падает на 7ке (х64)
Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: woscript.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 598c285d
Сигнатура проблемы 04: mscorlib
Сигнатура проблемы 05: 4.0.30319.34209
Сигнатура проблемы 06: 534894cc
Сигнатура проблемы 07: 4527
Сигнатура проблемы 08: 105
Сигнатура проблемы 09: System.IO.DirectoryNotFound
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
roofless; ui69; +2 Ответить
59. Алексей Ларин (roofless) 20 23.11.17 12:29 Сейчас в теме
у меня тоже woscript валится.
"прекращена работа программы woscript".
win7 x64
60. AK UI (ui69) 41 25.11.17 07:51 Сейчас в теме
(58)
роблемы 01: woscript.exe
Сигнатура пр
Такая же ошибка, так и не получилось затестить SmartConfigurator
roofless; +1 Ответить
61. Сергей (ret-Phoenix) 287 27.11.17 08:40 Сейчас в теме
Попробуйте последнюю версию c github, ветка DEV
62. Руслан Ибрагимов (break) 29 28.11.17 08:02 Сейчас в теме
Не помогло, та же ошибка (.
При ручном старте SmartConfigurator.ahk через командную строку тоже ругается
Прикрепленные файлы:
63. Сергей (ret-Phoenix) 287 28.11.17 11:18 Сейчас в теме
(62) точно такой файл есть? Ошибка очень странная, на большом количестве компов работает без проблем.
64. Сергей (ret-Phoenix) 287 11.12.17 08:56 Сейчас в теме
(62) Разобрался. такое бывает в первый запуск скриптов на новой машине если указывать приложение для открытия файлов ahk, потом все нормализуется.
65. Руслан Ибрагимов (break) 29 11.12.17 16:11 Сейчас в теме
(64) Не понял из сообщения, как тогда запускать ч/з командную строку? можно пример
66. Сергей (ret-Phoenix) 287 12.12.17 13:21 Сейчас в теме
(65) так же как и любое приложение с параметрами (основы работы с любой операционной системой):
AutoHotkey.exe SmartConfigurator.ahk

либо запуск SmartConfigurator.ahk, ОС скажет не знаю чем открыть - выбираете AutoHotkey

Возможно появление окна что не найден "#include core\KeyCodes.ahk", но это возможно только в первый запуск.
Оставьте свое сообщение