diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..d26f675
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,238 @@
+// Available variables which can be used inside of strings.
+// ${workspaceRoot}: the root folder of the team
+// ${file}: the current opened file
+// ${fileBasename}: the current opened file's basename
+// ${fileDirname}: the current opened file's dirname
+// ${fileExtname}: the current opened file's extension
+// ${cwd}: the current working directory of the spawned process
+
+{
+ "version": "2.0.0",
+ "_runner": "terminal",
+ "windows": {
+ "command": "cmd",
+ "args": ["/c", "chcp 65001 &&"]
+ },
+ "linux": {
+ "command": "sh",
+ "args": ["-c"]
+ },
+ "isShellCommand": true,
+ "tasks": [
+ {
+ "taskName": "Testing project",
+ "args": [
+ "1testrunner",
+ "-runall",
+ "${workspaceRoot}/tests"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ // "isBuildCommand": false,
+ "isTestCommand": false,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ }
+ },
+ {
+ "taskName": "Testing current test-file",
+ "args": [
+ "1testrunner",
+ "-run",
+ "${file}"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false,
+ "isTestCommand": true,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ }
+ },
+ {
+ "taskName": "Exec all features",
+ "args": [
+ "1bdd",
+ "${workspaceRoot}/features",
+ "-out",
+ "${workspaceRoot}/exec.log"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": true,
+ "isTestCommand": false,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ }
+ },
+ {
+ "taskName": "Exec feature",
+ "args": [
+ "1bdd",
+ "${file}",
+ "-out",
+ "${workspaceRoot}/exec.log"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false,
+ "isTestCommand": true,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": [
+ {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ ]
+ }
+ },
+ {
+ "taskName": "Exec feature for current step def",
+ "args": [
+ "1bdd",
+ "${fileDirname}/../${fileBasenameNoExtension}.feature",
+ "-fail-fast",
+ "-out",
+ "${workspaceRoot}/exec.log"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false,
+ "isTestCommand": true,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": [
+ {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ ]
+ }
+ },
+ {
+ "taskName": "Generate feature steps",
+ "args": [
+ "1bdd",
+ "gen",
+ "${file}",
+ "-out",
+ "${workspaceRoot}/exec.log"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false,
+ "isTestCommand": false,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": {
+ "regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ }
+ },
+ {
+ "taskName": "Opm: package build",
+ "args": [
+ "opm",
+ "build",
+ "${workspaceRoot}"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false
+ },
+ {
+ "taskName": "OneScript: compile",
+ "args": [
+ "oscript",
+ "-encoding=utf-8",
+ "-compile",
+ "${file}"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false
+ },
+ {
+ "taskName": "OneScript: check",
+ "args": [
+ "oscript",
+ "-encoding=utf-8",
+ "-check",
+ "${file}"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false
+ },
+ {
+ "taskName": "OneScript: make",
+ "args": [
+ "oscript",
+ "-encoding=utf-8",
+ "-make",
+ "${file}",
+ "${fileBasename}.exe"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": false
+ },
+ {
+ "taskName": "OneScript: run",
+ "args": [
+ "oscript",
+ "-encoding=utf-8",
+ "${file}"
+ ],
+ "echoCommand": true,
+ "showOutput": "always",
+ "suppressTaskName": true,
+ "isBuildCommand": true,
+ "problemMatcher": {
+ "fileLocation": "absolute",
+ "pattern": {
+ "regexp": "^{Модуль\\s+(.*)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+(.*)}$",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/scripts/actions.ahk b/scripts/actions.ahk
index 3b2cdd2..8a33013 100644
--- a/scripts/actions.ahk
+++ b/scripts/actions.ahk
@@ -247,4 +247,64 @@ actionRun1Script() {
FileAppend, %Clipboard%, %module%, UTF-8
RunWait, cmd "/K system\OneScript\bin\oscript.exe tmp/module.os"
+}
+
+actionGoToPrevContainedWord() {
+
+ clipboard =
+
+ SendInput ^+{left}^{ins}{right}
+
+ module = tmp\module.txt
+ ClipWait
+
+ FileDelete %module%
+
+ FileAppend, %Clipboard%, %module%, UTF-8
+ RunWait, system\OneScript\bin\oscript.exe scripts\.os prev,,Hide
+ if (ErrorLevel > 0) {
+ UpCount := ErrorLevel
+ Loop %UpCount%
+ {
+ SendInput, {left}
+ }
+ }
+}
+
+actionGoToNextContainedWord() {
+
+ clipboard =
+
+ SendInput ^+{right}^{ins}{left}
+
+ module = tmp\module.txt
+ ClipWait
+
+ FileDelete %module%
+
+ FileAppend, %Clipboard%, %module%, UTF-8
+ RunWait, system\OneScript\bin\oscript.exe scripts\.os next,,Hide
+ if (ErrorLevel > 0) {
+ UpCount := ErrorLevel
+ Loop %UpCount%
+ {
+ SendInput, {right}
+ }
+ }
+}
+
+actionShowMethodName() {
+ Global
+
+ getTextUp()
+ RunWait, system\OneScript\bin\oscript.exe scripts\\.os ,,Hide
+
+}
+
+actionGenerateServerMethodFromCurMethod() {
+ Global
+
+ getTextUp()
+ RunWait, system\OneScript\bin\oscript.exe scripts\\.os ,,Hide
+
}
\ No newline at end of file
diff --git a/scripts/auto/Run1Script.os b/scripts/auto/Run1Script.os
index 750b5ab..5870fcf 100644
--- a/scripts/auto/Run1Script.os
+++ b/scripts/auto/Run1Script.os
@@ -10,7 +10,7 @@
Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);
Текст.Записать(СтарыйТекст);
Текст.Закрыть();
-
+ ОсвободитьОбъект(Текст);
ЗапуститьПриложение("cmd /K system\OneScript\bin\oscript.exe " + ИмяФайла);
diff --git a/scripts/menu.ahk b/scripts/menu.ahk
index 2c5e2c3..caf1caa 100644
--- a/scripts/menu.ahk
+++ b/scripts/menu.ahk
@@ -1,4 +1,5 @@
createMenuItems() {
+
Menu, Popup, Add, ,
Menu, Popup, Add, ,
Menu, Popup, Add, ,
diff --git a/scripts/Навигация/НавигацияПоМодулю.os b/scripts/Навигация/НавигацияПоМодулю.os
index 0a78377..a7d512d 100644
--- a/scripts/Навигация/НавигацияПоМодулю.os
+++ b/scripts/Навигация/НавигацияПоМодулю.os
@@ -12,9 +12,9 @@
Функция ПолучитьСтрокиПоРегВыражению(Данные,СтрокаПоиска,РежимЗаполнения=0)
РегВыражение = Новый РегулярноеВыражение(СтрокаПоиска);
РегВыражение.ИгнорироватьРегистр = Истина;
-
+
КолСтрок = СтрЧислоСтрок(Данные)-1;
-
+
СписМетодов = "";
Для А = 0 По КолСтрок Цикл
Стр = СокрЛП(СтрПолучитьСтроку(Данные, А));
@@ -50,24 +50,24 @@
Стр = ПолучитьСтрокиПоРегВыражению(Данные,"^\s*(\#Область|\#region)\s+(.*)");
НомСтр = ПолучитьНомерСтроки(Стр);
ЗавершитьРаботу(НомСтр);
-
+
КонецПроцедуры
Процедура ПоискРегулярныеВыражения(Данные)
-
+
ДанныеВыбора = ""
+ "^/?([^/]/?)*ВыражениеТолькоНеКомментариях" + Символы.ВК + Символы.ПС
+ "//+.*ВыражениеТолькоВКомментариях" + Символы.ВК + Символы.ПС
+ "//+.*TODO" + Символы.ВК + Символы.ПС
+ "//+.*FIXME" + Символы.ВК + Символы.ПС
+ "//+.*BUG";
-
+
СтрВыбора = Обмен.ВыбратьИзСписка(ДанныеВыбора);
Если СтрВыбора <> "" Тогда
Стр = ПолучитьСтрокиПоРегВыражению(Данные,СтрВыбора,"Поиск");
НомСтр = ПолучитьНомерСтроки(Стр);
ЗавершитьРаботу(НомСтр);
-
+
КонецЕсли;
КонецПроцедуры
@@ -77,7 +77,7 @@
Стр = Обмен.ВыбратьИзСписка(ДанныеВыбора);
НомСтр = ПолучитьНомерСтроки(Стр);
ЗавершитьРаботу(НомСтр);
-
+
КонецПроцедуры
Процедура ПоказатьПоследнийСписокВыбора()
@@ -85,14 +85,14 @@
Стр = Обмен.ВыбратьИзСписка(ДанныеВыбора);
НомСтр = ПолучитьНомерСтроки(Стр);
ЗавершитьРаботу(НомСтр);
-
+
КонецПроцедуры
Процедура ПерейтиВНачалоМетода(Данные)
-
+
РегВыражение = Новый РегулярноеВыражение("^\s*(процедура|функция|procedure|function)\s+");
РегВыражение.ИгнорироватьРегистр = Истина;
-
+
КолСтрок = СтрЧислоСтрок(Данные)-1;
Для А = -КолСтрок По 0 Цикл
Стр = СтрПолучитьСтроку(Данные, -А);
@@ -103,10 +103,39 @@
ЗавершитьРаботу(0);
КонецПроцедуры
+Функция ИмяМетода(Данные) Экспорт
+
+ РегВыражение = Новый РегулярноеВыражение("^\s*(процедура|функция|procedure|function)\s+(.*)\(");
+ РегВыражение.ИгнорироватьРегистр = Истина;
+
+ КолСтрок = СтрЧислоСтрок(Данные)-1;
+ Для А = -КолСтрок По 0 Цикл
+ Стр = СтрПолучитьСтроку(Данные, -А);
+ Совпадения = РегВыражение.НайтиСовпадения(Стр);
+ Если Совпадения.Количество() > 0 Тогда
+ Для каждого Сп Из Совпадения Цикл
+ СпГр = Сп.Группы;
+ Возврат СокрЛП(СпГр[2].Значение);
+ КонецЦикла;
+ КонецЕсли;
+ КонецЦикла;
+
+КонецФункции
+
+Процедура ПоказатьИмяМетода(Данные)
+ ИмяМетода = ИмяМетода(Данные);
+ Обмен.ВвестиЗначение(ИмяМетода);
+КонецПроцедуры
+
Процедура Выполнить(Параметры)
-
+
+ Если Параметры.Количество() = 0 Тогда
+ Возврат;
+ КонецЕсли;
+
+ Обмен = ЗагрузитьСценарий("scripts\Обмен.os");
Данные = Обмен.ПолучитьТекстИзФайла("tmp\module.txt");
-
+
Если Параметры[0] = "НачалоМетода" Тогда
ПерейтиВНачалоМетода(Данные);
ИначеЕсли Параметры[0] = "СписокМетодов" Тогда
@@ -119,11 +148,12 @@
РезультатПоследнегоПоиска();
ИначеЕсли Параметры[0] = "ПоказатьПоследнийСписокВыбора" Тогда
ПоказатьПоследнийСписокВыбора();
+ ИначеЕсли Параметры[0] = "ИмяМетода" Тогда
+ ПоказатьИмяМетода(Данные);
КонецЕсли;
КонецПроцедуры
-Обмен = ЗагрузитьСценарий("scripts\Обмен.os");
Выполнить(АргументыКоманднойСтроки);
diff --git a/scripts/Обмен.os b/scripts/Обмен.os
index 00b2252..92ae911 100644
--- a/scripts/Обмен.os
+++ b/scripts/Обмен.os
@@ -5,6 +5,7 @@
Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.ANSI);
Данные = Текст.Прочитать();
Текст.Закрыть();
+ ОсвободитьОбъект(Текст);
КонецЕсли;
возврат Данные;
КонецФункции
@@ -13,6 +14,7 @@
Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
Текст.Записать(Данные);
Текст.Закрыть();
+ ОсвободитьОбъект(Текст);
КонецФункции // ЗаписатьРезультатВФайл(ИмяФайла,Данные)
Функция ЗапускПриложенияВзаимодействия(Приложение, Данные, Очищать=10, СписокВыбораВФайл="")
@@ -36,4 +38,8 @@
Функция ВвестиЗначение(ТекстПоУмолчанию) Экспорт
Возврат ЗапускПриложенияВзаимодействия("inputbox", ТекстПоУмолчанию);
-КонецФункции // ВвестиЗначение() Экспорт
\ No newline at end of file
+КонецФункции // ВвестиЗначение() Экспорт
+
+Процедура ПодключитьGUI() Экспорт
+ ПодключитьВнешнююКомпоненту("system\OneScript\lib\gui\bin\oscript-gui.dll");
+КонецПроцедуры
\ No newline at end of file
diff --git a/scripts/РаботаСоСловами.os b/scripts/РаботаСоСловами.os
new file mode 100644
index 0000000..2a7e42f
--- /dev/null
+++ b/scripts/РаботаСоСловами.os
@@ -0,0 +1,64 @@
+Перем Обмен;
+
+Процедура ВыполнитьПеремещениеВправо(Данные)
+
+ ПозицияСлова = 0;
+
+ ДлинаСтр = СтрДлина(Данные);
+ Для А = 1 По ДлинаСтр Цикл
+ Смв = Сред(Данные,А,1);
+ Если Смв = ВРег(Смв) Тогда
+ ПозицияСлова = А;
+ Прервать;
+ КонецЕсли;
+
+ КонецЦикла;
+
+ ПозицияСлова = ПозицияСлова-1;
+ ЗавершитьРаботу(ПозицияСлова);
+
+КонецПроцедуры
+
+Процедура ВыполнитьПеремещениеВлево(Данные)
+
+ ПозицияСлова = 0;
+
+ А = СтрДлина(Данные);
+ Пока А > 0 Цикл
+ Смв = Сред(Данные,А,1);
+ Если Смв = ВРег(Смв) Тогда
+ ПозицияСлова = А;
+ Прервать;
+ КонецЕсли;
+ А = А - 1;
+ КонецЦикла;
+ ПозицияСлова = СтрДлина(Данные) - ПозицияСлова+1;
+ ЗавершитьРаботу(ПозицияСлова);
+
+КонецПроцедуры
+
+Процедура Выполнить()
+ Парамеры = АргументыКоманднойСтроки;
+
+ ИмяФайла = "tmp\module.txt";
+
+ Если Парамеры.Количество() = 1 Тогда
+ ПараметрОбработки = АргументыКоманднойСтроки[0];
+
+ Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.ANSI);
+ Данные = Текст.Прочитать();
+ Текст.Закрыть();
+ ОсвободитьОбъект(Текст);
+
+ Если НРег(ПараметрОбработки) = "prev" Тогда
+ ВыполнитьПеремещениеВлево(Данные);
+ ИначеЕсли НРег(ПараметрОбработки) = "next" Тогда
+ ВыполнитьПеремещениеВправо(Данные);
+ КонецЕсли;
+
+ КонецЕсли;
+
+КонецПроцедуры
+
+Обмен = ЗагрузитьСценарий("scripts\Обмен.os");
+Выполнить();
\ No newline at end of file
diff --git a/system/OneScript/bin/1testrunner.bat b/system/OneScript/bin/1testrunner.bat
new file mode 100644
index 0000000..b7e81fc
--- /dev/null
+++ b/system/OneScript/bin/1testrunner.bat
@@ -0,0 +1,2 @@
+@oscript.exe "C:\Users\ushakov\Documents\portable\OneScript\lib\1testrunner\main.os" %*
+@exit /b %ERRORLEVEL%
diff --git a/system/OneScript/bin/Newtonsoft.Json.dll b/system/OneScript/bin/Newtonsoft.Json.dll
new file mode 100644
index 0000000..20dae62
Binary files /dev/null and b/system/OneScript/bin/Newtonsoft.Json.dll differ
diff --git a/system/OneScript/bin/ScriptEngine.HostedScript.dll b/system/OneScript/bin/ScriptEngine.HostedScript.dll
index d14e7e9..7ba82df 100644
Binary files a/system/OneScript/bin/ScriptEngine.HostedScript.dll and b/system/OneScript/bin/ScriptEngine.HostedScript.dll differ
diff --git a/system/OneScript/bin/ScriptEngine.dll b/system/OneScript/bin/ScriptEngine.dll
index eebb33d..e351b81 100644
Binary files a/system/OneScript/bin/ScriptEngine.dll and b/system/OneScript/bin/ScriptEngine.dll differ
diff --git a/system/OneScript/bin/TestApp.exe b/system/OneScript/bin/TestApp.exe
index 3d14183..6bbef2c 100644
Binary files a/system/OneScript/bin/TestApp.exe and b/system/OneScript/bin/TestApp.exe differ
diff --git a/system/OneScript/bin/oscript.exe b/system/OneScript/bin/oscript.exe
index 0814a39..b597e63 100644
Binary files a/system/OneScript/bin/oscript.exe and b/system/OneScript/bin/oscript.exe differ
diff --git a/system/OneScript/doc/stdlib.htm b/system/OneScript/doc/stdlib.htm
index e71ab5f..5323a79 100644
--- a/system/OneScript/doc/stdlib.htm
+++ b/system/OneScript/doc/stdlib.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- stdlib
-
-
+
+
+
+
+
+ stdlib
+
+
Стандартная библиотека классов и функций
Ниже приведен перечень классов, доступных в контексте скрипта.
Глобальный контекст
@@ -71,6 +71,14 @@
ЭлементыZipФайла
ЭлементZipФайла
+Работа с двоичными данными
+
Регулярные выражения
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/COMОбъект.htm b/system/OneScript/doc/stdlib/COMОбъект.htm
index 72e0cd6..aef6d63 100644
--- a/system/OneScript/doc/stdlib/COMОбъект.htm
+++ b/system/OneScript/doc/stdlib/COMОбъект.htm
@@ -1,16 +1,16 @@
-
-
-
-
-
- COMОбъект
-
-
+
+
+
+
+
+ COMОбъект
+
+
COMОбъект / COMObject
Свойства
Методы
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/HTTPЗапрос.htm b/system/OneScript/doc/stdlib/HTTPЗапрос.htm
index 8f1b1e7..08edb60 100644
--- a/system/OneScript/doc/stdlib/HTTPЗапрос.htm
+++ b/system/OneScript/doc/stdlib/HTTPЗапрос.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- HTTPЗапрос
-
-
+
+
+
+
+
+ HTTPЗапрос
+
+
HTTPЗапрос / HTTPRequest
Данные и заголоки HTTP запроса.
Свойства
@@ -45,6 +45,6 @@
Конструкторы
По умолчанию
По адресу ресурса и заголовкам
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/HTTPОтвет.htm b/system/OneScript/doc/stdlib/HTTPОтвет.htm
index 756c87a..a4f7430 100644
--- a/system/OneScript/doc/stdlib/HTTPОтвет.htm
+++ b/system/OneScript/doc/stdlib/HTTPОтвет.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- HTTPОтвет
-
-
+
+
+
+
+
+ HTTPОтвет
+
+
HTTPОтвет / HTTPResponse
Ответ от HTTP-сервера
Свойства
@@ -33,6 +33,6 @@
Строка. Имя файла с ответом. Если ответ не записывался в файл - возвращает Неопределено.
Закрыть / Close()
Закрыть HTTP ответ и освободить ресурсы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/HTTPСоединение.htm b/system/OneScript/doc/stdlib/HTTPСоединение.htm
index 9720fea..38658a8 100644
--- a/system/OneScript/doc/stdlib/HTTPСоединение.htm
+++ b/system/OneScript/doc/stdlib/HTTPСоединение.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- HTTPСоединение
-
-
+
+
+
+
+
+ HTTPСоединение
+
+
HTTPСоединение / HTTPConnection
Объект доступа к протоколу HTTP/HTTPS.
Использует семантику методов, реализованных в платформе 1С:Предприятие 8.2.18 и старше.
@@ -131,9 +131,9 @@
Указание произвольных клиентских и серверных сертификатов в текущей версии не поддерживается.
-timeout: Таймаут ожидания.
+useOSAuthentication: Использовать аутентификацию ОС.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/SafeArrayWrapper.htm b/system/OneScript/doc/stdlib/SafeArrayWrapper.htm
index acee415..ee72625 100644
--- a/system/OneScript/doc/stdlib/SafeArrayWrapper.htm
+++ b/system/OneScript/doc/stdlib/SafeArrayWrapper.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- SafeArrayWrapper
-
-
+
+
+
+
+
+ SafeArrayWrapper
+
+
SafeArrayWrapper /
Вспомогательный класс для работы с объектами COMSafeArray, получаемыми из COM-объектов.
На данный момент класс не является полноценной заменой для COMSafeArray и его нельзя создать вручную.
@@ -14,6 +14,6 @@
Количество / Count()
GetValue / ()
SetValue / ()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/TCPСервер.htm b/system/OneScript/doc/stdlib/TCPСервер.htm
index 1c9b83c..2976df8 100644
--- a/system/OneScript/doc/stdlib/TCPСервер.htm
+++ b/system/OneScript/doc/stdlib/TCPСервер.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- TCPСервер
-
-
+
+
+
+
+
+ TCPСервер
+
+
TCPСервер / TCPServer
Простой однопоточный tcp-сокет. Слушает входящие соединения на определенном порту
Свойства
@@ -30,6 +30,6 @@
- port: Порт, который требуется слушать.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/TCPСоединение.htm b/system/OneScript/doc/stdlib/TCPСоединение.htm
index a1b45e9..a016944 100644
--- a/system/OneScript/doc/stdlib/TCPСоединение.htm
+++ b/system/OneScript/doc/stdlib/TCPСоединение.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- TCPСоединение
-
-
+
+
+
+
+
+ TCPСоединение
+
+
TCPСоединение / TCPConnection
Соединение по протоколу TCP. Позволяет отправлять и принимать данные с использованием TCP сокета.
Свойства
@@ -70,6 +70,6 @@
port: порт сокета
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/БуферДвоичныхДанных.htm b/system/OneScript/doc/stdlib/БуферДвоичныхДанных.htm
new file mode 100644
index 0000000..87ad8cb
--- /dev/null
+++ b/system/OneScript/doc/stdlib/БуферДвоичныхДанных.htm
@@ -0,0 +1,217 @@
+
+
+
+
+
+ БуферДвоичныхДанных
+
+
+ БуферДвоичныхДанных / BinaryDataBuffer
+Коллекция байтов фиксированного размера с возможностью произвольного доступа и изменения по месту.
+Размер буфера формально не ограничен, но поскольку все данные буфера полностью находятся в оперативной памяти, при попытке создать буфер слишком большого размера доступной памяти может оказаться недостаточно, в результате чего будет вызвано исключение. Поэтому при работе с буферами двоичных данных необходимо соотносить их размер с доступным объемом оперативной памяти.
+При создании буфера можно указать порядок байтов, который будет использован для операций с целыми числами. При этом если буфер не создан явно, а получен с помощью вызова метода другого объекта, то порядок байтов в полученном буфере будет унаследован от порядка байтов, заданного для того объекта, метод которого вызывается.
+Например, если буфер получен с помощью вызова метода ПрочитатьВБуферДвоичныхДанных, то порядок байтов в полученном буфере будет равен значению свойства ПорядокБайтов.
+Возможен также более сложный случай наследования порядка байтов. Если буфер получен с помощью вызова метода ПолучитьБуферДвоичныхДанных, то порядок байтов у полученного буфера будет выбираться из объекта ЧтениеДанных, из которого был получен объект РезультатЧтенияДанных.
+Порядок байтов, заданный для объекта ЧтениеДанных, будет использован во всех объектах, полученных на его основании.
+Свойства
+ПорядокБайтов / ByteOrder
+Доступ: Чтение/Запись
+Текущий порядок байтов. Влияет на операции чтения и записи целых чисел в буфер.
+Размер / Size
+Доступ: Чтение
+Размер буфера в байтах.
+ТолькоЧтение / ReadOnly
+Доступ: Чтение
+Значение Истина указывает, что данный буфер предназначен только для чтения.
+Методы
+Записать / Write()
+Заменить значения, начиная с заданной позиции, значениями из заданного буфера.
+Параметры
+
+-
+
position: Позиция, начиная с которой требуется записать содержимое буфера.
+
+-
+
bytes: Байты, которыми нужно заполнить часть буфера.
+
+-
+
number: Количество байт, которые требуется заменить.
+
+
+ЗаписатьЦелое16 / WriteInt16()
+Записать целое 16-битное положительное число в заданную позицию.
+Параметры
+
+-
+
position: Позиция, на которой требуется записать число.
+
+-
+
value: Число, которое требуется записать.
+Если значение не помещается в 16 бит, будет вызвано исключение.
+
+-
+
byteOrder: Порядок байтов, который будет использован для кодировки числа при записи в буфер. Если не установлен, то будет использован порядок байтов, заданный для текущего экземпляра БуферДвоичныхДанных.
+Значение по умолчанию: Неопределено.
+
+
+ЗаписатьЦелое32 / WriteInt32()
+Записать целое 32-битное положительное число в заданную позицию.
+Параметры
+
+-
+
position: Позиция, на которой требуется записать число.
+
+-
+
value: Число, которое требуется записать.
+Если значение не помещается в 32 бита, будет вызван исключение.
+
+-
+
byteOrder: Порядок байтов, который будет использован для кодировки числа при записи в буфер. Если не установлен, то будет использован порядок байтов, заданный для текущего экземпляра БуферДвоичныхДанных.
+Значение по умолчанию: Неопределено.
+
+
+ЗаписатьЦелое64 / WriteInt64()
+Записать целое 64-битное положительное число в заданную позицию.
+Параметры
+
+-
+
position: Позиция, на которой требуется записать число.
+
+-
+
value: Число, которое требуется записать.
+Если значение не помещается в 64 бита, будет вызвано исключение.
+
+-
+
byteOrder: Порядок байтов, который будет использован для кодировки числа при записи в буфер. Если не установлен, то используется порядок байтов, заданный для текущего экземпляра БуферДвоичныхДанных.
+Значение по умолчанию: Неопределено.
+
+
+Перевернуть / Reverse()
+Создает новый буфер, содержащий элементы текущего буфера в противоположном порядке.
+Возвращаемое значение
+Получить / Get()
+Получает значение элемента на указанной позиции.
+Параметры
+
+- position: Позиция элемента в буфере. Нумерация начинается с 0.
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+ПолучитьСрез / GetSlice()
+Создает новый буфер, использующий заданное количество байтов из исходного буфера, начиная с заданной позиции (нумерация с 0). Если количество не задано, то новый буфер является представлением элементов текущего буфера, начиная с заданного индекса и до конца.
+НЕ РЕАЛИЗОВАН
+Параметры
+
+-
+
position: Позиция, начиная с которой будет создан новый буфер.
+
+-
+
number: Количество байтов, которые требуется отобразить в срезе. Если на задано, то отображаются все байты от начала среза до конца исходного буфера.
+Значение по умолчанию: Неопределено.
+
+
+Возвращаемое значение
+Прочитать / Read()
+Выполняет чтение байтов из буфера и помещает их в новый буфер.
+Параметры
+
+-
+
position: Позиция, начиная с которой требуется прочитать байты.
+
+-
+
number: Количество байтов, которое требуется прочитать.
+
+
+Возвращаемое значение
+ПрочитатьЦелое16 / ReadInt16()
+Выполняет чтение целого 16-битного положительного числа на заданной позиции.
+Параметры
+
+-
+
position: Позиция, на которой требуется прочитать число.
+
+-
+
byteOrder: Порядок байтов, используемый при чтении числа.
+Если не задан, используется порядок, определенный для текущего экземпляра ЧтениеДанных.
+Значение по умолчанию: Неопределено.
+
+
+Возвращаемое значение
+ПрочитатьЦелое32 / ReadInt32()
+Прочитать целое 32-битное положительное число на заданной позиции.
+Параметры
+
+-
+
position: Позиция, на которой требуется прочитать число.
+
+-
+
byteOrder: Порядок байтов, используемый при чтении числа.
+Если не задан, используется порядок, определенный для текущего экземпляра ЧтениеДанных.
+Значение по умолчанию: Неопределено.
+
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+ПрочитатьЦелое64 / ReadInt64()
+Выполняет чтение целого 64-битного положительного числа на заданной позиции.
+Параметры
+
+-
+
position: Позиция, на которой требуется прочитать число.
+
+-
+
byteOrder: Порядок байтов, используемый при чтении числа.
+Если не задан, используется порядок, определенный для текущего экземпляра ЧтениеДанных.
+Значение по умолчанию: Неопределено.
+
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+Разделить / Split()
+Разделить буфер на части по заданному разделителю.
+НЕ РЕАЛИЗОВАН
+Параметры
+
+- separator: Разделитель.
+
+Возвращаемое значение
+Скопировать / Copy()
+Создает копию массива.
+Возвращаемое значение
+Соединить / Concat()
+Создает новый буфер, содержащий элементы текущего буфера и, за ними, элементы заданного буфера.
+Параметры
+
+- buffer: Буфер, который будет соединен с исходным.
+
+Возвращаемое значение
+Установить / Set()
+Устанавливает значение элемента на заданной позиции (нумерация начинается с 0).
+Параметры
+
+-
+
position: Позиция, на которую требуется поместить новое значение.
+
+-
+
value: Значение, которое требуется установить в заданную позицию буфера.
+Если значение больше 255 или меньше 0, будет выдана ошибка о неверном значении параметра.
+
+
+УстановитьТолькоЧтение / SetReadOnly()
+Переводит текущий буфер в режим "только для чтения".
+Попытка изменить состояние буфера приведет к вызову исключения.
+Конструкторы
+По умолчанию
+Параметры
+
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ВебЗапрос.htm b/system/OneScript/doc/stdlib/ВебЗапрос.htm
new file mode 100644
index 0000000..48dc538
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ВебЗапрос.htm
@@ -0,0 +1,29 @@
+
+
+
+
+
+ ВебЗапрос
+
+
+ ВебЗапрос / WebRequest
+Свойства
+GET /
+Доступ: Чтение
+POST /
+Доступ: Чтение
+Параметры / Params
+Доступ: Чтение
+Параметры запроса
+Файлы / Files
+Доступ: Чтение
+Загруженные файлы
+ENV /
+Доступ: Чтение
+Переменные среды
+Методы
+ПолучитьТелоКакДвоичныеДанные / GetBodyAsBinaryData()
+ПолучитьТелоКакСтроку / GetBodyAsString()
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ГенераторСлучайныхЧисел.htm b/system/OneScript/doc/stdlib/ГенераторСлучайныхЧисел.htm
index d478af3..ae8257c 100644
--- a/system/OneScript/doc/stdlib/ГенераторСлучайныхЧисел.htm
+++ b/system/OneScript/doc/stdlib/ГенераторСлучайныхЧисел.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ГенераторСлучайныхЧисел
-
-
+
+
+
+
+
+ ГенераторСлучайныхЧисел
+
+
ГенераторСлучайныхЧисел / RandomNumberGenerator
Свойства
Методы
@@ -18,6 +18,6 @@
seed: Начальное число. Последовательность случайных чисел для одного и того же начального числа будет одинакова
Формирование неинициализированного объекта
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ГруппаРегулярногоВыражения.htm b/system/OneScript/doc/stdlib/ГруппаРегулярногоВыражения.htm
index c154848..45984fc 100644
--- a/system/OneScript/doc/stdlib/ГруппаРегулярногоВыражения.htm
+++ b/system/OneScript/doc/stdlib/ГруппаРегулярногоВыражения.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ГруппаРегулярногоВыражения
-
-
+
+
+
+
+
+ ГруппаРегулярногоВыражения
+
+
ГруппаРегулярногоВыражения / RegExGroup
Свойства
Значение / Value
@@ -18,6 +18,6 @@
Доступ: Чтение
Длина найденной строки.
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ДанныеPOSTЗапроса.htm b/system/OneScript/doc/stdlib/ДанныеPOSTЗапроса.htm
new file mode 100644
index 0000000..0f4cf52
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ДанныеPOSTЗапроса.htm
@@ -0,0 +1,23 @@
+
+
+
+
+
+ ДанныеPOSTЗапроса
+
+
+ ДанныеPOSTЗапроса / PostRequestData
+Свойства
+Параметры / Params
+Доступ: Чтение
+Параметры запроса
+Файлы / Files
+Доступ: Чтение
+Загруженные файлы
+Методы
+Конструкторы
+Из двоичных данных
+Из строки запроса
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ДвоичныеДанные.htm b/system/OneScript/doc/stdlib/ДвоичныеДанные.htm
index 86e9907..bc2f556 100644
--- a/system/OneScript/doc/stdlib/ДвоичныеДанные.htm
+++ b/system/OneScript/doc/stdlib/ДвоичныеДанные.htm
@@ -1,18 +1,23 @@
-
-
-
-
-
- ДвоичныеДанные
-
-
+
+
+
+
+
+ ДвоичныеДанные
+
+
ДвоичныеДанные / BinaryData
Свойства
Методы
Размер / Size()
Записать / Write()
+ОткрытьПотокДляЧтения / OpenStreamForRead()
+Открывает поток для чтения двоичных данных.
+Возвращаемое значение
+Представляет собой поток данных, который можно последовательно читать и/или в который можно последовательно писать.
+Экземпляры объектов данного типа можно получить с помощью различных методов других объектов.
Конструкторы
На основании файла
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ДеревоЗначений.htm b/system/OneScript/doc/stdlib/ДеревоЗначений.htm
index d413b03..d3304bd 100644
--- a/system/OneScript/doc/stdlib/ДеревоЗначений.htm
+++ b/system/OneScript/doc/stdlib/ДеревоЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ДеревоЗначений
-
-
+
+
+
+
+
+ ДеревоЗначений
+
+
ДеревоЗначений / ValueTree
Дерево значений.
Древовидная структура с фунциональностью подобно таблице значений.
@@ -30,6 +30,6 @@
ДеревоЗначений. Копия исходного дерева значений.
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЗаписьJSON.htm b/system/OneScript/doc/stdlib/ЗаписьJSON.htm
new file mode 100644
index 0000000..fc53951
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ЗаписьJSON.htm
@@ -0,0 +1,91 @@
+
+
+
+
+
+ ЗаписьJSON
+
+
+ ЗаписьJSON / JSONWriter
+Предназначен для организации последовательной записи объектов и текстов JSON.
+Свойства
+Параметры / Settings
+Доступ: Чтение
+Определяет текущие параметры записи JSON.
+ПроверятьСтруктуру / ValidateStructure
+Доступ: Чтение/Запись
+Показывает, будет ли проводиться проверка правильности структуры записываемого JSON объекта. В случае обнаружение ошибки, будет сгенерировано исключение. Например: при попытке записать значение без имени вне массива или записать окончание объекта без начала. Установка данного свойства не имеет немедленного эффекта. Установленное значение свойства будет использовано только после открытия файла или установки строки.
+После создания объекта данное свойство имеет значение Истина.
+Методы
+Закрыть / Close()
+Завершает запись текста JSON. Если производилась запись в файл, то файл закрывается. Если производилась запись в строку, то результирующая строка будет получена в качестве возвращаемого значения метода. Если производилась запись в файл, то метод вернет пустую строку.
+Возвращаемое значение
+Значения данного типа содержат строку в формате Unicode произвольной длины.
+ЗаписатьБезОбработки / WriteRaw()
+Выполняет запись произвольной строки в документ, при этом проверка структуры документа не выполняется.
+Если при использовании метода свойство ПроверятьСтруктуру установлено в значение Истина, то проверка структуры продолжается на следующем элементе.
+Параметры
+
+- String: Строка, записываемая в документ JSON.
+
+ЗаписатьЗначение / WriteValue()
+Записывает значение свойства JSON.
+Параметры
+
+-
+
Value: Записываемое значение. Типы: Строка (String), Число (Number), Булево (Boolean), Неопределено (Undefined)
+
+-
+
UseFormatWithExponent: Использование экспоненциальной формы записи для числовых значений. Параметр имеет смысл только если записывается значение числового типа.
+Значение по умолчанию: Ложь.
+
+
+ЗаписатьИмяСвойства / WritePropertyName()
+Записывает имя свойства JSON.
+Параметры
+
+- PropertyName: Имя свойства.
+
+ЗаписатьКонецМассива / WriteEndArray()
+Записывает конец массива JSON.
+ЗаписатьКонецОбъекта / WriteEndObject()
+Записывает конец объекта JSON.
+ЗаписатьНачалоМассива / WriteStartArray()
+Записывает начало массива JSON.
+ЗаписатьНачалоОбъекта / WriteStartObject()
+Записывает начало объекта JSON.
+ОткрытьФайл / OpenFile()
+Открывает файл для записи JSON. Позволяет указать тип кодировки, который будет использован для записи файла JSON, а также использование BOM.
+Параметры
+
+-
+
fileName: Имя файла, в который будет записываться текст JSON.
+
+-
+
encoding: В качестве типа кодировки может быть указана одна из возможных кодировок текста. В этом случае файл будет записан в соответствующей кодировке. Если же в качестве параметра указана пустая строка или ничего не указано, то для записи файла будет использована кодировка UTF8.
+Поддерживаемые коды кодировок:
+
+
+Значение по умолчанию: UTF-8.
+
+-
+
addBOM: Определяет, будет ли добавлен маркер порядка байт (BOM) к результирующему файлу JSON.
+Внимание. Стандарт RFC7159 настоятельно рекомендует не добавлять маркер порядка байт (BOM) к документу JSON .
+Значение по умолчанию: Ложь.
+
+-
+
settings: Параметры, используемые при открытии файла для настройки записи в формате JSON.
+
+
+УстановитьСтроку / SetString()
+Инициализирует объект для вывода результирующего JSON текста в строку.
+Параметры
+
+- settings: Параметры, используемые при записи объекта JSON.
+По умолчанию, содержит ПараметрыЗаписиJSON, сгенерированные автоматически.
+
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЗаписьXML.htm b/system/OneScript/doc/stdlib/ЗаписьXML.htm
index cbb74f2..d18d866 100644
--- a/system/OneScript/doc/stdlib/ЗаписьXML.htm
+++ b/system/OneScript/doc/stdlib/ЗаписьXML.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЗаписьXML
-
-
+
+
+
+
+
+ ЗаписьXML
+
+
ЗаписьXML / XMLWriter
Свойства
Отступ / Indent
@@ -36,6 +36,6 @@
УстановитьСтроку / SetString()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЗаписьZipФайла.htm b/system/OneScript/doc/stdlib/ЗаписьZipФайла.htm
index 8e24a24..def5728 100644
--- a/system/OneScript/doc/stdlib/ЗаписьZipФайла.htm
+++ b/system/OneScript/doc/stdlib/ЗаписьZipФайла.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЗаписьZipФайла
-
-
+
+
+
+
+
+ ЗаписьZipФайла
+
+
ЗаписьZipФайла / ZipFileWriter
Объект записи ZIP-архивов.
Свойства
@@ -17,7 +17,6 @@
Конструкторы
Формирование неинициализированного объекта
На основании имени файла
-На основании параметров архива
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЗаписьТекста.htm b/system/OneScript/doc/stdlib/ЗаписьТекста.htm
index 33118bf..f80e1d0 100644
--- a/system/OneScript/doc/stdlib/ЗаписьТекста.htm
+++ b/system/OneScript/doc/stdlib/ЗаписьТекста.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЗаписьТекста
-
-
+
+
+
+
+
+ ЗаписьТекста
+
+
ЗаписьТекста / TextWriter
Свойства
Методы
@@ -20,10 +20,13 @@
encoding: Кодировка (необязательный). По умолчанию используется utf-8
-lineDelimiter: Разделитель строк (необязательный). В текущей релизации параметр игнорируется
+lineDelimiter: Разделитель строк (необязательный).
-append: Признак добавления в конец файла. (необязательный)
+append: Признак добавления в конец файла (необязательный)
+
+
+eolReplacement: Разделитель строк в файле (необязательный).
Закрыть / Close()
@@ -37,7 +40,12 @@
Записывает текст и добавляет перевод строки
Параметры
Конструкторы
По имени файла и кодировке
@@ -51,10 +59,16 @@
encoding: Кодировка в виде строки
+lineDelimiter: Символ - разделитель строк
+
+
append: Признак добавления в конец файла (необязательный)
+
+eolReplacement: Разделитель строк в файле (необязательный).
+
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИндексКоллекции.htm b/system/OneScript/doc/stdlib/ИндексКоллекции.htm
index 6590f2c..fbb1008 100644
--- a/system/OneScript/doc/stdlib/ИндексКоллекции.htm
+++ b/system/OneScript/doc/stdlib/ИндексКоллекции.htm
@@ -1,14 +1,14 @@
-
-
-
-
-
- ИндексКоллекции
-
-
+
+
+
+
+
+ ИндексКоллекции
+
+
ИндексКоллекции / CollectionIndex
Свойства
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИндексыКоллекции.htm b/system/OneScript/doc/stdlib/ИндексыКоллекции.htm
index b891bd7..13550d0 100644
--- a/system/OneScript/doc/stdlib/ИндексыКоллекции.htm
+++ b/system/OneScript/doc/stdlib/ИндексыКоллекции.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ИндексыКоллекции
-
-
+
+
+
+
+
+ ИндексыКоллекции
+
+
ИндексыКоллекции / CollectionIndexes
Свойства
Методы
@@ -13,6 +13,6 @@
Количество / Count()
Удалить / Delete()
Очистить / Clear()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИнтернетПрокси.htm b/system/OneScript/doc/stdlib/ИнтернетПрокси.htm
index b8b1201..e1659ea 100644
--- a/system/OneScript/doc/stdlib/ИнтернетПрокси.htm
+++ b/system/OneScript/doc/stdlib/ИнтернетПрокси.htm
@@ -1,27 +1,28 @@
-
-
-
-
-
- ИнтернетПрокси
-
-
+
+
+
+
+
+ ИнтернетПрокси
+
+
ИнтернетПрокси / InternetProxy
Параметры прокси-сервера для доступа в Интернет.
В текущей реализации поддерживается только HTTP прокси. Стандартные методы объекта ИнтернетПрокси из 1С:Предприятие для FTP и SOCKS не реализованы.
Свойства
-Пользователь / User
-Доступ: Чтение/Запись
-Пароль / Password
-Доступ: Чтение/Запись
НеИспользоватьПроксиДляАдресов / BypassProxyOnAddresses
Доступ: Чтение/Запись
НеИспользоватьПроксиДляЛокальныхАдресов / BypassProxyOnLocal
Доступ: Чтение/Запись
Методы
+Пользователь / User()
+Пароль / Password()
+Сервер / Server()
+Порт / Password()
+Установить / Set()
Конструкторы
Ручная настройка прокси
Конструктор для системных настроек прокси
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИнформацияОСценарии.htm b/system/OneScript/doc/stdlib/ИнформацияОСценарии.htm
index 4839466..afa5c49 100644
--- a/system/OneScript/doc/stdlib/ИнформацияОСценарии.htm
+++ b/system/OneScript/doc/stdlib/ИнформацияОСценарии.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ИнформацияОСценарии
-
-
+
+
+
+
+
+ ИнформацияОСценарии
+
+
ИнформацияОСценарии / ScriptInformation
Информация о выполняемом сценарии.
Свойства
@@ -15,6 +15,6 @@
Каталог / Path
Доступ: Чтение
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИнформацияОбОшибке.htm b/system/OneScript/doc/stdlib/ИнформацияОбОшибке.htm
index e2ea692..24fb99f 100644
--- a/system/OneScript/doc/stdlib/ИнформацияОбОшибке.htm
+++ b/system/OneScript/doc/stdlib/ИнформацияОбОшибке.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ИнформацияОбОшибке
-
-
+
+
+
+
+
+ ИнформацияОбОшибке
+
+
ИнформацияОбОшибке / ErrorInfo
Класс позволяет узнать информацию о произошедшем исключении.
Свойства
@@ -36,6 +36,6 @@
Строка.
Конструкторы
С возможностью передачи параметров
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ИнформацияОбОшибкеШаблон.htm b/system/OneScript/doc/stdlib/ИнформацияОбОшибкеШаблон.htm
index 5cc3db2..76869e5 100644
--- a/system/OneScript/doc/stdlib/ИнформацияОбОшибкеШаблон.htm
+++ b/system/OneScript/doc/stdlib/ИнформацияОбОшибкеШаблон.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ИнформацияОбОшибкеШаблон
-
-
+
+
+
+
+
+ ИнформацияОбОшибкеШаблон
+
+
ИнформацияОбОшибкеШаблон / ExceptionInfoTemplate
Служебный класс, создаваемый конструктором объекта "ИнформацияОбОшибке".
Превращается в полноценный объект ИнформацияОбОшибке в момент выброса исключения.
@@ -16,6 +16,6 @@
Свойства
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КвалификаторыДаты.htm b/system/OneScript/doc/stdlib/КвалификаторыДаты.htm
new file mode 100644
index 0000000..e1c9144
--- /dev/null
+++ b/system/OneScript/doc/stdlib/КвалификаторыДаты.htm
@@ -0,0 +1,18 @@
+
+
+
+
+
+ КвалификаторыДаты
+
+
+ КвалификаторыДаты / DateQualifiers
+Свойства
+ЧастиДаты /
+Доступ: Чтение
+Методы
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КвалификаторыДвоичныхДанных.htm b/system/OneScript/doc/stdlib/КвалификаторыДвоичныхДанных.htm
new file mode 100644
index 0000000..4e437b2
--- /dev/null
+++ b/system/OneScript/doc/stdlib/КвалификаторыДвоичныхДанных.htm
@@ -0,0 +1,20 @@
+
+
+
+
+
+ КвалификаторыДвоичныхДанных
+
+
+ КвалификаторыДвоичныхДанных / BinaryDataQualifiers
+Свойства
+Длина /
+Доступ: Чтение
+ДопустимаяДлина /
+Доступ: Чтение
+Методы
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КвалификаторыСтроки.htm b/system/OneScript/doc/stdlib/КвалификаторыСтроки.htm
new file mode 100644
index 0000000..9897de2
--- /dev/null
+++ b/system/OneScript/doc/stdlib/КвалификаторыСтроки.htm
@@ -0,0 +1,20 @@
+
+
+
+
+
+ КвалификаторыСтроки
+
+
+ КвалификаторыСтроки / StringQualifiers
+Свойства
+Длина /
+Доступ: Чтение
+ДопустимаяДлина /
+Доступ: Чтение
+Методы
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КвалификаторыЧисла.htm b/system/OneScript/doc/stdlib/КвалификаторыЧисла.htm
new file mode 100644
index 0000000..4ee5a86
--- /dev/null
+++ b/system/OneScript/doc/stdlib/КвалификаторыЧисла.htm
@@ -0,0 +1,22 @@
+
+
+
+
+
+ КвалификаторыЧисла
+
+
+ КвалификаторыЧисла / NumberQualifiers
+Свойства
+ДопустимыйЗнак /
+Доступ: Чтение
+Разрядность /
+Доступ: Чтение
+РазрядностьДробнойЧасти /
+Доступ: Чтение
+Методы
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КлючИЗначение.htm b/system/OneScript/doc/stdlib/КлючИЗначение.htm
index ba46edb..544766d 100644
--- a/system/OneScript/doc/stdlib/КлючИЗначение.htm
+++ b/system/OneScript/doc/stdlib/КлючИЗначение.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КлючИЗначение
-
-
+
+
+
+
+
+ КлючИЗначение
+
+
КлючИЗначение / KeyAndValue
Свойства
Ключ / Key
@@ -13,6 +13,6 @@
Значение / Value
Доступ: Чтение
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияАргументовКоманднойСтроки.htm b/system/OneScript/doc/stdlib/КоллекцияАргументовКоманднойСтроки.htm
index c59af57..236be54 100644
--- a/system/OneScript/doc/stdlib/КоллекцияАргументовКоманднойСтроки.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияАргументовКоманднойСтроки.htm
@@ -1,16 +1,16 @@
-
-
-
-
-
- КоллекцияАргументовКоманднойСтроки
-
-
+
+
+
+
+
+ КоллекцияАргументовКоманднойСтроки
+
+
КоллекцияАргументовКоманднойСтроки / CommandLineArgumentsCollection
Коллекция позволяет получить аргументы, переданные сценарию в командной строке.
Коллекция представляет собой массив в режиме "ТолькоДляЧтения". Обращение к аргументам осуществляется по порядковому индексу.
Свойства
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияГруппРегулярногоВыражения.htm b/system/OneScript/doc/stdlib/КоллекцияГруппРегулярногоВыражения.htm
index ca9a378..b3c53a7 100644
--- a/system/OneScript/doc/stdlib/КоллекцияГруппРегулярногоВыражения.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияГруппРегулярногоВыражения.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КоллекцияГруппРегулярногоВыражения
-
-
+
+
+
+
+
+ КоллекцияГруппРегулярногоВыражения
+
+
КоллекцияГруппРегулярногоВыражения / RegExGroupCollection
Свойства
Методы
@@ -13,6 +13,6 @@
Получает количество полученных групп.
Возвращаемое значение
Количество полученных групп.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияКолонокДереваЗначений.htm b/system/OneScript/doc/stdlib/КоллекцияКолонокДереваЗначений.htm
index 6dcc36f..b1acd37 100644
--- a/system/OneScript/doc/stdlib/КоллекцияКолонокДереваЗначений.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияКолонокДереваЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КоллекцияКолонокДереваЗначений
-
-
+
+
+
+
+
+ КоллекцияКолонокДереваЗначений
+
+
КоллекцияКолонокДереваЗначений / ValueTreeColumnCollection
Коллекция колонок дерева значений.
Свойства
@@ -15,16 +15,16 @@
Параметры
-
-
Name: Строка. Имя колонки.
+name: Строка. Имя колонки.
-
-
Type: ОписаниеТипов. Доступные типы значений для колонки. Необязательный параметр.
+type: ОписаниеТипов. Доступные типы значений для колонки. Необязательный параметр.
-
-
Title: Строка. Заголовок колонки. Необязательный параметр.
+title: Строка. Заголовок колонки. Необязательный параметр.
-
-
Width: Число. Ширина колонки. Необязательный параметр.
+width: Число. Ширина колонки. Необязательный параметр.
Возвращаемое значение
@@ -37,16 +37,16 @@
index: Число. Индекс новой колонки.
-Name: Строка. Имя колонки.
+name: Строка. Имя колонки.
-Type: ОписаниеТипов. Доступные типы значений для колонки. Необязательный параметр.
+type: ОписаниеТипов. Доступные типы значений для колонки. Необязательный параметр.
-Title: Строка. Заголовок колонки. Необязательный параметр.
+title: Строка. Заголовок колонки. Необязательный параметр.
-Width: Число. Ширина колонки. Необязательный параметр.
+width: Число. Ширина колонки. Необязательный параметр.
Возвращаемое значение
@@ -67,7 +67,7 @@
Ищет колонку по имени.
Параметры
-- Name: Строка. Имя искомой колонки.
+- name: Строка. Имя искомой колонки.
Возвращаемое значение
КолонкаДереваЗначений, Неопределено. Найденная колонка или Неопределено, если колонка не найдена.
@@ -95,9 +95,9 @@
column: КолонкаДереваЗначений. Колонка.
-Offset: Число. Смещение.
+offset: Число. Смещение.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияКолонокТаблицыЗначений.htm b/system/OneScript/doc/stdlib/КоллекцияКолонокТаблицыЗначений.htm
index 224b89e..6b4d35e 100644
--- a/system/OneScript/doc/stdlib/КоллекцияКолонокТаблицыЗначений.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияКолонокТаблицыЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КоллекцияКолонокТаблицыЗначений
-
-
+
+
+
+
+
+ КоллекцияКолонокТаблицыЗначений
+
+
КоллекцияКолонокТаблицыЗначений / ValueTableColumnCollection
Свойства
Методы
@@ -15,6 +15,6 @@
Количество / Count()
Найти / Find()
Удалить / Delete()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияСовпаденийРегулярногоВыражения.htm b/system/OneScript/doc/stdlib/КоллекцияСовпаденийРегулярногоВыражения.htm
index 3abda71..f475ac6 100644
--- a/system/OneScript/doc/stdlib/КоллекцияСовпаденийРегулярногоВыражения.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияСовпаденийРегулярногоВыражения.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КоллекцияСовпаденийРегулярногоВыражения
-
-
+
+
+
+
+
+ КоллекцияСовпаденийРегулярногоВыражения
+
+
КоллекцияСовпаденийРегулярногоВыражения / RegExMatchCollection
Свойства
Методы
@@ -13,6 +13,6 @@
Получает количество полученных совпадений.
Возвращаемое значение
Количество полученных совпадений.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КоллекцияСтрокДереваЗначений.htm b/system/OneScript/doc/stdlib/КоллекцияСтрокДереваЗначений.htm
index dc61eea..2e2bf6a 100644
--- a/system/OneScript/doc/stdlib/КоллекцияСтрокДереваЗначений.htm
+++ b/system/OneScript/doc/stdlib/КоллекцияСтрокДереваЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КоллекцияСтрокДереваЗначений
-
-
+
+
+
+
+
+ КоллекцияСтрокДереваЗначений
+
+
КоллекцияСтрокДереваЗначений / ValueTreeRowCollection
Коллекция строк дерева значений.
Свойства
@@ -36,24 +36,24 @@
Удаляет строку из коллекции.
Параметры
-- index: СтрокаДереваЗначений, Число. Удаляемая строка или её индекс.
+- row: СтрокаДереваЗначений, Число. Удаляемая строка или её индекс.
ЗагрузитьКолонку / LoadColumn()
Загружает значения из массива в колонку.
Параметры
-
-
Values: Массив. Значения.
+values: Массив. Значения.
-
-
ColumnIndex: КолонкаДереваЗначений, Число, Строка. Колонка, в которую будут загружены значения, её имя или индекс.
+columnIndex: КолонкаДереваЗначений, Число, Строка. Колонка, в которую будут загружены значения, её имя или индекс.
ВыгрузитьКолонку / UnloadColumn()
Загружает значения из массива в колонку.
Параметры
-- Column: КолонкаДереваЗначений, Число, Строка. Колонка, из которой будут выгружены значения, её имя или индекс.
+- column: КолонкаДереваЗначений, Число, Строка. Колонка, из которой будут выгружены значения, её имя или индекс.
Возвращаемое значение
Массив. Массив значений.
@@ -61,7 +61,7 @@
Определяет индекс строки.
Параметры
-- column: СтрокаДереваЗначений. Строка.
+- row: СтрокаДереваЗначений. Строка.
Возвращаемое значение
Число. Индекс строки в коллекции. Если строка не найдена, возвращается -1.
@@ -70,10 +70,10 @@
Параметры
-
-
ColumnIndex: КолонкаДереваЗначений, Строка, Число. Колонка, значения которой будут суммироваться.
+columnIndex: КолонкаДереваЗначений, Строка, Число. Колонка, значения которой будут суммироваться.
-
-
IncludeChildren: Булево. Если Истина, в расчёт будут включены все вложенные строки.
+includeChildren: Булево. Если Истина, в расчёт будут включены все вложенные строки.
Возвращаемое значение
@@ -83,13 +83,13 @@
Параметры
-
-
Value: Произвольный. Искомое значение.
+value: Произвольный. Искомое значение.
-
-
ColumnNames: Строка. Список колонок через запятую, в которых будет производиться поиск. Необязательный параметр.
+columnNames: Строка. Список колонок через запятую, в которых будет производиться поиск. Необязательный параметр.
-
-
IncludeChildren: Булево. Если Истина, в поиск будут включены все вложенные строки. Необязательный параметр.
+includeChildren: Булево. Если Истина, в поиск будут включены все вложенные строки. Необязательный параметр.
Возвращаемое значение
@@ -99,10 +99,10 @@
Параметры
-
-
Filter: Структура. Структура, в которой Ключ - это имя колонки, а Значение - искомое значение.
+filter: Структура. Структура, в которой Ключ - это имя колонки, а Значение - искомое значение.
-
-
IncludeChildren: Булево. Если Истина, в поиск будут включены все вложенные строки. Необязательный параметр.
+includeChildren: Булево. Если Истина, в поиск будут включены все вложенные строки. Необязательный параметр.
Возвращаемое значение
@@ -122,10 +122,10 @@
Параметры
Сортировать / Sort()
@@ -137,14 +137,14 @@
пробел может указываться направление сортировки: Возр(Asc) - по возрастанию, Убыв(Desc) - по убыванию.
-SortChildren: Булево. Если Истина, сортировка будет применена также к вложенным строкам.
+sortChildren: Булево. Если Истина, сортировка будет применена также к вложенным строкам.
-Comparator: СравнениеЗначений. Не используется.
+comparator: СравнениеЗначений. Не используется.
ВыбратьСтроку / ChooseRow()
Не поддерживается.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КолонкаДереваЗначений.htm b/system/OneScript/doc/stdlib/КолонкаДереваЗначений.htm
index d7fa690..b366fa8 100644
--- a/system/OneScript/doc/stdlib/КолонкаДереваЗначений.htm
+++ b/system/OneScript/doc/stdlib/КолонкаДереваЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КолонкаДереваЗначений
-
-
+
+
+
+
+
+ КолонкаДереваЗначений
+
+
КолонкаДереваЗначений / ValueTreeColumn
Колонка дерева значений.
Свойства
@@ -18,6 +18,6 @@
Ширина / Width
Доступ: Чтение/Запись
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КолонкаТаблицыЗначений.htm b/system/OneScript/doc/stdlib/КолонкаТаблицыЗначений.htm
index 067436f..fb9e5ce 100644
--- a/system/OneScript/doc/stdlib/КолонкаТаблицыЗначений.htm
+++ b/system/OneScript/doc/stdlib/КолонкаТаблицыЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- КолонкаТаблицыЗначений
-
-
+
+
+
+
+
+ КолонкаТаблицыЗначений
+
+
КолонкаТаблицыЗначений / ValueTableColumn
Свойства
Заголовок / Title
@@ -17,6 +17,6 @@
Ширина / Width
Доступ: Чтение/Запись
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Консоль.htm b/system/OneScript/doc/stdlib/Консоль.htm
index bf9b0e7..7156a7c 100644
--- a/system/OneScript/doc/stdlib/Консоль.htm
+++ b/system/OneScript/doc/stdlib/Консоль.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Консоль
-
-
+
+
+
+
+
+ Консоль
+
+
Консоль / Console
Класс представляет собой инструмент доступа к системной консоли.
Предназначен для низкоуровнего манипулирования выводом в консоль.
@@ -24,6 +24,9 @@
Доступ: Чтение/Запись
ЦветФона / BackgroundColor
Доступ: Чтение/Запись
+КодировкаВходногоПотока / InputEncoding
+Доступ: Чтение/Запись
+Возвращает или задает кодировку консоли, используемую при чтении входных данных.
Методы
ПрочитатьСтроку / ReadLine()
Прочитать / Read()
@@ -33,6 +36,6 @@
ВидимостьКурсора / CursorVisible()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/КонтекстПространствИменXML.htm b/system/OneScript/doc/stdlib/КонтекстПространствИменXML.htm
new file mode 100644
index 0000000..284ab77
--- /dev/null
+++ b/system/OneScript/doc/stdlib/КонтекстПространствИменXML.htm
@@ -0,0 +1,23 @@
+
+
+
+
+
+ КонтекстПространствИменXML
+
+
+ КонтекстПространствИменXML / XMLNamespaceContext
+Свойства
+Глубина / Depth
+Доступ: Чтение
+ПространствоИменПоУмолчанию / DefaultNamespace
+Доступ: Чтение
+Методы
+URIПространствИмен / NamespaceURIs()
+НайтиURIПространстваИмен / LookupNamespaceURI()
+НайтиПрефикс / LookupPrefix()
+Префиксы / Prefixes()
+СоответствияПространствИмен / NamespaceMappings()
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Массив.htm b/system/OneScript/doc/stdlib/Массив.htm
index a5acda9..f5ed3bf 100644
--- a/system/OneScript/doc/stdlib/Массив.htm
+++ b/system/OneScript/doc/stdlib/Массив.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Массив
-
-
+
+
+
+
+
+ Массив
+
+
Массив / Array
Свойства
Методы
@@ -26,6 +26,6 @@
- dimensions: Числовые размерности массива. Например, "Массив(2,3)", создает двумерный массив 2х3.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/МенеджерФайловыхПотоков.htm b/system/OneScript/doc/stdlib/МенеджерФайловыхПотоков.htm
new file mode 100644
index 0000000..02f0b92
--- /dev/null
+++ b/system/OneScript/doc/stdlib/МенеджерФайловыхПотоков.htm
@@ -0,0 +1,89 @@
+
+
+
+
+
+ МенеджерФайловыхПотоков
+
+
+ МенеджерФайловыхПотоков / FileStreamsManager
+Предоставляет методы для использования в типовых сценариях работы с файлами.
+Свойства
+Методы
+Открыть / Open()
+Открывает файл в заданном режиме с возможностью чтения и записи.
+Файл открывается в режиме разделяемого чтения.
+Параметры
+
+-
+
fileName: Имя открываемого файла.
+
+-
+
openingMode: Режим открытия файла.
+
+-
+
fileAccess: Режим доступа к файлу.
+
+-
+
bufferSize: Размер буфера для операций с файлом.
+
+
+Возвращаемое значение
+Специализированная версия объекта Поток для работы данными, расположенными в файле на диске. Предоставляет возможность чтения из потока, записи в поток и изменения текущей позиции.
+По умолчанию, все операции с файловым потоком являются буферизированными, размер буфера по умолчанию - 8 КБ.
+Размер буфера можно изменить, в том числе - полностью отключить буферизацию при вызове конструктора.
+Следует учитывать, что помимо буферизации существует кэширование чтения и записи файлов в операционной системе, на которое невозможно повлиять программно.
+ОткрытьДляДописывания / OpenForAppend()
+Открыть существующий файл для записи в конец. Если файл не существует, то будет создан новый файл. Запись в существующий файл выполняется с конца файла. Файл открывается в режиме разделяемого чтения.
+Параметры
+
+- fileName: Имя открываемого файла.
+
+ОткрытьДляЗаписи / OpenForWrite()
+Открывает существующий файл для записи. Файл открывается в режиме разделяемого чтения. Если файл не найден, будет создан новый файл. Запись в существующий файл производится с начала файла, замещая ранее сохраненные данные.
+Параметры
+
+- fileName: Имя открываемого файла.
+
+Возвращаемое значение
+Специализированная версия объекта Поток для работы данными, расположенными в файле на диске. Предоставляет возможность чтения из потока, записи в поток и изменения текущей позиции.
+По умолчанию, все операции с файловым потоком являются буферизированными, размер буфера по умолчанию - 8 КБ.
+Размер буфера можно изменить, в том числе - полностью отключить буферизацию при вызове конструктора.
+Следует учитывать, что помимо буферизации существует кэширование чтения и записи файлов в операционной системе, на которое невозможно повлиять программно.
+ОткрытьДляЧтения / OpenForRead()
+Открывает существующий файл для чтения с общим доступом на чтение.
+Параметры
+
+- fileName: Имя открываемого файла.
+
+Возвращаемое значение
+Создать / Create()
+Создает или перезаписывает файл и открывает поток с возможностью чтения и записи в файл. Файл открывается в режиме разделяемого чтения.
+Параметры
+
+Возвращаемое значение
+СоздатьВременныйФайл / CreateTempFile()
+НЕ РЕАЛИЗОВАН
+Создает временный файл и открывает его в монопольном режиме с возможностью чтения и записи. Дополнительно можно установить лимит в байтах, при превышении которого будет создан файл на диске. Пока размер файла не превышает данного лимита - вся работа ведётся в памяти.
+Параметры
+
+-
+
MemoryLimit: Максимальный объем памяти (в байтах), при превышении которого будет создан файл на диске.
+Значение по умолчанию: 65535.
+
+-
+
BufferSize: Размер буфера для операций с файлом (в байтах).
+Значение по умолчанию: 8192.
+
+
+Возвращаемое значение
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Операции со строками.htm b/system/OneScript/doc/stdlib/Операции со строками.htm
index 6001492..8e04bcd 100644
--- a/system/OneScript/doc/stdlib/Операции со строками.htm
+++ b/system/OneScript/doc/stdlib/Операции со строками.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Операции со строками
-
-
+
+
+
+
+
+ Операции со строками
+
+
Операции со строками
Свойства
Методы
@@ -78,6 +78,27 @@
Возвращаемое значение
-1 первая строка больше, 1 - вторая строка больше. 0 - строки равны
СтрНайти / StrFind()
-
-
+Находит вхождение искомой строки как подстроки в исходной строке
+Параметры
+
+-
+
haystack: Строка, в которой ищем
+
+-
+
needle: Строка, которую надо найти
+
+-
+
direction: значение перечисления НаправлениеПоиска (с конца/с начала)
+
+-
+
startPos: Начальная позиция, с которой начинать поиск
+
+-
+
occurance: Указывает номер вхождения искомой подстроки в исходной строке
+
+
+Возвращаемое значение
+Позицию искомой строки в исходной строке. Возвращает 0, если подстрока не найдена.
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ОписаниеТипов.htm b/system/OneScript/doc/stdlib/ОписаниеТипов.htm
new file mode 100644
index 0000000..819c33a
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ОписаниеТипов.htm
@@ -0,0 +1,27 @@
+
+
+
+
+
+ ОписаниеТипов
+
+
+ ОписаниеТипов / TypeDescription
+Свойства
+КвалификаторыЧисла /
+Доступ: Чтение
+КвалификаторыСтроки /
+Доступ: Чтение
+КвалификаторыДаты /
+Доступ: Чтение
+КвалификаторыДвоичныхДанных /
+Доступ: Чтение
+Методы
+Типы / ()
+СодержитТип / ()
+ПривестиЗначение / ()
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ОписаниеФайлаPostЗапроса.htm b/system/OneScript/doc/stdlib/ОписаниеФайлаPostЗапроса.htm
new file mode 100644
index 0000000..4c5e363
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ОписаниеФайлаPostЗапроса.htm
@@ -0,0 +1,26 @@
+
+
+
+
+
+ ОписаниеФайлаPostЗапроса
+
+
+ ОписаниеФайлаPostЗапроса / PostFileDecription
+Свойства
+Имя / Name
+Доступ: Чтение
+ИмяФайла / FileName
+Доступ: Чтение
+РасположениеСодержимого / ContentDisposition
+Доступ: Чтение
+ТипСодержимого / ContentType
+Доступ: Чтение
+Размер / Size
+Доступ: Чтение
+Данные / Data
+Доступ: Чтение
+Методы
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ПараметрыЗаписиJSON.htm b/system/OneScript/doc/stdlib/ПараметрыЗаписиJSON.htm
new file mode 100644
index 0000000..c61e989
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ПараметрыЗаписиJSON.htm
@@ -0,0 +1,99 @@
+
+
+
+
+
+ ПараметрыЗаписиJSON
+
+
+ ПараметрыЗаписиJSON / JSONWriterSettings
+Определяет набор параметров, используемых при записи JSON.
+Свойства
+ИспользоватьДвойныеКавычки / UseDoubleQuotes
+Доступ: Чтение
+Определяет использование двойных кавычек при записи свойств и значений JSON.
+После создания объекта данное свойство имеет значение Истина.
+ПереносСтрок / NewLines
+Доступ: Чтение
+Управляет размещением начала и конца объектов и массивов, ключей и значений на новой строке.
+Также установка данного свойства в значение, отличное от Нет, добавляет пробел между именем свойства, двоеточием и значением.
+После создания объекта данное свойство имеет значение Авто.
+СимволыОтступа / PaddingSymbols
+Доступ: Чтение
+Определяет символы отступа, используемые при записи документа JSON.
+Свойство не используется, если свойство ПереносСтрокJSON установлено в значение Нет.
+После создания объекта данное свойство имеет значение - один пробельный символ.
+ЭкранированиеСимволов / EscapeCharacters
+Доступ: Чтение
+Определяет способ экранирования символов при записи документа JSON.
+После создания объекта данное свойство имеет значение СимволыВнеASCII.
+ЭкранироватьАмперсанд / EscapeAmpersand
+Доступ: Чтение
+Определяет, будет ли экранироваться знак амперсанда при записи документа JSON.
+После создания объекта данное свойство имеет значение Ложь.
+ЭкранироватьОдинарныеКавычки / EscapeSingleQuotes
+Доступ: Чтение
+Определяет, будет ли экранирован знак одинарной кавычки при записи документа JSON.
+Имеет значение Истина, если ИспользоватьДвойныеКавычки установлен Ложь.
+После создания объекта данное свойство имеет значение Ложь
+ЭкранироватьРазделителиСтрок / EscapeLineTerminators
+Доступ: Чтение
+Определяет экранирование символов "U+2028" (разделитель строк) и "U+2029" (разделитель абзацев) для совместимости с JavaScript.
+После создания объекта данное свойство имеет значение Истина.
+ЭкранироватьСлеш / EscapeSlash
+Доступ: Чтение
+Определяет, будет ли экранироваться слеш (косая черта) при записи значения.
+После создания объекта данное свойство имеет значение Ложь.
+ЭкранироватьУгловыеСкобки / EscapeAngleBrackets
+Доступ: Чтение
+Определяет, будут ли экранированы знаки угловых скобок при записи документа JSON.
+После создания объекта данное свойство имеет значение Ложь.
+Методы
+Конструкторы
+По умолчанию
+Создает объект параметров записи JSON.
+Параметры
+
+-
+
NewLines: Определяет способ переноса строк, который будет использован при записи данных JSON.
+Значение по умолчанию: Авто.
+
+-
+
PaddingSymbols: Определяет символы отступа, используемые при записи данных JSON.
+Применяется только, если значение ПереносСтрокJSON отлично от Нет.
+Значение по умолчанию: " ".
+
+-
+
UseDoubleQuotes: Определяет, будут ли при записи имена свойств JSON записываться в двойных кавычках.
+Значение по умолчанию: Истина.
+
+-
+
EscapeCharacters: Определяет используемый способ экранирования (замены) символов при записи данных JSON.
+Значение по умолчанию: Нет.
+
+-
+
EscapeAngleBrackets: Определяет, будут ли при записи экранироваться символы '<' и '>'.
+Значение по умолчанию: Ложь.
+
+-
+
EscapeLineTerminators: Определяет, будут ли экранироваться разделители строк - U+2028 (line-separator) и U+2029 (page-separator).
+Значение по умолчанию: Истина.
+
+-
+
EscapeAmpersand: Определяет, будет ли при записи экранироваться символ амперсанда '&'.
+Значение по умолчанию: Ложь.
+
+-
+
EscapeSingleQuotes: Определяет, будут ли экранироваться одинарные кавычки.
+Устанавливается в значение Истина, если ИспользоватьДвойныеКавычки установлено в Ложь.
+Значение по умолчанию: Ложь.
+
+-
+
EscapeSlash: Определяет, будет ли экранироваться слеш (косая черта) при записи значения.
+Значение по умолчанию: Ложь.
+
+
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Поток.htm b/system/OneScript/doc/stdlib/Поток.htm
new file mode 100644
index 0000000..552d553
--- /dev/null
+++ b/system/OneScript/doc/stdlib/Поток.htm
@@ -0,0 +1,108 @@
+
+
+
+
+
+ Поток
+
+
+ Поток / Stream
+Представляет собой поток данных, который можно последовательно читать и/или в который можно последовательно писать.
+Экземпляры объектов данного типа можно получить с помощью различных методов других объектов.
+Свойства
+ДоступнаЗапись / CanWrite
+Доступ: Чтение
+Признак доступности записи в поток.
+ДоступноИзменениеПозиции / CanSeek
+Доступ: Чтение
+Признак доступности произвольного изменения позиции чтения/записи в потоке.
+ДоступноЧтение / CanRead
+Доступ: Чтение
+Признак доступности чтения из потока.
+Методы
+Закрыть / Close()
+Вызов данного метода завершает работу с потоком. При попытке вызвать любой метод объекта, кроме метода Закрыть, будет вызвано исключение.
+При повторном вызове данного метода никаких действий выполняться не будет.
+Выполняемое действие зависит от используемого типа потока.
+Записать / Write()
+Записывает в поток заданное количество байтов из буфера по заданному смещению. Если в буфере меньше данных, чем требуется записать, вызывается исключение о недостаточном количестве данных в буфере.
+Запись в поток возможна только, если поток поддерживает запись. В противном случае при вызове метода будет вызвано исключение.
+Параметры
+
+-
+
buffer: Буфер, из которого выбираются данные для записи.
+
+-
+
positionInBuffer: Позиция в буфере, начиная с которой данные будут получены для записи в поток.
+
+-
+
number: Количество байт, которые требуется записать.
+
+
+КопироватьВ / CopyTo()
+Копирует данные из текущего потока в другой поток.
+Параметры
+
+-
+
targetStream: Поток, в который будет выполняться копирование.
+
+-
+
bufferSize: Размер буфера, используемого при копировании.
+Если параметр не задан, то система подбирает размер буфера автоматически.
+
+
+Перейти / Seek()
+Сдвигает текущую позицию потока на заданное количество байтов относительно начальной позиции. Если указано отрицательное смещение, позиция сдвигается в направлении к началу потока.
+Если изменение позиции недоступно (ДоступноИзменениеПозиции установлено в Ложь), будет сгенерировано исключение.
+Параметры
+
+-
+
offset: Количество байтов, на которое нужно передвинуть позицию в потоке.
+
+-
+
initialPosition: Начальная позиция, от которой отсчитывается смещение.
+
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+ПолучитьПотокТолькоДляЧтения / GetReadonlyStream()
+Возвращает поток, который разделяет данные и текущую позицию с данным потоком, но не разрешает запись.
+Возвращаемое значение
+Представляет собой поток данных, который можно последовательно читать и/или в который можно последовательно писать.
+Экземпляры объектов данного типа можно получить с помощью различных методов других объектов.
+Прочитать / Read()
+Выполняет чтение заданного количества байтов в указанный буфер по указанному смещению. Текущая позиция смещается вперед на фактическое количество прочитанных байтов.
+Чтение из потока возможно только, если поток поддерживает чтение. В противном случае, будет вызвано исключение.
+При чтении размер целевого буфера не меняется, а его содержимое перезаписывается фактически прочитанными данными. Если в буфере недостаточно места для записи прочитанных данных, происходит ошибка переполнения.
+Параметры
+
+-
+
buffer: Буфер, в который выполняется чтение.
+
+-
+
positionInBuffer: Позиция в целевом буфере, начиная с которой требуется записывать данные из потока.
+
+-
+
number: Количество байт, которые требуется записать в целевой буфер.
+
+
+Возвращаемое значение
+Возвращает число прочитанных байт
+Размер / Size()
+Получает размер данных в байтах.
+СброситьБуферы / Flush()
+Сбрасывает все промежуточные буферы и производит запись всех незаписанных данных в целевое устройство.
+ТекущаяПозиция / CurrentPosition()
+Возвращает текущую позицию в потоке.
+Возвращаемое значение
+УстановитьРазмер / SetSize()
+Устанавливает размер потока.
+Если текущий размер превышает заданный, поток будет сокращен до заданного размера, а информация, превышающая заданный размер, будет потеряна.
+Если текущий размер потока меньше заданного, то содержимое потока между старым и новым размером не определено.
+Параметры
+
+- size: Устанавливаемый размер потока.
+
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ПотокВПамяти.htm b/system/OneScript/doc/stdlib/ПотокВПамяти.htm
new file mode 100644
index 0000000..4d80607
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ПотокВПамяти.htm
@@ -0,0 +1,117 @@
+
+
+
+
+
+ ПотокВПамяти
+
+
+ ПотокВПамяти / MemoryStream
+Представляет собой поток данных, который можно последовательно читать и/или в который можно последовательно писать.
+Экземпляры объектов данного типа можно получить с помощью различных методов других объектов.
+Свойства
+ДоступнаЗапись / CanWrite
+Доступ: Чтение
+Признак доступности записи в поток.
+ДоступноИзменениеПозиции / CanSeek
+Доступ: Чтение
+Признак доступности произвольного изменения позиции чтения/записи в потоке.
+ДоступноЧтение / CanRead
+Доступ: Чтение
+Признак доступности чтения из потока.
+Методы
+Закрыть / Close()
+Вызов данного метода завершает работу с потоком. При попытке вызвать любой метод объекта, кроме метода Закрыть, будет вызвано исключение.
+При повторном вызове данного метода никаких действий выполняться не будет.
+Выполняемое действие зависит от используемого типа потока.
+Записать / Write()
+Записывает в поток заданное количество байтов из буфера по заданному смещению. Если в буфере меньше данных, чем требуется записать, вызывается исключение о недостаточном количестве данных в буфере.
+Запись в поток возможна только, если поток поддерживает запись. В противном случае при вызове метода будет вызвано исключение.
+Параметры
+
+-
+
buffer: Буфер, из которого выбираются данные для записи.
+
+-
+
positionInBuffer: Позиция в буфере, начиная с которой данные будут получены для записи в поток.
+
+-
+
number: Количество байт, которые требуется записать.
+
+
+КопироватьВ / CopyTo()
+Копирует данные из текущего потока в другой поток.
+Параметры
+
+-
+
targetStream: Поток, в который будет выполняться копирование.
+
+-
+
bufferSize: Размер буфера, используемого при копировании.
+Если параметр не задан, то система подбирает размер буфера автоматически.
+
+
+Перейти / Seek()
+Сдвигает текущую позицию потока на заданное количество байтов относительно начальной позиции. Если указано отрицательное смещение, позиция сдвигается в направлении к началу потока.
+Если изменение позиции недоступно (ДоступноИзменениеПозиции установлено в Ложь), будет сгенерировано исключение.
+Параметры
+
+-
+
offset: Количество байтов, на которое нужно передвинуть позицию в потоке.
+
+-
+
initialPosition: Начальная позиция, от которой отсчитывается смещение.
+
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+ПолучитьПотокТолькоДляЧтения / GetReadonlyStream()
+Возвращает поток, который разделяет данные и текущую позицию с данным потоком, но не разрешает запись.
+Возвращаемое значение
+Прочитать / Read()
+Выполняет чтение заданного количества байтов в указанный буфер по указанному смещению. Текущая позиция смещается вперед на фактическое количество прочитанных байтов.
+Чтение из потока возможно только, если поток поддерживает чтение. В противном случае, будет вызвано исключение.
+При чтении размер целевого буфера не меняется, а его содержимое перезаписывается фактически прочитанными данными. Если в буфере недостаточно места для записи прочитанных данных, происходит ошибка переполнения.
+Параметры
+
+-
+
buffer: Буфер, в который выполняется чтение.
+
+-
+
positionInBuffer: Позиция в целевом буфере, начиная с которой требуется записывать данные из потока.
+
+-
+
number: Количество байт, которые требуется записать в целевой буфер.
+
+
+Возвращаемое значение
+Возвращает число прочитанных байт
+Размер / Size()
+Получает размер данных в байтах.
+СброситьБуферы / Flush()
+Сбрасывает все промежуточные буферы и производит запись всех незаписанных данных в целевое устройство.
+ТекущаяПозиция / CurrentPosition()
+Возвращает текущую позицию в потоке.
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+УстановитьРазмер / SetSize()
+Устанавливает размер потока.
+Если текущий размер превышает заданный, поток будет сокращен до заданного размера, а информация, превышающая заданный размер, будет потеряна.
+Если текущий размер потока меньше заданного, то содержимое потока между старым и новым размером не определено.
+Параметры
+
+- size: Устанавливаемый размер потока.
+
+Конструкторы
+По буферу или начальной емкости
+Создает поток, в качестве нижележащего хранилища для которого используется заданный байтовый буфер. Ёмкость потока ограничена размером буфера. При выходе за границы буфера будет сгенерировано исключение.
+Возможность записи в поток зависит от возможности изменения передаваемого буфера.
+Параметры
+
+- bufferOrCapacity: Буфер, на основании которого будет создан поток или начальная емкость будущего потока.
+
+По умолчанию
+Создает поток в памяти с расширяемой емкостью. Данный вариант можно использовать для работы с достаточно большими объемами данных, т.к. данные хранятся постранично, а не в виде одного последовательного блока.
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ПотокВводаТекста.htm b/system/OneScript/doc/stdlib/ПотокВводаТекста.htm
index a7b5e2a..015540a 100644
--- a/system/OneScript/doc/stdlib/ПотокВводаТекста.htm
+++ b/system/OneScript/doc/stdlib/ПотокВводаТекста.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ПотокВводаТекста
-
-
+
+
+
+
+
+ ПотокВводаТекста
+
+
ПотокВводаТекста / TextInputStream
Стандартный поток ввода текста. Используется для взаимодействия с работающими процессами.
Методы работают подобно одноименным методам объекта ЗаписьТекста.
@@ -14,6 +14,6 @@
Записать / Write()
ЗаписатьСтроку / WriteLine()
Закрыть / Close()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ПотокВыводаТекста.htm b/system/OneScript/doc/stdlib/ПотокВыводаТекста.htm
index e2021be..01e68af 100644
--- a/system/OneScript/doc/stdlib/ПотокВыводаТекста.htm
+++ b/system/OneScript/doc/stdlib/ПотокВыводаТекста.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ПотокВыводаТекста
-
-
+
+
+
+
+
+ ПотокВыводаТекста
+
+
ПотокВыводаТекста / TextOutputStream
Стандартный поток вывода текста.
Свойства
@@ -32,6 +32,6 @@
Строка
Закрыть / Close()
Закрыть поток.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Процедуры и функции взаимодействия с системой.htm b/system/OneScript/doc/stdlib/Процедуры и функции взаимодействия с системой.htm
index ea46cc8..55be2d9 100644
--- a/system/OneScript/doc/stdlib/Процедуры и функции взаимодействия с системой.htm
+++ b/system/OneScript/doc/stdlib/Процедуры и функции взаимодействия с системой.htm
@@ -1,20 +1,33 @@
-
-
-
-
-
- Процедуры и функции взаимодействия с системой
-
-
+
+
+
+
+
+ Процедуры и функции взаимодействия с системой
+
+
Процедуры и функции взаимодействия с системой
Глобальный контекст. Представляет глобально доступные свойства и методы.
Свойства
+ФайловыеПотоки / FileStreams
+Доступ: Чтение
+Менеджер файловых потоков.
АргументыКоманднойСтроки / CommandLineArguments
Доступ: Чтение
Доступ к аргументам командной строки.
Объект АргументыКоманднойСтроки представляет собой массив в режиме "только чтение".
Методы
Сообщить / Message()
+Выдает сообщение в консоль.
+Параметры
+
ПодключитьСценарий / AttachScript()
Подключает сторонний файл сценария к текущей системе типов.
Подключенный сценарий выступает, как самостоятельный класс, создаваемый оператором Новый
@@ -177,6 +190,7 @@
Текущая дата машины
Возвращаемое значение
Дата
+ТекущаяУниверсальнаяДатаВМиллисекундах / CurrentUniversalDateInMilliseconds()
ЗначениеЗаполнено / IsValueFilled()
Проверяет заполненность значения по принципу, заложенному в 1С:Предприятии
Параметры
@@ -201,6 +215,6 @@
ignoredProperties: Игнорируемые свойства (строка, через запятую)
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Процесс.htm b/system/OneScript/doc/stdlib/Процесс.htm
index 26f900d..44d5fc2 100644
--- a/system/OneScript/doc/stdlib/Процесс.htm
+++ b/system/OneScript/doc/stdlib/Процесс.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Процесс
-
-
+
+
+
+
+
+ Процесс
+
+
Процесс / Process
Позволяет управлять процессом операционной системы. Получать текст из стандартных потоков,
проверять активность, pid, завершать процесс и т.п.
@@ -15,16 +15,17 @@
Устанавливает кодировку в которой будут считываться стандартные потоки вывода и ошибок.
ПотокВывода / StdOut
Доступ: Чтение
-ПотокВыводаТекста. Стандартный поток вывода (stdout)
+ПотокВыводаТекста. Стандартный поток вывода (stdout)
+в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
ПотокОшибок / StdErr
Доступ: Чтение
-ПотокВыводаТекста. Стандартный поток вывода ошибок (stderr)
+ПотокВыводаТекста. Стандартный поток вывода ошибок (stderr)
+в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
ПотокВвода / StdIn
Доступ: Чтение
ПотокВводаТекста. Стандартный поток ввода (stdin)
Завершен / HasExited
Доступ: Чтение
-Флаг указывает, что процесс завершен (или нет)
КодВозврата / ExitCode
Доступ: Чтение
Код возврата завершенного процесса.
@@ -33,10 +34,11 @@
PID процесса
Методы
Запустить / Start()
-Запустить процесс на выполнение.
+Запустить процесс на выполнение.
+в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
ОжидатьЗавершения / WaitForExit()
Приостановить выполнение скрипта и ожидать завершения процесса.
Завершить / Stop()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Прочие функции.htm b/system/OneScript/doc/stdlib/Прочие функции.htm
index 9b57032..7607cba 100644
--- a/system/OneScript/doc/stdlib/Прочие функции.htm
+++ b/system/OneScript/doc/stdlib/Прочие функции.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Прочие функции
-
-
+
+
+
+
+
+ Прочие функции
+
+
Прочие функции
Свойства
Методы
@@ -13,6 +13,6 @@
Base64Значение / Base64Value()
КодироватьСтроку / EncodeString()
РаскодироватьСтроку / DecodeString()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Работа с настройками системы.htm b/system/OneScript/doc/stdlib/Работа с настройками системы.htm
index fbb8922..d2396b1 100644
--- a/system/OneScript/doc/stdlib/Работа с настройками системы.htm
+++ b/system/OneScript/doc/stdlib/Работа с настройками системы.htm
@@ -1,16 +1,16 @@
-
-
-
-
-
- Работа с настройками системы
-
-
+
+
+
+
+
+ Работа с настройками системы
+
+
Работа с настройками системы
Свойства
Методы
ОбновитьНастройкиСистемы / RefreshSystemConfig()
ПолучитьЗначениеСистемнойНастройки / GetSystemOptionValue()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/РегулярноеВыражение.htm b/system/OneScript/doc/stdlib/РегулярноеВыражение.htm
index 3c89eb5..4cf538f 100644
--- a/system/OneScript/doc/stdlib/РегулярноеВыражение.htm
+++ b/system/OneScript/doc/stdlib/РегулярноеВыражение.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- РегулярноеВыражение
-
-
+
+
+
+
+
+ РегулярноеВыражение
+
+
РегулярноеВыражение / Regex
Свойства
ИгнорироватьРегистр / IgnoreCase
@@ -76,8 +76,8 @@
Конструктор создания регулярного выражения по заданному шаблону.
Параметры
-- patternString: Строка-шаблон регулярного выражения.
+- pattern: Строка-шаблон регулярного выражения.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Рефлектор.htm b/system/OneScript/doc/stdlib/Рефлектор.htm
index 447feac..6866e19 100644
--- a/system/OneScript/doc/stdlib/Рефлектор.htm
+++ b/system/OneScript/doc/stdlib/Рефлектор.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Рефлектор
-
-
+
+
+
+
+
+ Рефлектор
+
+
Рефлектор / Reflector
Рефлектор предназначен для получения метаданных объектов во время выполнения.
Как правило, рефлексия используется для проверки наличия у объекта определенных свойств/методов.
@@ -51,6 +51,6 @@
Таблица значений с 3 колонками - Имя, КоличествоПараметров, ЭтоФункция.
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/СистемнаяИнформация.htm b/system/OneScript/doc/stdlib/СистемнаяИнформация.htm
index 8626293..5328c48 100644
--- a/system/OneScript/doc/stdlib/СистемнаяИнформация.htm
+++ b/system/OneScript/doc/stdlib/СистемнаяИнформация.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- СистемнаяИнформация
-
-
+
+
+
+
+
+ СистемнаяИнформация
+
+
СистемнаяИнформация / SystemInfo
Класс предоставляет информацию о системе
Свойства
@@ -52,6 +52,6 @@
Строка. Значение переменной
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/СовпадениеРегулярногоВыражения.htm b/system/OneScript/doc/stdlib/СовпадениеРегулярногоВыражения.htm
index 77db77d..b2a6a01 100644
--- a/system/OneScript/doc/stdlib/СовпадениеРегулярногоВыражения.htm
+++ b/system/OneScript/doc/stdlib/СовпадениеРегулярногоВыражения.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- СовпадениеРегулярногоВыражения
-
-
+
+
+
+
+
+ СовпадениеРегулярногоВыражения
+
+
СовпадениеРегулярногоВыражения / RegExMatch
Свойства
Значение / Value
@@ -21,6 +21,6 @@
Доступ: Чтение
Коллекция найденных групп (тип КоллекцияГруппРегулярногоВыражения).
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Соответствие.htm b/system/OneScript/doc/stdlib/Соответствие.htm
index 7d48882..8b0f695 100644
--- a/system/OneScript/doc/stdlib/Соответствие.htm
+++ b/system/OneScript/doc/stdlib/Соответствие.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Соответствие
-
-
+
+
+
+
+
+ Соответствие
+
+
Соответствие / Map
Свойства
Методы
@@ -16,6 +16,6 @@
Удалить / Delete()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/СписокЗначений.htm b/system/OneScript/doc/stdlib/СписокЗначений.htm
index 232a336..fc9bf0b 100644
--- a/system/OneScript/doc/stdlib/СписокЗначений.htm
+++ b/system/OneScript/doc/stdlib/СписокЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- СписокЗначений
-
-
+
+
+
+
+
+ СписокЗначений
+
+
СписокЗначений / ValueList
Стандартная универсальная коллекция системы 1С:Предприятие 8
Свойства
@@ -27,6 +27,6 @@
Количество / Count()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/СтрокаДереваЗначений.htm b/system/OneScript/doc/stdlib/СтрокаДереваЗначений.htm
index b3486b2..045fe28 100644
--- a/system/OneScript/doc/stdlib/СтрокаДереваЗначений.htm
+++ b/system/OneScript/doc/stdlib/СтрокаДереваЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- СтрокаДереваЗначений
-
-
+
+
+
+
+
+ СтрокаДереваЗначений
+
+
СтрокаДереваЗначений / ValueTreeRow
Строка дерева значений.
Свойства
@@ -42,6 +42,6 @@
Строки верхнего уровня имеют значение 0.
Возвращаемое значение
Число. Уровень вложенности строки.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/СтрокаТаблицыЗначений.htm b/system/OneScript/doc/stdlib/СтрокаТаблицыЗначений.htm
index cb87bd0..1234e05 100644
--- a/system/OneScript/doc/stdlib/СтрокаТаблицыЗначений.htm
+++ b/system/OneScript/doc/stdlib/СтрокаТаблицыЗначений.htm
@@ -1,17 +1,17 @@
-
-
-
-
-
- СтрокаТаблицыЗначений
-
-
+
+
+
+
+
+ СтрокаТаблицыЗначений
+
+
СтрокаТаблицыЗначений / ValueTableRow
Свойства
Методы
Владелец / Owner()
Получить / Get()
Установить / Set()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Структура.htm b/system/OneScript/doc/stdlib/Структура.htm
index 21a8d00..129515d 100644
--- a/system/OneScript/doc/stdlib/Структура.htm
+++ b/system/OneScript/doc/stdlib/Структура.htm
@@ -1,15 +1,15 @@
-
-
-
-
-
- Структура
-
-
+
+
+
+
+
+ Структура
+
+
Структура / Structure
Свойства
Методы
-Вставить / Insert()
+Вставить / ()
Удалить / Delete()
Свойство / Property()
Количество / Count()
@@ -27,6 +27,6 @@
args: Значения свойств. Каждое значение передается, как отдельный параметр.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ТаблицаЗначений.htm b/system/OneScript/doc/stdlib/ТаблицаЗначений.htm
index 320ad36..ec061c1 100644
--- a/system/OneScript/doc/stdlib/ТаблицаЗначений.htm
+++ b/system/OneScript/doc/stdlib/ТаблицаЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ТаблицаЗначений
-
-
+
+
+
+
+
+ ТаблицаЗначений
+
+
ТаблицаЗначений / ValueTable
Свойства
Колонки / Columns
@@ -34,6 +34,6 @@
ВыбратьСтроку / ChooseRow()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ТекстовыйДокумент.htm b/system/OneScript/doc/stdlib/ТекстовыйДокумент.htm
index f4c1aac..0e8f929 100644
--- a/system/OneScript/doc/stdlib/ТекстовыйДокумент.htm
+++ b/system/OneScript/doc/stdlib/ТекстовыйДокумент.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ТекстовыйДокумент
-
-
+
+
+
+
+
+ ТекстовыйДокумент
+
+
ТекстовыйДокумент / TextDocument
Свойства
Вывод / Output
@@ -111,6 +111,6 @@
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/УникальныйИдентификатор.htm b/system/OneScript/doc/stdlib/УникальныйИдентификатор.htm
index 52ba536..fabb4b0 100644
--- a/system/OneScript/doc/stdlib/УникальныйИдентификатор.htm
+++ b/system/OneScript/doc/stdlib/УникальныйИдентификатор.htm
@@ -1,17 +1,17 @@
-
-
-
-
-
- УникальныйИдентификатор
-
-
+
+
+
+
+
+ УникальныйИдентификатор
+
+
УникальныйИдентификатор / UUID
Свойства
Методы
Конструкторы
По умолчанию
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Файл.htm b/system/OneScript/doc/stdlib/Файл.htm
index 3aa88b5..2878c1b 100644
--- a/system/OneScript/doc/stdlib/Файл.htm
+++ b/system/OneScript/doc/stdlib/Файл.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Файл
-
-
+
+
+
+
+
+ Файл
+
+
Файл / File
Свойства
Имя / Name
@@ -19,7 +19,7 @@
Расширение / Extension
Доступ: Чтение
Методы
-Существует / Exists()
+Существует / Exist()
Размер / Size()
ПолучитьНевидимость / GetHidden()
ПолучитьТолькоЧтение / GetReadOnly()
@@ -31,6 +31,6 @@
ЭтоФайл / IsFile()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Файловые операции.htm b/system/OneScript/doc/stdlib/Файловые операции.htm
index c1fb97e..ca070a0 100644
--- a/system/OneScript/doc/stdlib/Файловые операции.htm
+++ b/system/OneScript/doc/stdlib/Файловые операции.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- Файловые операции
-
-
+
+
+
+
+
+ Файловые операции
+
+
Файловые операции
Свойства
Методы
@@ -109,6 +109,6 @@
Возвращаемое значение
Объединенный путь.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ФайловыйПоток.htm b/system/OneScript/doc/stdlib/ФайловыйПоток.htm
new file mode 100644
index 0000000..2257498
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ФайловыйПоток.htm
@@ -0,0 +1,115 @@
+
+
+
+
+
+ ФайловыйПоток
+
+
+ ФайловыйПоток / FileStream
+Специализированная версия объекта Поток для работы данными, расположенными в файле на диске. Предоставляет возможность чтения из потока, записи в поток и изменения текущей позиции.
+По умолчанию, все операции с файловым потоком являются буферизированными, размер буфера по умолчанию - 8 КБ.
+Размер буфера можно изменить, в том числе - полностью отключить буферизацию при вызове конструктора.
+Следует учитывать, что помимо буферизации существует кэширование чтения и записи файлов в операционной системе, на которое невозможно повлиять программно.
+Свойства
+ДоступнаЗапись / CanWrite
+Доступ: Чтение
+Признак доступности записи в поток.
+ДоступноИзменениеПозиции / CanSeek
+Доступ: Чтение
+Признак доступности произвольного изменения позиции чтения/записи в потоке.
+ДоступноЧтение / CanRead
+Доступ: Чтение
+Признак доступности чтения из потока.
+ИмяФайла /
+Доступ: Чтение
+Содержит полное имя файла, включая путь
+Методы
+Закрыть / Close()
+Вызов данного метода завершает работу с потоком. При попытке вызвать любой метод объекта, кроме метода Закрыть, будет вызвано исключение.
+При повторном вызове данного метода никаких действий выполняться не будет.
+Выполняемое действие зависит от используемого типа потока.
+Записать / Write()
+Записывает в поток заданное количество байтов из буфера по заданному смещению. Если в буфере меньше данных, чем требуется записать, вызывается исключение о недостаточном количестве данных в буфере.
+Запись в поток возможна только, если поток поддерживает запись. В противном случае при вызове метода будет вызвано исключение.
+Параметры
+
+-
+
buffer: Буфер, из которого выбираются данные для записи.
+
+-
+
positionInBuffer: Позиция в буфере, начиная с которой данные будут получены для записи в поток.
+
+-
+
number: Количество байт, которые требуется записать.
+
+
+КопироватьВ / CopyTo()
+Копирует данные из текущего потока в другой поток.
+Параметры
+
+-
+
targetStream: Поток, в который будет выполняться копирование.
+
+-
+
bufferSize: Размер буфера, используемого при копировании.
+Если параметр не задан, то система подбирает размер буфера автоматически.
+
+
+Перейти / Seek()
+Сдвигает текущую позицию потока на заданное количество байтов относительно начальной позиции. Если указано отрицательное смещение, позиция сдвигается в направлении к началу потока.
+Если изменение позиции недоступно (ДоступноИзменениеПозиции установлено в Ложь), будет сгенерировано исключение.
+Параметры
+
+-
+
offset: Количество байтов, на которое нужно передвинуть позицию в потоке.
+
+-
+
initialPosition: Начальная позиция, от которой отсчитывается смещение.
+
+
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+ПолучитьПотокТолькоДляЧтения / GetReadonlyStream()
+Возвращает поток, который разделяет данные и текущую позицию с данным потоком, но не разрешает запись.
+Возвращаемое значение
+Прочитать / Read()
+Выполняет чтение заданного количества байтов в указанный буфер по указанному смещению. Текущая позиция смещается вперед на фактическое количество прочитанных байтов.
+Чтение из потока возможно только, если поток поддерживает чтение. В противном случае, будет вызвано исключение.
+При чтении размер целевого буфера не меняется, а его содержимое перезаписывается фактически прочитанными данными. Если в буфере недостаточно места для записи прочитанных данных, происходит ошибка переполнения.
+Параметры
+
+-
+
buffer: Буфер, в который выполняется чтение.
+
+-
+
positionInBuffer: Позиция в целевом буфере, начиная с которой требуется записывать данные из потока.
+
+-
+
number: Количество байт, которые требуется записать в целевой буфер.
+
+
+Возвращаемое значение
+Возвращает число прочитанных байт
+Размер / Size()
+Получает размер данных в байтах.
+СброситьБуферы / Flush()
+Сбрасывает все промежуточные буферы и производит запись всех незаписанных данных в целевое устройство.
+ТекущаяПозиция / CurrentPosition()
+Возвращает текущую позицию в потоке.
+Возвращаемое значение
+Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
+УстановитьРазмер / SetSize()
+Устанавливает размер потока.
+Если текущий размер превышает заданный, поток будет сокращен до заданного размера, а информация, превышающая заданный размер, будет потеряна.
+Если текущий размер потока меньше заданного, то содержимое потока между старым и новым размером не определено.
+Параметры
+
+- size: Устанавливаемый размер потока.
+
+Конструкторы
+С указанием режима открытия
+С указанием режима открытия и уровня доступа
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ФиксированнаяСтруктура.htm b/system/OneScript/doc/stdlib/ФиксированнаяСтруктура.htm
index 4d6026c..37d5341 100644
--- a/system/OneScript/doc/stdlib/ФиксированнаяСтруктура.htm
+++ b/system/OneScript/doc/stdlib/ФиксированнаяСтруктура.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ФиксированнаяСтруктура
-
-
+
+
+
+
+
+ ФиксированнаяСтруктура
+
+
ФиксированнаяСтруктура / FixedStructure
Свойства
Методы
@@ -29,6 +29,6 @@
args: Значения свойств. Каждое значение передается, как отдельный параметр.
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ФиксированноеСоответствие.htm b/system/OneScript/doc/stdlib/ФиксированноеСоответствие.htm
index 4246543..e7108a8 100644
--- a/system/OneScript/doc/stdlib/ФиксированноеСоответствие.htm
+++ b/system/OneScript/doc/stdlib/ФиксированноеСоответствие.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ФиксированноеСоответствие
-
-
+
+
+
+
+
+ ФиксированноеСоответствие
+
+
ФиксированноеСоответствие / FixedMap
Свойства
Методы
@@ -13,6 +13,6 @@
Количество / Count()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ФиксированныйМассив.htm b/system/OneScript/doc/stdlib/ФиксированныйМассив.htm
index 2d1bb8e..5e197a5 100644
--- a/system/OneScript/doc/stdlib/ФиксированныйМассив.htm
+++ b/system/OneScript/doc/stdlib/ФиксированныйМассив.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ФиксированныйМассив
-
-
+
+
+
+
+
+ ФиксированныйМассив
+
+
ФиксированныйМассив / FixedArray
Свойства
Методы
@@ -15,6 +15,6 @@
Получить / Get()
Конструкторы
На основании обычного массива
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/Функции работы с XML.htm b/system/OneScript/doc/stdlib/Функции работы с XML.htm
index e5ae5f0..c27f74a 100644
--- a/system/OneScript/doc/stdlib/Функции работы с XML.htm
+++ b/system/OneScript/doc/stdlib/Функции работы с XML.htm
@@ -1,16 +1,16 @@
-
-
-
-
-
- Функции работы с XML
-
-
+
+
+
+
+
+ Функции работы с XML
+
+
Функции работы с XML
Свойства
Методы
XMLСтрока / XMLString()
XMLЗначение / XMLValue()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ХешированиеДанных.htm b/system/OneScript/doc/stdlib/ХешированиеДанных.htm
index 2c83092..131b32b 100644
--- a/system/OneScript/doc/stdlib/ХешированиеДанных.htm
+++ b/system/OneScript/doc/stdlib/ХешированиеДанных.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ХешированиеДанных
-
-
+
+
+
+
+
+ ХешированиеДанных
+
+
ХешированиеДанных / DataHashing
Свойства
ХешФункция / HashFunction
@@ -20,6 +20,6 @@
Очистить / Clear()
Конструкторы
По хэш-функции
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЧтениеJSON.htm b/system/OneScript/doc/stdlib/ЧтениеJSON.htm
new file mode 100644
index 0000000..dbdc012
--- /dev/null
+++ b/system/OneScript/doc/stdlib/ЧтениеJSON.htm
@@ -0,0 +1,79 @@
+
+
+
+
+
+ ЧтениеJSON
+
+
+ ЧтениеJSON / JSONReader
+Предназначен для последовательного чтения JSON-данных из файла или строки.
+Свойства
+ТекущаяПозиция / CurrentPosition
+Доступ: Чтение
+Указывает на позицию, находящуюся сразу после прочитанного значения.
+При ошибке чтение остается на позиции последнего успешно считанного символа.
+ТекущаяСтрока / CurrentLine
+Доступ: Чтение
+Указывает на позицию сразу после прочитанного значения.
+Например, перед чтением первого элемента - 0, после чтения первого элемента -1 .
+ТекущееЗначение / CurrentValue
+Доступ: Чтение
+Содержит текущее значение:
+
+- Число - если ТипТекущегоЗначения имеет значение Число;
+-
+
Строка - если ТипТекущегоЗначения имеет значение:
+
+-
+
Комментарий,
+
+- ИмяСвойства,
+- Строка;
+- Булево - если ТипТекущегоЗначения имеет значение Булево,
+-
+
Неопределено - если ТипТекущегоЗначения имеет значение Null.
+Исключение генерируется в случае, если ТипТекущегоЗначения имеет одно из следующих значений:
+
+-
+
НачалоМассива,
+
+- КонецМассива,
+- НачалоОбъекта,
+- КонецОбъекта,
+- Ничего.
+
+ТипТекущегоЗначения / CurrentValueType
+Доступ: Чтение
+Тип текущего значения в документе JSON.
+Неопределено - если чтение еще не началось или достигнут конец файла.
+Методы
+Закрыть / Close()
+Завершает чтение текста JSON из файла или строки.
+ОткрытьФайл / OpenFile()
+Открывает JSON-файл для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение JSON из другого файла или строки, то чтение прекращается и объект инициализируется для чтения из указанного файла.
+Параметры
+
+-
+
JSONFileName: Имя файла, содержащего текст JSON.
+
+-
+
Encoding: Позволяет задать кодировку входного файла.
+
+
+Пропустить / Skip()
+Если текущее значение – начало массива или объекта, то пропускает его содержимое и конец.
+Для остальных типов значений работает аналогично методу Прочитать().
+Прочитать / Read()
+Выполняет чтение значения JSON.
+УстановитьСтроку / SetString()
+Устанавливает строку, содержащую текст JSON для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение JSON из другого файла или строки, то чтение прекращается и объект инициализируется для чтения из указанной строки.
+Параметры
+
+- JSONString: Строка, содержащая текст в формате JSON.
+
+Конструкторы
+По умолчанию
+
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЧтениеXML.htm b/system/OneScript/doc/stdlib/ЧтениеXML.htm
index d4b17d3..68db6d2 100644
--- a/system/OneScript/doc/stdlib/ЧтениеXML.htm
+++ b/system/OneScript/doc/stdlib/ЧтениеXML.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЧтениеXML
-
-
+
+
+
+
+
+ ЧтениеXML
+
+
ЧтениеXML / XMLReader
Свойства
URIПространстваИмен / NamespaceURI
@@ -78,6 +78,6 @@
ПерейтиКСодержимому / MoveToContent()
Конструкторы
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЧтениеZipФайла.htm b/system/OneScript/doc/stdlib/ЧтениеZipФайла.htm
index 764683a..bf32b60 100644
--- a/system/OneScript/doc/stdlib/ЧтениеZipФайла.htm
+++ b/system/OneScript/doc/stdlib/ЧтениеZipФайла.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЧтениеZipФайла
-
-
+
+
+
+
+
+ ЧтениеZipФайла
+
+
ЧтениеZipФайла / ZipFileReader
Объект чтения ZIP файлов.
Свойства
@@ -32,6 +32,6 @@
Создание неинициализированного объекта
По имени файла
По имени файла и паролю
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЧтениеТекста.htm b/system/OneScript/doc/stdlib/ЧтениеТекста.htm
index c79c8ae..08e5f62 100644
--- a/system/OneScript/doc/stdlib/ЧтениеТекста.htm
+++ b/system/OneScript/doc/stdlib/ЧтениеТекста.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЧтениеТекста
-
-
+
+
+
+
+
+ ЧтениеТекста
+
+
ЧтениеТекста / TextReader
Свойства
Методы
@@ -14,9 +14,9 @@
ПрочитатьСтроку / ReadLine()
Закрыть / Close()
Конструкторы
-По имени файла и кодировке
По имени файла
+По имени файла и кодировке
По умолчанию
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЭлементZipФайла.htm b/system/OneScript/doc/stdlib/ЭлементZipФайла.htm
index 0848063..38206a9 100644
--- a/system/OneScript/doc/stdlib/ЭлементZipФайла.htm
+++ b/system/OneScript/doc/stdlib/ЭлементZipФайла.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЭлементZipФайла
-
-
+
+
+
+
+
+ ЭлементZipФайла
+
+
ЭлементZipФайла / ZipFileEntry
Описание элемента, находящегося в Zip архиве.
Свойства
@@ -32,6 +32,6 @@
ТолькоЧтение / ReadOnly
Доступ: Чтение
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЭлементСпискаЗначений.htm b/system/OneScript/doc/stdlib/ЭлементСпискаЗначений.htm
index 13050fe..a74c52d 100644
--- a/system/OneScript/doc/stdlib/ЭлементСпискаЗначений.htm
+++ b/system/OneScript/doc/stdlib/ЭлементСпискаЗначений.htm
@@ -1,11 +1,11 @@
-
-
-
-
-
- ЭлементСпискаЗначений
-
-
+
+
+
+
+
+ ЭлементСпискаЗначений
+
+
ЭлементСпискаЗначений / ValueListItem
Используется для доступа к свойствам и методам элемента списка значений
Свойства
@@ -18,6 +18,6 @@
Картинка / Picture
Доступ: Чтение/Запись
Методы
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/doc/stdlib/ЭлементыZipФайла.htm b/system/OneScript/doc/stdlib/ЭлементыZipФайла.htm
index ac01452..ca0d4e2 100644
--- a/system/OneScript/doc/stdlib/ЭлементыZipФайла.htm
+++ b/system/OneScript/doc/stdlib/ЭлементыZipФайла.htm
@@ -1,17 +1,17 @@
-
-
-
-
-
- ЭлементыZipФайла
-
-
+
+
+
+
+
+ ЭлементыZipФайла
+
+
ЭлементыZipФайла / ZipFileEntries
Свойства
Методы
Количество / Count()
Получить / Get()
Найти / Find()
-
-
+
+
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/README.md b/system/OneScript/lib/gui/README.md
new file mode 100644
index 0000000..a9f5881
--- /dev/null
+++ b/system/OneScript/lib/gui/README.md
@@ -0,0 +1,220 @@
+# Компонент по созданию форм для 1script
+
+Внешняя компонента позволяет создавать формы на языке [1script](http://oscript.io/). API работы с формами максимально приближен к синтаксису 1С.
+
+Основная задача компоненты - простая работа с формами. Позволяет создать большое количество разных элементов форм. Поддерижвается обработка событий элементов. Управление свойствами видимости, доступности и другими. Создан единый интерфейс для работы со значениями элементов (через свойство Значение).
+
+Доступны основные элементы формы и события:
+
+### Виды полей:
+
+- ПолеВвода - Однострочное текстовое поле;
+- ПолеИндикатора - Прогрессбар.
+- ПолеКалендаря - Поле для ввода даты
+- ПолеНадписи - Надпись (декорация в терминалогии 1С)
+- ПолеФлажка - Флажок, имеет статусы: Включен/Выключен
+- ПолеТекстовогоДокумента - Многострочный текст
+- ПолеСоСписком - Поле со списком (ComboBox)
+- ПолеСписка - Поле списка (ListBox)
+- ОбычнаяГруппа - Контейнер для группы элементов
+- Страница - Страницы
+- Кнопка
+- ТаблицаФормы - Компонент для отображения объекта ТаблицаЗначений
+- ДеревоФормы - Компонент для отображения объекта ДеревоЗначений
+
+
+### Обрабатываемые события
+
+- Форма: ПриОткрытии
+- Кнопка: ПриНажатии
+- ПолеФормы: ПриИзменении, ПриВыборе (нажат Enter)
+ - ПолеСписка: ПриДвойномКлике
+
+## Примеры
+
+### Создание формы и вывод надписи
+
+
+
+
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ Декорация1 = Форма.Элементы.Добавить("Декорация1", "ПолеФормы", Неопределено);
+ Декорация1.Вид = Форма.ВидПоляФормы.ПолеНадписи;
+ Декорация1.Заголовок = "Это действительно работает!";
+
+ Форма.Высота = 100;
+
+КонецПроцедуры
+
+Инициализация();
+
+
+### Создание формы с кнопкой и обработка события нажатия на кнопку
+
+
+
+
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ ПолеВвода1 = Форма.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено);
+ ПолеВвода1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ ПолеВвода1.Заголовок = "Поле ввода";
+ ПолеВвода1.Значение = "Значение задано из скрипта";
+
+ Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка1.Заголовок = "Нажми меня";
+ Кнопка1.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопку1");
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопку1() Экспорт
+ Форма.Элементы.Найти("ПолеВвода1").Значение = "Значение после нажатия на кнопку";
+КонецПроцедуры
+
+Инициализация();
+
+
+### Пример работы с выпадающим списком
+
+
+
+
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ Данные = Новый Соответствие;
+ Данные.Вставить("Один", "1");
+ Данные.Вставить("Два", "2");
+ Данные.Вставить("Три", "3");
+
+ ПолеСоСписком1 = Форма.Элементы.Добавить("ПолеСоСписком1", "ПолеФормы", Неопределено);
+ ПолеСоСписком1.Заголовок = "Поле со списком";
+ ПолеСоСписком1.Вид = Форма.ВидПоляФормы.ПолеСоСписком;
+ ПолеСоСписком1.СписокВыбора = Данные;
+ ПолеСоСписком1.Значение = "3";
+ ПолеСоСписком1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Форма.Высота = 80;
+
+КонецПроцедуры
+
+Процедура ПриИзменииЗначения() Экспорт
+ Сообщить("Новое значение: " + Форма.Элементы.Найти("ПолеСоСписком1").Значение);
+КонецПроцедуры
+
+Инициализация();
+
+
+## ТаблицаФормы
+
+
+
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = 5;
+
+## ДеревоФормы
+
+
+
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = 5;
+ Поле1.ТекущаяСтрока = 1;
+
+## Процедуры и функции интерактивной работы
+### Предупреждение (DoMessageBox)
+
+
+
+Выводит на экран окно предупреждения.
+Порядок вызова аналогичен реализованному в платформе 1С: Предприятие:
+Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>)
+
+### Вопрос (DoQueryBox)
+
+
+
+Выводит на экран окно вопроса.
+Порядок вызова аналогичен реализованному в платформе 1С: Предприятие:
+Вопрос(<ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)
+
+## Диалог выбора файла
+
+
+
+Компонента реализует объект **ДиалогВыбораФайла (FileDialog)**, предназначенный для работы с диалогом специального вида для открытия файла или нескольких файлов, сохранения файла или выбора каталога.
+Порядок работы с объектом аналогичен реализованному в платформе 1С: Предприятие.
+В текущей версии не реализован метод **Показать**.
+
+
+
+
+# Примеры использования
+- https://github.com/ret-Phoenix/oscript-simple-gui/tree/master/examples
+- https://github.com/ret-Phoenix/oscript-simple-gui/tree/master/bin/src
+- https://github.com/ret-Phoenix/oscript-simple-gui/tree/master/tests
+- http://infostart.ru/public/540284/
diff --git a/system/OneScript/lib/gui/bin/Newtonsoft.Json.dll b/system/OneScript/lib/gui/bin/Newtonsoft.Json.dll
new file mode 100644
index 0000000..be6558d
Binary files /dev/null and b/system/OneScript/lib/gui/bin/Newtonsoft.Json.dll differ
diff --git a/system/OneScript/lib/gui/bin/oscript-gui.dll b/system/OneScript/lib/gui/bin/oscript-gui.dll
new file mode 100644
index 0000000..900a444
Binary files /dev/null and b/system/OneScript/lib/gui/bin/oscript-gui.dll differ
diff --git a/system/OneScript/lib/gui/docs/FileDialog.png b/system/OneScript/lib/gui/docs/FileDialog.png
new file mode 100644
index 0000000..e37ee91
Binary files /dev/null and b/system/OneScript/lib/gui/docs/FileDialog.png differ
diff --git a/system/OneScript/lib/gui/docs/MessageBox.png b/system/OneScript/lib/gui/docs/MessageBox.png
new file mode 100644
index 0000000..8fddea4
Binary files /dev/null and b/system/OneScript/lib/gui/docs/MessageBox.png differ
diff --git a/system/OneScript/lib/gui/docs/QueryBox.png b/system/OneScript/lib/gui/docs/QueryBox.png
new file mode 100644
index 0000000..13006e4
Binary files /dev/null and b/system/OneScript/lib/gui/docs/QueryBox.png differ
diff --git a/system/OneScript/lib/gui/docs/example-button-n-edit.gif b/system/OneScript/lib/gui/docs/example-button-n-edit.gif
new file mode 100644
index 0000000..36f90e1
Binary files /dev/null and b/system/OneScript/lib/gui/docs/example-button-n-edit.gif differ
diff --git a/system/OneScript/lib/gui/docs/example-combobox-change-event.png b/system/OneScript/lib/gui/docs/example-combobox-change-event.png
new file mode 100644
index 0000000..8458735
Binary files /dev/null and b/system/OneScript/lib/gui/docs/example-combobox-change-event.png differ
diff --git a/system/OneScript/lib/gui/docs/example-decoration.png b/system/OneScript/lib/gui/docs/example-decoration.png
new file mode 100644
index 0000000..31050cc
Binary files /dev/null and b/system/OneScript/lib/gui/docs/example-decoration.png differ
diff --git a/system/OneScript/lib/gui/docs/example-form-table.png b/system/OneScript/lib/gui/docs/example-form-table.png
new file mode 100644
index 0000000..a6c6a7f
Binary files /dev/null and b/system/OneScript/lib/gui/docs/example-form-table.png differ
diff --git a/system/OneScript/lib/gui/docs/example-form-tree.png b/system/OneScript/lib/gui/docs/example-form-tree.png
new file mode 100644
index 0000000..d988c7e
Binary files /dev/null and b/system/OneScript/lib/gui/docs/example-form-tree.png differ
diff --git a/system/OneScript/lib/gui/docs/ВидГруппыФормы.md b/system/OneScript/lib/gui/docs/ВидГруппыФормы.md
new file mode 100644
index 0000000..cce6fa2
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ВидГруппыФормы.md
@@ -0,0 +1,14 @@
+# ВидГруппыФормы / FormGroupType
+
+## Свойства
+
+### ОбычнаяГруппа / UsualGroup
+Доступ: Чтение
+
+### Страница / Page
+Доступ: Чтение
+
+### Страницы / Pages
+Доступ: Чтение
+
+
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ВидПоляФормы.md b/system/OneScript/lib/gui/docs/ВидПоляФормы.md
new file mode 100644
index 0000000..57380ca
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ВидПоляФормы.md
@@ -0,0 +1,45 @@
+# ВидПоляФормы / FormFieldType
+
+Вид поля формы
+
+## Свойства
+
+### ПолеВвода / InputField
+Доступ: Чтение
+
+Однострочное, текстовое поле
+
+### ПолеИндикатора / ProgressBarField
+Доступ: Чтение
+
+ProgressBar
+
+### ПолеКалендаря / CalendarField
+Доступ: Чтение
+
+Поле для выбора даты/времени
+
+### ПолеНадписи / LabelField
+Доступ: Чтение
+
+Надпись
+
+### ПолеФлажка / CheckBoxField
+Доступ: Чтение
+
+Флажок
+
+### ПолеТекстовогоДокумента / TextDocumentField
+Доступ: Чтение
+
+Многострочный текст
+
+### ПолеСоСписком / ComboBox
+Доступ: Чтение
+
+Поле со списком
+
+### ПолеСписка / ListBox
+Доступ: Чтение
+
+Поле списка
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ГруппаФормы.md b/system/OneScript/lib/gui/docs/ГруппаФормы.md
new file mode 100644
index 0000000..e42b1bc
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ГруппаФормы.md
@@ -0,0 +1,78 @@
+# ГруппаФормы / FormGroup
+
+Элемент формы, предназначенный для визуальной и/или логической группировки элементов.
+
+## Свойства
+
+### Родитель / Parent
+Доступ: Чтение
+
+Тип значения: ГруппаФормы, Форма
+
+Содержит ссылку на родительский элемент.
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Имя группы
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Управление видимостью
+
+### Доступность / Enabled
+Доступ: Чтение/Запись
+
+Управление доступностью
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок к группе. Пустая строка означает автоматическое формирование.
+
+### Вид / Type
+Доступ: Чтение/Запись
+
+Тип значения: ВидГруппыФормы
+
+Определяет способ представления группы в форме.
+
+### Элементы / Items
+Доступ: Чтение
+
+Тип значения: Элементы
+
+Содержит коллекцию подчиненных элементов группы.
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+Автоматический размер
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Тип значения: СтильЗакрепления
+
+Вариант закрепления.
+
+## Методы
+
+### УстановитьДействие / SetAction()
+
+Обработка событий не предусмотрена
+
+### ПолучитьДействие / GetAction()
+
+Обработка событий не предусмотрена
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ДеревоФормы.md b/system/OneScript/lib/gui/docs/ДеревоФормы.md
new file mode 100644
index 0000000..5e1eacf
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ДеревоФормы.md
@@ -0,0 +1,135 @@
+# ДеревоФормы / FormTree
+
+## Свойства
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Имя элемента
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Управление видимостью
+
+### Доступность / Enabled
+Доступ: Чтение/Запись
+
+Управление доступностью
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет.
+
+### ПоложениеЗаголовка / TitleLocation
+Доступ: Чтение/Запись
+
+Тип значения: ПоложениеЗаголовкаЭлементаФормы
+
+Определяет положение заголовка относительно поля в макете формы.
+Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет.
+Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение.
+
+### Родитель / Parent
+Доступ: Чтение
+
+Тип значения: ГруппаФормы, Форма
+
+Содержит ссылку на родительский элемент.
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+
+Автоматический размер
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Тип значения: СтильЗакрепления
+
+Вариант закрепления.
+
+### ПутьКДанным / DataPath
+Доступ: Чтение/Запись
+
+Провайдер с данными.
+
+### ТекущаяСтрока / CurrentRow
+Доступ: Чтение/Запись
+
+Номер текущей строки таблицы.
+
+### ТекущиеДанные / CurrentData
+Доступ: Чтение
+
+Тип значения: СтрокаДереваЗначений
+
+Представляет доступ к текущим данным (данным текущей строки).
+Возвращает соответствие с текстовым представлением данных.
+
+### Колонки / Columns
+Доступ: Чтение
+
+Тип значения: Массив
+
+Колонки таблицы.
+
+## Методы
+
+### УстановитьДействие / SetAction()
+
+Установить обработчик события
+Возможные события:
+- ПриВыбореСтроки - Обработка события изменения значения
+- ПриВыборе - При нажатии Enter
+- ПриДвойномКлике - Обработка двойного клика
+
+#### Пример:
+
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыбореСтроки", "ПриВыбореСтроки");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе");
+
+
+#### Параметры
+
+* *contex*: Ссылка на скрипт в котором находится обработчик события
+
+* *eventName*: Имя обрабатываемого события.
+
+* *methodName*: Имя метода обработчика события
+
+### ПолучитьДействие / GetAction()
+
+Получает имя установленного обработчика события.
+
+#### Пример:
+
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки");
+ Форма.ПолучитьДействие("ПриВыборе");
+ // вернет: "ПриВыбореЯчейки"
+
+
+#### Параметры
+
+* *eventName*: Имя события
+
+#### Возвращаемое значение
+
+Имя метода обработчика события
+
+### Обновить / Refresh()
+
+Обновляет данные в таблице.
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/КнопкаФормы.md b/system/OneScript/lib/gui/docs/КнопкаФормы.md
new file mode 100644
index 0000000..508963e
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/КнопкаФормы.md
@@ -0,0 +1,91 @@
+# КнопкаФормы / FormButton
+
+## Свойства
+
+### Родитель / Parent
+Доступ: Чтение
+
+Тип значения: ГруппаФормы, Форма
+
+Содержит ссылку на родительский элемент.
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Уникальное имя элемента
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Управление видимостью кнопки
+
+### Доступность / Enabled
+Доступ: Чтение/Запись
+
+Управление доступностью
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Надпись на кнопке
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота кнопки
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина кнопки
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+Автоматический размер
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Тип значения: СтильЗакрепления
+
+Вариант закрепления.
+
+## Методы
+
+### УстановитьДействие / SetAction()
+
+Установить обработчик события.
+Возможные события:
+- Нажатие - Нажатие на кнопку
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+
+#### Параметры
+
+* *contex*: Ссылка на скрипт в котором находится обработчик события
+
+* *eventName*: Имя обрабатываемого события
+
+* *methodName*: Имя метода обработчика события
+
+### ПолучитьДействие / GetAction()
+
+Получает имя установленного обработчика события.
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.ПолучитьДействие("ПриОткрытии");
+ // вернет: "ПриОткрытииФормы"
+
+
+#### Параметры
+
+* *eventName*: Имя события
+
+#### Возвращаемое значение
+
+Имя метода обработчика события
+
+### КнопкаНажатие / ButtonClick()
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/КолонкаДерева.md b/system/OneScript/lib/gui/docs/КолонкаДерева.md
new file mode 100644
index 0000000..b7cbde7
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/КолонкаДерева.md
@@ -0,0 +1,18 @@
+# КолонкаДерева / FormTreeColumn
+
+## Свойства
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок
+
+### Индекс / Index
+Доступ: Чтение
+
+Номер колонки
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/КолонкаТаблицыФормы.md b/system/OneScript/lib/gui/docs/КолонкаТаблицыФормы.md
new file mode 100644
index 0000000..5f8d4b1
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/КолонкаТаблицыФормы.md
@@ -0,0 +1,25 @@
+# КолонкаТаблицыФормы / FormTableColumn
+
+Колонка элемента ТаблицаФормы
+
+## Свойства
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Видимость
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок
+
+### Индекс / Index
+Доступ: Чтение
+
+Номер колонки
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ПолеФормы.md b/system/OneScript/lib/gui/docs/ПолеФормы.md
new file mode 100644
index 0000000..10bad4d
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ПолеФормы.md
@@ -0,0 +1,128 @@
+# ПолеФормы / FormField
+
+Предназначен для отображения и редактирования реквизитов формы.
+
+## Свойства
+
+### Значение / Value
+Доступ: Чтение/Запись
+
+Тип значения: Строка, Дата, Число
+
+Значение элемента формы.
+
+### Вид / Type
+Доступ: Чтение/Запись
+
+Тип значения: ВидПоляФормы
+
+Определяет способ представления данных реквизита в форме.
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Имя элемента
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Управление видимостью
+
+### Доступность / Enabled
+Доступ: Чтение/Запись
+
+Управление доступностью
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет.
+
+### ПоложениеЗаголовка / TitleLocation
+Доступ: Чтение/Запись
+
+Тип значения: ПоложениеЗаголовкаЭлементаФормы
+
+Определяет положение заголовка относительно поля в макете формы.
+Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет.
+Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение.
+
+### СписокВыбора / ChoiceList
+Доступ: Чтение/Запись
+
+Тип значения: Соответствие
+
+Установка / получение списка выбора для ПолеСоСписком, ПолеСписка
+
+### Родитель / Parent
+Доступ: Чтение
+
+Тип значения: ГруппаФормы, Форма
+
+Содержит ссылку на родительский элемент.
+
+### ТолькоПросмотр / ReadOnly
+Доступ: Чтение/Запись
+
+Содержит признак возможности/невозможности редактирования отображаемых данных.
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+Автоматический размер
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Тип значения: СтильЗакрепления
+
+Вариант закрепления.
+
+## Методы
+
+### УстановитьДействие / SetAction()
+
+Установить обработчик события
+Возможные события:
+- ПриИзменении - Обработка события изменения значения
+- ПриВыборе - При нажатии Enter
+- ПриДвойномКлике - Обработка двойного клика (Событие только для ListBox)
+
+#### Пример:
+ ПолеФормы1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзмененииПолеФормы1");
+
+#### Параметры
+
+* *contex*: Ссылка на скрипт в котором находится обработчик события
+
+* *eventName*: Имя обрабатываемого события.
+
+* *methodName*: Имя метода обработчика события
+
+### ПолучитьДействие / GetAction()
+
+Получает имя установленного обработчика события.
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.ПолучитьДействие("ПриОткрытии");
+ // вернет: "ПриОткрытииФормы"
+
+
+#### Параметры
+
+* *eventName*: Имя события
+
+#### Возвращаемое значение
+
+Имя метода обработчика события
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ПоложениеЗаголовкаЭлементаФормы.md b/system/OneScript/lib/gui/docs/ПоложениеЗаголовкаЭлементаФормы.md
new file mode 100644
index 0000000..ba20925
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ПоложениеЗаголовкаЭлементаФормы.md
@@ -0,0 +1,22 @@
+# ПоложениеЗаголовкаЭлементаФормы / FormItemTitleLocation
+
+## Свойства
+
+### Авто / Auto
+Доступ: Чтение
+
+### Верх / Top
+Доступ: Чтение
+
+### Лево / Left
+Доступ: Чтение
+
+### Нет / None
+Доступ: Чтение
+
+### Низ / Bottom
+Доступ: Чтение
+
+### Право / Right
+Доступ: Чтение
+
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/Провайдер.md b/system/OneScript/lib/gui/docs/Провайдер.md
new file mode 100644
index 0000000..8b8f192
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/Провайдер.md
@@ -0,0 +1,15 @@
+# Провайдер / Provider
+
+Провайдер для данных ТаблицаФормы. Пока что поддерживается только ТаблицаЗначений.
+
+## Свойства
+
+### Источник / Source
+Доступ: Чтение/Запись
+
+Данные для отображения.
+
+### ИсточникДерево / SourceTree
+Доступ: Чтение/Запись
+
+Данные для отображения.
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ПростойГУИ.md b/system/OneScript/lib/gui/docs/ПростойГУИ.md
new file mode 100644
index 0000000..bba307a
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ПростойГУИ.md
@@ -0,0 +1,20 @@
+# ПростойГУИ / SimpleGUI
+
+Фабрика для работы с формами
+
+## Свойства
+
+### Версия / Version
+Доступ: Чтение
+
+Номер версии библиотеки
+
+## Методы
+
+### СоздатьФорму / CreateForm()
+
+Создать форму
+
+#### Возвращаемое значение
+
+Возращает форму
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/СтильЗакрепления.md b/system/OneScript/lib/gui/docs/СтильЗакрепления.md
new file mode 100644
index 0000000..5828d76
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/СтильЗакрепления.md
@@ -0,0 +1,21 @@
+# СтильЗакрепления / DockStyle
+
+## Свойства
+
+### Нет / None
+Доступ: Чтение
+
+### Верх / Top
+Доступ: Чтение
+
+### Низ / Bottom
+Доступ: Чтение
+
+### Лево / Left
+Доступ: Чтение
+
+### Право / Right
+Доступ: Чтение
+
+### Заполнение / Fill
+Доступ: Чтение
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/ТаблицаФормы.md b/system/OneScript/lib/gui/docs/ТаблицаФормы.md
new file mode 100644
index 0000000..55c459d
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/ТаблицаФормы.md
@@ -0,0 +1,141 @@
+# ТаблицаФормы / FormTable
+
+Элемент управляемой формы, предназначенный для отображения реквизитов формы табличных типов.
+
+## Свойства
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Имя элемента
+
+### Видимость / Visible
+Доступ: Чтение/Запись
+
+Управление видимостью
+
+### Доступность / Enabled
+Доступ: Чтение/Запись
+
+Управление доступностью
+
+### Заголовок / Title
+Доступ: Чтение/Запись
+
+Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет.
+
+### ПоложениеЗаголовка / TitleLocation
+Доступ: Чтение/Запись
+
+Тип значения: ПоложениеЗаголовкаЭлементаФормы
+
+Определяет положение заголовка относительно поля в макете формы.
+Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет.
+Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение.
+
+### Родитель / Parent
+Доступ: Чтение
+
+Тип значения: ГруппаФормы, Форма
+
+Содержит ссылку на родительский элемент.
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+Автоматический размер
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Тип значения: СтильЗакрепления
+
+Вариант закрепления.
+
+### ПутьКДанным / DataPath
+Доступ: Чтение/Запись
+
+Провайдер с данными.
+
+### ВыделенныеСтроки / SelectedRows
+Доступ: Чтение
+
+Тип значения: ArrayImpl
+
+Содержит массив номеров выделенных строк.
+
+### ТекущаяСтрока / CurrentRow
+Доступ: Чтение/Запись
+
+Номер текущей строки таблицы.
+
+### ТекущиеДанные / CurrentData
+Доступ: Чтение
+
+Представляет доступ к текущим данным (данным текущей строки).
+
+### Колонки / Columns
+Доступ: Чтение
+
+Тип значения: Массив
+
+Колонки таблицы.
+
+### ТекущийЭлемент / CurrentItem
+Доступ: Чтение
+
+Текущее поле в таблице.
+
+## Методы
+
+### УстановитьДействие / SetAction()
+
+Установить обработчик события
+Возможные события:
+- ПриПотереФокусаЯчейки - Обработка события изменения значения
+- ПриВыборе - При нажатии Enter
+- ПриДвойномКлике - Обработка двойного клика
+
+#### Пример:
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриПотереФокусаЯчейки", "ПриПотереФокусаЯчейки");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе");
+
+#### Параметры
+
+* *contex*: Ссылка на скрипт в котором находится обработчик события
+
+* *eventName*: Имя обрабатываемого события.
+
+* *methodName*: Имя метода обработчика события
+
+### ПолучитьДействие / GetAction()
+
+Получает имя установленного обработчика события.
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки");
+ Форма.ПолучитьДействие("ПриВыборе");
+ // вернет: "ПриВыбореЯчейки"
+
+#### Параметры
+
+* *eventName*: Имя события
+
+#### Возвращаемое значение
+
+Имя метода обработчика события
+
+### Обновить / Refresh()
+
+Обновляет данные в таблице.
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/УправляемыйИнтерфейс.md b/system/OneScript/lib/gui/docs/УправляемыйИнтерфейс.md
new file mode 100644
index 0000000..acb2cae
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/УправляемыйИнтерфейс.md
@@ -0,0 +1,48 @@
+# УправляемыйИнтерфейс / ManagedInterface
+
+Фабрика для работы с формами
+
+## Свойства
+
+### Версия / Version
+Доступ: Чтение
+
+Номер версии библиотеки
+
+### СтильЗакрепления / DockStyle
+Доступ: Чтение
+
+Тип значения: СтильЗакрепления
+
+Системное перечисление. Вариант закрепления.
+
+### ВидПоляФормы / FormFieldType
+Доступ: Чтение
+
+Тип значения: ВидПоляФормы
+
+Системное перечисление.
+
+### ВидГруппыФормы / FormGroupType
+Доступ: Чтение
+
+Тип значения: ВидГруппыФормы
+
+Системное перечисление.
+
+### ПоложениеЗаголовка / TitleLocation
+Доступ: Чтение
+
+Тип значения: ПоложениеЗаголовка
+
+Системное перечисление.
+
+## Методы
+
+### СоздатьФорму / CreateForm()
+
+Создать форму
+
+#### Возвращаемое значение
+
+УправляемаяФорма
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/Форма.md b/system/OneScript/lib/gui/docs/Форма.md
new file mode 100644
index 0000000..a15d524
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/Форма.md
@@ -0,0 +1,126 @@
+# Форма / Form
+
+Основной контейнер для отображения.
+Используется для доступа к свойствам, методам и событиям управляемой формы в целом, а также к коллекции ее элементов управления.
+
+## Свойства
+
+### ВидПоляФормы / FormFieldType
+Доступ: Чтение
+
+Тип значения: ВидПоляФормы
+
+Системное перечисление
+
+### ВидГруппыФормы / FormGroupType
+Доступ: Чтение
+
+Тип значения: ВидГруппыФормы
+
+Системное перечисление
+
+### ПоложениеЗаголовка / TitleLocation
+Доступ: Чтение
+
+Тип значения: ПоложениеЗаголовкаЭлементаФормы
+
+Системное перечисление
+
+### Заголовок / Caption
+Доступ: Чтение/Запись
+
+Заголовок формы
+
+### Родитель / Parent
+Доступ: Чтение
+
+Родитель формы. Всегда Неопределено
+
+### Имя / Name
+Доступ: Чтение/Запись
+
+Имя формы
+
+### Элементы / Items
+Доступ: Чтение
+
+Тип значения: Элементы
+
+Содержит коллекцию подчиненных элементов группы.
+
+### АвтоматическийРазмер / AutoSize
+Доступ: Чтение/Запись
+
+Автоматический размер
+
+### Высота / Height
+Доступ: Чтение/Запись
+
+Высота
+
+### Ширина / Width
+Доступ: Чтение/Запись
+
+Ширина
+
+### Закрепление / Dock
+Доступ: Чтение/Запись
+
+Неиспользуется. Создан для реализации интерфейса
+
+### ТекущийЭлемент / CurrentItem
+Доступ: Запись
+
+Тип значения: ПолеФормы, ГруппаФормы, КнопкаФормы
+
+Устанавливает текущий активный элемент формы.
+
+## Методы
+
+### Показать / Show()
+
+Показать форму (показывает модально)
+
+### ПоказатьНеМодально / ShowNotModal()
+
+Используется для прохождения тестов. Если открывать не модально сразу закроется и будут доступны другие методы
+
+### Закрыть / Close()
+
+Закрыть форму
+
+### УстановитьДействие / SetAction()
+
+Установить обработчик события.
+Возможные события:
+- ПриОткрытии - При первом открытии формы
+- ПриЗакрытии - При закрытии формы
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+
+#### Параметры
+
+* *contex*: Ссылка на скрипт в котором находится обработчик события
+
+* *eventName*: Имя обрабатываемого события
+
+* *methodName*: Имя метода обработчика события
+
+### ПолучитьДействие / GetAction()
+
+Получает имя установленного обработчика события.
+
+#### Пример:
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.ПолучитьДействие("ПриОткрытии");
+ // вернет: "ПриОткрытииФормы"
+
+
+#### Параметры
+
+* *eventName*: Имя события
+
+#### Возвращаемое значение
+
+Имя метода обработчика события
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/docs/Элементы.md b/system/OneScript/lib/gui/docs/Элементы.md
new file mode 100644
index 0000000..68ce137
--- /dev/null
+++ b/system/OneScript/lib/gui/docs/Элементы.md
@@ -0,0 +1,55 @@
+# Элементы / Elements
+
+Содержит коллекцию подчиненных элементов.
+
+## Свойства
+
+## Методы
+
+### Количество / Count()
+
+Получает количество элементов коллекции.
+
+#### Возвращаемое значение
+
+### Найти / Find()
+
+Осуществляет поиск элемента управления с заданным именем.
+
+### Удалить / Delete()
+
+Удаляет элемент из коллекции.
+
+#### Параметры
+
+* *Element*: ,
+,
+Удаляемый элемент.
+
+### Переместить / Move()
+
+Перемещает элемент коллекции.
+
+#### Параметры
+
+* *Element*: Перемещаемый элемент.
+
+* *ParentElement*: Новый родитель элемента. Может совпадать со старым.
+
+* *BeforeElement*: Элемент, перед которым нужно разместить перемещаемый элемент. Если не задан, то перемещается в конец коллекции.
+
+### Добавить / Add()
+
+Вставляет элемент в коллекцию элементов.
+
+#### Параметры
+
+* *ElementName*: Уникальное имя добавляемого элемента.
+
+* *ElementType*: Тип добавляемого элемента.
+
+* *ElementParent*: Родитель для добавляемого элемента. Если не указан, то вставляется на верхний уровень.
+
+#### Возвращаемое значение
+
+Ссылка на созданый элемент
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/examples/example-all-components.os b/system/OneScript/lib/gui/examples/example-all-components.os
new file mode 100644
index 0000000..4f3bacd
--- /dev/null
+++ b/system/OneScript/lib/gui/examples/example-all-components.os
@@ -0,0 +1,141 @@
+Перем ТекстовоеПоле1 Экспорт;
+
+
+/// \public ПриНажатииКнопка1
+/// \brief Обработка события нажатия на кнопку
+Процедура ПриНажатииКнопка1() Экспорт
+ Сообщить("Нажали на кнопку");
+ ТекстовоеПоле1.Значение = "По кнопке ...";
+КонецПроцедуры
+
+//# Загружаем внешнюю компоненту
+ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+Сообщить("Версия: " + УправляемыйИнтерфейс.Версия);
+
+фрм = УправляемыйИнтерфейс.СоздатьФорму();
+фрм.Заголовок = "my new form";
+фрм.Высота = 600;
+фрм.Ширина = 500;
+
+ЭлементыФормы = фрм.Элементы;
+ВидыПоляФормы = фрм.ВидПоляФормы;
+ПоложениеЗаголовка = фрм.ПоложениеЗаголовка;
+ВидГруппыФормы = фрм.ВидГруппыФормы;
+
+//# Календарь, с установленной датой
+ПолеДаты1 = ЭлементыФормы.Добавить("ПолеДаты1", "ПолеФормы", Неопределено);
+ПолеДаты1.Заголовок = "Мой текст";
+ПолеДаты1.Вид = ВидыПоляФормы.ПолеКалендаря;
+ПолеДаты1.Значение = Дата(2015,03,01);
+
+//# Поле со списком
+Данные = Новый Соответствие;
+Данные.Вставить("Один", "1");
+Данные.Вставить("Два", "2");
+Данные.Вставить("Три", "3");
+ПолеСоСписком1 = ЭлементыФормы.Добавить("ПолеСоСписком1", "ПолеФормы", Неопределено);
+ПолеСоСписком1.Заголовок = "Поле со списком (данные из скрипта):";
+ПолеСоСписком1.Вид = ВидыПоляФормы.ПолеСоСписком;
+ПолеСоСписком1.СписокВыбора = Данные;
+ПолеСоСписком1.Значение = "3";
+
+//# Текстовое поле, значение из скрипта
+ТекстовоеПоле1 = ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ТекстовоеПоле1.Заголовок = "Еще реквизит:";
+ТекстовоеПоле1.Вид = ВидыПоляФормы.ПолеВвода;
+ТекстовоеПоле1.Значение = "Значение из скрипта.";
+ТекстовоеПоле1.Доступность = Ложь;
+
+//# Большое Текстовое поле
+МногострочныйТекст = ЭлементыФормы.Добавить("ПолеТекстовогоДокумента", "ПолеФормы", Неопределено);
+МногострочныйТекст.Заголовок = "ПолеТекстовогоДокумента";
+МногострочныйТекст.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+МногострочныйТекст.Значение = "ПолеТекстовогоДокумента ПолеТекстовогоДокумента ПолеТекстовогоДокумента ПолеТекстовогоДокумента" + Символы.ПС + "ПолеТекстовогоДокумента";
+МногострочныйТекст.ПоложениеЗаголовка = ПоложениеЗаголовка.Верх;
+
+//# Создание групп
+Группа1 = ЭлементыФормы.Добавить("ОбычнаяГруппа1", "ГруппаФормы", Неопределено);
+Группа1.Вид = ВидГруппыФормы.ОбычнаяГруппа;
+Группа1.Заголовок = "Группа1";
+
+//# Декорация
+Декорация1 = ЭлементыФормы.Добавить("Декорация1", "ПолеФормы", Группа1);
+Декорация1.Заголовок = "Декорация1";
+Декорация1.Вид = ВидыПоляФормы.ПолеНадписи;
+
+МногострочныйТекст2 = ЭлементыФормы.Добавить("ПолеТекстовогоДокумента2", "ПолеФормы", Группа1);
+МногострочныйТекст2.Заголовок = "ПолеТекстовогоДокумента";
+МногострочныйТекст2.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+МногострочныйТекст2.Значение = "Много умного текста" + Символы.ПС + Символы.ВК + "Очень много текста";
+МногострочныйТекст2.ПоложениеЗаголовка = ПоложениеЗаголовка.Нет;
+
+ТекстовоеПоле2 = ЭлементыФормы.Добавить("ТекстовоеПоле2", "ПолеФормы", Группа1);
+ТекстовоеПоле2.Заголовок = "Еще реквизит:";
+ТекстовоеПоле2.Вид = ВидыПоляФормы.ПолеВвода;
+ТекстовоеПоле2.Значение = "Какой-то текст ...";
+ТекстовоеПоле2.ТолькоПросмотр = Ложь;
+
+//# Создание страниц
+Страницы = ЭлементыФормы.Добавить("Страницы1", "ГруппаФормы", Неопределено);
+Страницы.Вид = ВидГруппыФормы.Страницы;
+Страницы.Заголовок = "Страницы";
+Страницы.Высота = 120;
+
+Страница1 = ЭлементыФормы.Добавить("Страница1", "ГруппаФормы", Страницы);
+Страница1.Вид = ВидГруппыФормы.Страница;
+Страница1.Заголовок = "Страница1";
+
+ТекстовоеПоле3 = ЭлементыФормы.Добавить("ТекстовоеПоле3", "ПолеФормы", Страница1);
+ТекстовоеПоле3.Заголовок = "Еще реквизит:";
+ТекстовоеПоле3.Вид = ВидыПоляФормы.ПолеВвода;
+ТекстовоеПоле3.Значение = "Какой-то текст ...";
+ТекстовоеПоле3.ТолькоПросмотр = Истина;
+
+Страница2 = ЭлементыФормы.Добавить("Страница2", "ГруппаФормы", Страницы);
+Страница2.Вид = ВидГруппыФормы.Страница;
+Страница2.Заголовок = "Страница2";
+
+//# ПолеСписка
+Данные2 = Новый Соответствие;
+Данные2.Вставить("Один", "1");
+Данные2.Вставить("Два", "2");
+Данные2.Вставить("Три", "3");
+
+//# Создаем кнопку
+Кнопка1 = ЭлементыФормы.Добавить("Кнопка1", "КнопкаФормы", Страница2);
+Кнопка1.Заголовок = "Нажми меня";
+Кнопка1.КнопкаНажатие(ЭтотОбъект,"ПриНажатииКнопка1");
+
+ПолеСписка1 = фрм.Элементы.Добавить("ПолеСписка1", "ПолеФормы", Страница2);
+ПолеСписка1.Заголовок = "ПолеСписка";
+ПолеСписка1.Вид = ВидыПоляФормы.ПолеСписка;
+ПолеСписка1.СписокВыбора = Данные;
+
+//# Прогрессбар
+ПрогрессБар = ЭлементыФормы.Добавить("МойИндикатор", "ПолеФормы", Неопределено);
+ПрогрессБар.Заголовок = "Еще реквизит:";
+ПрогрессБар.Вид = ВидыПоляФормы.ПолеИндикатора;
+ПрогрессБар.Значение = 60;
+ПрогрессБар.Доступность = Ложь;
+ПрогрессБар.Заголовок = "Состояние ...";
+ПрогрессБар.ПоложениеЗаголовка = ПоложениеЗаголовка.Верх;
+
+Сообщить("Количество элементов: " + ЭлементыФормы.Количество());
+
+НайденРеквизит = ЭлементыФормы.Найти("ТекстовоеПоле1");
+Если НЕ НайденРеквизит = Неопределено Тогда
+ Сообщить("Найден реквизит: " + НайденРеквизит.Заголовок + "/" + НайденРеквизит.Имя);
+КонецЕсли;
+
+НайденРеквизит = ЭлементыФормы.Найти("Пустышка");
+Если НайденРеквизит = Неопределено Тогда
+ Сообщить("Не найден реквизит: " + "Пустышка");
+КонецЕсли;
+
+фрм.Показать();
+
+//# Получим данные из формы
+Сообщить("Новая Дата: " + ПолеДаты1.Значение);
+Сообщить("Список, значение: " + ТекстовоеПоле1.Значение);
diff --git a/system/OneScript/lib/gui/examples/example-button-n-edit.os b/system/OneScript/lib/gui/examples/example-button-n-edit.os
new file mode 100644
index 0000000..dd9e252
--- /dev/null
+++ b/system/OneScript/lib/gui/examples/example-button-n-edit.os
@@ -0,0 +1,35 @@
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ ПолеВвода1 = Форма.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено);
+ ПолеВвода1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ ПолеВвода1.Заголовок = "Поле ввода";
+ ПолеВвода1.Значение = "Значение задано из скрипта";
+
+ Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка1.Заголовок = "Нажми меня";
+ Кнопка1.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопку1");
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопку1() Экспорт
+ Форма.Элементы.Найти("ПолеВвода1").Значение = "Значение после нажатия на кнопку";
+КонецПроцедуры
+
+Инициализация();
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/examples/example-combobox-change-event.os b/system/OneScript/lib/gui/examples/example-combobox-change-event.os
new file mode 100644
index 0000000..32ae42a
--- /dev/null
+++ b/system/OneScript/lib/gui/examples/example-combobox-change-event.os
@@ -0,0 +1,40 @@
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ Данные = Новый Соответствие;
+ Данные.Вставить("Один", "1");
+ Данные.Вставить("Два", "2");
+ Данные.Вставить("Три", "3");
+
+ ПолеСоСписком1 = Форма.Элементы.Добавить("ПолеСоСписком1", "ПолеФормы", Неопределено);
+ ПолеСоСписком1.Заголовок = "Поле со списком";
+ ПолеСоСписком1.Вид = Форма.ВидПоляФормы.ПолеСоСписком;
+ ПолеСоСписком1.СписокВыбора = Данные;
+ ПолеСоСписком1.Значение = "3";
+ ПолеСоСписком1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Форма.Высота = 80;
+
+КонецПроцедуры
+
+Процедура ПриИзменииЗначения() Экспорт
+ Сообщить("Новое значение: " + Форма.Элементы.Найти("ПолеСоСписком1").Значение);
+КонецПроцедуры
+
+Инициализация();
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/examples/example-decoration.os b/system/OneScript/lib/gui/examples/example-decoration.os
new file mode 100644
index 0000000..e73c30b
--- /dev/null
+++ b/system/OneScript/lib/gui/examples/example-decoration.os
@@ -0,0 +1,28 @@
+Перем Форма;
+
+Процедура Инициализация()
+
+ //# Загружаем внешнюю компоненту
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll"));
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ //# Устанавливаем обработку события ПриОткрытии
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+КонецПроцедуры
+
+//# Обработка события первого открытия формы
+Процедура ПриОткрытииФормы() Экспорт
+
+ Декорация1 = Форма.Элементы.Добавить("Декорация1", "ПолеФормы", Неопределено);
+ Декорация1.Вид = Форма.ВидПоляФормы.ПолеНадписи;
+ Декорация1.Заголовок = "Это действительно работает!";
+
+ Форма.Высота = 100;
+
+КонецПроцедуры
+
+Инициализация();
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/opm-metadata.xml b/system/OneScript/lib/gui/opm-metadata.xml
new file mode 100644
index 0000000..ca9aa39
--- /dev/null
+++ b/system/OneScript/lib/gui/opm-metadata.xml
@@ -0,0 +1,5 @@
+
+
+ gui
+ 1.0.2.1
+
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/package-loader.os b/system/OneScript/lib/gui/package-loader.os
new file mode 100644
index 0000000..52e9580
--- /dev/null
+++ b/system/OneScript/lib/gui/package-loader.os
@@ -0,0 +1,6 @@
+Процедура ПриЗагрузкеБиблиотеки(Путь, СтандартнаяОбработка, Отказ)
+
+ СтандартнаяОбработка = Ложь;
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(Путь, "bin\oscript-gui.dll"));
+
+КонецПроцедуры
\ No newline at end of file
diff --git a/system/OneScript/lib/gui/tests/test-Elements.os b/system/OneScript/lib/gui/tests/test-Elements.os
new file mode 100644
index 0000000..2c4cc23
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-Elements.os
@@ -0,0 +1,171 @@
+#Использовать asserts
+#Использовать gui
+
+Перем Форма;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_ВернутьКоличествоЭлементовНоль");
+ СписокТестов.Добавить("Тест_Должен_ВернутьКоличествоЭлементовОдин");
+ СписокТестов.Добавить("Тест_Должен_ВернутьСтрокуЭлементы");
+
+ СписокТестов.Добавить("Тест_Должен_ВернутьЭлементФормы");
+ СписокТестов.Добавить("Тест_Должен_ВернутьНеопределеноПриПоиске");
+
+ СписокТестов.Добавить("Тест_Должен_УдалитьЭлемент");
+
+ СписокТестов.Добавить("Тест_Должен_ПереместитьЭлементОдинРодитель");
+ СписокТестов.Добавить("Тест_Должен_ПереместитьЭлементРазныеРодители");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+// Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПолучитьФормуДляТеста()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьКоличествоЭлементовНоль() Экспорт
+
+ ПолучитьФормуДляТеста();
+ Форма.Показать();
+ Ожидаем.Что(Форма.Элементы.Количество()).Равно(0);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьСтрокуЭлементы() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормыСтр = Строка(Форма.Элементы);
+ Форма.Показать();
+
+ Ожидаем.Что(ЭлементыФормыСтр).Равно("Элементы");
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьКоличествоЭлементовОдин() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+ ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Количество()).Равно(1);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЭлементФормы() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+ ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ НайденныйЭлемент = ЭлементыФормы.Найти("ТекстовоеПоле1");
+ Форма.Показать();
+
+ Ожидаем.Что(НайденныйЭлемент).Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьНеопределеноПриПоиске() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+ ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ НайденныйЭлемент = ЭлементыФормы.Найти("ОшибочноеИмя");
+ Форма.Показать();
+
+ Ожидаем.Что(НайденныйЭлемент).Равно(Неопределено);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УдалитьЭлемент() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+ Элемент = ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ Элемент.Заголовок = "ТекстовоеПоле1";
+ НайденныйЭлемент = ЭлементыФормы.Найти("ТекстовоеПоле1");
+ ЭлементыФормы.Удалить(НайденныйЭлемент);
+ Форма.Показать();
+
+ Ожидаем.Что(ЭлементыФормы.Количество()).Равно(0);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПереместитьЭлементОдинРодитель() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+
+ Элемент1 = ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Неопределено);
+ Элемент1.Заголовок = "ТекстовоеПоле1";
+
+ Элемент2 = ЭлементыФормы.Добавить("ТекстовоеПоле2", "ПолеФормы", Неопределено);
+ Элемент2.Заголовок = "ТекстовоеПоле2";
+
+ //Сообщить("Родитель: " + Элемент1.Родитель);
+
+ ЭлементыФормы.Переместить(Элемент1, Элемент1.Родитель, Элемент2);
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПереместитьЭлементРазныеРодители() Экспорт
+
+ ПолучитьФормуДляТеста();
+ ЭлементыФормы = Форма.Элементы;
+ ВидГруппыФормы = Форма.ВидГруппыФормы;
+ ВидПоляФормы = Форма.ВидПоляФормы;
+
+ Группа1 = ЭлементыФормы.Добавить("ОбычнаяГруппа1", "ГруппаФормы", Неопределено);
+ Группа1.Вид = ВидГруппыФормы.ОбычнаяГруппа;
+ Группа1.Заголовок = "Группа1";
+
+ Элемент1 = ЭлементыФормы.Добавить("ТекстовоеПоле1", "ПолеФормы", Группа1);
+ Элемент1.Вид = ВидПоляФормы.ПолеВвода;
+ Элемент1.Заголовок = "ТекстовоеПоле1";
+
+ Группа2 = ЭлементыФормы.Добавить("ОбычнаяГруппа2", "ГруппаФормы", Неопределено);
+ Группа2.Вид = ВидГруппыФормы.ОбычнаяГруппа;
+ Группа2.Заголовок = "Группа2";
+
+ Элемент2 = ЭлементыФормы.Добавить("ТекстовоеПоле2", "ПолеФормы", Группа2);
+ Элемент2.Вид = ВидПоляФормы.ПолеВвода;
+ Элемент2.Заголовок = "ТекстовоеПоле2";
+
+ Элемент3 = ЭлементыФормы.Добавить("ТекстовоеПоле3", "ПолеФормы", Группа2);
+ Элемент3.Вид = ВидПоляФормы.ПолеВвода;
+ Элемент3.Заголовок = "ТекстовоеПоле3";
+
+ Кнопка1 = ЭлементыФормы.Добавить("Кнопка1", "КнопкаФормы", Группа2);
+ Кнопка1.Заголовок = "Кнопка1";
+
+ Группа3 = ЭлементыФормы.Добавить("ОбычнаяГруппа3", "ГруппаФормы", Неопределено);
+ Группа3.Вид = ВидГруппыФормы.ОбычнаяГруппа;
+ Группа3.Заголовок = "Группа3";
+
+ ЭлементыФормы.Переместить(Элемент1, Элемент3.Родитель, Элемент3);
+ ЭлементыФормы.Переместить(Кнопка1, Элемент3.Родитель, Элемент1);
+ ЭлементыФормы.Переместить(Группа3, Группа1, Неопределено);
+ ЭлементыФормы.Переместить(Элемент1, Группа3, Неопределено);
+ ЭлементыФормы.Переместить(Кнопка1, Группа1.Родитель, Неопределено);
+
+ Форма.Показать();
+
+ Ожидаем.Что(Элемент1.Родитель).Равно(Группа3);
+ Ожидаем.Что(Кнопка1.Родитель).Равно(Форма);
+ Ожидаем.Что(Группа3.Родитель).Равно(Группа1);
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormButton.os b/system/OneScript/lib/gui/tests/test-FormButton.os
new file mode 100644
index 0000000..22b55b7
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormButton.os
@@ -0,0 +1,175 @@
+#Использовать asserts
+#Использовать gui
+
+Перем Форма;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьКнопку");
+ СписокТестов.Добавить("Тест_Должен_УстановитьЗаголовок");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИмя");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИмяИБытьНайден");
+
+ СписокТестов.Добавить("Тест_Должен_УстановитьВидимость");
+ СписокТестов.Добавить("Тест_Должен_УстановитьДоступность");
+ СписокТестов.Добавить("Тест_Должен_ВернутьРодителя");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьНажатиеНаКнопку");
+
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+// Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Процедура Тест_Должен_СоздатьКнопку() Экспорт
+
+ ПолучитьФорму();
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Количество()).Равно(1);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьЗаголовок() Экспорт
+
+ НовыйЗаголовок = "Новый заголовок кнопки";
+
+ ПолучитьФорму();
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка.Заголовок = НовыйЗаголовок;
+ Форма.Показать();
+
+ Ожидаем.Что(Кнопка.Заголовок).Равно(НовыйЗаголовок);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИмя() Экспорт
+
+ НовоеИмя = "НовоеИмя";
+
+ ПолучитьФорму();
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка.Имя = НовоеИмя;
+ Форма.Показать();
+ Ожидаем.Что(Кнопка.Имя).Равно(НовоеИмя);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИмяИБытьНайден() Экспорт
+
+ НовоеИмя = "НовоеИмя";
+
+ ПолучитьФорму();
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка.Имя = НовоеИмя;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти(НовоеИмя)).Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьВидимость() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка.Видимость = Истина;
+
+ Ожидаем.Что(Кнопка.Visible).Равно(Истина);
+
+ Кнопка.Видимость = Ложь;
+ Ожидаем.Что(Кнопка.Visible).Равно(Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьДоступность() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка.Доступность = Истина;
+
+ Ожидаем.Что(Кнопка.Enabled).Равно(Истина);
+
+ Кнопка.Доступность = Ложь;
+ Ожидаем.Что(Кнопка.Enabled).Равно(Ложь);
+
+КонецПроцедуры
+
+
+
+Процедура Тест_Должен_ВернутьРодителя() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Кнопка = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+
+ Ожидаем.Что(Строка(Кнопка.Родитель)).Равно("УправляемаяФорма");
+
+ Группа = Форма.Элементы.Добавить("Группа", "ГруппаФормы", Неопределено);
+
+ Кнопка2 = Форма.Элементы.Добавить("Кнопка2", "ПолеФормы", Группа);
+ Ожидаем.Что(Строка(Кнопка2.Родитель)).Равно("ГруппаФормы");
+
+ Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено);
+ Группа1.Вид = Форма.ВидГруппыФормы.ОбычнаяГруппа;
+
+ Форма.Элементы.Переместить(Кнопка2, Группа1, Неопределено);
+
+ Ожидаем.Что(Строка(Кнопка2.Родитель.Имя)).Равно("Группа1");
+
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопку() Экспорт
+ Сообщить("КнопкаНажатие: Нажали на кнопку");
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопку2() Экспорт
+ Сообщить("УстановитьДействие: Нажали на кнопку");
+КонецПроцедуры
+
+
+Процедура Тест_Должен_ОбработатьНажатиеНаКнопку() Экспорт
+ ПолучитьФорму();
+
+ Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено);
+ Кнопка1.КнопкаНажатие(ЭтотОбъект,"ПриНажатииНаКнопку");
+
+ Кнопка2 = Форма.Элементы.Добавить("Кнопка2", "КнопкаФормы", Неопределено);
+ Кнопка2.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопку2");
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Кнопка2 = Форма.Элементы.Добавить("Кнопка2", "КнопкаФормы", Неопределено);
+ Кнопка2.УстановитьДействие(ТекущийСценарий(), "Нажатие", "ПриНажатииНаКнопку2");
+
+ Ожидаем.Что(Кнопка2.ПолучитьДействие("Нажатие")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-CalendarField.os b/system/OneScript/lib/gui/tests/test-FormField-CalendarField.os
new file mode 100644
index 0000000..63ad481
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-CalendarField.os
@@ -0,0 +1,98 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+Перем УправляемыйИнтерфейс;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеКалендаря;
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+
+ ТекДата = Дата(2016,05,02);
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеКалендаря;
+ Поле1.Значение = ТекДата;
+
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(ТекДата);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ ТекДата = Дата(2016,05,02);
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеКалендаря;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = ТекДата;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + ТекДата);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеКалендаря;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-CheckBoxField.os b/system/OneScript/lib/gui/tests/test-FormField-CheckBoxField.os
new file mode 100644
index 0000000..cc62f68
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-CheckBoxField.os
@@ -0,0 +1,100 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеФлажка;
+ Поле1.Заголовок = "Флажок";
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+ СтрЗначение = Истина;
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеФлажка;
+ Поле1.Значение = СтрЗначение;
+ Поле1.Заголовок = "Флажок";
+
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ СтрЗначение = Истина;
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеФлажка;
+ Поле1.Заголовок = "Флажок";
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = СтрЗначение;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеФлажка;
+ Поле1.Заголовок = "Флажок";
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-ComboBox.os b/system/OneScript/lib/gui/tests/test-FormField-ComboBox.os
new file mode 100644
index 0000000..93efbb1
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-ComboBox.os
@@ -0,0 +1,116 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+Перем Данные;
+
+Процедура Инициализация()
+
+ Данные = Новый Соответствие;
+ Данные.Вставить("Один", "1");
+ Данные.Вставить("Два", "2");
+ Данные.Вставить("Три", "3");
+
+КонецПроцедуры
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСоСписком;
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+ НовоеЗначение = "3";
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСоСписком;
+ Поле1.СписокВыбора = Данные;
+ Поле1.Значение = НовоеЗначение;
+
+ Форма.Показать();
+
+ Стр1 = Форма.Элементы.Найти("Поле1").Значение;
+ //Сообщить("Нашли и значение: " + Стр1);
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ НовоеЗначение = "3";
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСоСписком;
+ Поле1.СписокВыбора = Данные;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = НовоеЗначение;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСоСписком;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+//////////////////////////////////////////////////////////////////////////////////////
+// Инициализация
+
+Инициализация();
diff --git a/system/OneScript/lib/gui/tests/test-FormField-InputField.os b/system/OneScript/lib/gui/tests/test-FormField-InputField.os
new file mode 100644
index 0000000..5729d48
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-InputField.os
@@ -0,0 +1,226 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем ТекстПриИзменении;
+Перем Форма;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьТекстовоеПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьЗаголовок");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИмя");
+ СписокТестов.Добавить("Тест_Должен_УстановитьВидимость");
+ СписокТестов.Добавить("Тест_Должен_УстановитьДоступность");
+ СписокТестов.Добавить("Тест_Должен_ВернутьРодителя");
+ СписокТестов.Добавить("Тест_Должен_УстановитьТолькоПросмотр");
+ СписокТестов.Добавить("Тест_Должен_ПроверитьПоложениеЗаголовка");
+
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Процедура Тест_Должен_СоздатьТекстовоеПоле() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.Значение = "ПроверкаЗначения";
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно("ПроверкаЗначения");
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьЗаголовок() Экспорт
+
+ НовыйЗаголовок = "Новый заголовок";
+
+ ПолучитьФорму();
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.Заголовок = НовыйЗаголовок;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Заголовок).Равно(НовыйЗаголовок);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИмя() Экспорт
+
+ НовоеИмя = "НовоеИмя";
+
+ ПолучитьФорму();
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.Имя = НовоеИмя;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти(НовоеИмя).Имя).Равно(НовоеИмя);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьВидимость() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.Видимость = Истина;
+ Ожидаем.Что(Поле1.Visible).Равно(Истина);
+
+ Поле1.Видимость = Ложь;
+ Ожидаем.Что(Поле1.Visible).Равно(Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьДоступность() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Поле1.Доступность = Истина;
+ Ожидаем.Что(Поле1.Enabled).Равно(Истина);
+
+ Поле1.Доступность = Ложь;
+ Ожидаем.Что(Поле1.Enabled).Равно(Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьРодителя() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Ожидаем.Что(Строка(Форма.Элементы.Найти("Поле1").Родитель)).Равно("УправляемаяФорма");
+
+ Группа = Форма.Элементы.Добавить("Группа", "ГруппаФормы", Неопределено);
+
+ Поле2 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа);
+ Ожидаем.Что(Группа.Элементы.Найти("Поле2").Родитель).Равно(Группа);
+
+ //# Не должно быть у формы
+ //юТест.ПроверитьРавенство(Форма.Элементы.Найти("Поле2"), Неопределено);
+ Ожидаем.Что(Форма.Элементы.Найти("Поле2")).Равно(Неопределено);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьТолькоПросмотр() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Поле1.ТолькоПросмотр = Истина;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ReadOnly).Равно(Истина);
+
+ Поле1.ТолькоПросмотр = Ложь;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ReadOnly).Равно(Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПроверитьПоложениеЗаголовка() Экспорт
+
+ ПолучитьФорму();
+ Форма.Показать();
+
+ ПоложенияЗаголовка = Форма.ПоложениеЗаголовка;
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Авто;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Авто);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Верх;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Верх);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Лево;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Лево);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Нет;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Нет);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Низ;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Низ);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Право;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Право);
+
+
+КонецПроцедуры
+
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПриИзменении = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ ТекстПриИзменении = "Исходный текст: ";
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = "Произвольный текст";
+
+ Ожидаем.Что(ТекстПриИзменении + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: Произвольный текст");
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-LabelField.os b/system/OneScript/lib/gui/tests/test-FormField-LabelField.os
new file mode 100644
index 0000000..297c9f0
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-LabelField.os
@@ -0,0 +1,95 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеНадписи;
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+ СтрЗначение = "Декорация";
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеНадписи;
+ Поле1.Значение = СтрЗначение;
+
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ СтрЗначение = "Декорация";
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеНадписи;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = СтрЗначение;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеНадписи;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-ListBox.os b/system/OneScript/lib/gui/tests/test-FormField-ListBox.os
new file mode 100644
index 0000000..62e251e
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-ListBox.os
@@ -0,0 +1,131 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+Перем Данные;
+
+Процедура Инициализация()
+
+ Данные = Новый Соответствие;
+ Данные.Вставить("Один", "1");
+ Данные.Вставить("Два", "2");
+ Данные.Вставить("Три", "3");
+
+КонецПроцедуры
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьДвойнойКлик");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСписка;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+ НовоеЗначение = "3";
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСписка;
+ Поле1.СписокВыбора = Данные;
+ Поле1.Значение = НовоеЗначение;
+
+ Форма.Показать();
+
+ // Стр1 = Форма.Элементы.Найти("Поле1").Значение;
+ // Сообщить("Нашли и значение: " + Стр1);
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ НовоеЗначение = "3";
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСписка;
+ Поле1.СписокВыбора = Данные;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = НовоеЗначение;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСписка;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+КонецПроцедуры
+
+Процедура ОбработкаДвойногоКлика() Экспорт
+ // ТекстПроверки =
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьДвойнойКлик() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеСписка;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно("");
+
+КонецПроцедуры
+
+//////////////////////////////////////////////////////////////////////////////////////
+// Инициализация
+
+Инициализация();
diff --git a/system/OneScript/lib/gui/tests/test-FormField-ProgressBarField.os b/system/OneScript/lib/gui/tests/test-FormField-ProgressBarField.os
new file mode 100644
index 0000000..bc3f3b4
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-ProgressBarField.os
@@ -0,0 +1,183 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем ПоложенияЗаголовка;
+Перем ТекстПриИзменении;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьЗаголовок");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИмя");
+ СписокТестов.Добавить("Тест_Должен_УстановитьВидимость");
+ СписокТестов.Добавить("Тест_Должен_УстановитьДоступность");
+ СписокТестов.Добавить("Тест_Должен_ВернутьРодителя");
+ СписокТестов.Добавить("Тест_Должен_УстановитьТолькоПросмотр");
+ СписокТестов.Добавить("Тест_Должен_ПроверитьПоложениеЗаголовка");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+ ПоложенияЗаголовка = Форма.ПоложениеЗаголовка;
+
+ Возврат Форма;
+
+КонецФункции
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ Форма = ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+ Поле1.Значение = 1;
+
+ Форма.ПоказатьНеМодально();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(1);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьЗаголовок() Экспорт
+
+ НовыйЗаголовок = "Новый заголовок";
+
+ Форма = ПолучитьФорму();
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+ Поле1.Заголовок = НовыйЗаголовок;
+ Форма.ПоказатьНеМодально();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Заголовок).Равно(НовыйЗаголовок);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИмя() Экспорт
+
+ НовоеИмя = "НовоеИмя";
+
+ Форма = ПолучитьФорму();
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+ Поле1.Имя = НовоеИмя;
+ Форма.ПоказатьНеМодально();
+
+ Ожидаем.Что(Форма.Элементы.Найти(НовоеИмя).Имя).Равно(НовоеИмя);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьВидимость() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+ Поле1.Видимость = Истина;
+
+ Ожидаем.Что(Поле1.Visible).ЭтоИстина();
+
+ Поле1.Видимость = Ложь;
+ Ожидаем.Что(Поле1.Visible).ЭтоЛожь();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьДоступность() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+
+ Поле1.Доступность = Истина;
+ Ожидаем.Что(Поле1.Enabled).ЭтоИстина();
+
+ Поле1.Доступность = Ложь;
+ Ожидаем.Что(Поле1.Enabled).ЭтоЛожь();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьРодителя() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+
+ Ожидаем.Что(Строка(Форма.Элементы.Найти("Поле1").Родитель)).Равно("УправляемаяФорма");
+
+ Группа = Форма.Элементы.Добавить("Группа", "ГруппаФормы", Неопределено);
+
+ Поле2 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа);
+ Поле2.Вид = ВидыПоляФормы.ПолеИндикатора;
+
+ Ожидаем.Что(Группа.Элементы.Найти("Поле2").Родитель).Равно(Форма.Элементы.Найти("Группа"));
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьТолькоПросмотр() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+
+ Поле1.ТолькоПросмотр = Истина;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ReadOnly).ЭтоИстина();
+
+ Поле1.ТолькоПросмотр = Ложь;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ReadOnly).ЭтоЛожь();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПроверитьПоложениеЗаголовка() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.ПоказатьНеМодально();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеИндикатора;
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Авто;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Авто);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Верх;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Верх);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Лево;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Лево);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Нет;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Нет);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Низ;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Низ);
+
+ Поле1.ПоложениеЗаголовка = ПоложенияЗаголовка.Право;
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПоложениеЗаголовка).Равно(ПоложенияЗаголовка.Право);
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormField-TextDocumentField.os b/system/OneScript/lib/gui/tests/test-FormField-TextDocumentField.os
new file mode 100644
index 0000000..d89e118
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormField-TextDocumentField.os
@@ -0,0 +1,95 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением");
+ СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении");
+ СписокТестов.Добавить("Тест_Должен_ПолучитьДействие");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Функция ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидПоляФормы;
+
+КонецФункции
+
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1"),"").Существует();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт
+
+ ПолучитьФорму();
+
+ НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста.";
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+ Поле1.Значение = НовоеЗначение;
+
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение);
+
+КонецПроцедуры
+
+//# Работа с событиями
+Процедура ПриИзменииЗначения() Экспорт
+ ТекстПроверки = "Новое значение: ";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт
+ ПолучитьФорму();
+
+ НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста.";
+
+ ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: ";
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+ Поле1.Значение = НовоеЗначение;
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПолучитьДействие() Экспорт
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения");
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении"),"Ошибка при получении действия").ЭтоНе().Равно("");
+
+ Форма.Показать();
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormGroup-Pages.os b/system/OneScript/lib/gui/tests/test-FormGroup-Pages.os
new file mode 100644
index 0000000..5640f71
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormGroup-Pages.os
@@ -0,0 +1,86 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_СоздатьСтраницы");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.Страницы;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+КонецПроцедуры
+
+
+Процедура Тест_Должен_СоздатьСтраницы() Экспорт
+
+ ПолучитьФорму();
+
+ //# Создание страниц
+ Страницы = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено);
+ Страницы.Вид = Форма.ВидГруппыФормы.Страницы;
+ Страницы.Заголовок = "Страницы";
+
+ Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы);
+ Страница1.Вид = Форма.ВидГруппыФормы.Страница;
+ Страница1.Заголовок = "Страница1";
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Страницы1").Элементы.Найти("Страница1"), "Ошибка установки родителя").Равно(Страница1);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьПеремещение() Экспорт
+
+ ПолучитьФорму();
+
+ Страницы1 = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено);
+ Страницы1.Вид = Форма.ВидГруппыФормы.Страницы;
+ Страницы1.Заголовок = "Страницы";
+
+ Страницы2 = Форма.Элементы.Добавить("Страницы2", "ГруппаФормы", Неопределено);
+ Страницы2.Вид = Форма.ВидГруппыФормы.Страницы;
+ Страницы2.Заголовок = "Страницы";
+
+ Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы1);
+ Страница1.Вид = Форма.ВидГруппыФормы.Страница;
+ Страница1.Заголовок = "Страница1";
+
+ Форма.Элементы.Переместить(Страница1, Страницы2, Неопределено);
+ Форма.Показать();
+
+ Ожидаем.Что(Страницы1.Элементы.Количество()).Равно(0);
+ Ожидаем.Что(Страницы2.Элементы.Количество()).Равно(1);
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormGroup-UsualGroup.os b/system/OneScript/lib/gui/tests/test-FormGroup-UsualGroup.os
new file mode 100644
index 0000000..ffddf78
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormGroup-UsualGroup.os
@@ -0,0 +1,98 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ПеребратьПодчиненныеЭлементы");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено);
+ Поле1.Вид = ВидыПоляФормы.ОбычнаяГруппа;
+ Форма.Показать();
+
+ Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует();
+
+КонецПроцедуры
+
+
+Процедура Тест_Должен_ПеребратьПодчиненныеЭлементы() Экспорт
+
+ ПолучитьФорму();
+
+ Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено);
+ Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа;
+
+ Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1);
+ Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1);
+ Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ СтрГрп1 = "";
+ Для каждого Элемент Из Группа1.Элементы Цикл
+ СтрГрп1 = СтрГрп1 + "," + Элемент.Имя;
+ КонецЦикла;
+
+ СтрФрм = "";
+ Для каждого Элемент Из Форма.Элементы Цикл
+ СтрФрм = СтрФрм + "," + Элемент.Имя;
+ КонецЦикла;
+ Форма.Показать();
+
+ Ожидаем.Что(Сред(СтрГрп1, 2)).Равно("Поле1,Поле2");
+ Ожидаем.Что(Сред(СтрФрм, 2)).Равно("Группа1");
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьПеремещение() Экспорт
+
+ ПолучитьФорму();
+
+ Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено);
+ Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа;
+
+ Группа2 = Форма.Элементы.Добавить("Группа2", "ГруппаФормы", Неопределено);
+ Группа2.Вид = ВидыПоляФормы.ОбычнаяГруппа;
+
+ Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1);
+ Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1);
+ Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода;
+
+ Форма.Элементы.Переместить(Элемент1, Группа2, Неопределено);
+ Форма.Показать();
+
+ Ожидаем.Что(Группа2.Элементы.Количество()).Равно(1);
+ Ожидаем.Что(Группа1.Элементы.Количество()).Равно(1);
+ Ожидаем.Что(Форма.Элементы.Количество()).Равно(2);
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormTable.os b/system/OneScript/lib/gui/tests/test-FormTable.os
new file mode 100644
index 0000000..ae0cdaa
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormTable.os
@@ -0,0 +1,246 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+Перем УправляемыйИнтерфейс;
+Перем Поле1;
+Перем ПровайдерТЗ;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьВыделенныеСтроки");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьТекущаяСтрока");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьТекущиеДанные");
+ СписокТестов.Добавить("Тест_Должен_УправлятьКолонками");
+ СписокТестов.Добавить("Тест_Должен_УправлятьСобытиями");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ // Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПриПотереФокусаЯчейки() Экспорт
+ Сообщить("Смена ячейки: " + Поле1.ТекущиеДанные[0]);
+КонецПроцедуры
+
+Процедура ПриДвойномКлике() Экспорт
+ Сообщить("Дабл клик: " + Поле1.ТекущиеДанные[0]);
+КонецПроцедуры
+
+Процедура ПриВыборе() Экспорт
+ Сообщить("ПриВыборе: " + Поле1.ТекущиеДанные[0]);
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ ВидыПоляФормы = Форма.ВидГруппыФормы;
+
+КонецПроцедуры
+
+Функция ПолучитьТЗ()
+
+ ТЗ = Новый ТаблицаЗначений;
+ ТЗ.Колонки.Добавить("Код");
+ ТЗ.Колонки.Добавить("Наименование");
+ ТЗ.Колонки.Добавить("ДатаРождения");
+
+ СтрокаТЗ = ТЗ.Добавить();
+ СтрокаТЗ.Код = 1;
+ СтрокаТЗ.Наименование = "Вася";
+ СтрокаТЗ.ДатаРождения = Дата(2000,2,1);
+
+ СтрокаТЗ = ТЗ.Добавить();
+ СтрокаТЗ.Код = 2;
+ СтрокаТЗ.Наименование = "Коля";
+ СтрокаТЗ.ДатаРождения = Дата(2010,5,2);
+
+ СтрокаТЗ = ТЗ.Добавить();
+ СтрокаТЗ.Код = 3;
+ СтрокаТЗ.Наименование = "Саша";
+
+ Возврат ТЗ;
+КонецФункции // ПолучитьТЗ()
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ //
+ Строки = Поле1.ВыделенныеСтроки;
+ Для каждого Стр Из Строки Цикл
+ Сообщить(Стр);
+ КонецЦикла;
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопкуВыделенныеСтроки() Экспорт
+ Сообщить("Нажали");
+ Строки = Поле1.ВыделенныеСтроки;
+ Для каждого Стр Из Строки Цикл
+ Сообщить("Выделено: " + Стр);
+ КонецЦикла;
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьВыделенныеСтроки() Экспорт
+
+ ПолучитьФорму();
+
+ КнопкаВыделенныеСтроки = Форма.Элементы.Добавить("КнопкаВыделенныеСтроки", "КнопкаФормы", Неопределено);
+ КнопкаВыделенныеСтроки.Заголовок = "Обработать выделенные";
+ КнопкаВыделенныеСтроки.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопкуВыделенныеСтроки");
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопкуНомерСтроки() Экспорт
+ Сообщить("Тек. номер строки: " + Поле1.ТекущаяСтрока);
+ Поле1.ТекущаяСтрока = 2;
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьТекущаяСтрока() Экспорт
+
+ ПолучитьФорму();
+
+ КнопкаНомерСтроки = Форма.Элементы.Добавить("КнопкаВыделенныеСтроки", "КнопкаФормы", Неопределено);
+ КнопкаНомерСтроки.Заголовок = "ТекущаяСтрока";
+ КнопкаНомерСтроки.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопкуНомерСтроки");
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопкуТекущиеДанные() Экспорт
+ ТекДанные = Поле1.ТекущиеДанные;
+
+ ТекДанные.Код = 4;
+
+ Поле1.Обновить();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьТекущиеДанные() Экспорт
+ ПолучитьФорму();
+
+ КнопкаНомерСтроки = Форма.Элементы.Добавить("КнопкаВыделенныеСтроки", "КнопкаФормы", Неопределено);
+ КнопкаНомерСтроки.Заголовок = "ТекущиеДанные";
+ КнопкаНомерСтроки.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопкуТекущиеДанные");
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+КонецПроцедуры
+
+Процедура ПриНажатииНаКнопкуУправлятьКолонками() Экспорт
+ Колонки = Поле1.Колонки;
+
+ Сообщить("Колонка: " + Колонки[0].Заголовок);
+ Колонки[0].Заголовок = "Код (Таб.номер)";
+ Колонки[1].Заголовок = "Наименование сотрудника";
+ Колонки[1].Ширина = 150;
+ Колонки[2].Видимость = Ложь;
+
+ Для каждого Колонка Из Колонки Цикл
+ Сообщить(Колонка.Заголовок);
+ КонецЦикла;
+
+ Сообщить(поле1.ТекущийЭлемент.Индекс);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_УправлятьКолонками() Экспорт
+ ПолучитьФорму();
+
+ КнопкаНомерСтроки = Форма.Элементы.Добавить("КнопкаВыделенныеСтроки", "КнопкаФормы", Неопределено);
+ КнопкаНомерСтроки.Заголовок = "Управлять колонками";
+ КнопкаНомерСтроки.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопкуУправлятьКолонками");
+
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+КонецПроцедуры
+
+Процедура Тест_Должен_УправлятьСобытиями() Экспорт
+ ПолучитьФорму();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.Источник = ПолучитьТЗ();
+
+ Поле1 = Форма.Элементы.Добавить("ТаблицаФормы1", "ТаблицаФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - ТЗ";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриПотереФокусаЯчейки", "ПриПотереФокусаЯчейки");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе");
+
+ Ожидаем.Что(Форма.Элементы.Найти("ТаблицаФормы1")).Существует();
+
+ Форма.Показать();
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-FormTree.os b/system/OneScript/lib/gui/tests/test-FormTree.os
new file mode 100644
index 0000000..d3d7c29
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-FormTree.os
@@ -0,0 +1,219 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ВидыПоляФормы;
+Перем Форма;
+Перем ТекстПроверки;
+Перем УправляемыйИнтерфейс;
+Перем Поле1;
+Перем ПровайдерТЗ;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ юТест = Тестирование;
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_СоздатьПоле");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьТекущаяСтрока");
+ СписокТестов.Добавить("Тест_Должен_ОбработатьТекущиеДанные");
+ СписокТестов.Добавить("Тест_Должен_УправлятьКолонками");
+ СписокТестов.Добавить("Тест_Должен_УправлятьСобытиями");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура ПриВыбореСтроки() Экспорт
+
+ ТекСтр = Поле1.ТекущиеДанные;
+ Сообщить("При выборе строки: " + ТекСтр.Год);
+
+КонецПроцедуры
+
+Процедура ПриДвойномКлике() Экспорт
+ ТекСтр = Поле1.ТекущиеДанные;
+ Сообщить("ПриДвойномКлике: " + ТекСтр.Год);
+КонецПроцедуры
+
+Процедура ПриВыборе() Экспорт
+ ТекСтр = Поле1.ТекущиеДанные;
+ Сообщить("ПриВыборе: " + ТекСтр.Год);
+КонецПроцедуры
+
+Процедура ПолучитьФорму()
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+
+КонецПроцедуры
+
+Функция ПолучитьТЗ()
+
+ Дерево = Новый ДеревоЗначений();
+
+ Дерево = Новый ДеревоЗначений();
+ Дерево.Колонки.Добавить("Год");
+ Дерево.Колонки.Добавить("Месяц");
+ Дерево.Колонки.Добавить("День");
+
+ СтрокаДереваГод = Дерево.Строки.Добавить();
+ СтрокаДереваГод.Год = 2016;
+
+ СтрокаДереваМесяц = СтрокаДереваГод.Строки.Добавить();
+ СтрокаДереваМесяц.Месяц = "Jan";
+ СтрокаДереваМесяц.Год = СтрокаДереваГод.Год;
+
+ СтрокаДереваМесяц = СтрокаДереваГод.Строки.Добавить();
+ СтрокаДереваМесяц.Месяц = "Dec";
+ СтрокаДереваМесяц.Год = СтрокаДереваГод.Год;
+
+ СтрокаДереваГод = Дерево.Строки.Добавить();
+ СтрокаДереваГод.Год = 2017;
+
+ СтрокаДереваМесяц = СтрокаДереваГод.Строки.Добавить();
+ СтрокаДереваМесяц.Месяц = "Feb";
+ СтрокаДереваМесяц.Год = СтрокаДереваГод.Год;
+
+ СтрокаДереваМесяц = СтрокаДереваГод.Строки.Добавить();
+ СтрокаДереваМесяц.Месяц = "Mar";
+ СтрокаДереваМесяц.Год = СтрокаДереваГод.Год;
+
+ СтрокаДереваДень = СтрокаДереваМесяц.Строки.Добавить();
+ СтрокаДереваДень.День = "1";
+ СтрокаДереваДень.Месяц = "Mar";
+ СтрокаДереваДень.Год = СтрокаДереваГод.Год;
+
+
+ Возврат Дерево;
+
+КонецФункции // ПолучитьТЗ()
+
+Процедура Тест_Должен_СоздатьПоле() Экспорт
+
+ ПолучитьФорму();
+
+ Данные = ПолучитьТЗ();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+ Поле1.ТекущаяСтрока = 1;
+
+ Данные.Строки[Поле1.ТекущаяСтрока][0] = "2018";
+ Поле1.Обновить();
+
+ Ожидаем.Что(Форма.Элементы.Найти("ДеревоФормы1")).Существует();
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ОбработатьТекущаяСтрока() Экспорт
+
+ ПолучитьФорму();
+
+ Данные = ПолучитьТЗ();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений. Тест - Обработка текущая строка";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Поле1.ТекущаяСтрока = 1;
+
+ Форма.Показать();
+
+КонецПроцедуры
+
+
+Процедура Тест_Должен_ОбработатьТекущиеДанные() Экспорт
+ ПолучитьФорму();
+
+ Данные = ПолучитьТЗ();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений. Тест: Обработать текущие данные";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Поле1.ТекущаяСтрока = 1;
+
+ ТекЗначение = "Не обработали";
+ ТекСтр = Поле1.ТекущиеДанные;
+
+ Ожидаем.Что(ТекСтр.Год).Равно(2017);
+
+ Форма.Показать();
+КонецПроцедуры
+
+Процедура Тест_Должен_УправлятьКолонками() Экспорт
+
+ ПолучитьФорму();
+
+ Данные = ПолучитьТЗ();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+
+ Колонки = Поле1.Колонки;
+ Колонки[0].Ширина = 200;
+ Колонки[1].Ширина = 100;
+ Колонки[1].Заголовок = "Месяц года";
+
+ Ожидаем.Что(Колонки[0].Ширина).Равно(200);
+
+ Форма.Показать();
+КонецПроцедуры
+
+Процедура Тест_Должен_УправлятьСобытиями() Экспорт
+ ПолучитьФорму();
+
+ Данные = ПолучитьТЗ();
+
+ ПровайдерТЗ = Новый Провайдер;
+ ПровайдерТЗ.ИсточникДерево = Данные;
+
+ Поле1 = Форма.Элементы.Добавить("ДеревоФормы1", "ДеревоФормы", Неопределено);
+ Поле1.ПутьКДанным = ПровайдерТЗ;
+ Поле1.Заголовок = "Провайдер - Дерево значений";
+ Поле1.ПоложениеЗаголовка = УправляемыйИнтерфейс.ПоложениеЗаголовка.Верх;
+ Поле1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение;
+ Поле1.ТекущаяСтрока = 1;
+
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыбореСтроки", "ПриВыбореСтроки");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике");
+ Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе");
+
+ Ожидаем.Что(Форма.Элементы.Найти("ДеревоФормы1")).Существует();
+
+ Ожидаем.Что(Поле1.ПолучитьДействие("ПриВыбореСтроки"), "ПриВыбореСтроки").ЭтоНе().Равно("");
+ Ожидаем.Что(Поле1.ПолучитьДействие("ПриДвойномКлике"), "ПриДвойномКлике").ЭтоНе().Равно("");
+ Ожидаем.Что(Поле1.ПолучитьДействие("ПриВыборе"), "ПриВыборе").ЭтоНе().Равно("");
+
+ Форма.Показать();
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-ManagedFormInfo.os b/system/OneScript/lib/gui/tests/test-ManagedFormInfo.os
new file mode 100644
index 0000000..5e485f0
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-ManagedFormInfo.os
@@ -0,0 +1,76 @@
+#Использовать asserts
+#Использовать gui
+
+Перем Форма;
+Перем ТекстПроверки;
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+
+ СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриОткрытии");
+ СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриЗакрытии");
+
+ СписокТестов.Добавить("Тест_Должен_ПоказатьФормуСЗаголовком");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+Функция ПолучитьФорму()
+
+ Форма = Неопределено;
+
+ УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
+ Форма = УправляемыйИнтерфейс.СоздатьФорму();
+
+ Возврат Форма;
+
+КонецФункции
+
+
+//# Работа с событиями
+Процедура ПриОткрытииФормы() Экспорт
+ ТекстПроверки = "ПриОткрытииФормы";
+ Форма.Закрыть();
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьСобытиеПриОткрытии() Экспорт
+
+ Форма = ПолучитьФорму();
+ ТекстПроверки = "Событие не отработало: ";
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки).Равно("ПриОткрытииФормы");
+
+КонецПроцедуры
+
+Процедура ПриЗакрытииФормы() Экспорт
+ ТекстПроверки = "ПриЗакрытииФормы";
+КонецПроцедуры
+
+Процедура Тест_Должен_УстановитьСобытиеПриЗакрытии() Экспорт
+
+ ТекстПроверки = "Событие не отработало: ";
+ Форма = ПолучитьФорму();
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриЗакрытии", "ПриЗакрытииФормы");
+ Форма.Показать();
+
+ Ожидаем.Что(ТекстПроверки).Равно("ПриЗакрытииФормы");
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ПоказатьФормуСЗаголовком() Экспорт
+
+ Форма = ПолучитьФорму();
+ Форма.Заголовок = "ЗаголовокСозданнойФормы";
+ Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы");
+ Форма.Показать();
+
+ ТекущийЗаголовок = Форма.Заголовок;
+
+ Ожидаем.Что(ТекущийЗаголовок).Равно("ЗаголовокСозданнойФормы");
+
+КонецПроцедуры
diff --git a/system/OneScript/lib/gui/tests/test-QueryBox.os b/system/OneScript/lib/gui/tests/test-QueryBox.os
new file mode 100644
index 0000000..0aab13c
--- /dev/null
+++ b/system/OneScript/lib/gui/tests/test-QueryBox.os
@@ -0,0 +1,105 @@
+#Использовать asserts
+#Использовать gui
+
+Перем ТекстПроверки;
+Перем УпрИнтерфейс;
+Перем Диалоги;
+
+Процедура Инициализация() Экспорт
+ УпрИнтерфейс = Новый УправляемыйИнтерфейс();
+ Диалоги = УпрИнтерфейс.СтандартныеДиалоги;
+КонецПроцедуры
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ СписокТестов = Новый Массив;
+
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеНет");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеДа");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить");
+ СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить");
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+Процедура Тест_Должен_ВернутьЗначениеНет() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1, КодВозвратаДиалога.Нет , "Заголовок", КодВозвратаДиалога.Нет);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Нет);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеДа() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Да);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеОтмена() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНетОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеОК() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ОК, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.OKCancel, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Прервать);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Повторить , "Заголовок", КодВозвратаДиалога.Повторить);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить);
+
+КонецПроцедуры
+
+Процедура Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить() Экспорт
+
+ Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Пропустить , "Заголовок", КодВозвратаДиалога.Пропустить);
+ Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Пропустить);
+
+КонецПроцедуры
+
+//////////////////////////////////////////////////////////////////////////////////////
+// Инициализация
+
+Инициализация();
diff --git a/system/OneScript/lib/sql/bin/MySql.Data.dll b/system/OneScript/lib/sql/bin/MySql.Data.dll
new file mode 100644
index 0000000..9abfb6b
Binary files /dev/null and b/system/OneScript/lib/sql/bin/MySql.Data.dll differ
diff --git a/system/OneScript/lib/sql/bin/Newtonsoft.Json.dll b/system/OneScript/lib/sql/bin/Newtonsoft.Json.dll
new file mode 100644
index 0000000..be6558d
Binary files /dev/null and b/system/OneScript/lib/sql/bin/Newtonsoft.Json.dll differ
diff --git a/system/OneScript/lib/sql/bin/Npgsql.dll b/system/OneScript/lib/sql/bin/Npgsql.dll
new file mode 100644
index 0000000..ac74b4d
Binary files /dev/null and b/system/OneScript/lib/sql/bin/Npgsql.dll differ
diff --git a/system/OneScript/lib/sql/bin/SQLite.Interop.dll b/system/OneScript/lib/sql/bin/SQLite.Interop.dll
new file mode 100644
index 0000000..ec2bd1a
Binary files /dev/null and b/system/OneScript/lib/sql/bin/SQLite.Interop.dll differ
diff --git a/system/OneScript/lib/sql/bin/System.Data.SQLite.dll b/system/OneScript/lib/sql/bin/System.Data.SQLite.dll
new file mode 100644
index 0000000..c989da5
Binary files /dev/null and b/system/OneScript/lib/sql/bin/System.Data.SQLite.dll differ
diff --git a/system/OneScript/lib/sql/bin/sql.XML b/system/OneScript/lib/sql/bin/sql.XML
new file mode 100644
index 0000000..9f7d01d
--- /dev/null
+++ b/system/OneScript/lib/sql/bin/sql.XML
@@ -0,0 +1,149 @@
+
+
+
+ sql
+
+
+
+
+ Соединение с БД. Используется для указания источника данных объекта Запрос.
+
+
+
+
+ Типы поддерживаемых СУБД
+
+ ТипСУБД
+
+
+
+ Тип подключенной СУБД
+
+ ТипСУБД
+
+
+
+ Порт подключения
+
+ Число
+
+
+
+ Имя или IP сервера
+
+ Строка
+
+
+
+ Имя базы, в случае с SQLITE - путь к базе
+
+ Строка
+
+
+
+ Пользователь под которым происходит подключение.
+ Если СУБД MS SQL и пользователь не указан - используется Windows авторизация.
+
+ Строка
+
+
+
+ Пароль пользователя
+
+ Строка
+
+
+
+ Статус соединения с БД
+
+ ConnectionState
+
+
+
+ Подготовленная строка соединения. В случае sqlite аналог ИмяБазы
+
+ Строка
+
+
+
+ Открыть соединение с БД
+
+ Булево
+
+
+
+ Закрыть соединение с БД
+
+
+
+
+ Создать запрос с установленным соединением
+
+ Запрос - Запрос с установленным соединением
+
+
+
+ Тип поддерживаемой СУБД
+
+
+
+
+ Содержит результат выполнения запроса. Предназначен для хранения и обработки полученных данных.
+
+
+
+
+ Создает таблицу значений и копирует в нее все записи набора.
+
+ ТаблицаЗначений
+
+
+
+ Предназначен для выполнения запросов к базе данных.
+
+
+
+
+ Управление таймауотом
+
+ Число
+
+
+
+ Содержит исходный текст выполняемого запроса.
+
+ Строка
+
+
+
+ Выполняет запрос к базе данных.
+
+ РезультатЗапроса
+
+
+
+ Выполняет запрос на модификацию к базе данных.
+
+ Число - Число обработанных строк.
+
+
+
+ Устанавливает параметр запроса. Параметры доступны для обращения в тексте запроса.
+ С помощью этого метода можно передавать переменные в запрос, например, для использования в условиях запроса.
+ ВАЖНО: В запросе имя параметра указывается с использованием '@'.
+
+
+ Запрос.Текст = "select * from mytable where category_id = @category_id";
+ Запрос.УстановитьПараметр("category_id", 1);
+
+ Строка - Имя параметра
+ Произвольный - Значение параметра
+
+
+
+ Установка соединения с БД.
+
+ Соединение - объект соединение с БД
+
+
+
diff --git a/system/OneScript/lib/sql/bin/sql.dll b/system/OneScript/lib/sql/bin/sql.dll
new file mode 100644
index 0000000..a17a687
Binary files /dev/null and b/system/OneScript/lib/sql/bin/sql.dll differ
diff --git a/system/OneScript/lib/sql/opm-metadata.xml b/system/OneScript/lib/sql/opm-metadata.xml
new file mode 100644
index 0000000..a3c3e8f
--- /dev/null
+++ b/system/OneScript/lib/sql/opm-metadata.xml
@@ -0,0 +1,5 @@
+
+
+ sql
+ 1.0.6206.42769
+
\ No newline at end of file
diff --git a/system/OneScript/lib/sql/package-loader.os b/system/OneScript/lib/sql/package-loader.os
new file mode 100644
index 0000000..c23cc2b
--- /dev/null
+++ b/system/OneScript/lib/sql/package-loader.os
@@ -0,0 +1,6 @@
+Процедура ПриЗагрузкеБиблиотеки(Путь, СтандартнаяОбработка, Отказ)
+
+ СтандартнаяОбработка = Ложь;
+ ПодключитьВнешнююКомпоненту(ОбъединитьПути(Путь, "bin/sql.dll"));
+
+КонецПроцедуры
\ No newline at end of file
diff --git a/system/OneScript/lib/sql/packagedef b/system/OneScript/lib/sql/packagedef
new file mode 100644
index 0000000..c4e8e6a
--- /dev/null
+++ b/system/OneScript/lib/sql/packagedef
@@ -0,0 +1,5 @@
+Описание.Имя("sql")
+ .Версия("1.0.6277.22275")
+ .ВключитьФайл("bin")
+ .ВключитьФайл("package-loader.os")
+ .ВключитьФайл("README.md")
\ No newline at end of file
diff --git a/tests/test_НавигацияПоМодулю.os b/tests/test_НавигацияПоМодулю.os
new file mode 100644
index 0000000..7be3055
--- /dev/null
+++ b/tests/test_НавигацияПоМодулю.os
@@ -0,0 +1,28 @@
+#Использовать asserts
+
+Функция ПолучитьСписокТестов(Тестирование) Экспорт
+
+ юТест = Тестирование;
+
+ СписокТестов = Новый Массив;
+ СписокТестов.Добавить("Тест_Должен_ИмяМетода");
+
+
+ Возврат СписокТестов;
+
+КонецФункции
+
+Процедура Тест_Должен_ИмяМетода() Экспорт
+
+ Данные = "
+ |Функция ВернутьТекстВТНачислениеОтпуска() Экспорт
+ |
+ | Возврат
+ |";
+
+ Навигация = ЗагрузитьСценарий("scripts\Навигация\НавигацияПоМодулю.os");
+ ИмяМетода = Навигация.ИмяМетода(Данные);
+
+ Ожидаем.Что(ИмяМетода).Равно("ВернутьТекстВТНачислениеОтпуска");
+
+КонецПроцедуры
\ No newline at end of file
diff --git a/v8CfgAdds.ahk b/v8CfgAdds.ahk
index 1fd1083..710a441 100644
--- a/v8CfgAdds.ahk
+++ b/v8CfgAdds.ahk
@@ -11,124 +11,124 @@ Ctrl_L = ^{SC026}
Ctrl_Shift_Z = ^+{SC02C}
; ----------------------------------
-; Ctrl + 1
+; Ctrl + 1 Вызов списка процедур
^1:: actionShowMethodsList()
-; Ctrl + 2 -
+; Ctrl + 2 - Вызов списка секций
^2:: actionShowRegionsList()
-; Ctrl + 3 -
+; Ctrl + 3 - Открытие внешних файлов
^3:: actionShowExtFilesList()
-; Ctrl + Shift + m -
-^+m:: actionShowScriptManager()
+; Ctrl + Shift + m - Прочие скрипты
+^+sc32:: actionShowScriptManager()
-; Ctrl + w
-^w:: actionShowPrevWords()
+; Ctrl + w Выбор ранее набранного слова
+^sc11:: actionShowPrevWords()
; ----------------------------------
-; :
+; НАЧАЛО: Навигация внутри метода
-; Ctrl + b -
-^b:: actionGotoMethodBegin()
+; Ctrl + b - В начало метода
+^sc30:: actionGotoMethodBegin()
-; Ctrl + e -
-^e:: actionGotoMethodEnd()
-; :
+; Ctrl + e - В конец метода
+^sc12:: actionGotoMethodEnd()
+; КОНЕЦ: Навигация внутри метода
; ----------------------------------
;-----------------------------------------------
-; --- ---
-; Alt + f - .
-!f:: actionShowRegExSearch()
+; --- Поиск с Регулярными выражениями ---
+; Alt + f - поиск с рег.выражениями
+!sc21:: actionShowRegExSearch()
;-----------------------------------------------
-; Alt + r -
-!r:: actionShowRegExSearchLastResult()
+; Alt + r - результаты последнего поиска
+!sc13:: actionShowRegExSearchLastResult()
; shift + alt + r
-+!r:: actionShowLastSelect()
++!sc13:: actionShowLastSelect()
-; --- ---
-; ctrl + / (ctrl + .) - :
+; --- Прочее ---
+; ctrl + / (ctrl + .) - Закоментировать строку:
^/:: Send, {home}//
-; Ctrl + i - :
-^i:: SendInput, ^+{NumpadAdd}
+; Ctrl + i - Развернуть модуль:
+^sc17:: SendInput, ^+{NumpadAdd}
-; Ctrl+y -
+; Ctrl+y - удаление строки
$^SC015:: SendInput %Ctrl_L%
-; Ctrl-, - '<'
+; Ctrl-, - символ '<'
$^,:: SendInput <
-; Ctrl-. '>'
+; Ctrl-. символ '>'
$^.:: SendInput >
-; Ctrl-\ '|'
+; Ctrl-\ символ '|'
$^\:: SendInput |
-; Alt - [ - '['
+; Alt - [ - символ '['
$!SC01A::Send [
-; Alt + ] - ']'
+; Alt + ] - символ ']'
$!SC01B::Send ]
-; Ctrl - & - '&'
+; Ctrl - & - символ '&'
$^SC008::Send &
-; Ctrl + D -
-^d:: Send, {HOME}{SHIFTDOWN}{END}{SHIFTUP}{CTRLDOWN}{INS}{CTRLUP}{END}{ENTER}{SHIFTDOWN}{INS}{SHIFTUP}
+; Ctrl + D - Копирование текущей строки и вставка в следующей
+^sc20:: Send, {HOME}{SHIFTDOWN}{END}{SHIFTUP}{CTRLDOWN}{INS}{CTRLUP}{END}{ENTER}{SHIFTDOWN}{INS}{SHIFTUP}
; ----------------------------------------
-;
+; авторские комментарии
; ----------------------------------------
-!a:: actionRunAuthorComments("") ; alt+s -
-!e:: actionRunAuthorComments("") ; alt+e -
-!d:: actionRunAuthorComments("") ; alt+d -
-;
+!sc1E:: actionRunAuthorComments("Добавлено") ; alt+s - блок добавлен
+!sc12:: actionRunAuthorComments("Изменено") ; alt+e - блок изменен
+!sc20:: actionRunAuthorComments("Удалено") ; alt+d - блок удален
+; КОНЕЦ авторские комментарии
; ----------------------------------------
-; Ctrl+z ( )
+;Закрытие окна сообщение Ctrl+z (не всем нравится)
;$^SC02C::SendInput %Ctrl_Shift_Z%
;-----------------------------------
-; OpenConf
+; переходы по процедурам в стиле OpenConf
;
-; Ctrl + Enter - ( OpenConf)
+; Ctrl + Enter - переход в процедуру (как в OpenConf)
^Enter::
SendInput, {F12}
return
-; Alt + - ( OpenConf)
+; Alt + - возврат на предыдущую позицию (как в OpenConf)
!left::
SendInput, ^-
return
;------------------------------------
-; Alt+h -
-!h:: actionRunLinksToItems()
+; Alt+h - добавление ссылки на реквизит в модуле
+!sc23:: actionRunLinksToItems()
-; Alt+g -
-!g:: actionShowCodeGenerator()
+; Alt+g - Вызов генераторов кода
+!sc22:: actionShowCodeGenerator()
-; Alt+7 -
+; Alt+7 - Препроцессор функции
!SC008:: actionShowPreprocMethod()
;------------------------------------
-;
+; Навигация по метаданным
-; Alt + J -
+; Alt + J - Поиск по метаданным
$!sc24:: actionShowSimpleMetaSearch()
-; Ctrl +j -
+; Ctrl +j - Переход к объекту метаданных из типа текущего реквизита
$^sc24:: actionShowIncomingObjectTypes()
-; Ctrl + shift + j -
+; Ctrl + shift + j - Переход к объекту метаданных
$^+sc24:: actionShowMetadataNavigator()
;------------------------------------
;------------------------------------
-; ++, +=, --, -=
+; Автозамена приращений ++, +=, --, -=
::++::
SendInput, ^+{left}^+{left}^{ins}{Right}{space}{scD}{Space}+{ins}{sc4E}{Space}1;
Return
@@ -162,5 +162,20 @@ Return
; ----------------------------------
-; Ctrl + 0 1script
+; Ctrl + 0 Запуск 1script
^0:: actionRun1Script()
+
+; -----------------------------------
+; Перейти к началу слова в составной строке
+!+left::
+ actionGoToPrevContainedWord()
+return
+
+; Перейти к концу слова в составной строке
+!+Right::
+ actionGoToNextContainedWord()
+return
+
+#sc31::
+ actionShowMethodName()
+return
\ No newline at end of file