This commit is contained in:
Компания 1С committed 2019-09-20 00:22:00 +03:00
1 parent cc967fc2c1
commit dcabaaa547
45 files changed
+682 -444

No files matched your search

@@ -84,7 +84,7 @@
СтрокаСписка = Строки[Выборка.Валюта]; СтрокаСписка = Строки[Выборка.Валюта];
СтрокаСписка.Данные["Курс"] = Выборка.Курс; СтрокаСписка.Данные["Курс"] = Выборка.Курс;
Если Выборка.Кратность <> 1 Тогда Если Выборка.Кратность <> 1 Тогда
Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'руб. за %1 %2'"), Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'за %1 %2'"),
Выборка.Кратность, СтрокаСписка.Данные["Наименование"]); Выборка.Кратность, СтрокаСписка.Данные["Наименование"]);
СтрокаСписка.Данные["Кратность"] = Пояснение; СтрокаСписка.Данные["Кратность"] = Пояснение;
КонецЕсли; КонецЕсли;
@@ -14,8 +14,6 @@
</li><li> </li><li>
<div><strong>Кратность</strong> - по умолчанию заполнено единицей и не выводится. Если курс какой-либо валюты очень низкий (точность составляет меньше четырех знаков дробной части), то в этом поле указывается количество котировочных единиц. Например, курс вьетнамского донга (VND) составляет 16,1574 руб. за 10000 VND. Состоит из трех вспомогательных колонок, в которых размещается данное выражение:</div> <div><strong>Кратность</strong> - по умолчанию заполнено единицей и не выводится. Если курс какой-либо валюты очень низкий (точность составляет меньше четырех знаков дробной части), то в этом поле указывается количество котировочных единиц. Например, курс вьетнамского донга (VND) составляет 16,1574 руб. за 10000 VND. Состоит из трех вспомогательных колонок, в которых размещается данное выражение:</div>
<ul><li> <ul><li>
<div><strong>Руб</strong>.<strong> за</strong> - логическая связка.</div>
</li><li>
<div><strong>Кратность</strong> - проставляется количество котировочных единиц.</div> <div><strong>Кратность</strong> - проставляется количество котировочных единиц.</div>
</li><li> </li><li>
<div><strong>Краткое наименование</strong> - указывается символьный код валюты</div></li></ul></li></ul><h3>Добавление валюты из Общероссийского классификатора валют (ОКВ)</h3> <div><strong>Краткое наименование</strong> - указывается символьный код валюты</div></li></ul></li></ul><h3>Добавление валюты из Общероссийского классификатора валют (ОКВ)</h3>
@@ -615,7 +615,7 @@
Если Справочники.ПрофилиГруппДоступа.ЕстьНачальноеЗаполнениеПрофиля(ТекущийОбъект.Ссылка) Тогда Если Справочники.ПрофилиГруппДоступа.ЕстьНачальноеЗаполнениеПрофиля(ТекущийОбъект.Ссылка) Тогда
ОписаниеПоставляемогоПрофиля = ОписаниеПоставляемогоПрофиля =
Справочники.ПрофилиГруппДоступа.ОписаниеПоставляемогоПрофиля(ТекущийОбъект.Ссылка); Справочники.ПрофилиГруппДоступа.ПояснениеПоставляемогоПрофиля(ТекущийОбъект.Ссылка);
Если Справочники.ПрофилиГруппДоступа.ПоставляемыйПрофильИзменен(ТекущийОбъект) Тогда Если Справочники.ПрофилиГруппДоступа.ПоставляемыйПрофильИзменен(ТекущийОбъект) Тогда
// Определение прав восстановления по начальному заполнению. // Определение прав восстановления по начальному заполнению.
@@ -584,20 +584,14 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка. // Строка.
// //
Функция ОписаниеПоставляемогоПрофиля(Профиль) Экспорт Функция ПояснениеПоставляемогоПрофиля(Профиль) Экспорт
ИдентификаторПоставляемыхДанных = Строка(ОбщегоНазначения.ЗначениеРеквизитаОбъекта( ИдентификаторПоставляемыхДанных = Строка(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
Профиль, "ИдентификаторПоставляемыхДанных")); Профиль, "ИдентификаторПоставляемыхДанных"));
ПоставляемыеПрофили = УправлениеДоступомСлужебныйПовтИсп.ОписаниеПоставляемыхПрофилей(); ПояснениеПоставляемыхПрофилей = УправлениеДоступомСлужебныйПовтИсп.ПояснениеПоставляемыхПрофилей();
СвойстваПрофиля = ПоставляемыеПрофили.ОписанияПрофилей.Получить(ИдентификаторПоставляемыхДанных);
Текст = ""; Возврат Строка(ПояснениеПоставляемыхПрофилей.Получить(ИдентификаторПоставляемыхДанных));
Если СвойстваПрофиля <> Неопределено Тогда
Текст = СвойстваПрофиля.Описание;
КонецЕсли;
Возврат Текст;
КонецФункции КонецФункции
@@ -1044,7 +1038,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Вспомогательные процедуры и функции. // Вспомогательные процедуры и функции.
Функция ПоставляемыеПрофили() Функция ЗаполненныеПоставляемыеПрофили()
ПараметрыОбновления = Новый Структура; ПараметрыОбновления = Новый Структура;
// Свойства обновления поставляемых профилей. // Свойства обновления поставляемых профилей.
@@ -1062,6 +1056,40 @@
УправлениеДоступомПереопределяемый.ПриЗаполненииПоставляемыхПрофилейГруппДоступа( УправлениеДоступомПереопределяемый.ПриЗаполненииПоставляемыхПрофилейГруппДоступа(
ОписанияПрофилей, ПараметрыОбновления); ОписанияПрофилей, ПараметрыОбновления);
// Описание для заполнения предопределенного профиля "Администратор".
ОписаниеПрофиляАдминистратор = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
ОписаниеПрофиляАдминистратор.Имя = "Администратор";
ОписаниеПрофиляАдминистратор.Идентификатор = ИдентификаторПрофиляАдминистратор();
ОписаниеПрофиляАдминистратор.Наименование = НСтр("ru = 'Администратор'", ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиляАдминистратор.Роли.Добавить("АдминистраторСистемы");
ОписаниеПрофиляАдминистратор.Роли.Добавить("ПолныеПрава");
ОписаниеПрофиляАдминистратор.Описание =
НСтр("ru = 'Предназначен для:
|- настройки параметров работы и обслуживания информационной системы,
|- настройки прав доступа других пользователей,
|- удаления помеченных объектов,
|- в редких случаях для внесения изменений в конфигурацию.
|
|Рекомендуется не использовать для ""обычной"" работы в информационной системе.'");
ОписанияПрофилей.Добавить(ОписаниеПрофиляАдминистратор);
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
ОписанияПрофилей.Добавить(
УправлениеДоступомСлужебный.ОписаниеПрофиляОткрытиеВнешнихОтчетовИОбработок());
КонецЕсли;
Возврат Новый Структура("ОписанияПрофилей, ПараметрыОбновления", ОписанияПрофилей, ПараметрыОбновления);
КонецФункции
Функция ПоставляемыеПрофили()
ЗаполненныеПоставляемыеПрофили = ЗаполненныеПоставляемыеПрофили();
ПараметрыОбновления = ЗаполненныеПоставляемыеПрофили.ПараметрыОбновления;
ОписанияПрофилей = ЗаполненныеПоставляемыеПрофили.ОписанияПрофилей;
ЗаголовокОшибки = ЗаголовокОшибки =
НСтр("ru = 'Заданы недопустимые значения в процедуре ПриЗаполненииПоставляемыхПрофилейГруппДоступа НСтр("ru = 'Заданы недопустимые значения в процедуре ПриЗаполненииПоставляемыхПрофилейГруппДоступа
|общего модуля УправлениеДоступомПереопределяемый.'") |общего модуля УправлениеДоступомПереопределяемый.'")
@@ -1078,31 +1106,6 @@
|должно быть установлено Ложь.'"); |должно быть установлено Ложь.'");
КонецЕсли; КонецЕсли;
// Описание для заполнения предопределенного профиля "Администратор".
ОписаниеПрофиляАдминистратор = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
ОписаниеПрофиляАдминистратор.Имя = "Администратор";
ОписаниеПрофиляАдминистратор.Идентификатор = ИдентификаторПрофиляАдминистратор();
ОписаниеПрофиляАдминистратор.Наименование = НСтр("ru = 'Администратор'");
ОписаниеПрофиляАдминистратор.Роли.Добавить("АдминистраторСистемы");
ОписаниеПрофиляАдминистратор.Роли.Добавить("ПолныеПрава");
ОписаниеПрофиляАдминистратор.Описание =
НСтр("ru = 'Предназначен для:
|- настройки параметров работы и обслуживания информационной системы,
|- настройки прав доступа других пользователей,
|- удаления помеченных объектов,
|- в редких случаях для внесения изменений в конфигурацию.
|
|Рекомендуется не использовать для ""обычной"" работы в информационной системе.'")
+ Символы.ПС;
ОписанияПрофилей.Добавить(ОписаниеПрофиляАдминистратор);
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
ОписанияПрофилей.Добавить(
УправлениеДоступомСлужебный.ОписаниеПрофиляОткрытиеВнешнихОтчетовИОбработок());
КонецЕсли;
ВсеРоли = ПользователиСлужебный.ВсеРоли().Соответствие; ВсеРоли = ПользователиСлужебный.ВсеРоли().Соответствие;
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа(); СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
@@ -1379,6 +1382,20 @@
КонецФункции КонецФункции
Функция ПояснениеПоставляемыхПрофилей() Экспорт
ОписанияПрофилей = ЗаполненныеПоставляемыеПрофили().ОписанияПрофилей;
ПредставлениеВидовДоступа = Новый Соответствие;
Для Каждого ОписаниеПрофиля Из ОписанияПрофилей Цикл
ПредставлениеВидовДоступа.Вставить(ОписаниеПрофиля.Идентификатор, ОписаниеПрофиля.Описание);
КонецЦикла;
Возврат Новый ФиксированноеСоответствие(ПредставлениеВидовДоступа);
КонецФункции
// Для процедуры ПоставляемыеПрофили. // Для процедуры ПоставляемыеПрофили.
Функция ПредставлениеНазначенияПрофиля(НазначениеПрофиля) Функция ПредставлениеНазначенияПрофиля(НазначениеПрофиля)
@@ -2491,7 +2491,7 @@
Если ТекущийЯзык() <> Метаданные.ОсновнойЯзык Тогда Если ТекущийЯзык() <> Метаданные.ОсновнойЯзык Тогда
Отбор = Новый Структура(); Отбор = Новый Структура();
Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); Отбор.Вставить("КодЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
НайденныеСтроки = Представления.НайтиСтроки(Отбор); НайденныеСтроки = Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда Если НайденныеСтроки.Количество() > 0 Тогда
Заголовок = НайденныеСтроки[0].Заголовок; Заголовок = НайденныеСтроки[0].Заголовок;
@@ -1835,16 +1835,28 @@
<listChoiceMode>true</listChoiceMode> <listChoiceMode>true</listChoiceMode>
<typeDomainEnabled>true</typeDomainEnabled> <typeDomainEnabled>true</typeDomainEnabled>
<choiceList> <choiceList>
<presentation>
<key>ru</key>
<value>Кому</value>
</presentation>
<value xsi:type="core:StringValue"> <value xsi:type="core:StringValue">
<value>Кому</value> <value>Кому</value>
</value> </value>
</choiceList> </choiceList>
<choiceList> <choiceList>
<presentation>
<key>ru</key>
<value>Копии</value>
</presentation>
<value xsi:type="core:StringValue"> <value xsi:type="core:StringValue">
<value>Копии</value> <value>Копии</value>
</value> </value>
</choiceList> </choiceList>
<choiceList> <choiceList>
<presentation>
<key>ru</key>
<value>Скрытые</value>
</presentation>
<value xsi:type="core:StringValue"> <value xsi:type="core:StringValue">
<value>Скрытые</value> <value>Скрытые</value>
</value> </value>
@@ -11,6 +11,8 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Взаимодействия.ОбработатьНеобходимостьОтображенияГруппПользователей(ЭтотОбъект); Взаимодействия.ОбработатьНеобходимостьОтображенияГруппПользователей(ЭтотОбъект);
Взаимодействия.ДобавитьСтраницыФормыПодбораКонтактов(ЭтотОбъект); Взаимодействия.ДобавитьСтраницыФормыПодбораКонтактов(ЭтотОбъект);
@@ -707,4 +709,13 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
Взаимодействия.УстановитьУсловноеОформлениеСпискаВыбора(ЭтотОбъект, "Группа", "ПолучателиПисьма.Группа");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -47,7 +47,7 @@
НСтр("ru='%1 на разных языках'"), Реквизит.Представление()); НСтр("ru='%1 на разных языках'"), Реквизит.Представление());
КонецЕсли; КонецЕсли;
ОсновнойЯзык = Метаданные.ОсновнойЯзык.КодЯзыка; ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
ОписаниеЯзыка = ОписаниеЯзыка(ТекущийЯзык().КодЯзыка); ОписаниеЯзыка = ОписаниеЯзыка(ТекущийЯзык().КодЯзыка);
Если ОписаниеЯзыка <> Неопределено Тогда Если ОписаниеЯзыка <> Неопределено Тогда
@@ -527,18 +527,20 @@
Процедура ДобавитьРеквизитыИлиЭлементыФормы(НовыеРеквизиты = Неопределено) Процедура ДобавитьРеквизитыИлиЭлементыФормы(НовыеРеквизиты = Неопределено)
Права = УправлениеДоступомСлужебныйПовтИсп.ВозможныеПраваДляНастройкиПравОбъектов(); Права = УправлениеДоступомСлужебныйПовтИсп.ВозможныеПраваДляНастройкиПравОбъектов();
ОписанияВозможныхПрав = Права.ПоТипамСсылок.Получить(ТипЗнч(Параметры.СсылкаНаОбъект)); ТипСсылкиВладельцаПрав = ТипЗнч(Параметры.СсылкаНаОбъект);
ОписанияВозможныхПрав = Права.ПоТипамСсылок.Получить(ТипСсылкиВладельцаПрав);
ОписаниеТиповПсевдоФлажка = Новый ОписаниеТипов("Булево, Число", ОписаниеТиповПсевдоФлажка = Новый ОписаниеТипов("Булево, Число",
Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный)); Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
// Добавление возможных прав, настраиваемых по владельцу (таблице значений доступа). // Добавление возможных прав, настраиваемых по владельцу (таблице значений доступа).
Для каждого ОписаниеПрава Из ОписанияВозможныхПрав Цикл Для Каждого ОписаниеПрава Из ОписанияВозможныхПрав Цикл
ПредставленияПрава = РегистрыСведений.НастройкиПравОбъектов.ПредставлениеВозможногоПрава(ОписаниеПрава);
Если НовыеРеквизиты <> Неопределено Тогда Если НовыеРеквизиты <> Неопределено Тогда
ДобавитьРеквизит(НовыеРеквизиты, Новый РеквизитФормы(ОписаниеПрава.Имя, ОписаниеТиповПсевдоФлажка, ДобавитьРеквизит(НовыеРеквизиты, Новый РеквизитФормы(ОписаниеПрава.Имя, ОписаниеТиповПсевдоФлажка,
"ГруппыПрав", ОписаниеПрава.Заголовок), ОписаниеПрава.НачальноеЗначение); "ГруппыПрав", ПредставленияПрава.Заголовок), ОписаниеПрава.НачальноеЗначение);
ВозможныеПрава.Вставить(ОписаниеПрава.Имя); ВозможныеПрава.Вставить(ОписаниеПрава.Имя);
@@ -571,20 +573,20 @@
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр; Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр;
Элемент.ПутьКДанным = "ГруппыПрав." + ОписаниеПрава.Имя; Элемент.ПутьКДанным = "ГруппыПрав." + ОписаниеПрава.Имя;
Элемент.Подсказка = ОписаниеПрава.Подсказка; Элемент.Подсказка = ПредставленияПрава.Подсказка;
// Расчет оптимальной ширины элемента. // Расчет оптимальной ширины элемента.
ШиринаЭлемента = 0; ШиринаЭлемента = 0;
Для НомерСтроки = 1 По СтрЧислоСтрок(ОписаниеПрава.Заголовок) Цикл Для НомерСтроки = 1 По СтрЧислоСтрок(ПредставленияПрава.Заголовок) Цикл
ШиринаЭлемента = Макс(ШиринаЭлемента, СтрДлина(СтрПолучитьСтроку(ОписаниеПрава.Заголовок, НомерСтроки))); ШиринаЭлемента = Макс(ШиринаЭлемента, СтрДлина(СтрПолучитьСтроку(ПредставленияПрава.Заголовок, НомерСтроки)));
КонецЦикла; КонецЦикла;
Если СтрЧислоСтрок(ОписаниеПрава.Заголовок) = 1 Тогда Если СтрЧислоСтрок(ПредставленияПрава.Заголовок) = 1 Тогда
ШиринаЭлемента = ШиринаЭлемента + 1; ШиринаЭлемента = ШиринаЭлемента + 1;
КонецЕсли; КонецЕсли;
Элемент.Ширина = ШиринаЭлемента; Элемент.Ширина = ШиринаЭлемента;
КонецЕсли; КонецЕсли;
Если Элементы.ГруппыПрав.ВысотаШапки < СтрЧислоСтрок(ОписаниеПрава.Заголовок) Тогда Если Элементы.ГруппыПрав.ВысотаШапки < СтрЧислоСтрок(ПредставленияПрава.Заголовок) Тогда
Элементы.ГруппыПрав.ВысотаШапки = СтрЧислоСтрок(ОписаниеПрава.Заголовок); Элементы.ГруппыПрав.ВысотаШапки = СтрЧислоСтрок(ПредставленияПрава.Заголовок);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -1070,17 +1070,10 @@
// //
Функция СоединениеСАгентомСервера(COMСоединитель, Знач АдресАгентаСервера, Знач ПортАгентаСервера) Функция СоединениеСАгентомСервера(COMСоединитель, Знач АдресАгентаСервера, Знач ПортАгентаСервера)
АдресИПорт = АдресАгентаСервера + ":" + Формат(ПортАгентаСервера, "ЧГ=0"); СтрокаСоединенияСАгентомСервера = "tcp://" + АдресАгентаСервера + ":" + Формат(ПортАгентаСервера, "ЧГ=0");
Попытка
СтрокаСоединенияСАгентомСервера = "tcp://" + АдресИПорт;
СоединениеСАгентомСервера = COMСоединитель.ConnectAgent(СтрокаСоединенияСАгентомСервера); СоединениеСАгентомСервера = COMСоединитель.ConnectAgent(СтрокаСоединенияСАгентомСервера);
Возврат СоединениеСАгентомСервера; Возврат СоединениеСАгентомСервера;
Исключение
ВызватьИсключение;
КонецПопытки;
КонецФункции КонецФункции
// Возвращает кластер серверов. // Возвращает кластер серверов.
@@ -1098,12 +1091,8 @@
Для Каждого Кластер Из СоединениеСАгентомСервера.GetClusters() Цикл Для Каждого Кластер Из СоединениеСАгентомСервера.GetClusters() Цикл
Если Кластер.MainPort = ПортКластера Тогда Если Кластер.MainPort = ПортКластера Тогда
Попытка
СоединениеСАгентомСервера.Authenticate(Кластер, ИмяАдминистратораКластера, ПарольАдминистратораКластера); СоединениеСАгентомСервера.Authenticate(Кластер, ИмяАдминистратораКластера, ПарольАдминистратораКластера);
Возврат Кластер; Возврат Кластер;
Исключение
ВызватьИсключение;
КонецПопытки;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -1151,13 +1140,9 @@
Функция ПолучитьОписаниеИБ(СоединениеСАгентомСервера, Кластер, Знач ИмяВКластере) Функция ПолучитьОписаниеИБ(СоединениеСАгентомСервера, Кластер, Знач ИмяВКластере)
Для Каждого ОписаниеИнформационнойБазы Из СоединениеСАгентомСервера.GetInfoBases(Кластер) Цикл Для Каждого ОписаниеИнформационнойБазы Из СоединениеСАгентомСервера.GetInfoBases(Кластер) Цикл
Если НРег(ОписаниеИнформационнойБазы.Name) = НРег(ИмяВКластере) Тогда
Если ОписаниеИнформационнойБазы.Name = ИмяВКластере Тогда
Возврат ОписаниеИнформационнойБазы; Возврат ОписаниеИнформационнойБазы;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдена информационная база ""%3""'"), ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдена информационная база ""%3""'"),
@@ -1185,18 +1170,14 @@
Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
Если ИнформационнаяБаза.Name = ИмяВКластере Тогда Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда
Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"), ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"),
ИмяВКластере, ИмяВКластере,
Кластер.HostName, Кластер.HostName,
Кластер.MainPort, Кластер.MainPort,
ИмяАдминистратораИБ); ИмяАдминистратораИБ);
КонецЕсли; КонецЕсли;
Возврат ИнформационнаяБаза; Возврат ИнформационнаяБаза;
КонецЕсли; КонецЕсли;
@@ -1365,7 +1346,7 @@
Для каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл Для каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
// Это требуемая информационная база. // Это требуемая информационная база.
Если ИнформационнаяБаза.Name = ИмяВКластере Тогда Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда
// Для получение соединений с информационной базой требуется аутентификация. // Для получение соединений с информационной базой требуется аутентификация.
СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ); СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ);
@@ -1415,11 +1396,9 @@
Функция ПолучитьПрофильБезопасности(СоединениеСАгентомСервера, Кластер, ИмяПрофиля) Функция ПолучитьПрофильБезопасности(СоединениеСАгентомСервера, Кластер, ИмяПрофиля)
Для Каждого ПрофильБезопасности Из СоединениеСАгентомСервера.GetSecurityProfiles(Кластер) Цикл Для Каждого ПрофильБезопасности Из СоединениеСАгентомСервера.GetSecurityProfiles(Кластер) Цикл
Если НРег(ПрофильБезопасности.Name) = НРег(ИмяПрофиля) Тогда
Если ПрофильБезопасности.Name = ИмяПрофиля Тогда
Возврат ПрофильБезопасности; Возврат ПрофильБезопасности;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найден профиль безопасности ""%3""'"), ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найден профиль безопасности ""%3""'"),
@@ -8921,4 +8921,27 @@
Возврат Константы.ЗапретитьОтображениеНебезопасногоСодержимогоВПисьмах.Получить(); Возврат Константы.ЗапретитьОтображениеНебезопасногоСодержимогоВПисьмах.Получить();
КонецФункции КонецФункции
Процедура УстановитьУсловноеОформлениеСпискаВыбора(Форма, ИмяЭлемента, ИмяПоляКомпоновкиДанных) Экспорт
Элементы = Форма.Элементы;
УсловноеОформление = Форма.УсловноеОформление;
Для каждого ЭлементВыбора Из Элементы[ИмяЭлемента].СписокВыбора Цикл
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы[ИмяЭлемента].Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоляКомпоновкиДанных);
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = ЭлементВыбора.Значение;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ЭлементВыбора.Представление);
КонецЦикла;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -342,7 +342,7 @@
ПапкаДляСохранитьКак = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиПрограммы", "ПапкаДляСохранитьКак"); ПапкаДляСохранитьКак = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиПрограммы", "ПапкаДляСохранитьКак");
ДанныеФайла.Вставить("ПапкаДляСохранитьКак", ПапкаДляСохранитьКак); ДанныеФайла.Вставить("ПапкаДляСохранитьКак", ПапкаДляСохранитьКак);
ДанныеФайла.ДатаМодификацииУниверсальная = ТекущаяДатаСеанса(); ДанныеФайла.ДатаМодификацииУниверсальная = ТекущаяДатаСеанса();
ДанныеФайла.ПолноеНаименованияВерсия = ДанныеФайла.ИмяФайла; ДанныеФайла.ПолноеНаименованиеВерсии = ДанныеФайла.ИмяФайла;
КонецЕсли; КонецЕсли;
@@ -372,7 +372,7 @@
СтруктураДанныхФайла.Вставить("Зашифрован", Ложь); СтруктураДанныхФайла.Вставить("Зашифрован", Ложь);
СтруктураДанныхФайла.Вставить("ФайлРедактируется", Ложь); СтруктураДанныхФайла.Вставить("ФайлРедактируется", Ложь);
СтруктураДанныхФайла.Вставить("ФайлРедактируетТекущийПользователь", Ложь); СтруктураДанныхФайла.Вставить("ФайлРедактируетТекущийПользователь", Ложь);
СтруктураДанныхФайла.Вставить("ПолноеНаименованияВерсия", ""); СтруктураДанныхФайла.Вставить("ПолноеНаименованиеВерсии", "");
Возврат СтруктураДанныхФайла; Возврат СтруктураДанныхФайла;
@@ -340,7 +340,7 @@
ЛокализованноеИмяМакета = ИмяМакета + "_" + ТекущийЯзык().КодЯзыка; ЛокализованноеИмяМакета = ИмяМакета + "_" + ТекущийЯзык().КодЯзыка;
Макет = КоллекцияМакетов.Найти(ЛокализованноеИмяМакета); Макет = КоллекцияМакетов.Найти(ЛокализованноеИмяМакета);
Если Макет = Неопределено Тогда Если Макет = Неопределено Тогда
ЛокализованноеИмяМакета = ИмяМакета + "_" + Метаданные.ОсновнойЯзык.КодЯзыка; ЛокализованноеИмяМакета = ИмяМакета + "_" + ОбщегоНазначения.КодОсновногоЯзыка();
Макет = КоллекцияМакетов.Найти(ЛокализованноеИмяМакета); Макет = КоллекцияМакетов.Найти(ЛокализованноеИмяМакета);
КонецЕсли; КонецЕсли;
@@ -82,14 +82,14 @@
ИмяРеквизита = Реквизит.Имя; ИмяРеквизита = Реквизит.Имя;
Отбор = Новый Структура(); Отбор = Новый Структура();
Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); Отбор.Вставить("КодЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор); НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда Если НайденныеСтроки.Количество() > 0 Тогда
Представление = НайденныеСтроки[0]; Представление = НайденныеСтроки[0];
Иначе Иначе
Представление = Объект.Представления.Добавить(); Представление = Объект.Представления.Добавить();
Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка; Представление.КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
КонецЕсли; КонецЕсли;
Представление[ИмяРеквизита] = Объект[ИмяРеквизита]; Представление[ИмяРеквизита] = Объект[ИмяРеквизита];
@@ -141,7 +141,7 @@
Представление[ИмяРеквизита] = ТекущийОбъект[ИмяРеквизита]; Представление[ИмяРеквизита] = ТекущийОбъект[ИмяРеквизита];
КонецЦикла; КонецЦикла;
Отбор.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка; Отбор.КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
НайденныеСтроки = ТекущийОбъект.Представления.НайтиСтроки(Отбор); НайденныеСтроки = ТекущийОбъект.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда Если НайденныеСтроки.Количество() > 0 Тогда
Для каждого ИмяРеквизита Из Реквизиты Цикл Для каждого ИмяРеквизита Из Реквизиты Цикл
@@ -3520,11 +3520,10 @@
ОписаниеПрофиля = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом").НовоеОписаниеПрофиляГруппДоступа(); ОписаниеПрофиля = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом").НовоеОписаниеПрофиляГруппДоступа();
ОписаниеПрофиля.Идентификатор = ПрофильДоступаСинхронизацияДанныхСДругимиПрограммами(); ОписаниеПрофиля.Идентификатор = ПрофильДоступаСинхронизацияДанныхСДругимиПрограммами();
ОписаниеПрофиля.Наименование = ОписаниеПрофиля.Наименование =
НСтр("ru = 'Синхронизация данных с другими программами'", Метаданные.ОсновнойЯзык.КодЯзыка); НСтр("ru = 'Синхронизация данных с другими программами'", ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиля.Описание = ОписаниеПрофиля.Описание =
НСтр("ru = 'Дополнительно назначается тем пользователям, которым должны быть доступны средства НСтр("ru = 'Дополнительно назначается тем пользователям, которым должны быть доступны средства
|для мониторинга и синхронизации данных с другими программами.'", |для мониторинга и синхронизации данных с другими программами.'");
Метаданные.ОсновнойЯзык.КодЯзыка);
// Основные возможности профиля. // Основные возможности профиля.
РолиПрофиля = СтрРазделить(РолиПрофиляДоступаСинхронизацияДанныхСДругимиПрограммами(), ","); РолиПрофиля = СтрРазделить(РолиПрофиляДоступаСинхронизацияДанныхСДругимиПрограммами(), ",");
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.87"; Описание.Версия = "3.0.3.93";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -285,7 +285,7 @@
ПоляАвторизации.Добавить("Логин", НСтр("ru = 'ID кабинета'")); ПоляАвторизации.Добавить("Логин", НСтр("ru = 'ID кабинета'"));
ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'API-ключ'")); ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'API-ключ'"));
СпособыАвторизации.Вставить("ПоКлючу", ПоляАвторизации); СпособыАвторизации.Вставить("ПоЛогинуИПаролю", ПоляАвторизации);
КонецПроцедуры КонецПроцедуры
@@ -613,17 +613,17 @@
Длительная = Параметры.Длительная; Длительная = Параметры.Длительная;
ВыполненСОшибкой = Параметры.ВыполненСОшибкой; ВыполненСОшибкой = Параметры.ВыполненСОшибкой;
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Если БезопасныйРежим() <> Ложь Тогда Если БезопасныйРежим() <> Ложь Тогда
ЗаписьЖурналаРегистрации(НСтр("ru = 'Работа подсистемы оценка производительности в безопасном режиме не поддерживается'", КодОсновногоЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Работа подсистемы оценка производительности в безопасном режиме не поддерживается'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,,,Строка(КлючеваяОперация)); УровеньЖурналаРегистрации.Информация,,,Строка(КлючеваяОперация));
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(ДатаНачалаКлючевойОперации) Тогда Если Не ЗначениеЗаполнено(ДатаНачалаКлючевойОперации) Тогда
ЗаписьЖурналаРегистрации(НСтр("ru = 'Невозможно зафиксировать замер с пустой датой начала'", КодОсновногоЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Невозможно зафиксировать замер с пустой датой начала'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,,,Строка(КлючеваяОперация)); УровеньЖурналаРегистрации.Информация,,,Строка(КлючеваяОперация));
Возврат; Возврат;
@@ -700,10 +700,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Если БезопасныйРежим() <> Ложь Тогда Если БезопасныйРежим() <> Ложь Тогда
ЗаписьЖурналаРегистрации(НСтр("ru = 'Работа подсистемы оценка производительности в безопасном режиме не поддерживается'", КодОсновногоЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Работа подсистемы оценка производительности в безопасном режиме не поддерживается'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация); УровеньЖурналаРегистрации.Информация);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -720,7 +719,8 @@
Для Каждого Замер Из МассивЗамеров Цикл Для Каждого Замер Из МассивЗамеров Цикл
Если Не ЗначениеЗаполнено(Замер.ДатаНачалаКлючевойОперации) Тогда Если Не ЗначениеЗаполнено(Замер.ДатаНачалаКлючевойОперации) Тогда
ЗаписьЖурналаРегистрации(НСтр("ru = 'Невозможно зафиксировать замер с пустой датой начала'", КодОсновногоЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Невозможно зафиксировать замер с пустой датой начала'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,,,Строка(Замер.КлючеваяОперация)); УровеньЖурналаРегистрации.Информация,,,Строка(Замер.КлючеваяОперация));
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -772,7 +772,8 @@
Попытка Попытка
НаборЗаписей.Записать(Ложь); НаборЗаписей.Записать(Ложь);
Исключение Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить замеры производительности'", КодОсновногоЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить замеры производительности'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
КонецЕсли; КонецЕсли;
@@ -163,7 +163,8 @@
Попытка Попытка
НаборЗаписей.Записать(Ложь); НаборЗаписей.Записать(Ложь);
Исключение Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить замеры производительности'", Метаданные.ОсновнойЯзык.КодЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить замеры производительности'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
КонецЕсли; КонецЕсли;
@@ -172,7 +173,8 @@
Попытка Попытка
НаборЗаписейТехнологический.Записать(Ложь); НаборЗаписейТехнологический.Записать(Ложь);
Исключение Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить технологические замеры производительности'", Метаданные.ОсновнойЯзык.КодЯзыка), ЗаписьЖурналаРегистрации(НСтр("ru = 'Не удалось сохранить технологические замеры производительности'",
ОценкаПроизводительностиСлужебный.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); УровеньЖурналаРегистрации.Ошибка,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
КонецЕсли; КонецЕсли;
@@ -448,7 +448,7 @@
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
ОтменитьТранзакцию(); ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", Метаданные.ОсновнойЯзык.КодЯзыка), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", ОбщегоНазначения.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
@@ -913,6 +913,14 @@
КонецФункции КонецФункции
Функция КодОсновногоЯзыка() Экспорт
Если ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульОбщегоНазначения = ОбщийМодуль("ОбщегоНазначения");
Возврат МодульОбщегоНазначения.КодОсновногоЯзыка();
КонецЕсли;
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
КонецФункции
#КонецОбласти #КонецОбласти
#Область РаботаВБезопасномРежимеКопия #Область РаботаВБезопасномРежимеКопия
@@ -2524,7 +2524,7 @@
|Без внедрения этой библиотеки конфигурация не может использоваться в модели сервиса. |Без внедрения этой библиотеки конфигурация не может использоваться в модели сервиса.
| |
|Для использования этой конфигурации в модели сервиса требуется внедрить библиотеку |Для использования этой конфигурации в модели сервиса требуется внедрить библиотеку
|""1С:Библиотека технологии сервиса"" версии не младше %1.'", Метаданные.ОсновнойЯзык.КодЯзыка), |""1С:Библиотека технологии сервиса"" версии не младше %1.'", ОбщегоНазначения.КодОсновногоЯзыка()),
ТребуемаяВерсияБТС()); ТребуемаяВерсияБТС());
Иначе Иначе
@@ -2537,7 +2537,7 @@
НСтр("ru = 'Для использования конфигурации в модели сервиса с текущей версией БСП требуется НСтр("ru = 'Для использования конфигурации в модели сервиса с текущей версией БСП требуется
|обновить используемую версию библиотеки ""1С:Библиотека технологии сервиса"". |обновить используемую версию библиотеки ""1С:Библиотека технологии сервиса"".
| |
|Используемая версия: %1, требуется версия не младше %2.'", Метаданные.ОсновнойЯзык.КодЯзыка), |Используемая версия: %1, требуется версия не младше %2.'", ОбщегоНазначения.КодОсновногоЯзыка()),
ВерсияБТС, ТребуемаяВерсияБТС()); ВерсияБТС, ТребуемаяВерсияБТС());
КонецЕсли; КонецЕсли;
@@ -1745,7 +1745,7 @@
Параметры.Вставить("ЭтоУчебнаяПлатформа", ЭтоУчебнаяПлатформа()); Параметры.Вставить("ЭтоУчебнаяПлатформа", ЭтоУчебнаяПлатформа());
Параметры.Вставить("ИмяТекущегоПользователя", ТекущийПользователь().Имя); Параметры.Вставить("ИмяТекущегоПользователя", ТекущийПользователь().Имя);
Параметры.Вставить("ИмяCOMСоединителя", ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); Параметры.Вставить("ИмяCOMСоединителя", ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя());
Параметры.Вставить("КодОсновногоЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); Параметры.Вставить("КодОсновногоЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
Параметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", ЗапрашиватьПодтверждениеПриЗавершенииПрограммы()); Параметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", ЗапрашиватьПодтверждениеПриЗавершенииПрограммы());
@@ -1958,7 +1958,7 @@
Параметры.Вставить("СинонимКонфигурации", Метаданные.Синоним); Параметры.Вставить("СинонимКонфигурации", Метаданные.Синоним);
Параметры.Вставить("ВерсияКонфигурации", Метаданные.Версия); Параметры.Вставить("ВерсияКонфигурации", Метаданные.Версия);
Параметры.Вставить("ПодробнаяИнформация", Метаданные.ПодробнаяИнформация); Параметры.Вставить("ПодробнаяИнформация", Метаданные.ПодробнаяИнформация);
Параметры.Вставить("КодОсновногоЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); Параметры.Вставить("КодОсновногоЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
Параметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", Параметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы",
ЗапрашиватьПодтверждениеПриЗавершенииПрограммы()); ЗапрашиватьПодтверждениеПриЗавершенииПрограммы());
@@ -1545,14 +1545,13 @@
// ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа(); // ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
// ОписаниеПрофиля.Имя = "Пользователь"; // ОписаниеПрофиля.Имя = "Пользователь";
// ОписаниеПрофиля.Идентификатор = "09e56dbf-90a0-11de-862c-001d600d9ad2"; // ОписаниеПрофиля.Идентификатор = "09e56dbf-90a0-11de-862c-001d600d9ad2";
// ОписаниеПрофиля.Наименование = НСтр("ru = 'Пользователь'", Метаданные.ОсновнойЯзык.КодЯзыка); // ОписаниеПрофиля.Наименование = НСтр("ru = 'Пользователь'", ОбщегоНазначения.КодОсновногоЯзыка());
// // Переопределение назначения. // // Переопределение назначения.
// ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОписаниеПрофиля.Назначение, // ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОписаниеПрофиля.Назначение,
// Метаданные.ОпределяемыеТипы.ВнешнийПользователь.Тип.Типы()); // Метаданные.ОпределяемыеТипы.ВнешнийПользователь.Тип.Типы());
// ОписаниеПрофиля.Описание = // ОписаниеПрофиля.Описание =
// НСтр("ru = 'Общие разрешенные действия для большинства пользователей. // НСтр("ru = 'Общие разрешенные действия для большинства пользователей.
// |Как правило, это права на просмотр данных информационной системы.'", // |Как правило, это права на просмотр данных информационной системы.'");
// Метаданные.ОсновнойЯзык.КодЯзыка);
// // Использование 1С:Предприятия. // // Использование 1С:Предприятия.
// ОписаниеПрофиля.Роли.Добавить("ЗапускТонкогоКлиента"); // ОписаниеПрофиля.Роли.Добавить("ЗапускТонкогоКлиента");
// ОписаниеПрофиля.Роли.Добавить("ВыводНаПринтерФайлБуферОбмена"); // ОписаниеПрофиля.Роли.Добавить("ВыводНаПринтерФайлБуферОбмена");
@@ -112,7 +112,7 @@
// ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа(); // ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
// ОписаниеПрофиля.Имя = "Менеджер"; // ОписаниеПрофиля.Имя = "Менеджер";
// ОписаниеПрофиля.Идентификатор = "75fa0ecb-98aa-11df-b54f-e0cb4ed5f655"; // ОписаниеПрофиля.Идентификатор = "75fa0ecb-98aa-11df-b54f-e0cb4ed5f655";
// ОписаниеПрофиля.Наименование = НСтр("ru = 'Менеджер по продажам'", Метаданные.ОсновнойЯзык.КодЯзыка); // ОписаниеПрофиля.Наименование = НСтр("ru = 'Менеджер по продажам'", ОбщегоНазначения.КодОсновногоЯзыка());
// ОписаниеПрофиля.Роли.Добавить("ЗапускВебКлиента"); // ОписаниеПрофиля.Роли.Добавить("ЗапускВебКлиента");
// ОписаниеПрофиля.Роли.Добавить("ЗапускТонкогоКлиента"); // ОписаниеПрофиля.Роли.Добавить("ЗапускТонкогоКлиента");
// ОписаниеПрофиля.Роли.Добавить("БазовыеПраваБСП"); // ОписаниеПрофиля.Роли.Добавить("БазовыеПраваБСП");
@@ -1836,6 +1836,13 @@
ОбновитьРолиПользователей(Ссылка, ПарольПользователяСервиса); ОбновитьРолиПользователей(Ссылка, ПарольПользователяСервиса);
Если ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
ЗапланироватьОбновлениеНаборовГруппДоступа(
"ПослеУстановкиПользователяИБ",
ТипЗнч(Ссылка) = Тип("СправочникСсылка.Пользователи"),
ТипЗнч(Ссылка) = Тип("СправочникСсылка.ВнешниеПользователи"));
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// См. ИнтеграцияПодсистемБСП.ПриОпределенииТекстаВопросаПередЗаписьюПервогоАдминистратора. // См. ИнтеграцияПодсистемБСП.ПриОпределенииТекстаВопросаПередЗаписьюПервогоАдминистратора.
@@ -4842,11 +4849,11 @@
ОписаниеПрофиля.Идентификатор = ИдентификаторПрофиляОткрытиеВнешнихОтчетовИОбработок(); ОписаниеПрофиля.Идентификатор = ИдентификаторПрофиляОткрытиеВнешнихОтчетовИОбработок();
ОписаниеПрофиля.Наименование = ОписаниеПрофиля.Наименование =
НСтр("ru = 'Открытие внешних отчетов и обработок'", Метаданные.ОсновнойЯзык.КодЯзыка); НСтр("ru = 'Открытие внешних отчетов и обработок'", ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиля.Описание = ОписаниеПрофиля.Описание =
НСтр("ru = 'Предоставляет право открытия внешних отчетов и обработок из меню ""Файл - Открыть"". НСтр("ru = 'Предоставляет право открытия внешних отчетов и обработок из меню ""Файл - Открыть"".
|Состав ролей профиля не рекомендуется изменять.'", Метаданные.ОсновнойЯзык.КодЯзыка); |Состав ролей профиля не рекомендуется изменять.'");
ОписаниеПрофиля.Роли.Добавить("ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок"); ОписаниеПрофиля.Роли.Добавить("ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок");
@@ -4877,7 +4884,7 @@
ГруппаДоступаОбъект.Профиль = СвойстваПрофиля.Ссылка; ГруппаДоступаОбъект.Профиль = СвойстваПрофиля.Ссылка;
ГруппаДоступаОбъект.Комментарий = ГруппаДоступаОбъект.Комментарий =
НСтр("ru = 'Предоставляет право открытия внешних отчетов и обработок из меню ""Файл - Открыть"".'", НСтр("ru = 'Предоставляет право открытия внешних отчетов и обработок из меню ""Файл - Открыть"".'",
Метаданные.ОсновнойЯзык.КодЯзыка); ОбщегоНазначения.КодОсновногоЯзыка());
ГруппаДоступаОбъект.Записать(); // Важно, чтобы созданная группа "уехала" в подчиненный узел. ГруппаДоступаОбъект.Записать(); // Важно, чтобы созданная группа "уехала" в подчиненный узел.
@@ -6379,12 +6386,15 @@
Процедура ЗаполнитьТаблицуВсеВидыДоступаВФорме(Форма) Процедура ЗаполнитьТаблицуВсеВидыДоступаВФорме(Форма)
Для каждого СвойстваВидаДоступа Из СвойстваВидаДоступа() Цикл Для Каждого СвойстваВидаДоступа Из СвойстваВидаДоступа() Цикл
Строка = Форма.ВсеВидыДоступа.Добавить(); Строка = Форма.ВсеВидыДоступа.Добавить();
Строка.Ссылка = СвойстваВидаДоступа.Ссылка; Строка.Ссылка = СвойстваВидаДоступа.Ссылка;
Строка.Используется = ВидДоступаИспользуется(Строка.Ссылка); Строка.Используется = ВидДоступаИспользуется(Строка.Ссылка);
// Обеспечение уникальности представлений. // Обеспечение уникальности представлений.
Представление = СвойстваВидаДоступа.Представление; Представление = ПредставлениеВидаДоступа(СвойстваВидаДоступа);
Если Не ЗначениеЗаполнено(Представление) Тогда
Представление = Строка.Имя;
КонецЕсли;
Отбор = Новый Структура("Представление", Представление); Отбор = Новый Структура("Представление", Представление);
Пока Форма.ВсеВидыДоступа.НайтиСтроки(Отбор).Количество() > 0 Цикл Пока Форма.ВсеВидыДоступа.НайтиСтроки(Отбор).Количество() > 0 Цикл
Отбор.Представление = Отбор.Представление + " "; Отбор.Представление = Отбор.Представление + " ";
@@ -6708,13 +6718,8 @@
// Обновление свойств видов доступа. // Обновление свойств видов доступа.
// Для процедуры ОбновитьОписаниеСвойствВидовДоступа. // Для функций СвойстваВидовДоступаДляХранения, ПредставлениеВидовДоступа.
// Возвращает свойства видов доступа, заполняемых при внедрении Функция ЗаполненныеВидыДоступа()
// в процедуре ПриЗаполненииВидовДоступа
// общего модуля УправлениеДоступомПереопределяемый
// и одноименных обработчиках этого события.
//
Функция СвойстваВидовДоступа()
// 1. Заполнение данных, указанных при внедрении. // 1. Заполнение данных, указанных при внедрении.
@@ -6729,6 +6734,20 @@
ИнтеграцияПодсистемБСП.ПриЗаполненииВидовДоступа(ВидыДоступа); ИнтеграцияПодсистемБСП.ПриЗаполненииВидовДоступа(ВидыДоступа);
УправлениеДоступомПереопределяемый.ПриЗаполненииВидовДоступа(ВидыДоступа); УправлениеДоступомПереопределяемый.ПриЗаполненииВидовДоступа(ВидыДоступа);
Возврат ВидыДоступа;
КонецФункции
// Для процедуры ОбновитьОписаниеСвойствВидовДоступа.
// Возвращает свойства видов доступа, заполняемых при внедрении
// в процедуре ПриЗаполненииВидовДоступа
// общего модуля УправлениеДоступомПереопределяемый
// и одноименных обработчиках этого события.
//
Функция СвойстваВидовДоступа()
ВидыДоступа = ЗаполненныеВидыДоступа();
// Проверки: // Проверки:
// - тип значений доступа не указан для 2-х видов доступа // - тип значений доступа не указан для 2-х видов доступа
// - тип значений доступа Пользователи, ГруппыПользователей используется только для вида доступа Пользователи. // - тип значений доступа Пользователи, ГруппыПользователей используется только для вида доступа Пользователи.
@@ -7136,6 +7155,34 @@
КонецПроцедуры КонецПроцедуры
Функция ПредставлениеВидовДоступа() Экспорт
ВидыДоступа = ЗаполненныеВидыДоступа();
ПредставлениеВидовДоступа = Новый Соответствие;
Для Каждого ВидДоступа Из ВидыДоступа Цикл
ПредставлениеВидовДоступа.Вставить(ВидДоступа.ТипЗначений, ВидДоступа.Представление);
КонецЦикла;
Возврат Новый ФиксированноеСоответствие(ПредставлениеВидовДоступа);
КонецФункции
Функция ПредставлениеВидаДоступа(СвойстваВидаДоступа) Экспорт
ПредставлениеВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.ПредставлениеВидовДоступа();
Представление = ПредставлениеВидовДоступа.Получить(СвойстваВидаДоступа.ТипЗначений);
Если Не ЗначениеЗаполнено(Представление) Тогда
Представление = СвойстваВидаДоступа.Имя;
КонецЕсли;
Возврат Представление;
КонецФункции
// Для процедуры ЗаполнитьЗначенияДоступаСГруппами. // Для процедуры ЗаполнитьЗначенияДоступаСГруппами.
Процедура ДобавитьВМассив(Массив, Значение) Процедура ДобавитьВМассив(Массив, Значение)
@@ -8313,9 +8360,15 @@
Функция ЭлементыДанныхНовыхКомбинацийЗначенийОпорныхПолей(ЗапросНовыхКомбинаций, Функция ЭлементыДанныхНовыхКомбинацийЗначенийОпорныхПолей(ЗапросНовыхКомбинаций,
ОтборПоИзмерениям, Источник, ПараметрыОграничения) ОтборПоИзмерениям, Источник, ПараметрыОграничения)
Если ЗапросНовыхКомбинаций.Параметры.Свойство("КомбинацииЗначенийОпорныхПолей") Тогда
ЗапросНовыхКомбинаций.Текст = ЗапросНовыхКомбинаций.Текст =
СтрЗаменить(ПараметрыОграничения.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей, ПараметрыОграничения.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей;
"&ОтборПоИзмерениям", ОтборПоИзмерениям); Иначе
ЗапросНовыхКомбинаций.Текст = СтрЗаменить(
ПараметрыОграничения.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей,
"&ОтборПоИзмерениям",
ОтборПоИзмерениям);
КонецЕсли;
РезультатЗапросаНовыхКомбинаций = ЗапросНовыхКомбинаций.Выполнить(); РезультатЗапросаНовыхКомбинаций = ЗапросНовыхКомбинаций.Выполнить();
Если РезультатЗапросаНовыхКомбинаций.Пустой() Тогда Если РезультатЗапросаНовыхКомбинаций.Пустой() Тогда
@@ -17232,9 +17285,21 @@
| Справочник.ГруппыДоступа.Пользователи КАК ПользователиГруппыДоступа | Справочник.ГруппыДоступа.Пользователи КАК ПользователиГруппыДоступа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
| ПО (ГруппыДоступа.Ссылка = ПользователиГруппыДоступа.Ссылка) | ПО (ГруппыДоступа.Ссылка = ПользователиГруппыДоступа.Ссылка)
| И (ТИПЗНАЧЕНИЯ(ПользователиГруппыДоступа.Пользователь) = ТИП(Справочник.ГруппыПользователей))
| ГДЕ | ГДЕ
| ТИПЗНАЧЕНИЯ(ПользователиГруппыДоступа.Пользователь) = ТИП(Справочник.ГруппыПользователей) | &УточнениеПланаЗапроса
| И &УточнениеПланаЗапроса |
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗначенияГруппДоступа.ЗначениеДоступа
| ИЗ
| РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
| ПО (ГруппыДоступа.Ссылка = ЗначенияГруппДоступа.ГруппаДоступа)
| И (ТИПЗНАЧЕНИЯ(ЗначенияГруппДоступа.ЗначениеДоступа) = ТИП(Справочник.ГруппыПользователей))
| ГДЕ
| &УточнениеПланаЗапроса
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -18285,6 +18350,9 @@
КонецЕсли; КонецЕсли;
Иначе Иначе
ЗначениеУказано = ЗначенияОдногоТипа.Значения.Получить(Значение) <> Неопределено; ЗначениеУказано = ЗначенияОдногоТипа.Значения.Получить(Значение) <> Неопределено;
Если Не ЗначениеУказано И ТипЗначения = Контекст.ТипПользователя Тогда
ЗначениеУказано = ЗначениеУказаноВГруппеПользователей(Значение, Контекст);
КонецЕсли;
Результат = "Ложь"; Результат = "Ложь";
Если ЗначениеУказано И Не ЗначенияОдногоТипа.ВсеРазрешены Если ЗначениеУказано И Не ЗначенияОдногоТипа.ВсеРазрешены
Или Не ЗначениеУказано И ЗначенияОдногоТипа.ВсеРазрешены Тогда Или Не ЗначениеУказано И ЗначенияОдногоТипа.ВсеРазрешены Тогда
@@ -18430,6 +18498,28 @@
КонецФункции КонецФункции
// Для функции РассчитанноеУсловие.
Функция ЗначениеУказаноВГруппеПользователей(Пользователь, Контекст)
УказанныеГруппыПользователей = Контекст.ЗначенияГруппыДоступа.Получить(Контекст.ТипГруппыПользователей);
Если УказанныеГруппыПользователей = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Для Каждого УказаннаяГруппаПользователей Из УказанныеГруппыПользователей.Значения Цикл
ПользователиГруппы = Контекст.ПользователиГруппПользователей.Получить(УказаннаяГруппаПользователей.Ключ);
Если ПользователиГруппы = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ПользователиГруппы.Получить(Пользователь) <> Неопределено Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
// Для функции РассчитанноеУсловие. // Для функции РассчитанноеУсловие.
Процедура ЗаполнитьРезультатДляПользователя(Результат, Пользователь, Контекст) Процедура ЗаполнитьРезультатДляПользователя(Результат, Пользователь, Контекст)
@@ -25435,7 +25525,8 @@
// Запрос отборов записей, которых нет в регистре ключей доступа регистров при фоновом обновлении. // Запрос отборов записей, которых нет в регистре ключей доступа регистров при фоновом обновлении.
Результат.Вставить("ТекстЗапросаЭлементовДанныхБезКлючейДоступа"); Результат.Вставить("ТекстЗапросаЭлементовДанныхБезКлючейДоступа");
// Запрос отборов записей, которых нет в регистре ключей доступа регистров при записи нового набора. // Запрос отборов записей, которых нет в регистре ключей доступа регистров при записи нового набора.
Результат.Вставить("ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей"); Результат.Вставить("ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей");
Результат.Вставить("ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей");
// Запросы объектов или отборов записей, у которых устарели ключи доступа // Запросы объектов или отборов записей, у которых устарели ключи доступа
// по составу изменений ведущих объектов (для точечного задания). // по составу изменений ведущих объектов (для точечного задания).
Результат.Вставить("ОписаниеЗапросовУстаревшихКлючейДоступаПоВедущимОбъектам", Новый Соответствие); Результат.Вставить("ОписаниеЗапросовУстаревшихКлючейДоступаПоВедущимОбъектам", Новый Соответствие);
@@ -27145,9 +27236,9 @@
УточнитьРегистрКлючейИУсловиеСоединения(ТекстЗапроса, Результат, Контекст); УточнитьРегистрКлючейИУсловиеСоединения(ТекстЗапроса, Результат, Контекст);
Если Контекст.ДляВнешнихПользователей Тогда Если Контекст.ДляВнешнихПользователей Тогда
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей = ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей =
"ВЫБРАТЬ РАЗЛИЧНЫЕ "ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1 | &ТекущаяТаблицаПоле1 КАК Поле1
|ИЗ |ИЗ
| &Список КАК ТекущаяТаблица | &Список КАК ТекущаяТаблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам
@@ -27157,10 +27248,29 @@
|ГДЕ |ГДЕ
| &ОтборПоИзмерениям | &ОтборПоИзмерениям
| И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL"; | И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL";
Иначе ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей =
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей = "ВЫБРАТЬ
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1 | &ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1
|ПОМЕСТИТЬ КомбинацииЗначенийОпорныхПолей
|ИЗ
| &КомбинацииЗначенийОпорныхПолей КАК ТекущаяТаблица
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ТекущаяТаблицаПоле1 КАК Поле1
|ИЗ
| КомбинацииЗначенийОпорныхПолей КАК ТекущаяТаблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам
| ПО (КлючиДоступаКРегистрам.Регистр = ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка))
| И (КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА)
| И (КлючиДоступаКРегистрам.Поле1 = &ТекущаяТаблицаПоле1)
|ГДЕ
| КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL";
Иначе
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ТекущаяТаблицаПоле1 КАК Поле1
|ИЗ |ИЗ
| &Список КАК ТекущаяТаблица | &Список КАК ТекущаяТаблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам
@@ -27170,12 +27280,35 @@
|ГДЕ |ГДЕ
| &ОтборПоИзмерениям | &ОтборПоИзмерениям
| И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL"; | И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL";
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей =
"ВЫБРАТЬ
| &ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1
|ПОМЕСТИТЬ КомбинацииЗначенийОпорныхПолей
|ИЗ
| &КомбинацииЗначенийОпорныхПолей КАК ТекущаяТаблица
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ТекущаяТаблицаПоле1 КАК Поле1
|ИЗ
| КомбинацииЗначенийОпорныхПолей КАК ТекущаяТаблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам
| ПО (КлючиДоступаКРегистрам.Регистр = ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка))
| И (КлючиДоступаКРегистрам.ДляВнешнихПользователей = ЛОЖЬ)
| И (КлючиДоступаКРегистрам.Поле1 = &ТекущаяТаблицаПоле1)
|ГДЕ
| КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL";
КонецЕсли; КонецЕсли;
УточнитьРегистрКлючейИУсловиеСоединения(ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей, УточнитьРегистрКлючейИУсловиеСоединения(ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей,
Результат, Контекст, Истина);
УточнитьРегистрКлючейИУсловиеСоединения(ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей,
Результат, Контекст, Истина); Результат, Контекст, Истина);
Результат.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей = Результат.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей =
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолей; ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейСуществующихЗаписей;
Результат.ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей =
ТекстЗапросаНовыхКомбинацийЗначенийОпорныхПолейНовыхЗаписей;
КонецЕсли; КонецЕсли;
Если Не Контекст.ЭтоСсылочныйТип Тогда Если Не Контекст.ЭтоСсылочныйТип Тогда
@@ -27307,9 +27440,12 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОпорныеПоля = "";
ПоляВыбора = ""; ПоляВыбора = "";
НомерПоля = 1; НомерПоля = 1;
Для Каждого Поле Из Результат.ОпорныеПоля.Используемые Цикл Для Каждого Поле Из Результат.ОпорныеПоля.Используемые Цикл
ОпорныеПоля = ОпорныеПоля + ?(ОпорныеПоля = "", "", "," + Символы.ПС)
+ "ТекущаяТаблица." + Поле + " КАК " + Поле;
ПоляВыбора = ПоляВыбора + ?(ПоляВыбора = "", "", "," + Символы.ПС) ПоляВыбора = ПоляВыбора + ?(ПоляВыбора = "", "", "," + Символы.ПС)
+ "ТекущаяТаблица." + Поле + " КАК Поле" + НомерПоля; + "ТекущаяТаблица." + Поле + " КАК Поле" + НомерПоля;
НомерПоля = НомерПоля + 1; НомерПоля = НомерПоля + 1;
@@ -27317,6 +27453,10 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1", "&ТекущаяТаблицаПоле1 КАК ТекущаяТаблицаПоле1",
ТекстСОтступом(СокрЛ(ОпорныеПоля), " "));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ТекущаяТаблицаПоле1 КАК Поле1",
ТекстСОтступом(СокрЛ(ПоляВыбора), " ")); ТекстСОтступом(СокрЛ(ПоляВыбора), " "));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Список", Контекст.Список); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Список", Контекст.Список);
@@ -25,6 +25,13 @@
КонецФункции КонецФункции
// См. УправлениеДоступомСлужебный.ПредставлениеВидовДоступа.
Функция ПредставлениеВидовДоступа() Экспорт
Возврат УправлениеДоступомСлужебный.ПредставлениеВидовДоступа();
КонецФункции
// См. РегистрыСведений.НастройкиПравОбъектов.ВозможныеПрава. // См. РегистрыСведений.НастройкиПравОбъектов.ВозможныеПрава.
Функция ВозможныеПраваДляНастройкиПравОбъектов() Экспорт Функция ВозможныеПраваДляНастройкиПравОбъектов() Экспорт
@@ -32,6 +39,13 @@
КонецФункции КонецФункции
// См. РегистрыСведений.НастройкиПравОбъектов.ПредставлениеВозможныхПрав.
Функция ПредставлениеВозможныхПрав() Экспорт
Возврат РегистрыСведений.НастройкиПравОбъектов.ПредставлениеВозможныхПрав();
КонецФункции
// См. Справочники.ПрофилиГруппДоступа.ПоставляемыеПрофили. // См. Справочники.ПрофилиГруппДоступа.ПоставляемыеПрофили.
Функция ОписаниеПоставляемыхПрофилей() Экспорт Функция ОписаниеПоставляемыхПрофилей() Экспорт
@@ -39,6 +53,13 @@
КонецФункции КонецФункции
// См. Справочники.ПрофилиГруппДоступа.ПояснениеПоставляемыхПрофилей.
Функция ПояснениеПоставляемыхПрофилей() Экспорт
Возврат Справочники.ПрофилиГруппДоступа.ПояснениеПоставляемыхПрофилей();
КонецФункции
// Возвращает таблицу значений, содержащую вид ограничений доступа по каждому праву // Возвращает таблицу значений, содержащую вид ограничений доступа по каждому праву
// объектов метаданных. // объектов метаданных.
// Если записи по праву нет, значит ограничений по праву нет. // Если записи по праву нет, значит ограничений по праву нет.
@@ -561,9 +561,9 @@
ОписаниеПрофиля = МодульУправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();; ОписаниеПрофиля = МодульУправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();;
ОписаниеПрофиля.Идентификатор = "70179f20-2315-11e6-9bff-d850e648b60c"; ОписаниеПрофиля.Идентификатор = "70179f20-2315-11e6-9bff-d850e648b60c";
ОписаниеПрофиля.Наименование = НСтр("ru = 'Редактирование, отправка по почте, сохранение в файл печатных форм (дополнительно)'", ОписаниеПрофиля.Наименование = НСтр("ru = 'Редактирование, отправка по почте, сохранение в файл печатных форм (дополнительно)'",
Метаданные.ОсновнойЯзык.КодЯзыка); ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиля.Описание = НСтр("ru = 'Дополнительно назначается пользователям, которым должна быть доступна возможность редактирования, ОписаниеПрофиля.Описание = НСтр("ru = 'Дополнительно назначается пользователям, которым должна быть доступна возможность редактирования,
|перед печатью, отправка по почте и сохранение в файл сформированных печатных форм.'", Метаданные.ОсновнойЯзык.КодЯзыка); |перед печатью, отправка по почте и сохранение в файл сформированных печатных форм.'");
ОписаниеПрофиля.Роли.Добавить("РедактированиеПечатныхФорм"); ОписаниеПрофиля.Роли.Добавить("РедактированиеПечатныхФорм");
ОписанияПрофилей.Добавить(ОписаниеПрофиля); ОписанияПрофилей.Добавить(ОписаниеПрофиля);
@@ -2923,8 +2923,8 @@
КонецЕсли; КонецЕсли;
КодЯзыка = ТекущийЯзык.КодЯзыка; КодЯзыка = ТекущийЯзык.КодЯзыка;
Результат.Добавить(ИмяМакета + "_" + КодЯзыка); Результат.Добавить(ИмяМакета + "_" + КодЯзыка);
Если КодЯзыка <> Метаданные.ОсновнойЯзык.КодЯзыка Тогда Если КодЯзыка <> ОбщегоНазначения.КодОсновногоЯзыка() Тогда
Результат.Добавить(ИмяМакета + "_" + Метаданные.ОсновнойЯзык.КодЯзыка); Результат.Добавить(ИмяМакета + "_" + ОбщегоНазначения.КодОсновногоЯзыка());
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -379,6 +379,14 @@
Функция СформироватьПараметрыОтправки(Шаблон, Предмет, УникальныйИдентификатор, ДополнительныеПараметры = Неопределено) Функция СформироватьПараметрыОтправки(Шаблон, Предмет, УникальныйИдентификатор, ДополнительныеПараметры = Неопределено)
ПараметрыОтправки = ШаблоныСообщенийКлиентСервер.КонструкторПараметровОтправки(Шаблон.Ссылка, Предмет, УникальныйИдентификатор); ПараметрыОтправки = ШаблоныСообщенийКлиентСервер.КонструкторПараметровОтправки(Шаблон.Ссылка, Предмет, УникальныйИдентификатор);
Если ТипЗнч(ПараметрыОтправки.Предмет) = Тип("Строка")
И Метаданные.НайтиПоПолномуИмени(ПараметрыОтправки.Предмет) <> Неопределено Тогда
ПараметрыОтправки.Предмет = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПараметрыОтправки.Предмет).ПустаяСсылка();
КонецЕсли;
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыОтправки.ДополнительныеПараметры, ДополнительныеПараметры, Истина); ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыОтправки.ДополнительныеПараметры, ДополнительныеПараметры, Истина);
КонецЕсли; КонецЕсли;
@@ -8,14 +8,16 @@
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
// Открывает окно выбора шаблона для формирования электронного письма или сообщения SMS по указанному предмету // Открывает окно выбора шаблона для формирования электронного письма или сообщения SMS по шаблону
// ПредметСообщения. // для переданного в параметре ПредметСообщения предмета.
// //
// Параметры: // Параметры:
// ПредметСообщения - ЛюбаяСсылка, Строка - объект-источник данных, выводимых в сообщение. // ПредметСообщения - ОпределяемыйТип.ПредметШаблонаСообщения, Строка - объект-источник данных, выводимых в сообщение.
// Для общих шаблонов необходимо передавать значение "Общий". // Для общих шаблонов необходимо передавать значение "Общий".
// Для передачи предмета сообщения строкой необходимо указывать полное имя метаданных.
// Например, "Справочник.Контрагенты".
// ВидСообщения - Строка - "Письмо" для электронного письма и "СообщениеSMS" для сообщений SMS. // ВидСообщения - Строка - "Письмо" для электронного письма и "СообщениеSMS" для сообщений SMS.
// ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - оповещение, которое вызывается после формирования сообщения. // ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - оповещение, которое вызывается после формирования сообщения. Содержит:
// * Результат - Булево - Если Истина, то сообщение было создано. // * Результат - Булево - Если Истина, то сообщение было создано.
// * ПараметрыСообщения - Структура, Неопределено - значение, которое было передано в параметре ПараметрыСообщения. // * ПараметрыСообщения - Структура, Неопределено - значение, которое было передано в параметре ПараметрыСообщения.
// ВладелецШаблона - ОпределяемыйТип.ВладелецШаблона - владелец шаблонов. Если не указан, то в окне выбора // ВладелецШаблона - ОпределяемыйТип.ВладелецШаблона - владелец шаблонов. Если не указан, то в окне выбора
@@ -32,7 +34,6 @@
КонецПроцедуры КонецПроцедуры
// Открывает форму для выбора шаблона. // Открывает форму для выбора шаблона.
// //
// Параметры: // Параметры:
@@ -3862,8 +3862,8 @@
Если ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда Если ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда
Контекст.ОбъектКомпоненты.НачатьУстановкуЗапретитьПользовательскийИнтерфейс( Контекст.ОбъектКомпоненты.НачатьУстановкуЗапретитьПользовательскийИнтерфейс(
Новый ОписаниеОповещения("ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс", ЭтотОбъект, Контекст), Новый ОписаниеОповещения("ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс", ЭтотОбъект, Контекст),
Контекст.МенеджерКриптографии.ИспользованиеИнтерактивногоРежима ЭлектроннаяПодписьСлужебныйКлиентСервер.ИнтерактивныйРежимДоступен()
= ИспользованиеИнтерактивногоРежимаКриптографии.НеИспользовать); И Не ИспользуетсяИнтерактивныйРежимКриптографии(Контекст.МенеджерКриптографии));
Иначе Иначе
ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст); ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст);
КонецЕсли; КонецЕсли;
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="08e48cd2-feab-45fc-810d-c6c09ea9a458"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="eea092ce-8b4f-4790-b8e5-3279e0a6245a">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value> <value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="0c109415-16e3-4136-b431-9c87c46f4a17"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e60b7d19-f75b-4faa-8fa8-ed97ec2853c2"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a47017f8-76b3-4777-afbe-effa4308e52e"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="3d2492ec-927f-4c10-a668-9653901bde57"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7650b652-1011-4fa7-b921-3af865390aa1"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="b3731d52-1761-4144-b53d-a7136910b684"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="37dd77c1-2959-4e17-a05c-05fdcc11d051"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="dde2317c-aa6e-49b2-bd0e-2163cade6e20"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="560d3d04-27e1-4bac-b11f-d0746d22c396"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="db9b8219-1a1f-492e-9a66-24532109f4da"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="0aa545dc-b07a-410b-8996-1ea0144589e0"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c2191eba-4503-4b47-93e8-1d9571217c5b"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="ebea47e6-0cfb-4812-9825-ed73311b4005"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="6ff72407-a8b0-4785-accd-8eea65484237"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.87</version> <version>3.0.3.93</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,5702d0b1-d8ca-486d-b7e0-faa2330f95fc,1,8a949e93-0e80-4276-96e0-6a85d2e7e292,"3.0.3.87","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,08e48cd2-feab-45fc-810d-c6c09ea9a458,08e48cd2-feab-45fc-810d-c6c09ea9a458,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated {6,1,1,16dfc1ae-db73-4aed-a64f-0ecf144663ca,1,04539a8e-b638-4ba9-971b-f1937edacf6c,"3.0.3.93","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,eea092ce-8b4f-4790-b8e5-3279e0a6245a,eea092ce-8b4f-4790-b8e5-3279e0a6245a,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated
@@ -172,7 +172,6 @@
&НаКлиенте &НаКлиенте
Процедура УстановитьОбновление(Команда) Процедура УстановитьОбновление(Команда)
Закрыть();
ОбменДаннымиКлиент.УстановитьОбновлениеКонфигурации(ЗавершениеРаботыСистемы); ОбменДаннымиКлиент.УстановитьОбновлениеКонфигурации(ЗавершениеРаботыСистемы);
КонецПроцедуры КонецПроцедуры
@@ -244,7 +244,7 @@
Если ОстанавливатьИзменениеПриОшибке = Неопределено Тогда Если ОстанавливатьИзменениеПриОшибке = Неопределено Тогда
ОстанавливатьИзменениеПриОшибке = Параметры.ПрерыватьПриОшибке; ОстанавливатьИзменениеПриОшибке = Параметры.ПрерыватьПриОшибке;
КонецЕсли; КонецЕсли;
ПроверятьНаГруппу = ПроверятьНаГруппу(ОбрабатываемыеОбъекты[0].Ссылка);
ЗаписатьОшибку = Истина; ЗаписатьОшибку = Истина;
Ссылка = Неопределено; Ссылка = Неопределено;
ВыполнятьКодАлгоритмаВБезопасномРежиме = (Параметры.РежимВыполнения <> 1); ВыполнятьКодАлгоритмаВБезопасномРежиме = (Параметры.РежимВыполнения <> 1);
@@ -278,7 +278,7 @@
Если Параметры.ТипОперации = "ВыполнитьАлгоритм" Тогда Если Параметры.ТипОперации = "ВыполнитьАлгоритм" Тогда
ВыполнитьКодАлгоритма(ИзменяемыйОбъект, Параметры.КодАлгоритма, ВыполнятьКодАлгоритмаВБезопасномРежиме); ВыполнитьКодАлгоритма(ИзменяемыйОбъект, Параметры.КодАлгоритма, ВыполнятьКодАлгоритмаВБезопасномРежиме);
Иначе Иначе
Изменения = ВнестиИзменения(ДанныеОбъекта, ИзменяемыйОбъект, Параметры, ПроверятьНаГруппу); Изменения = ВнестиИзменения(ДанныеОбъекта, ИзменяемыйОбъект, Параметры);
КонецЕсли; КонецЕсли;
// Режим записи. // Режим записи.
@@ -376,7 +376,7 @@
КонецПроцедуры КонецПроцедуры
Функция ВнестиИзменения(Знач ДанныеОбъекта, Знач ИзменяемыйОбъект, Знач Параметры, Знач ПроверятьНаГруппу) Функция ВнестиИзменения(Знач ДанныеОбъекта, Знач ИзменяемыйОбъект, Знач Параметры)
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("ИзменяемыеРеквизитыОбъекта", Новый Массив); Результат.Вставить("ИзменяемыеРеквизитыОбъекта", Новый Массив);
@@ -389,12 +389,10 @@
Значение = ВычислитьВыражение(Операция.Значение, ИзменяемыйОбъект, Параметры.ДоступныеРеквизиты); Значение = ВычислитьВыражение(Операция.Значение, ИзменяемыйОбъект, Параметры.ДоступныеРеквизиты);
Если Операция.ВидОперации = 1 Тогда // изменение реквизита Если Операция.ВидОперации = 1 Тогда // изменение реквизита
// Для групп не устанавливаем реквизиты, которых у них нет.
Если ПроверятьНаГруппу И ИзменяемыйОбъект.ЭтоГруппа Тогда Если ИзменяемыйОбъект[Операция.Имя] = Null Тогда
Если НЕ ЭтоСтандартныйРеквизит(ИзменяемыйОбъект.Метаданные().СтандартныеРеквизиты, Операция.Имя) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
КонецЕсли;
ИзменяемыйОбъект[Операция.Имя] = Значение; ИзменяемыйОбъект[Операция.Имя] = Значение;
Результат.ИзменяемыеРеквизитыОбъекта.Добавить(Операция.Имя); Результат.ИзменяемыеРеквизитыОбъекта.Добавить(Операция.Имя);
@@ -590,23 +588,6 @@
Возврат "ДопСведение_"; Возврат "ДопСведение_";
КонецФункции КонецФункции
Функция ПроверятьНаГруппу(Ссылка)
ВидОбъекта = ВидОбъектаПоСсылке(Ссылка);
МетаданныеОбъекта = Ссылка.Метаданные();
Если ВидОбъекта = "Справочник"
И МетаданныеОбъекта.Иерархический
И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
Процедура ВнестиИзмененияВТабличныеЧасти(ИзменяемыйОбъект, ДанныеОбъекта, ИзмененияВТабличныхЧастях) Процедура ВнестиИзмененияВТабличныеЧасти(ИзменяемыйОбъект, ДанныеОбъекта, ИзмененияВТабличныхЧастях)
Для Каждого ИзмененияТабличнойЧасти Из ИзмененияВТабличныхЧастях Цикл Для Каждого ИзмененияТабличнойЧасти Из ИзмененияВТабличныхЧастях Цикл
@@ -977,27 +958,6 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции из базовой функциональности для обеспечения автономности. // Процедуры и функции из базовой функциональности для обеспечения автономности.
// Возвращает признак того, что реквизит входит в подмножество стандартных реквизитов.
//
// Параметры:
// СтандартныеРеквизиты - ОписанияСтандартныхРеквизитов - тип и значение описывает коллекцию настроек различных
// стандартных реквизитов;
// ИмяРеквизита - Строка - реквизит который необходимо проверить на принадлежность множеству стандартных реквизитов;
//
// Возвращаемое значение:
// Булево.
//
Функция ЭтоСтандартныйРеквизит(СтандартныеРеквизиты, ИмяРеквизита) Экспорт
Для Каждого Реквизит Из СтандартныеРеквизиты Цикл
Если Реквизит.Имя = ИмяРеквизита Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
// Функция ВидОбъектаПоСсылке возвращает имя вида объектов метаданных // Функция ВидОбъектаПоСсылке возвращает имя вида объектов метаданных
// по ссылке на объект. // по ссылке на объект.
// //
@@ -858,7 +858,7 @@
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
ОтменитьТранзакцию(); ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", Метаданные.ОсновнойЯзык.КодЯзыка), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", ОбщегоНазначения.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
@@ -1176,7 +1176,7 @@
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
ОтменитьТранзакцию(); ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", Метаданные.ОсновнойЯзык.КодЯзыка), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'", ОбщегоНазначения.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
@@ -14170,11 +14170,77 @@
КонецПроцедуры КонецПроцедуры
// Выводит сообщение пользователю. Функция СтруктураПараметровМенеджера(Имя, ИмяТипа, ТипСсылкиСтрокой, Менеджер, ОбъектМД)
// Структура = Новый Структура();
// Параметры: Структура.Вставить("Имя", Имя);
// ТекстСообщенияПользователю - Строка - Текст выводимого сообщения. Структура.Вставить("ИмяТипа", ИмяТипа);
// Структура.Вставить("ТипСсылкиСтрокой", ТипСсылкиСтрокой);
Структура.Вставить("Менеджер", Менеджер);
Структура.Вставить("ОбъектМД", ОбъектМД);
Структура.Вставить("ВозможенПоискПоПредопределенным", Ложь);
Структура.Вставить("ПКО");
Возврат Структура;
КонецФункции
Функция СтруктураПараметровПланаОбмена(Имя, ТипСсылки, ЭтоСсылочныйТип, ЭтоРегистр)
Структура = Новый Структура();
Структура.Вставить("Имя",Имя);
Структура.Вставить("ТипСсылки",ТипСсылки);
Структура.Вставить("ЭтоСсылочныйТип",ЭтоСсылочныйТип);
Структура.Вставить("ЭтоРегистр",ЭтоРегистр);
Возврат Структура;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции из базовой функциональности для обеспечения автономности.
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
ИменаПодсистем = ИменаПодсистем();
Возврат ИменаПодсистем.Получить(ПолноеИмяПодсистемы) <> Неопределено;
КонецФункции
Функция ИменаПодсистем() Экспорт
Возврат Новый ФиксированноеСоответствие(ИменаПодчиненныхПодсистем(Метаданные));
КонецФункции
Функция ИменаПодчиненныхПодсистем(РодительскаяПодсистема)
Имена = Новый Соответствие;
Для Каждого ТекущаяПодсистема Из РодительскаяПодсистема.Подсистемы Цикл
Имена.Вставить(ТекущаяПодсистема.Имя, Истина);
ИменаПодчиненных = ИменаПодчиненныхПодсистем(ТекущаяПодсистема);
Для каждого ИмяПодчиненной Из ИменаПодчиненных Цикл
Имена.Вставить(ТекущаяПодсистема.Имя + "." + ИмяПодчиненной.Ключ, Истина);
КонецЦикла;
КонецЦикла;
Возврат Имена;
КонецФункции
Функция ОбщийМодуль(Имя) Экспорт
Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
Модуль = Вычислить(Имя);
Иначе
Модуль = Неопределено;
КонецЕсли;
Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
ВызватьИсключение ПодставитьПараметрыВСтроку(НСтр("ru = 'Общий модуль ""%1"" не найден.'"), Имя);
КонецЕсли;
Возврат Модуль;
КонецФункции
Процедура СообщитьПользователю(ТекстСообщенияПользователю) Экспорт Процедура СообщитьПользователю(ТекстСообщенияПользователю) Экспорт
Сообщение = Новый СообщениеПользователю; Сообщение = Новый СообщениеПользователю;
@@ -14183,19 +14249,6 @@
КонецПроцедуры КонецПроцедуры
// Подставляет параметры в строку. Максимально возможное число параметров - 9.
// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы.
//
// Параметры:
// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра");
// Параметр<n> - Строка - подставляемый параметр.
//
// Возвращаемое значение:
// Строка - текстовая строка с подставленными параметрами.
//
// Пример:
// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк".
//
Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки,
Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено) Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено)
@@ -14232,14 +14285,6 @@
КонецФункции КонецФункции
// Проверить, что значение имеет ссылочный тип данных.
//
// Параметры:
// Значение - Произвольный - проверяемое значение.
//
// Возвращаемое значение:
// Булево - Истина, если тип значения ссылочный.
//
Функция ЗначениеСсылочногоТипа(Значение) Функция ЗначениеСсылочногоТипа(Значение)
Тип = ТипЗнч(Значение); Тип = ТипЗнч(Значение);
@@ -14258,32 +14303,14 @@
КонецФункции КонецФункции
// Возвращает код основного языка конфигурации, например "ru". Функция КодОсновногоЯзыка()
Функция КодОсновногоЯзыка() Экспорт Если ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульОбщегоНазначения = ОбщийМодуль("ОбщегоНазначения");
Возврат МодульОбщегоНазначения.КодОсновногоЯзыка();
КонецЕсли;
Возврат Метаданные.ОсновнойЯзык.КодЯзыка; Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
КонецФункции КонецФункции
Функция СтруктураПараметровМенеджера(Имя, ИмяТипа, ТипСсылкиСтрокой, Менеджер, ОбъектМД)
Структура = Новый Структура();
Структура.Вставить("Имя", Имя);
Структура.Вставить("ИмяТипа", ИмяТипа);
Структура.Вставить("ТипСсылкиСтрокой", ТипСсылкиСтрокой);
Структура.Вставить("Менеджер", Менеджер);
Структура.Вставить("ОбъектМД", ОбъектМД);
Структура.Вставить("ВозможенПоискПоПредопределенным", Ложь);
Структура.Вставить("ПКО");
Возврат Структура;
КонецФункции
Функция СтруктураПараметровПланаОбмена(Имя, ТипСсылки, ЭтоСсылочныйТип, ЭтоРегистр)
Структура = Новый Структура();
Структура.Вставить("Имя",Имя);
Структура.Вставить("ТипСсылки",ТипСсылки);
Структура.Вставить("ЭтоСсылочныйТип",ЭтоСсылочныйТип);
Структура.Вставить("ЭтоРегистр",ЭтоРегистр);
Возврат Структура;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -984,23 +984,7 @@
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина); Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
// Список вариантов отправки // Список вариантов отправки
Взаимодействия.УстановитьУсловноеОформлениеСпискаВыбора(ЭтотОбъект, "СписокПолучателейВариантОтправки", "СписокПолучателей.ВариантОтправки");
Для каждого ЭлементВыбора Из Элементы.СписокПолучателейВариантОтправки.СписокВыбора Цикл
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокПолучателейВариантОтправки.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокПолучателей.ВариантОтправки");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = ЭлементВыбора.Значение;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ЭлементВыбора.Представление);
КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -684,7 +684,7 @@
КонецПроцедуры КонецПроцедуры
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов. // См. УправлениеДоступомПереопределяемый.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов.
Функция ВозможныеПрава() Функция ЗаполненныеВозможныеПрава()
ВозможныеПрава = Новый ТаблицаЗначений(); ВозможныеПрава = Новый ТаблицаЗначений();
ВозможныеПрава.Колонки.Добавить("ВладелецПрав", Новый ОписаниеТипов("Строка")); ВозможныеПрава.Колонки.Добавить("ВладелецПрав", Новый ОписаниеТипов("Строка"));
@@ -699,6 +699,15 @@
ИнтеграцияПодсистемБСП.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов(ВозможныеПрава); ИнтеграцияПодсистемБСП.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов(ВозможныеПрава);
УправлениеДоступомПереопределяемый.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов(ВозможныеПрава); УправлениеДоступомПереопределяемый.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов(ВозможныеПрава);
Возврат ВозможныеПрава;
КонецФункции
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов.
Функция ВозможныеПрава()
ВозможныеПрава = ЗаполненныеВозможныеПрава();
ЗаголовокОшибки = ЗаголовокОшибки =
НСтр("ru = 'Ошибка в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов НСтр("ru = 'Ошибка в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов
|общего модуля УправлениеДоступомПереопределяемый.'") |общего модуля УправлениеДоступомПереопределяемый.'")
@@ -888,6 +897,38 @@
КонецФункции КонецФункции
Функция ПредставлениеВозможныхПрав() Экспорт
ВозможныеПрава = ЗаполненныеВозможныеПрава();
ПредставлениеВозможныхПрав = Новый Соответствие;
Для Каждого ВозможноеПраво Из ВозможныеПрава Цикл
ПолноеИмяПрава = ВозможноеПраво.ВладелецПрав + "_" + ВозможноеПраво.Имя;
ПредставлениеВозможныхПрав.Вставить(ПолноеИмяПрава, Новый ФиксированнаяСтруктура(
Новый Структура("Заголовок, Подсказка", ВозможноеПраво.Заголовок, ВозможноеПраво.Подсказка)));
КонецЦикла;
Возврат Новый ФиксированноеСоответствие(ПредставлениеВозможныхПрав);
КонецФункции
Функция ПредставлениеВозможногоПрава(ОписаниеВозможногоПрава) Экспорт
ПредставлениеВозможныхПрав = УправлениеДоступомСлужебныйПовтИсп.ПредставлениеВозможныхПрав();
ПолноеИмяПрава = ОписаниеВозможногоПрава.ВладелецПрав + "_" + ОписаниеВозможногоПрава.Имя;
Представление = ПредставлениеВозможныхПрав.Получить(ПолноеИмяПрава);
Если Не ЗначениеЗаполнено(Представление) Тогда
Представление = Новый ФиксированнаяСтруктура(
Новый Структура("Заголовок, Подсказка", ОписаниеВозможногоПрава.Имя, ""));
КонецЕсли;
Возврат Представление;
КонецФункции
Процедура ЗаполнитьИдентификаторы(Свойство, ВозможноеПраво, ЗаголовокОшибки, ОтдельныеТаблицы, ДополнительныеПараметры) Процедура ЗаполнитьИдентификаторы(Свойство, ВозможноеПраво, ЗаголовокОшибки, ОтдельныеТаблицы, ДополнительныеПараметры)
Если ДополнительныеПараметры.ОбщиеПраваВладельцев.Получить(ДополнительныеПараметры.ВладелецПрав) = Неопределено Тогда Если ДополнительныеПараметры.ОбщиеПраваВладельцев.Получить(ДополнительныеПараметры.ВладелецПрав) = Неопределено Тогда
@@ -45,9 +45,9 @@
Если ОбщегоНазначения.РазделениеВключено() Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя, Истина); ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы", Истина);
Иначе Иначе
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя); ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы");
КонецЕсли; КонецЕсли;
ВерсияТекстов = ВерсияТекстовОграниченияДоступа(); ВерсияТекстов = ВерсияТекстовОграниченияДоступа();
@@ -60,7 +60,7 @@
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа", "СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
ВерсияТекстов, ЕстьТекущиеИзменения); ВерсияТекстов, ЕстьТекущиеИзменения);
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.76") < 0 Тогда Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0 Тогда
ЕстьТекущиеИзменения = Истина; ЕстьТекущиеИзменения = Истина;
КонецЕсли; КонецЕсли;
@@ -120,7 +120,7 @@
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеПараметровОграниченияДоступа( УправлениеДоступомСлужебный.ЗапланироватьОбновлениеПараметровОграниченияДоступа(
"ЗапланироватьОбновлениеДоступаПоИзменениямКонфигурации"); "ЗапланироватьОбновлениеДоступаПоИзменениямКонфигурации");
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя); ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы");
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.3") < 0 Тогда Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.3") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.3"); ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.3");
@@ -130,6 +130,10 @@
ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76"); ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76");
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.92");
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации. // Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
@@ -1309,10 +1309,11 @@
// Вывод легенды // Вывод легенды
Область = Макет.ПолучитьОбласть("НастройкиПравЛегендаШапка"); Область = Макет.ПолучитьОбласть("НастройкиПравЛегендаШапка");
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
Для каждого ОписаниеПрава Из ОписаниеПрав Цикл Для Каждого ОписаниеПрава Из ОписаниеПрав Цикл
ПредставленияПрава = РегистрыСведений.НастройкиПравОбъектов.ПредставлениеВозможногоПрава(ОписаниеПрава);
Область = Макет.ПолучитьОбласть("НастройкиПравЛегендаСтрока"); Область = Макет.ПолучитьОбласть("НастройкиПравЛегендаСтрока");
Область.Параметры.Заголовок = СтрЗаменить(ОписаниеПрава.Заголовок, Символы.ПС, " "); Область.Параметры.Заголовок = СтрЗаменить(ПредставленияПрава.Заголовок, Символы.ПС, " ");
Область.Параметры.Подсказка = СтрЗаменить(ОписаниеПрава.Подсказка, Символы.ПС, " "); Область.Параметры.Подсказка = СтрЗаменить(ПредставленияПрава.Подсказка, Символы.ПС, " ");
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
КонецЦикла; КонецЦикла;
@@ -1364,10 +1365,11 @@
Смещение = 1; Смещение = 1;
ТекущийНомерОбласти = Смещение; ТекущийНомерОбласти = Смещение;
Для каждого ОписаниеПрава Из ОписаниеПрав Цикл Для Каждого ОписаниеПрава Из ОписаниеПрав Цикл
ПредставленияПрава = РегистрыСведений.НастройкиПравОбъектов.ПредставлениеВозможногоПрава(ОписаниеПрава);
НомерЯчейки = "R1C" + Формат(ТекущийНомерОбласти, "ЧГ="); НомерЯчейки = "R1C" + Формат(ТекущийНомерОбласти, "ЧГ=");
МакетШапки.Область(НомерЯчейки).Текст = ОписаниеПрава.Заголовок; МакетШапки.Область(НомерЯчейки).Текст = ПредставленияПрава.Заголовок;
МакетШапки.Область(НомерЯчейки).ШиринаКолонки = МаксимальнаяДлинаСтроки(ОписаниеПрава.Заголовок); МакетШапки.Область(НомерЯчейки).ШиринаКолонки = МаксимальнаяДлинаСтроки(ПредставленияПрава.Заголовок);
ТекущийНомерОбласти = ТекущийНомерОбласти + 1; ТекущийНомерОбласти = ТекущийНомерОбласти + 1;
МакетСтроки.Область(НомерЯчейки).ШиринаКолонки = МакетШапки.Область(НомерЯчейки).ШиринаКолонки; МакетСтроки.Область(НомерЯчейки).ШиринаКолонки = МакетШапки.Область(НомерЯчейки).ШиринаКолонки;
@@ -1862,7 +1864,7 @@
МетаданныеВладельцаНастроекПрав.Представление()); МетаданныеВладельцаНастроекПрав.Представление());
КонецЕсли; КонецЕсли;
ИначеЕсли УправлениеДоступомСлужебный.ВидДоступаИспользуется(Строка.ВидДоступа) Тогда ИначеЕсли УправлениеДоступомСлужебный.ВидДоступаИспользуется(Строка.ВидДоступа) Тогда
Строка.Представление = СвойстваВидаДоступа.Представление; Строка.Представление = УправлениеДоступомСлужебный.ПредставлениеВидаДоступа(СвойстваВидаДоступа);
Иначе Иначе
ИспользуемыеВидыДоступа.Удалить(Строка); ИспользуемыеВидыДоступа.Удалить(Строка);
КонецЕсли; КонецЕсли;
@@ -119,93 +119,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.СообщенияОбменаДанными</name> <name>InformationRegister.СообщенияОбменаДанными</name>
<right> <right>
@@ -5968,6 +5881,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ПакетыДляОтправки</name> <name>InformationRegister.ПакетыДляОтправки</name>
<right> <right>
@@ -14,37 +14,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name> <name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right> <right>
@@ -107,6 +76,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -176,45 +176,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.СообщенияОбменаДанными</name> <name>InformationRegister.СообщенияОбменаДанными</name>
<right> <right>
@@ -7686,6 +7647,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ПакетыДляОтправки</name> <name>InformationRegister.ПакетыДляОтправки</name>
<right> <right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -34,13 +41,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ЖурналРегистрации</name> <name>DataProcessor.ЖурналРегистрации</name>
<right> <right>
@@ -658,7 +658,7 @@
| Пользовательские.Ссылка = &Вариант | Пользовательские.Ссылка = &Вариант
|"); |");
Запрос.УстановитьПараметр("Вариант", Вариант); Запрос.УстановитьПараметр("Вариант", Вариант);
Запрос.УстановитьПараметр("КодОсновногоЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); Запрос.УстановитьПараметр("КодОсновногоЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
Объект.Представления.Загрузить(Запрос.Выполнить().Выгрузить()); Объект.Представления.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры КонецПроцедуры