Added support for BSL (1C:Enterprise) (#2520)
This commit is contained in:
parent
004eaa749d
commit
5c33f0bbcf
File diff suppressed because one or more lines are too long
|
@ -203,6 +203,14 @@
|
|||
"title": "Bro",
|
||||
"owner": "wayward710"
|
||||
},
|
||||
"bsl": {
|
||||
"title": "BSL (1C:Enterprise)",
|
||||
"alias": "oscript",
|
||||
"aliasTitles": {
|
||||
"oscript": "OneScript"
|
||||
},
|
||||
"owner": "Diversus23"
|
||||
},
|
||||
"c": {
|
||||
"title": "C",
|
||||
"require": "clike",
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
// 1C:Enterprise
|
||||
// https://github.com/Diversus23/
|
||||
//
|
||||
Prism.languages.bsl = {
|
||||
'comment': /\/\/.*/,
|
||||
'string': [
|
||||
// Строки
|
||||
// Strings
|
||||
{
|
||||
pattern: /"(?:[^"]|"")*"(?!")/,
|
||||
greedy: true
|
||||
},
|
||||
// Дата и время
|
||||
// Date & time
|
||||
{
|
||||
pattern: /'(?:[^'\r\n\\]|\\.)*'/
|
||||
}
|
||||
],
|
||||
'keyword': [
|
||||
{
|
||||
// RU
|
||||
pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
|
||||
lookbehind: true
|
||||
},
|
||||
{
|
||||
// EN
|
||||
pattern: /\b(?:while|for|new|break|try|except|raise|else|endtry|undefined|function|var|return|endfunction|null|if|elseif|procedure|endprocedure|then|val|export|endif|in|each|true|false|to|do|enddo|execute)\b/i
|
||||
}
|
||||
],
|
||||
'number': {
|
||||
pattern: /(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+\.?\d*|\.\d+)(?:E[+-]?\d+)?/i,
|
||||
lookbehind: true
|
||||
},
|
||||
'operator': [
|
||||
/[<>+\-*/]=?|[%=]/,
|
||||
// RU
|
||||
{
|
||||
pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
|
||||
lookbehind: true
|
||||
},
|
||||
// EN
|
||||
{
|
||||
pattern: /\b(?:and|or|not)\b/i
|
||||
}
|
||||
|
||||
],
|
||||
'punctuation': /\(\.|\.\)|[()\[\]:;,.]/,
|
||||
'directive': [
|
||||
// Теги препроцессора вида &Клиент, &Сервер, ...
|
||||
// Preprocessor tags of the type &Client, &Server, ...
|
||||
{
|
||||
pattern: /^(\s*)&.*/m,
|
||||
lookbehind: true,
|
||||
alias: 'important'
|
||||
},
|
||||
// Инструкции препроцессора вида:
|
||||
// #Если Сервер Тогда
|
||||
// ...
|
||||
// #КонецЕсли
|
||||
// Preprocessor instructions of the form:
|
||||
// #If Server Then
|
||||
// ...
|
||||
// #EndIf
|
||||
{
|
||||
pattern: /^\s*#.*/gm,
|
||||
alias: 'important'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
Prism.languages.oscript = Prism.languages['bsl'];
|
|
@ -0,0 +1 @@
|
|||
Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:while|for|new|break|try|except|raise|else|endtry|undefined|function|var|return|endfunction|null|if|elseif|procedure|endprocedure|then|val|export|endif|in|each|true|false|to|do|enddo|execute)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+\.?\d*|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:and|or|not)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^(\s*)&.*/m,lookbehind:!0,alias:"important"},{pattern:/^\s*#.*/gm,alias:"important"}]},Prism.languages.oscript=Prism.languages.bsl;
|
|
@ -0,0 +1,386 @@
|
|||
<h2>Comments</h2>
|
||||
<pre><code> // This is a 1C:Enterprise comments
|
||||
//</code></pre>
|
||||
|
||||
<h2>Strings and characters</h2>
|
||||
<pre><code>"This is a 1C:Enterprise string"
|
||||
""
|
||||
"a"
|
||||
"A tabulator character: ""#9"" is easy to embed"</code></pre>
|
||||
|
||||
<h2>Numbers</h2>
|
||||
<pre><code>123
|
||||
123.456
|
||||
</code></pre>
|
||||
|
||||
<h2>Full example</h2>
|
||||
<pre><code>///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2019, ООО 1С-Софт
|
||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Основные процедуры и функции поиска контактов.
|
||||
|
||||
// Получает представление и всю контактную информацию контакта.
|
||||
//
|
||||
// Параметры:
|
||||
// Контакт - ОпределяемыйТип.КонтактВзаимодействия - контакт для которого получается информация.
|
||||
// Представление - Строка - в данный параметр будет помещено полученное представление.
|
||||
// СтрокаКИ - Строка - в данный параметр будет помещено полученная контактная информация.
|
||||
// ТипКонтактнойИнформации - Перечисления.ТипыКонтактнойИнформации - возможность установить отбор по типу получаемой
|
||||
// контактной информации.
|
||||
//
|
||||
Процедура ПредставлениеИВсяКонтактнаяИнформациюКонтакта(Контакт, Представление, СтрокаКИ,ТипКонтактнойИнформации = Неопределено) Экспорт
|
||||
|
||||
Представление = "";
|
||||
СтрокаКИ = "";
|
||||
Если Не ЗначениеЗаполнено(Контакт)
|
||||
ИЛИ ТипЗнч(Контакт) = Тип("СправочникСсылка.СтроковыеКонтактыВзаимодействий") Тогда
|
||||
Контакт = Неопределено;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяТаблицы = Контакт.Метаданные().Имя;
|
||||
ИмяПоляДляНаименованияВладельца = Взаимодействия.ИмяПоляДляНаименованияВладельца(ИмяТаблицы);
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| СправочникКонтакт.Наименование КАК Наименование,
|
||||
| " + ИмяПоляДляНаименованияВладельца + " КАК НаименованиеВладельца
|
||||
|ИЗ
|
||||
| Справочник." + ИмяТаблицы + " КАК СправочникКонтакт
|
||||
|ГДЕ
|
||||
| СправочникКонтакт.Ссылка = &Контакт
|
||||
|";
|
||||
|
||||
Запрос.УстановитьПараметр("Контакт", Контакт);
|
||||
Запрос.УстановитьПараметр("ТипКонтактнойИнформации", ТипКонтактнойИнформации);
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если Не Выборка.Следующий() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Представление = Выборка.Наименование;
|
||||
|
||||
Если Не ПустаяСтрока(Выборка.НаименованиеВладельца) Тогда
|
||||
Представление = Представление + " (" + Выборка.НаименованиеВладельца + ")";
|
||||
КонецЕсли;
|
||||
|
||||
МассивКонтактов = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Контакт);
|
||||
ТаблицаКИ = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(МассивКонтактов, ТипКонтактнойИнформации, Неопределено, ТекущаяДатаСеанса());
|
||||
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаКИ Цикл
|
||||
Если СтрокаТаблицы.Тип <> Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
||||
СтрокаКИ = СтрокаКИ + ?(ПустаяСтрока(СтрокаКИ), "", "; ") + СтрокаТаблицы.Представление;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Получает наименование и адреса электронной почты контакта.
|
||||
//
|
||||
// Параметры:
|
||||
// Контакт - Ссылка - контакт, для которого получаются данные.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - содержит наименование контакта и список значений электронной почты контакта.
|
||||
//
|
||||
Функция НаименованиеИАдресаЭлектроннойПочтыКонтакта(Контакт) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Контакт)
|
||||
Или ТипЗнч(Контакт) = Тип("СправочникСсылка.СтроковыеКонтактыВзаимодействий") Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
МетаданныеКонтакта = Контакт.Метаданные();
|
||||
|
||||
Если МетаданныеКонтакта.Иерархический Тогда
|
||||
Если Контакт.ЭтоГруппа Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
|
||||
ЭлементМассиваОписания = Неопределено;
|
||||
Для Каждого ЭлементМассива Из МассивОписанияТиповКонтактов Цикл
|
||||
|
||||
Если ЭлементМассива.Имя = МетаданныеКонтакта.Имя Тогда
|
||||
ЭлементМассиваОписания = ЭлементМассива;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ЭлементМассиваОписания = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяТаблицы = МетаданныеКонтакта.ПолноеИмя();
|
||||
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
|
||||
| ЕСТЬNULL(ТаблицаКонтактнаяИнформация.АдресЭП,"""") КАК АдресЭП,
|
||||
| СправочникКонтакт." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование
|
||||
|ИЗ
|
||||
| " + ИмяТаблицы + " КАК СправочникКонтакт
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
|
||||
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
|
||||
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|
||||
|ГДЕ
|
||||
| СправочникКонтакт.Ссылка = &Контакт
|
||||
|ИТОГИ ПО
|
||||
| Наименование";
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = ТекстЗапроса;
|
||||
Запрос.УстановитьПараметр("Контакт", Контакт);
|
||||
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
Если Не Выборка.Следующий() Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Адреса = Новый Структура("Наименование,Адреса", Выборка.Наименование, Новый СписокЗначений);
|
||||
ВыборкаАдреса = Выборка.Выбрать();
|
||||
Пока ВыборкаАдреса.Следующий() Цикл
|
||||
Адреса.Адреса.Добавить(ВыборкаАдреса.АдресЭП);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Адреса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получает адреса электронной почты контакта.
|
||||
//
|
||||
// Параметры:
|
||||
// Контакт - ОпределяемыйТип.КонтактВзаимодействия - контакт, для которого получаются данные.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - массив структур содержащих адреса, виды и представления адресов.
|
||||
//
|
||||
Функция ПолучитьАдресаЭлектроннойПочтыКонтакта(Контакт, ВключатьНезаполненныеВиды = Ложь) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Контакт) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
ИмяМетаданныхКонтакта = Контакт.Метаданные().Имя;
|
||||
|
||||
Если ВключатьНезаполненныеВиды Тогда
|
||||
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ВидыКонтактнойИнформации.Ссылка КАК Вид,
|
||||
| ВидыКонтактнойИнформации.Наименование КАК ВидНаименование,
|
||||
| Контакты.Ссылка КАК Контакт
|
||||
|ПОМЕСТИТЬ КонтактВидыКИ
|
||||
|ИЗ
|
||||
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации,
|
||||
| Справочник." + ИмяМетаданныхКонтакта + " КАК Контакты
|
||||
|ГДЕ
|
||||
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидаКонтактнойИнформации
|
||||
| И Контакты.Ссылка = &Контакт
|
||||
| И ВидыКонтактнойИнформации.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Представление(КонтактВидыКИ.Контакт) КАК Представление,
|
||||
| ЕСТЬNULL(КонтактнаяИнформация.АдресЭП, """") КАК АдресЭП,
|
||||
| КонтактВидыКИ.Вид,
|
||||
| КонтактВидыКИ.ВидНаименование
|
||||
|ИЗ
|
||||
| КонтактВидыКИ КАК КонтактВидыКИ
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ИмяМетаданныхКонтакта + ".КонтактнаяИнформация КАК КонтактнаяИнформация
|
||||
| ПО (КонтактнаяИнформация.Ссылка = КонтактВидыКИ.Контакт)
|
||||
| И (КонтактнаяИнформация.Вид = КонтактВидыКИ.Вид)";
|
||||
|
||||
ГруппаВидаКонтактнойИнформации = УправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("Справочник" + ИмяМетаданныхКонтакта);
|
||||
Запрос.УстановитьПараметр("ГруппаВидаКонтактнойИнформации", ГруппаВидаКонтактнойИнформации);
|
||||
Иначе
|
||||
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Таблицы.АдресЭП,
|
||||
| Таблицы.Вид,
|
||||
| Таблицы.Представление,
|
||||
| Таблицы.Вид.Наименование КАК ВидНаименование
|
||||
|ИЗ
|
||||
| Справочник." + ИмяМетаданныхКонтакта + ".КонтактнаяИнформация КАК Таблицы
|
||||
|ГДЕ
|
||||
| Таблицы.Ссылка = &Контакт
|
||||
| И Таблицы.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("Контакт", Контакт);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если Выборка.Количество() = 0 Тогда
|
||||
Возврат Новый Массив;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Массив;
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Адрес = Новый Структура;
|
||||
Адрес.Вставить("АдресЭП", Выборка.АдресЭП);
|
||||
Адрес.Вставить("Вид", Выборка.Вид);
|
||||
Адрес.Вставить("Представление", Выборка.Представление);
|
||||
Адрес.Вставить("ВидНаименование", Выборка.ВидНаименование);
|
||||
Результат.Добавить(Адрес);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОтправитьПолучитьПочтуПользователяВФоне(УникальныйИдентификатор) Экспорт
|
||||
|
||||
ПараметрыПроцедуры = Новый Структура;
|
||||
|
||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Получение и отправка электронной почты пользователя'");
|
||||
|
||||
ДлительнаяОперация = ДлительныеОперации.ВыполнитьВФоне("УправлениеЭлектроннойПочтой.ОтправитьЗагрузитьПочтуПользователя",
|
||||
ПараметрыПроцедуры, ПараметрыВыполнения);
|
||||
Возврат ДлительнаяОперация;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Прочее
|
||||
|
||||
// Устанавливает предмет для массива взаимодействий.
|
||||
//
|
||||
// Параметры:
|
||||
// МассивВзаимодействий - Массив - массив взаимодействий для которых будет установлен предмет.
|
||||
// Предмет - Ссылка - предмет, на который будет выполнена замена.
|
||||
// ПроверятьНаличиеДругихЦепочек - Булево - если Истина, то будет выполнена замена предмета и для взаимодействий,
|
||||
// которые входят в цепочки взаимодействий первым взаимодействием которых
|
||||
// является взаимодействие входящее в массив.
|
||||
//
|
||||
Процедура УстановитьПредметДляМассиваВзаимодействий(МассивВзаимодействий, Предмет, ПроверятьНаличиеДругихЦепочек = Ложь) Экспорт
|
||||
|
||||
Если ПроверятьНаличиеДругихЦепочек Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ПредметыВзаимодействий.Взаимодействие КАК Ссылка
|
||||
|ИЗ
|
||||
| РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыВзаимодействий
|
||||
|ГДЕ
|
||||
| НЕ (НЕ ПредметыВзаимодействий.Предмет В (&МассивВзаимодействий)
|
||||
| И НЕ ПредметыВзаимодействий.Взаимодействие В (&МассивВзаимодействий))";
|
||||
|
||||
Запрос.УстановитьПараметр("МассивВзаимодействий", МассивВзаимодействий);
|
||||
МассивВзаимодействий = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
РегистрыСведений.ПредметыПапкиВзаимодействий.ЗаблокироватьПредметыПапокВзаимодействий(Блокировка, МассивВзаимодействий);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Если ТипЗнч(Предмет) = Тип("РегистрСведенийКлючЗаписи.СостоянияПредметовВзаимодействий") Тогда
|
||||
Предмет = Предмет.Предмет;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ПредметыПапкиВзаимодействий.Предмет
|
||||
|ИЗ
|
||||
| РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
||||
|ГДЕ
|
||||
| ПредметыПапкиВзаимодействий.Взаимодействие В(&МассивВзаимодействий)
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| &Предмет";
|
||||
|
||||
Запрос.УстановитьПараметр("Предмет", Предмет);
|
||||
Запрос.УстановитьПараметр("МассивВзаимодействий", МассивВзаимодействий);
|
||||
|
||||
ВыборкаПредметы = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Для Каждого Взаимодействие Из МассивВзаимодействий Цикл
|
||||
Взаимодействия.УстановитьПредмет(Взаимодействие, Предмет, Ложь);
|
||||
КонецЦикла;
|
||||
|
||||
Взаимодействия.РассчитатьРассмотреноПоПредметам(Взаимодействия.ТаблицаДанныхДляРасчетаРассмотрено(ВыборкаПредметы, "Предмет"));
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецПроцедуры
|
||||
|
||||
// Преобразует письмо в двоичные данные и подготавливает к сохранению на диск.
|
||||
//
|
||||
// Параметры:
|
||||
// Письмо - ДокументСсылка.ЭлектронноеПисьмоВходящее,
|
||||
// ДокументСсылка.ЭлектронноеПисьмоИсходящее - письмо, которое подготавливается к сохранению.
|
||||
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы, из которой была вызвана команда сохранения.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - структура, содержащая подготовленные данные письма.
|
||||
//
|
||||
Функция ДанныеПисьмаДляСохраненияКакФайл(Письмо, УникальныйИдентификатор) Экспорт
|
||||
|
||||
ДанныеФайла = СтруктураДанныхФайла();
|
||||
|
||||
ДанныеПисьма = Взаимодействия.ИнтернетПочтовоеСообщениеИзПисьма(Письмо);
|
||||
Если ДанныеПисьма <> Неопределено Тогда
|
||||
|
||||
ДвоичныеДанные = ДанныеПисьма.ИнтернетПочтовоеСообщение.ПолучитьИсходныеДанные();
|
||||
ДанныеФайла.СсылкаНаДвоичныеДанныеФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
|
||||
|
||||
ДанныеФайла.Наименование = Взаимодействия.ПредставлениеПисьма(ДанныеПисьма.ИнтернетПочтовоеСообщение.Тема,
|
||||
ДанныеПисьма.ДатаПисьма);
|
||||
|
||||
ДанныеФайла.Расширение = "eml";
|
||||
ДанныеФайла.ИмяФайла = ДанныеФайла.Наименование + "." + ДанныеФайла.Расширение;
|
||||
ДанныеФайла.Размер = ДвоичныеДанные.Размер();
|
||||
ПапкаДляСохранитьКак = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиПрограммы", "ПапкаДляСохранитьКак");
|
||||
ДанныеФайла.Вставить("ПапкаДляСохранитьКак", ПапкаДляСохранитьКак);
|
||||
ДанныеФайла.ДатаМодификацииУниверсальная = ТекущаяДатаСеанса();
|
||||
ДанныеФайла.ПолноеНаименованиеВерсии = ДанныеФайла.ИмяФайла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДанныеФайла;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураДанныхФайла()
|
||||
|
||||
СтруктураДанныхФайла = Новый Структура;
|
||||
СтруктураДанныхФайла.Вставить("СсылкаНаДвоичныеДанныеФайла", "");
|
||||
СтруктураДанныхФайла.Вставить("ОтносительныйПуть", "");
|
||||
СтруктураДанныхФайла.Вставить("ДатаМодификацииУниверсальная", Дата(1, 1, 1));
|
||||
СтруктураДанныхФайла.Вставить("ИмяФайла", "");
|
||||
СтруктураДанныхФайла.Вставить("Наименование", "");
|
||||
СтруктураДанныхФайла.Вставить("Расширение", "");
|
||||
СтруктураДанныхФайла.Вставить("Размер", "");
|
||||
СтруктураДанныхФайла.Вставить("Редактирует", Неопределено);
|
||||
СтруктураДанныхФайла.Вставить("ПодписанЭП", Ложь);
|
||||
СтруктураДанныхФайла.Вставить("Зашифрован", Ложь);
|
||||
СтруктураДанныхФайла.Вставить("ФайлРедактируется", Ложь);
|
||||
СтруктураДанныхФайла.Вставить("ФайлРедактируетТекущийПользователь", Ложь);
|
||||
СтруктураДанныхФайла.Вставить("ПолноеНаименованиеВерсии", "");
|
||||
|
||||
Возврат СтруктураДанныхФайла;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти</code></pre>
|
|
@ -161,6 +161,7 @@
|
|||
"shell": "bash",
|
||||
"shortcode": "bbcode",
|
||||
"rbnf": "bnf",
|
||||
"oscript": "bsl",
|
||||
"cs": "csharp",
|
||||
"dotnet": "csharp",
|
||||
"coffee": "coffeescript",
|
||||
|
|
|
@ -1 +1 @@
|
|||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document&&document.createElement){var n={javascript:"clike",actionscript:"javascript",arduino:"cpp",aspnet:["markup","csharp"],bison:"c",c:"clike",csharp:"clike",cpp:"c",coffeescript:"javascript",crystal:"ruby","css-extras":"css",d:"clike",dart:"clike",django:"markup-templating",ejs:["javascript","markup-templating"],etlua:["lua","markup-templating"],erb:["ruby","markup-templating"],fsharp:"clike","firestore-security-rules":"clike",flow:"javascript",ftl:"markup-templating",gml:"clike",glsl:"c",go:"clike",groovy:"clike",haml:"ruby",handlebars:"markup-templating",haxe:"clike",hlsl:"c",java:"clike",javadoc:["markup","java","javadoclike"],jolie:"clike",jsdoc:["javascript","javadoclike","typescript"],"js-extras":"javascript",json5:"json",jsonp:"json","js-templates":"javascript",kotlin:"clike",latte:["clike","markup-templating","php"],less:"css",lilypond:"scheme",markdown:"markup","markup-templating":"markup",mongodb:"javascript",n4js:"javascript",nginx:"clike",objectivec:"c",opencl:"c",parser:"markup",php:["clike","markup-templating"],phpdoc:["php","javadoclike"],"php-extras":"php",plsql:"sql",processing:"clike",protobuf:"clike",pug:["markup","javascript"],purebasic:"clike",qml:"javascript",qore:"clike",racket:"scheme",jsx:["markup","javascript"],tsx:["jsx","typescript"],reason:"clike",ruby:"clike",sass:"css",scss:"css",scala:"java","shell-session":"bash",smarty:"markup-templating",solidity:"clike",soy:"markup-templating",sparql:"turtle",sqf:"clike",swift:"clike","t4-cs":["t4-templating","csharp"],"t4-vb":["t4-templating","vbnet"],tap:"yaml",tt2:["clike","markup-templating"],textile:"markup",twig:"markup",typescript:"javascript",vala:"clike",vbnet:"basic",velocity:"markup",wiki:"markup",xeora:"markup","xml-doc":"markup",xquery:"markup"},l={html:"markup",xml:"markup",svg:"markup",mathml:"markup",ssml:"markup",atom:"markup",rss:"markup",js:"javascript",g4:"antlr4",adoc:"asciidoc",shell:"bash",shortcode:"bbcode",rbnf:"bnf",cs:"csharp",dotnet:"csharp",coffee:"coffeescript",conc:"concurnas",jinja2:"django","dns-zone":"dns-zone-file",dockerfile:"docker",eta:"ejs",xlsx:"excel-formula",xls:"excel-formula",gamemakerlanguage:"gml",hs:"haskell",gitignore:"ignore",hgignore:"ignore",npmignore:"ignore",webmanifest:"json",kt:"kotlin",kts:"kotlin",tex:"latex",context:"latex",ly:"lilypond",emacs:"lisp",elisp:"lisp","emacs-lisp":"lisp",md:"markdown",moon:"moonscript",n4jsd:"n4js",nani:"naniscript",objc:"objectivec",objectpascal:"pascal",px:"pcaxis",pcode:"peoplecode",pq:"powerquery",mscript:"powerquery",pbfasm:"purebasic",py:"python",rkt:"racket",rpy:"renpy",robot:"robotframework",rb:"ruby",sol:"solidity",sln:"solution-file",rq:"sparql",t4:"t4-cs",trig:"turtle",ts:"typescript",tsconfig:"typoscript",uscript:"unrealscript",uc:"unrealscript",vb:"visual-basic",vba:"visual-basic",xeoracube:"xeora",yml:"yaml"},p={},e="components/",a=Prism.util.currentScript();if(a){var r=/\bplugins\/autoloader\/prism-autoloader\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,t=/(^|\/)[\w-]+\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,i=a.getAttribute("data-autoloader-path");if(null!=i)e=i.trim().replace(/\/?$/,"/");else{var s=a.src;r.test(s)?e=s.replace(r,"components/"):t.test(s)&&(e=s.replace(t,"$1components/"))}}var o=Prism.plugins.autoloader={languages_path:e,use_minified:!0,loadLanguages:m};Prism.hooks.add("complete",function(e){var a=e.element,r=e.language;if(a&&r&&"none"!==r){var t=function(e){var a=(e.getAttribute("data-dependencies")||"").trim();if(!a){var r=e.parentElement;r&&"pre"===r.tagName.toLowerCase()&&(a=(r.getAttribute("data-dependencies")||"").trim())}return a?a.split(/\s*,\s*/g):[]}(a);t.push(r),t.every(u)||m(t,function(){Prism.highlightElement(a)})}})}function u(e){if(0<=e.indexOf("!"))return!1;if((e=l[e]||e)in Prism.languages)return!0;var a=p[e];return a&&!a.error&&!1===a.loading}function m(e,a,r){"string"==typeof e&&(e=[e]);var t=e.length,i=0,s=!1;function c(){s||++i===t&&a&&a(e)}0!==t?e.forEach(function(e){!function(a,r,t){var i=0<=a.indexOf("!");function e(){var e=p[a];e||(e=p[a]={callbacks:[]}),e.callbacks.push({success:r,error:t}),!i&&u(a)?k(a,"success"):!i&&e.error?k(a,"error"):!i&&e.loading||(e.loading=!0,e.error=!1,function(e,a,r){var t=document.createElement("script");t.src=e,t.async=!0,t.onload=function(){document.body.removeChild(t),a&&a()},t.onerror=function(){document.body.removeChild(t),r&&r()},document.body.appendChild(t)}(function(e){return o.languages_path+"prism-"+e+(o.use_minified?".min":"")+".js"}(a),function(){e.loading=!1,k(a,"success")},function(){e.loading=!1,e.error=!0,k(a,"error")}))}a=a.replace("!",""),a=l[a]||a;var s=n[a];s&&s.length?m(s,e,t):e()}(e,c,function(){s||(s=!0,r&&r(e))})}):a&&setTimeout(a,0)}function k(e,a){if(p[e]){for(var r=p[e].callbacks,t=0,i=r.length;t<i;t++){var s=r[t][a];s&&setTimeout(s,0)}r.length=0}}}();
|
||||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document&&document.createElement){var n={javascript:"clike",actionscript:"javascript",arduino:"cpp",aspnet:["markup","csharp"],bison:"c",c:"clike",csharp:"clike",cpp:"c",coffeescript:"javascript",crystal:"ruby","css-extras":"css",d:"clike",dart:"clike",django:"markup-templating",ejs:["javascript","markup-templating"],etlua:["lua","markup-templating"],erb:["ruby","markup-templating"],fsharp:"clike","firestore-security-rules":"clike",flow:"javascript",ftl:"markup-templating",gml:"clike",glsl:"c",go:"clike",groovy:"clike",haml:"ruby",handlebars:"markup-templating",haxe:"clike",hlsl:"c",java:"clike",javadoc:["markup","java","javadoclike"],jolie:"clike",jsdoc:["javascript","javadoclike","typescript"],"js-extras":"javascript",json5:"json",jsonp:"json","js-templates":"javascript",kotlin:"clike",latte:["clike","markup-templating","php"],less:"css",lilypond:"scheme",markdown:"markup","markup-templating":"markup",mongodb:"javascript",n4js:"javascript",nginx:"clike",objectivec:"c",opencl:"c",parser:"markup",php:["clike","markup-templating"],phpdoc:["php","javadoclike"],"php-extras":"php",plsql:"sql",processing:"clike",protobuf:"clike",pug:["markup","javascript"],purebasic:"clike",qml:"javascript",qore:"clike",racket:"scheme",jsx:["markup","javascript"],tsx:["jsx","typescript"],reason:"clike",ruby:"clike",sass:"css",scss:"css",scala:"java","shell-session":"bash",smarty:"markup-templating",solidity:"clike",soy:"markup-templating",sparql:"turtle",sqf:"clike",swift:"clike","t4-cs":["t4-templating","csharp"],"t4-vb":["t4-templating","vbnet"],tap:"yaml",tt2:["clike","markup-templating"],textile:"markup",twig:"markup",typescript:"javascript",vala:"clike",vbnet:"basic",velocity:"markup",wiki:"markup",xeora:"markup","xml-doc":"markup",xquery:"markup"},l={html:"markup",xml:"markup",svg:"markup",mathml:"markup",ssml:"markup",atom:"markup",rss:"markup",js:"javascript",g4:"antlr4",adoc:"asciidoc",shell:"bash",shortcode:"bbcode",rbnf:"bnf",oscript:"bsl",cs:"csharp",dotnet:"csharp",coffee:"coffeescript",conc:"concurnas",jinja2:"django","dns-zone":"dns-zone-file",dockerfile:"docker",eta:"ejs",xlsx:"excel-formula",xls:"excel-formula",gamemakerlanguage:"gml",hs:"haskell",gitignore:"ignore",hgignore:"ignore",npmignore:"ignore",webmanifest:"json",kt:"kotlin",kts:"kotlin",tex:"latex",context:"latex",ly:"lilypond",emacs:"lisp",elisp:"lisp","emacs-lisp":"lisp",md:"markdown",moon:"moonscript",n4jsd:"n4js",nani:"naniscript",objc:"objectivec",objectpascal:"pascal",px:"pcaxis",pcode:"peoplecode",pq:"powerquery",mscript:"powerquery",pbfasm:"purebasic",py:"python",rkt:"racket",rpy:"renpy",robot:"robotframework",rb:"ruby",sol:"solidity",sln:"solution-file",rq:"sparql",t4:"t4-cs",trig:"turtle",ts:"typescript",tsconfig:"typoscript",uscript:"unrealscript",uc:"unrealscript",vb:"visual-basic",vba:"visual-basic",xeoracube:"xeora",yml:"yaml"},p={},e="components/",a=Prism.util.currentScript();if(a){var r=/\bplugins\/autoloader\/prism-autoloader\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,t=/(^|\/)[\w-]+\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,i=a.getAttribute("data-autoloader-path");if(null!=i)e=i.trim().replace(/\/?$/,"/");else{var s=a.src;r.test(s)?e=s.replace(r,"components/"):t.test(s)&&(e=s.replace(t,"$1components/"))}}var o=Prism.plugins.autoloader={languages_path:e,use_minified:!0,loadLanguages:m};Prism.hooks.add("complete",function(e){var a=e.element,r=e.language;if(a&&r&&"none"!==r){var t=function(e){var a=(e.getAttribute("data-dependencies")||"").trim();if(!a){var r=e.parentElement;r&&"pre"===r.tagName.toLowerCase()&&(a=(r.getAttribute("data-dependencies")||"").trim())}return a?a.split(/\s*,\s*/g):[]}(a);t.push(r),t.every(u)||m(t,function(){Prism.highlightElement(a)})}})}function u(e){if(0<=e.indexOf("!"))return!1;if((e=l[e]||e)in Prism.languages)return!0;var a=p[e];return a&&!a.error&&!1===a.loading}function m(e,a,r){"string"==typeof e&&(e=[e]);var t=e.length,i=0,s=!1;function c(){s||++i===t&&a&&a(e)}0!==t?e.forEach(function(e){!function(a,r,t){var i=0<=a.indexOf("!");function e(){var e=p[a];e||(e=p[a]={callbacks:[]}),e.callbacks.push({success:r,error:t}),!i&&u(a)?k(a,"success"):!i&&e.error?k(a,"error"):!i&&e.loading||(e.loading=!0,e.error=!1,function(e,a,r){var t=document.createElement("script");t.src=e,t.async=!0,t.onload=function(){document.body.removeChild(t),a&&a()},t.onerror=function(){document.body.removeChild(t),r&&r()},document.body.appendChild(t)}(function(e){return o.languages_path+"prism-"+e+(o.use_minified?".min":"")+".js"}(a),function(){e.loading=!1,k(a,"success")},function(){e.loading=!1,e.error=!0,k(a,"error")}))}a=a.replace("!",""),a=l[a]||a;var s=n[a];s&&s.length?m(s,e,t):e()}(e,c,function(){s||(s=!0,r&&r(e))})}):a&&setTimeout(a,0)}function k(e,a){if(p[e]){for(var r=p[e].callbacks,t=0,i=r.length;t<i;t++){var s=r[t][a];s&&setTimeout(s,0)}r.length=0}}}();
|
|
@ -40,6 +40,8 @@
|
|||
"bbcode": "BBcode",
|
||||
"bnf": "BNF",
|
||||
"rbnf": "RBNF",
|
||||
"bsl": "BSL (1C:Enterprise)",
|
||||
"oscript": "OneScript",
|
||||
"csharp": "C#",
|
||||
"cs": "C#",
|
||||
"dotnet": "C#",
|
||||
|
|
|
@ -1 +1 @@
|
|||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var r={html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",rss:"RSS",css:"CSS",clike:"C-like",js:"JavaScript",abap:"ABAP",abnf:"ABNF",al:"AL",antlr4:"ANTLR4",g4:"ANTLR4",apacheconf:"Apache Configuration",apl:"APL",aql:"AQL",arff:"ARFF",asciidoc:"AsciiDoc",adoc:"AsciiDoc",aspnet:"ASP.NET (C#)",asm6502:"6502 Assembly",autohotkey:"AutoHotkey",autoit:"AutoIt",basic:"BASIC",bbcode:"BBcode",bnf:"BNF",rbnf:"RBNF",csharp:"C#",cs:"C#",dotnet:"C#",cpp:"C++",cil:"CIL",cmake:"CMake",coffee:"CoffeeScript",conc:"Concurnas",csp:"Content-Security-Policy","css-extras":"CSS Extras",dax:"DAX",django:"Django/Jinja2",jinja2:"Django/Jinja2","dns-zone-file":"DNS zone file","dns-zone":"DNS zone file",dockerfile:"Docker",ebnf:"EBNF",editorconfig:"EditorConfig",ejs:"EJS",etlua:"Embedded Lua templating",erb:"ERB","excel-formula":"Excel Formula",xlsx:"Excel Formula",xls:"Excel Formula",fsharp:"F#","firestore-security-rules":"Firestore security rules",ftl:"FreeMarker Template Language",gml:"GameMaker Language",gamemakerlanguage:"GameMaker Language",gcode:"G-code",gdscript:"GDScript",gedcom:"GEDCOM",glsl:"GLSL",graphql:"GraphQL",hs:"Haskell",hcl:"HCL",hlsl:"HLSL",http:"HTTP",hpkp:"HTTP Public-Key-Pins",hsts:"HTTP Strict-Transport-Security",ichigojam:"IchigoJam",ignore:".ignore",gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore",inform7:"Inform 7",javadoc:"JavaDoc",javadoclike:"JavaDoc-like",javastacktrace:"Java stack trace",jq:"JQ",jsdoc:"JSDoc","js-extras":"JS Extras",json:"JSON",webmanifest:"Web App Manifest",json5:"JSON5",jsonp:"JSONP",jsstacktrace:"JS stack trace","js-templates":"JS Templates",kts:"Kotlin Script",kt:"Kotlin",latex:"LaTeX",tex:"TeX",context:"ConTeXt",lilypond:"LilyPond",ly:"LilyPond",emacs:"Lisp",elisp:"Lisp","emacs-lisp":"Lisp",llvm:"LLVM IR",lolcode:"LOLCODE",md:"Markdown","markup-templating":"Markup templating",matlab:"MATLAB",mel:"MEL",mongodb:"MongoDB",moon:"MoonScript",n1ql:"N1QL",n4js:"N4JS",n4jsd:"N4JS","nand2tetris-hdl":"Nand To Tetris HDL",naniscript:"Naninovel Script",nani:"Naninovel Script",nasm:"NASM",neon:"NEON",nginx:"nginx",nsis:"NSIS",objectivec:"Objective-C",objc:"Objective-C",ocaml:"OCaml",opencl:"OpenCL",parigp:"PARI/GP",objectpascal:"Object Pascal",pcaxis:"PC-Axis",px:"PC-Axis",peoplecode:"PeopleCode",pcode:"PeopleCode",php:"PHP",phpdoc:"PHPDoc","php-extras":"PHP Extras",plsql:"PL/SQL",powerquery:"PowerQuery",pq:"PowerQuery",mscript:"PowerQuery",powershell:"PowerShell",properties:".properties",protobuf:"Protocol Buffers",purebasic:"PureBasic",pbfasm:"PureBasic",py:"Python",q:"Q (kdb+ database)",qml:"QML",rkt:"Racket",jsx:"React JSX",tsx:"React TSX",renpy:"Ren'py",rpy:"Ren'py",rest:"reST (reStructuredText)",robotframework:"Robot Framework",robot:"Robot Framework",rb:"Ruby",sas:"SAS",sass:"Sass (Sass)",scss:"Sass (Scss)","shell-session":"Shell session",solidity:"Solidity (Ethereum)",sol:"Solidity (Ethereum)","solution-file":"Solution file",sln:"Solution file",soy:"Soy (Closure Template)",sparql:"SPARQL",rq:"SPARQL","splunk-spl":"Splunk SPL",sqf:"SQF: Status Quo Function (Arma 3)",sql:"SQL",iecst:"Structured Text (IEC 61131-3)","t4-templating":"T4 templating","t4-cs":"T4 Text Templates (C#)",t4:"T4 Text Templates (C#)","t4-vb":"T4 Text Templates (VB)",tap:"TAP",tt2:"Template Toolkit 2",toml:"TOML",trig:"TriG",ts:"TypeScript",tsconfig:"TSConfig",uscript:"UnrealScript",uc:"UnrealScript",vbnet:"VB.Net",vhdl:"VHDL",vim:"vim","visual-basic":"Visual Basic",vba:"VBA",vb:"Visual Basic",wasm:"WebAssembly",wiki:"Wiki markup",xeoracube:"XeoraCube","xml-doc":"XML doc (.net)",xojo:"Xojo (REALbasic)",xquery:"XQuery",yaml:"YAML",yml:"YAML",yang:"YANG"};Prism.plugins.toolbar.registerButton("show-language",function(e){var a=e.element.parentNode;if(a&&/pre/i.test(a.nodeName)){var t,o=a.getAttribute("data-language")||r[e.language]||((t=e.language)?(t.substring(0,1).toUpperCase()+t.substring(1)).replace(/s(?=cript)/,"S"):t);if(o){var s=document.createElement("span");return s.textContent=o,s}}})}else console.warn("Show Languages plugin loaded before Toolbar plugin.")}();
|
||||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var r={html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",rss:"RSS",css:"CSS",clike:"C-like",js:"JavaScript",abap:"ABAP",abnf:"ABNF",al:"AL",antlr4:"ANTLR4",g4:"ANTLR4",apacheconf:"Apache Configuration",apl:"APL",aql:"AQL",arff:"ARFF",asciidoc:"AsciiDoc",adoc:"AsciiDoc",aspnet:"ASP.NET (C#)",asm6502:"6502 Assembly",autohotkey:"AutoHotkey",autoit:"AutoIt",basic:"BASIC",bbcode:"BBcode",bnf:"BNF",rbnf:"RBNF",bsl:"BSL (1C:Enterprise)",oscript:"OneScript",csharp:"C#",cs:"C#",dotnet:"C#",cpp:"C++",cil:"CIL",cmake:"CMake",coffee:"CoffeeScript",conc:"Concurnas",csp:"Content-Security-Policy","css-extras":"CSS Extras",dax:"DAX",django:"Django/Jinja2",jinja2:"Django/Jinja2","dns-zone-file":"DNS zone file","dns-zone":"DNS zone file",dockerfile:"Docker",ebnf:"EBNF",editorconfig:"EditorConfig",ejs:"EJS",etlua:"Embedded Lua templating",erb:"ERB","excel-formula":"Excel Formula",xlsx:"Excel Formula",xls:"Excel Formula",fsharp:"F#","firestore-security-rules":"Firestore security rules",ftl:"FreeMarker Template Language",gml:"GameMaker Language",gamemakerlanguage:"GameMaker Language",gcode:"G-code",gdscript:"GDScript",gedcom:"GEDCOM",glsl:"GLSL",graphql:"GraphQL",hs:"Haskell",hcl:"HCL",hlsl:"HLSL",http:"HTTP",hpkp:"HTTP Public-Key-Pins",hsts:"HTTP Strict-Transport-Security",ichigojam:"IchigoJam",ignore:".ignore",gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore",inform7:"Inform 7",javadoc:"JavaDoc",javadoclike:"JavaDoc-like",javastacktrace:"Java stack trace",jq:"JQ",jsdoc:"JSDoc","js-extras":"JS Extras",json:"JSON",webmanifest:"Web App Manifest",json5:"JSON5",jsonp:"JSONP",jsstacktrace:"JS stack trace","js-templates":"JS Templates",kts:"Kotlin Script",kt:"Kotlin",latex:"LaTeX",tex:"TeX",context:"ConTeXt",lilypond:"LilyPond",ly:"LilyPond",emacs:"Lisp",elisp:"Lisp","emacs-lisp":"Lisp",llvm:"LLVM IR",lolcode:"LOLCODE",md:"Markdown","markup-templating":"Markup templating",matlab:"MATLAB",mel:"MEL",mongodb:"MongoDB",moon:"MoonScript",n1ql:"N1QL",n4js:"N4JS",n4jsd:"N4JS","nand2tetris-hdl":"Nand To Tetris HDL",naniscript:"Naninovel Script",nani:"Naninovel Script",nasm:"NASM",neon:"NEON",nginx:"nginx",nsis:"NSIS",objectivec:"Objective-C",objc:"Objective-C",ocaml:"OCaml",opencl:"OpenCL",parigp:"PARI/GP",objectpascal:"Object Pascal",pcaxis:"PC-Axis",px:"PC-Axis",peoplecode:"PeopleCode",pcode:"PeopleCode",php:"PHP",phpdoc:"PHPDoc","php-extras":"PHP Extras",plsql:"PL/SQL",powerquery:"PowerQuery",pq:"PowerQuery",mscript:"PowerQuery",powershell:"PowerShell",properties:".properties",protobuf:"Protocol Buffers",purebasic:"PureBasic",pbfasm:"PureBasic",py:"Python",q:"Q (kdb+ database)",qml:"QML",rkt:"Racket",jsx:"React JSX",tsx:"React TSX",renpy:"Ren'py",rpy:"Ren'py",rest:"reST (reStructuredText)",robotframework:"Robot Framework",robot:"Robot Framework",rb:"Ruby",sas:"SAS",sass:"Sass (Sass)",scss:"Sass (Scss)","shell-session":"Shell session",solidity:"Solidity (Ethereum)",sol:"Solidity (Ethereum)","solution-file":"Solution file",sln:"Solution file",soy:"Soy (Closure Template)",sparql:"SPARQL",rq:"SPARQL","splunk-spl":"Splunk SPL",sqf:"SQF: Status Quo Function (Arma 3)",sql:"SQL",iecst:"Structured Text (IEC 61131-3)","t4-templating":"T4 templating","t4-cs":"T4 Text Templates (C#)",t4:"T4 Text Templates (C#)","t4-vb":"T4 Text Templates (VB)",tap:"TAP",tt2:"Template Toolkit 2",toml:"TOML",trig:"TriG",ts:"TypeScript",tsconfig:"TSConfig",uscript:"UnrealScript",uc:"UnrealScript",vbnet:"VB.Net",vhdl:"VHDL",vim:"vim","visual-basic":"Visual Basic",vba:"VBA",vb:"Visual Basic",wasm:"WebAssembly",wiki:"Wiki markup",xeoracube:"XeoraCube","xml-doc":"XML doc (.net)",xojo:"Xojo (REALbasic)",xquery:"XQuery",yaml:"YAML",yml:"YAML",yang:"YANG"};Prism.plugins.toolbar.registerButton("show-language",function(e){var a=e.element.parentNode;if(a&&/pre/i.test(a.nodeName)){var t,o=a.getAttribute("data-language")||r[e.language]||((t=e.language)?(t.substring(0,1).toUpperCase()+t.substring(1)).replace(/s(?=cript)/,"S"):t);if(o){var s=document.createElement("span");return s.textContent=o,s}}})}else console.warn("Show Languages plugin loaded before Toolbar plugin.")}();
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// foobar
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["comment", "//"],
|
||||
["comment", "// foobar"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for comments.
|
|
@ -0,0 +1,37 @@
|
|||
пока для новый прервать попытка
|
||||
исключение вызватьисключение иначе конецпопытки неопределено
|
||||
функция перем возврат конецфункции
|
||||
если иначеесли процедура конецпроцедуры тогда
|
||||
знач экспорт конецесли
|
||||
из каждого истина по
|
||||
цикл конеццикла выполнить
|
||||
while for new break try
|
||||
except raise else endtry undefined
|
||||
function var return endfunction null
|
||||
if elseif procedure endprocedure then
|
||||
val export endif
|
||||
in each true false to
|
||||
do enddo execute
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["keyword", "пока"], ["keyword", "для"], ["keyword", "новый"], ["keyword", "прервать"], ["keyword", "попытка"],
|
||||
["keyword", "исключение"], ["keyword", "вызватьисключение"], ["keyword", "иначе"], ["keyword", "конецпопытки"], ["keyword", "неопределено"],
|
||||
["keyword", "функция"], ["keyword", "перем"], ["keyword", "возврат"], ["keyword", "конецфункции"],
|
||||
["keyword", "если"], ["keyword", "иначеесли"], ["keyword", "процедура"], ["keyword", "конецпроцедуры"], ["keyword", "тогда"],
|
||||
["keyword", "знач"], ["keyword", "экспорт"], ["keyword", "конецесли"],
|
||||
["keyword", "из"], ["keyword", "каждого"], ["keyword", "истина"], ["keyword", "по"],
|
||||
["keyword", "цикл"], ["keyword", "конеццикла"], ["keyword", "выполнить"],
|
||||
|
||||
["keyword", "while"], ["keyword", "for"], ["keyword", "new"], ["keyword", "break"], ["keyword", "try"],
|
||||
["keyword", "except"], ["keyword", "raise"], ["keyword", "else"], ["keyword", "endtry"], ["keyword", "undefined"],
|
||||
["keyword", "function"], ["keyword", "var"], ["keyword", "return"], ["keyword", "endfunction"], ["keyword", "null"],
|
||||
["keyword", "if"], ["keyword", "elseif"], ["keyword", "procedure"], ["keyword", "endprocedure"], ["keyword", "then"],
|
||||
["keyword", "val"], ["keyword", "export"], ["keyword", "endif"],
|
||||
["keyword", "in"], ["keyword", "each"], ["keyword", "true"], ["keyword", "false"], ["keyword", "to"],
|
||||
["keyword", "do"], ["keyword", "enddo"], ["keyword", "execute"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for all keywords.
|
|
@ -0,0 +1,13 @@
|
|||
42
|
||||
3.14159
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["number", "42"],
|
||||
["number", "3.14159"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for decimal.
|
|
@ -0,0 +1,17 @@
|
|||
< <= > >=
|
||||
+ - * /
|
||||
% =
|
||||
and or not и или не
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["operator", "<"], ["operator", "<="], ["operator", ">"], ["operator", ">="],
|
||||
["operator", "+"], ["operator", "-"], ["operator", "*"], ["operator", "/"],
|
||||
["operator", "%"], ["operator", "="],
|
||||
["operator", "and"], ["operator", "or"], ["operator", "not"], ["operator", "и"], ["operator", "или"], ["operator", "не"]
|
||||
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for operators.
|
|
@ -0,0 +1,13 @@
|
|||
""
|
||||
"fo"
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["string", "\"\""],
|
||||
["string", "\"fo\""]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for strings and chars.
|
Loading…
Reference in New Issue