![]() |
![]() |
![]() |
|
Вытаскиваем содержимое синтакс-помощника 8.0 (типа будни) | ☑ | ||
---|---|---|---|---|
0
Syntax
19.09.04
✎
14:25
|
Используя WSH теоретически можно вытащить синтакс-помощник в текстовый файл, непонятно только зачем это надо... Ну наше дело - технологическое!
----------------------------- Создаем обработку, в которой пишем: Shell = Новый COMОбъект("WScript.Shell"); Shell.AppActivate("Конфигуратор - НазваниеКонфигурации"); Shell.SendKeys("^{N}"); //новый документ Shell.SendKeys("^{HOME}"); //в начало списка - Текстовый Документ Shell.SendKeys("{ENTER}"); //выбрать Shell.SendKeys("^+{F1}"); //открыть синтакс-помощник Shell.SendKeys("{HOME}"); //перейти на начало Для н=1 По 100 Цикл ОбработкаПрерыванияПользователя(); Shell.SendKeys("{DOWN}"); //следующая ветка Shell.SendKeys("^(C)"); //скопировать строку в буфер Shell.SendKeys("{ESC}"); //скрыть синтакс-помощник Shell.SendKeys("^(V)"); //вставить строку в текст из буфера Shell.SendKeys("^{END}"); //перейти в конец Shell.SendKeys("{ENTER}");//перейти на следующую строку Shell.SendKeys("^+{F1}"); //активировать синтакс-помощник КонецЦикла; Когда в 1С посылается слишком много нажатий клавиш, то Конфигуратор не успевает их обрабатывать и часть игнорирует. Следовательно цикл сбивается. Для борьбы с этим недугом можно вставить паузы после каждого нажатия: Для к=1 По 1000 Цикл //пауза ОбработкаПрерыванияПользователя(); КонецЦикла; Теперь запускаем Конфигуратор и Предприятие. В Конфигураторе открываем синтакс-помощник, раскрываем его весь (Ctrl-Shift-Серый плюс), ставим курсор на первую тему. Переходим в Предприятие, запускаем обработку. ----------------------- ----------------------- Аналогично можно вытащить содержимое тем: Shell = Новый COMОбъект("WScript.Shell"); Shell.AppActivate("Конфигуратор - НазваниеКонфигурации"); Shell.SendKeys("^{N}"); //новый документ Shell.SendKeys("{HOME}"); //в начало списка Shell.SendKeys("{DOWN}"); //следующая Shell.SendKeys("{DOWN}"); //следующая - Табличный документ Shell.SendKeys("{ENTER}"); //выбрать Shell.SendKeys("^+{F1}"); //открыть синтакс-помощник Shell.SendKeys("{HOME}"); //перейти на начало Для н=1 По 100 Цикл ОбработкаПрерыванияПользователя(); Shell.SendKeys("{DOWN}"); //следующая ветка Shell.SendKeys("{ENTER}"); //активировать ветку Shell.SendKeys("^(C)"); //скопировать строку в буфер Shell.SendKeys("{ESC}"); //скрыть синтакс-помощник Shell.SendKeys("{ENTER}"); //войти в ячейку ТД Shell.SendKeys("^(V)"); //вставить строку из буфера Shell.SendKeys("{ENTER}"); //выйти из ячейки и перейти вправо Shell.SendKeys("^+{F1}"); //активировать синтакс-помощник Shell.SendKeys("{TAB}"); //перейти в окошко текста СП Shell.SendKeys("^{A}"); //выделить все Shell.SendKeys("^(C)"); //скопировать в буфер Shell.SendKeys("{ESC}"); //скрыть синтакс-помощник Shell.SendKeys("{ENTER}"); //войти в ячейку ТД Shell.SendKeys("^(V)"); //вставить строку из буфера Shell.SendKeys("{ENTER}"); //выйти из ячейки Shell.SendKeys("{DOWN}"); //перейти на следующую строку Shell.SendKeys("{HOME}"); //перейти в начало строки Shell.SendKeys("^+{F1}"); //активировать синтакс-помощник Shell.SendKeys("+{TAB}"); //перейти обратно в окошко веток КонецЦикла; ----------------------------- Это все теория, подтвержденная парой экспериментов. На практике иногда бывают сбои, когда нажатия клавиш посылаются не в том порядке или не в Конфигуратор. Окончательную реализацию оставляю вам. |
|||
1
Kreal
20.09.04
✎
10:09
|
Файл C:\Program Files\1cv8\bin\ru\shcntx.hbk является файлом синтаксис помощника. Если его расширение переименовать в zip, а затем WinRar - ом восстановить полученный архив, то мы получим архив c html. В нем правдо будут работать не все ссылки. В той же папке храняться еще подобные файлы. 1С умеет переходить между ними по ссылкам.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |