-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
252 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
167 changes: 167 additions & 0 deletions
167
exts/yaxunit/src/CommonModules/ЮТОкружениеСлужебныйКлиентСервер/Module.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,167 @@ | ||
//©///////////////////////////////////////////////////////////////////////////©// | ||
// | ||
// Copyright 2021-2024 BIA-Technologies Limited Liability Company | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
// | ||
//©///////////////////////////////////////////////////////////////////////////©// | ||
|
||
#Область СлужебныйПрограммныйИнтерфейс | ||
|
||
// Собирает информацию об окружения, как сервера, так и клиента. | ||
// | ||
// Возвращаемое значение: | ||
// Структура - Описание окружения: | ||
// * ВерсияПлатформы - Строка | ||
// * ФайловаяБаза - Булево | ||
// * ОбычноеПриложение - Булево | ||
// * ВебКлиент - Булево | ||
// * ТолстыйКлиент - Булево | ||
// * ЛокальПлатформы - Строка | ||
// * ЛокальИнтерфейса - Строка | ||
// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS | ||
// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386 | ||
// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS | ||
// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386 | ||
// * ВстроенныйЯзык - Строка - Возможные значения: ru, en | ||
// * ИнформационнаяСреда - Строка | ||
Функция ОписаниеОкружения() Экспорт | ||
|
||
СистемнаяИнформация = Новый СистемнаяИнформация(); | ||
|
||
Окружение = Новый Структура; | ||
Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); | ||
Окружение.Вставить("ФайловаяБаза", ЭтоФайловаяБаза()); | ||
Окружение.Вставить("ОбычноеПриложение", Ложь); | ||
Окружение.Вставить("ВебКлиент", Ложь); | ||
Окружение.Вставить("ТолстыйКлиент", Ложь); | ||
Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); | ||
Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); | ||
Окружение.Вставить("ИнформационнаяСреда", "DEV"); | ||
|
||
#Если ВебКлиент Тогда | ||
Окружение.ВебКлиент = Истина; | ||
#ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда | ||
Окружение.ОбычноеПриложение = Истина; | ||
Окружение.ТолстыйКлиент = Истина; | ||
#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда | ||
Окружение.ТолстыйКлиент = Истина; | ||
#КонецЕсли | ||
|
||
Платформа = Платформа(СистемнаяИнформация); | ||
Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема); | ||
Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура); | ||
|
||
// TODO придумать другой безопасный универсальный вызов сервера | ||
ОписаниеСерверногоОкружения = ЮТМетодыСлужебный.ВычислитьБезопасноНаСервере("ЮТОкружениеСлужебныйКлиентСервер.ОписаниеСерверногоОкружения()"); | ||
Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема); | ||
Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура); | ||
Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); | ||
|
||
//@skip-check constructor-function-return-section | ||
Возврат Окружение; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
Процедура Инициализация(ПараметрыЗапуска) Экспорт | ||
|
||
Окружение = ОписаниеОкружения(); | ||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("Окружение", Окружение, Истина); | ||
|
||
КонецПроцедуры | ||
|
||
Функция ЭтоФайловаяБаза() | ||
|
||
Возврат СтрНайти(Врег(СтрокаСоединенияИнформационнойБазы()), "FILE=") = 0; | ||
|
||
КонецФункции | ||
|
||
Функция Платформа(СистемнаяИнформация) Экспорт | ||
|
||
ОперационнаяСистема = Неопределено; | ||
Архитектура = Неопределено; | ||
|
||
Linux = "Linux"; | ||
Windows = "Windows"; | ||
MacOS = "MacOS"; | ||
|
||
//@skip-check bsl-variable-name-invalid | ||
x86 = "i386"; | ||
//@skip-check bsl-variable-name-invalid | ||
x64 = "x86_64"; | ||
|
||
ТипКлиентскойПлатформы = СистемнаяИнформация.ТипПлатформы; | ||
|
||
Если ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86 Тогда | ||
ОперационнаяСистема = Linux; | ||
Архитектура = x86; | ||
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86_64 Тогда | ||
ОперационнаяСистема = Linux; | ||
Архитектура = x64; | ||
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86 Тогда | ||
ОперационнаяСистема = Windows; | ||
Архитектура = x86; | ||
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86_64 Тогда | ||
ОперационнаяСистема = Windows; | ||
Архитектура = x64; | ||
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86 Тогда | ||
ОперационнаяСистема = MacOS; | ||
Архитектура = x86; | ||
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86_64 Тогда | ||
ОперационнаяСистема = MacOS; | ||
Архитектура = x64; | ||
Иначе | ||
ВызватьИсключение "Неподдерживаемый тип платформы"; | ||
КонецЕсли; | ||
|
||
Возврат Новый Структура("ОперационнаяСистема, Архитектура", ОперационнаяСистема, Архитектура); | ||
|
||
КонецФункции | ||
|
||
#Если Сервер Тогда | ||
Функция ОписаниеСерверногоОкружения() Экспорт | ||
|
||
СистемнаяИнформация = Новый СистемнаяИнформация(); | ||
Платформа = Платформа(СистемнаяИнформация); | ||
|
||
Окружение = Новый Структура; | ||
Окружение.Вставить("ОперационнаяСистема", Платформа.ОперационнаяСистема); | ||
Окружение.Вставить("Архитектура", Платформа.Архитектура); | ||
Окружение.Вставить("ВстроенныйЯзык", Формат(Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский, "БЛ=en; БИ=ru;")); | ||
|
||
Возврат Окружение; | ||
|
||
КонецФункции | ||
#КонецЕсли | ||
|
||
Функция ЛокальИнтерфейса() | ||
|
||
#Если Клиент Тогда | ||
Возврат ТекущийЯзык(); | ||
#Иначе | ||
Возврат ТекущийЯзык().КодЯзыка; | ||
#КонецЕсли | ||
|
||
КонецФункции | ||
|
||
Функция ЛокальПлатформы() | ||
|
||
Возврат ТекущийЯзыкСистемы(); | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти |
12 changes: 12 additions & 0 deletions
12
...t/src/CommonModules/ЮТОкружениеСлужебныйКлиентСервер/ЮТОкружениеСлужебныйКлиентСервер.mdo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f53b66d1-d3a6-48ff-86e3-d684d219a58d"> | ||
<name>ЮТОкружениеСлужебныйКлиентСервер</name> | ||
<synonym> | ||
<key>ru</key> | ||
<value>Окружение служебный</value> | ||
</synonym> | ||
<clientManagedApplication>true</clientManagedApplication> | ||
<server>true</server> | ||
<externalConnection>true</externalConnection> | ||
<clientOrdinaryApplication>true</clientOrdinaryApplication> | ||
</mdclass:CommonModule> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.