1 1 <i>Разработка скриптов (начинающим)</i>
2 2
3 -1. В первую очередь нужно изучить объектную модель снегопата.
3 +1. В первую очередь нужно изучить <b>объектную модель Cнегопата</b>.
4 4
5 5 Посмотри ссылку [http://forum.script-coding.com/viewtopic.php?id=4481]
6 6 там описаны способы, как можно посмотреть объектную модель -
7 7 тебе нужно посмотреть COM-объект "Библиотека типов Снегопата" или тупо подключить файл snegopat.dll к одному из этих обозревателей.
8 8
9 9 2. Далее нужно понять, как это все работает в скриптах.
10 10
11 11 По умолчанию методы и свойства объекта designer являются глобальными, т.е. к ним можно обращаться напрямую, а ко всем остальным уже через их имена - например, коллекция аддинов addins или активное текстовое окно snegopat.activeTextWindow()
12 12
13 13 Создавайте файл с расширением .js или .vb
14 14 В качестве его текста в любом редакторе(желательно редактор с поддержкой UTF-8) можно написать простейший код на JScript:
15 -<code>
16 -
17 - * $engine JScript
18 - * $uname HelloWorld
19 - * $dname HelloWorld
20 - * Message("Hello World")
21 - * // метод designer.Message
22 -</code>
15 +<pre> $engine JScript
16 + $uname HelloWorld
17 + $dname HelloWorld
18 + Message("Hello World")
19 + // метод designer.Message
20 +</pre>
23 21
24 22 или на VBScript:
25 -<code>
26 -
27 - * $engine VBScript
28 - * $uname HelloWorld
29 - * $dname HelloWorld
30 - * Message "Hello World"
31 - * ' метод designer.Message
32 -</code>
23 +<pre>
24 + $engine VBScript
25 + $uname HelloWorld
26 + $dname HelloWorld
27 + Message "Hello World"
28 + ' метод designer.Message
29 +</pre>
33 30
34 31 3. Созданный файл нужно закинуть в папку КореньСнегопатаСДллФайлом\scripts
35 32 и прописать в файле КореньСнегопатаСДллФайлом\addins.ini по примеру
36 33
37 34 4. Далее можно перезагрузить Конфигуратор для загрузки скрипта, но лучше в окне Снегопата щелкнуть правой кнопкой на группе "Пользовательские аддины" и выбрать "Загрузить скрипт", выбрать файл скрипта, он загрузится и
38 35 сразу же в окне сообщений Конфигуратора появится сообщение "Hello World"
39 36
40 37 5. В скриптах можно пользоваться штатными объектами 1С - ТаблицаЗначений, Массив, и многие другие с помощью команды <b>v8New</b>
41 - * Для создания объектов 1С используйте код
42 - * таблица = v8New("ТаблицаЗначений")
38 + * <b>Для создания объектов 1С</b> используйте код
39 +<pre> таблица = v8New("ТаблицаЗначений")</pre>
43 40
44 - * Для получения предопределенных значений 1С, используемых в различных методах 1С, используйте код типа
45 - * режим = v8New("ПеречислениеРежимДиалогаВыбораФайла").Открытие
41 + * <b>Для получения предопределенных значений 1С, используемых в различных методах 1С,</b> используйте код типа
42 +<pre> режим = v8New("ПеречислениеРежимДиалогаВыбораФайла").Открытие</pre>
46 43
47 44 * v8New - это полный аналог штатной команды 1С Новый(Тип)
48 45 * В качестве параметра-типа может выступать любая строка, получаемая из кода 1С "" + ТипЗнч(НужныйОбъект)
49 - * Например,
50 -Сообщить("" + ТипЗнч(РежимДиалогаВыбораФайла));
46 + * Например, строку из сообщения
47 +<pre>Сообщить("" + ТипЗнч(РежимДиалогаВыбораФайла));</pre>
48 +
49 +6. Для <b>открытия файла в Конфигураторе</b> можно использовать аналог следующего кода (пример для JS)
50 +<pre> textDoc = v8New("ТекстовыйДокумент")
51 + var file = v8New("Файл", filepath)
52 + if(file.Существует()){
53 + textDoc.Прочитать(filepath)
54 + textDoc.Показать(filepath)
55 + }</pre>
56 +
57 +7. Для возможности использования <b>глобальных функций/процедур 1С</b> (ВвестиСтроку,ВвестиЧисло) можно использовать следующий прием:
58 +<br>использовать директиву \$addin global в начале описания скриптов на отдельной строке, т.е. код типа
59 +<pre> $engine JScript
60 + $uname HelloWorld
61 + $dname HelloWorld
62 + $addin global
63 +</pre>