-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Documentation on objects and modules (#52)
Добавлена документация по подсистемам: Предопределенные значения Соответствия объектов ИБ Программная модификация форм
- Loading branch information
1 parent
b730bf2
commit 4e6c5a9
Showing
5 changed files
with
309 additions
and
3 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Подисистема аналог библиотеки стандартных подсистем, для переопределения методов БСП | ||
|
||
## 1. Использование общих модулей для переадресации методов | ||
Для переадресации методов используются общие модули-аналоги в названии которых содержится "Служебный", пример: "__ОбщегоНазначенияСлужебный". В случае отсутствия библиотеки стандартных подсистем(БСП), используются аналоги модулей и методов БСП. | ||
|
||
Пример вызова серверной процедуры: | ||
|
||
```1C (BSL) | ||
&НаСервере | ||
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог) | ||
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить( | ||
КлючОбъекта(), | ||
"__ПользовательскиеФункции_КаталогИсходногоКода", | ||
Каталог); | ||
КонецПроцедуры | ||
``` | ||
|
||
```1C (BSL) | ||
Процедура ОчиститьИсториюИнтеграции() Экспорт | ||
Попытка | ||
// Попытка удаления элементов справочника | ||
Исключение | ||
ИмяСобытия = НСтр("ru = 'Очистка истории интеграции'"); | ||
ТекстОшибки = СтрШаблон("Не удалось удалить запись истории интеграции %1", ВыборкаДетальныеЗаписи.Ссылка); | ||
__ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки); | ||
КонецПопытки; | ||
КонецПроцедуры | ||
``` | ||
|
||
## 2. Добавление новых методов-аналогов БСП | ||
### 2.1 Поиск или создание внутренних модулей, аналогичных модулям БСП | ||
Найти внутренний модуль, с аналогичным названием и свойствами в БСП, если модуль отсутствует необходимо добавить новый, в имени должно содержатся "Служебный" (согласно общей концепции переопределения методов БСП). | ||
|
||
Пример: "__ОбщегоНазначенияСлужебный", "__ЖурналРегистрацииСлужебный". | ||
|
||
Методы располагаются в области "ПереадресацияМетодов", в описание метода указать см. __ИмяМодуля.ИмяМетода. | ||
|
||
```1C (BSL) | ||
#Область ПереадресацияМетодов | ||
// См. __ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации. | ||
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт | ||
Модуль = ПолучитьМодуль(); | ||
Модуль.ВыполнитьМетодКонфигурации(ИмяМетода, Параметры); | ||
КонецПроцедуры | ||
#КонецОбласти | ||
``` | ||
|
||
Если модуль-аналог новый добавить функцию в области "СлужебныеПроцедурыИФункции", где __ИмяМодуля для серверных модулей "__ОбщегоНазначенияПовтИсп.", для клиентских "__ОбщегоНазначенияКлиент" | ||
|
||
```1C (BSL) | ||
Функция ПолучитьМодуль() | ||
Возврат __ИмяМодуля.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляАналогаБСП); | ||
КонецФункции | ||
``` | ||
### 2.2 Создание методов в модуле-аналоге | ||
Пример: "__ОбщегоНазначения". Методы располагаются в области "МетодыАналогиБСП", описание метода начинать с "Аналог метода БСП." | ||
|
||
```1C (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,54 @@ | ||
# Подсистема предопределенных значений | ||
|
||
Пример добавления нового элемента в модуле __ПредопределенныеЗначенияПереопределяемый | ||
|
||
```1C (BSL) | ||
Функция ПредопределенныеЗначения() Экспорт | ||
Результат = ТаблицаПредопределенных(); | ||
// Добавление | ||
НоваяНастройка = Результат.Добавить(); | ||
НоваяНастройка.Наименование = "Пароль доступа на ИТС"; | ||
НоваяНастройка.ИдентификаторНастройки = "ПарольДоступаНаИТС"; | ||
НоваяНастройка.Пароль = Истина; | ||
НоваяНастройка.СписокЗначений = Ложь; | ||
НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); | ||
// КонецДобавления | ||
Возврат Результат; | ||
КонецФункции | ||
``` | ||
|
||
Пример получения множественного результата, второй параметр указывает если Истина, то результат оборачивается в соответствие, где Ключ - Имя предопределенного элемента, Значение - значение предопределенного элемента | ||
|
||
```1C (BSL) | ||
Функция ПолучитьДанныеАвторизации() | ||
ДанныеАвторизации = Новый Структура("Логин, Пароль"); | ||
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("Логин_ИТС, Пароль_ИТС", Истина, Истина); | ||
Для Каждого Пара Из Результат Цикл | ||
Сообщить("Ключ: " Пара.Ключ); | ||
Сообщить("Значение: "+ Пара.Значение); | ||
ДанныеАвторизации[Пара.Ключ] = Пара.Значение; | ||
КонецЦикла; | ||
Возврат ДанныеАвторизации; | ||
КонецФункции | ||
``` | ||
|
||
Пример получения единичного результата | ||
|
||
```1C (BSL) | ||
Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата) | ||
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("ДатаНачалаЗаписиВРегистры", Истина, Истина); | ||
Возврат ПроверяемаяДата = Результат; | ||
КонецФункции | ||
``` | ||
|
Oops, something went wrong.