3_1_11_448

This commit is contained in:
Компания 1С committed 2026-02-24 22:50:00 +03:00
1 parent 4dea4e8409
commit ac5c0a91d6
210 files changed
+3589 -1308

No files matched your search

@@ -293,6 +293,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -335,7 +335,9 @@
ПараметрыЗадания = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ВерсияРасширений); ПараметрыЗадания = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ВерсияРасширений);
ФоновыеЗадания.Выполнить(ИмяПроцедуры, ПараметрыЗадания,, НаименованиеЗадания); // Имя процедуры должно быть, как указано в переменной ИмяПроцедуры.
ФоновыеЗадания.Выполнить("СтандартныеПодсистемыСервер.ОбновитьДатуПоследнегоИспользованияВерсииРасширений",
ПараметрыЗадания,, НаименованиеЗадания);
КонецПроцедуры КонецПроцедуры
@@ -827,7 +829,9 @@
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(НайденныеЗадания) Тогда Если Не ЗначениеЗаполнено(НайденныеЗадания) Тогда
ФоновоеЗадание = ФоновыеЗадания.Выполнить(ИмяПроцедуры, ПараметрыЗадания,, НаименованиеЗадания); // Имя процедуры должно быть, как указано в переменной ИмяПроцедуры.
ФоновоеЗадание = ФоновыеЗадания.Выполнить("СтандартныеПодсистемыСервер.ДобавитьНовуюВерсиюРасширений",
ПараметрыЗадания,, НаименованиеЗадания);
НайденныеЗадания.Добавить(ФоновоеЗадание); НайденныеЗадания.Добавить(ФоновоеЗадание);
КонецЕсли; КонецЕсли;
@@ -1259,7 +1263,9 @@
ПараметрыЗадания = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ВерсияРасширений); ПараметрыЗадания = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ВерсияРасширений);
ФоновыеЗадания.Выполнить(ИмяПроцедуры, ПараметрыЗадания,, НаименованиеЗадания); // Имя процедуры должно быть, как указано в переменной ИмяПроцедуры.
ФоновыеЗадания.Выполнить("СтандартныеПодсистемыСервер.УстановитьПоследнююВерсиюРасширений",
ПараметрыЗадания,, НаименованиеЗадания);
КонецПроцедуры КонецПроцедуры
@@ -234,6 +234,14 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -754,6 +754,14 @@
Возврат "ИмяПредопределенногоВида"; Возврат "ИмяПредопределенногоВида";
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -369,6 +369,14 @@
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами")
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -216,6 +216,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -141,6 +141,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -2988,6 +2988,15 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьПрофильГруппыДоступаАдминистраторы");
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -86,6 +86,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -153,5 +153,17 @@
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти
#КонецЕсли #КонецЕсли
@@ -560,6 +560,14 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -609,6 +609,15 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьНаборыСвойствДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецЕсли #КонецЕсли
// АПК:361-выкл нет обращения к серверному коду. // АПК:361-выкл нет обращения к серверному коду.
@@ -179,6 +179,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбработатьОбщиеВнешниеКомпоненты");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -161,6 +161,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -241,6 +241,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -217,4 +217,15 @@
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПрименитьПравила", Истина);
КонецПроцедуры
#КонецОбласти
#КонецЕсли #КонецЕсли
@@ -104,6 +104,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -368,6 +368,15 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьНачальныеНастройки");
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -1561,6 +1561,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьПроизводственныеКалендариПоУмолчаниюДлительнаяОперация", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -553,6 +553,14 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -228,6 +228,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -359,6 +359,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -190,6 +190,14 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -323,6 +323,14 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -1507,6 +1507,16 @@
Возврат НСтр("ru = 'Проверка подключения к почтовому серверу'", ОбщегоНазначения.КодОсновногоЯзыка()); Возврат НСтр("ru = 'Проверка подключения к почтовому серверу'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
Методы.Вставить("ПроверитьНастройкиУчетнойЗаписи", Истина);
Методы.Вставить("ОпределитьНастройкиУчетнойЗаписи", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -311,6 +311,14 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -373,6 +373,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -98,6 +98,13 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьПоставляемыеЯзыки");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -154,7 +154,15 @@
КонецПопытки; КонецПопытки;
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -994,6 +994,15 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
Методы.Вставить("ИзменитьНастройкуСвойства", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -1263,7 +1263,8 @@
Для Каждого СтруктураФайла Из ПечатныеФормыДокументов Цикл Для Каждого СтруктураФайла Из ПечатныеФормыДокументов Цикл
ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище); ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище);
ПолноеИмяФайла = ИмяВременногоКаталога + СтруктураФайла.Представление; ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(СтруктураФайла.Представление);
ПолноеИмяФайла = ИмяВременногоКаталога + ИмяФайла;
ПолноеИмяФайла = ФайловаяСистема.УникальноеИмяФайла(ПолноеИмяФайла); ПолноеИмяФайла = ФайловаяСистема.УникальноеИмяФайла(ПолноеИмяФайла);
ДанныеФайла.Записать(ПолноеИмяФайла); ДанныеФайла.Записать(ПолноеИмяФайла);
@@ -1330,6 +1331,10 @@
ФайлыОфисныхДокументов = ОбщегоНазначения.ЗначениеИзСтрокиXML(НастройкаПечатнойФормы.ОфисныеДокументы); ФайлыОфисныхДокументов = ОбщегоНазначения.ЗначениеИзСтрокиXML(НастройкаПечатнойФормы.ОфисныеДокументы);
Для Каждого ФайлОфисногоДокумента Из ФайлыОфисныхДокументов Цикл Для Каждого ФайлОфисногоДокумента Из ФайлыОфисныхДокументов Цикл
Если Не ЗначениеЗаполнено(ФайлОфисногоДокумента.Ключ) Или Не ЭтоАдресВременногоХранилища(ФайлОфисногоДокумента.Ключ) Тогда
Продолжить;
КонецЕсли;
ИмяФайла = УправлениеПечатью.ИмяФайлаОфисногоДокумента(ФайлОфисногоДокумента.Значение); ИмяФайла = УправлениеПечатью.ИмяФайлаОфисногоДокумента(ФайлОфисногоДокумента.Значение);
ОписаниеФайла = Новый Структура; ОписаниеФайла = Новый Структура;
ОписаниеФайла.Вставить("Представление", ИмяФайла); ОписаниеФайла.Вставить("Представление", ИмяФайла);
@@ -1267,7 +1267,8 @@
Для Каждого СтруктураФайла Из ПечатныеФормыДокументов Цикл Для Каждого СтруктураФайла Из ПечатныеФормыДокументов Цикл
ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище); ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище);
ПолноеИмяФайла = ИмяВременногоКаталога + СтруктураФайла.Представление; ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(СтруктураФайла.Представление);
ПолноеИмяФайла = ИмяВременногоКаталога + ИмяФайла;
ДанныеФайла.Записать(ПолноеИмяФайла); ДанныеФайла.Записать(ПолноеИмяФайла);
ОбъектПечати = ?(УстанавливатьОбъектПечати И ЗначениеЗаполнено(СтруктураФайла.ОбъектПечати), СтруктураФайла.ОбъектПечати, Неопределено); ОбъектПечати = ?(УстанавливатьОбъектПечати И ЗначениеЗаполнено(СтруктураФайла.ОбъектПечати), СтруктураФайла.ОбъектПечати, Неопределено);
@@ -103,6 +103,8 @@
Сценарий = СценарийИзмененияПометкиУдаления(ВыбранныеЭлементы, Статистика); Сценарий = СценарийИзмененияПометкиУдаления(ВыбранныеЭлементы, Статистика);
Сценарий.Вставить("ВыбранныеЭлементы", ВыбранныеЭлементы); Сценарий.Вставить("ВыбранныеЭлементы", ВыбранныеЭлементы);
ПредставленияВыбранныхЭлементов = ?(Сценарий.Пометка, Статистика.БезПометкиНаУдаление, Статистика.СПометкойНаУдаление);
Сценарий.Вставить("ПредставленияВыбранныхЭлементов", ПредставленияВыбранныхЭлементов);
Обработчик = Новый ОписаниеОповещения("ВыполнитьСценарийИзмененияПометкиУдаления", ЭтотОбъект, Сценарий); Обработчик = Новый ОписаниеОповещения("ВыполнитьСценарийИзмененияПометкиУдаления", ЭтотОбъект, Сценарий);
ПоказатьВопрос(Обработчик, Сценарий.Вопрос, РежимДиалогаВопрос.ДаНет); ПоказатьВопрос(Обработчик, Сценарий.Вопрос, РежимДиалогаВопрос.ДаНет);
@@ -1297,7 +1299,7 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Ошибки = ИзменитьПометкуУдаленияЭлементов(Сценарий.ВыбранныеЭлементы, Сценарий.Пометка); Ошибки = ИзменитьПометкуУдаленияЭлементов(Сценарий.ПредставленияВыбранныхЭлементов, Сценарий.Пометка);
Если Ошибки.Количество() > 0 Тогда Если Ошибки.Количество() > 0 Тогда
ПредупредитьОбОшибкеПриИзмененииЭлементов(Ошибки, "ПометкаУдаления"); ПредупредитьОбОшибкеПриИзмененииЭлементов(Ошибки, "ПометкаУдаления");
Иначе Иначе
@@ -1314,8 +1316,28 @@
&НаСервере &НаСервере
Функция ИзменитьПометкуУдаленияЭлементов(ВыбранныеЭлементы, Пометка) Функция ИзменитьПометкуУдаленияЭлементов(ВыбранныеЭлементы, Пометка)
ШаблонОшибки = ?(Пометка,
НСтр("ru = 'Недостаточно прав на пометку на удаление ""%1"".'"),
Нстр("ru = 'Недостаточно прав на снятие пометки на удаление ""%1"".'"));
Ошибки = Новый Массив; Ошибки = Новый Массив;
Для Каждого Элемент Из ВыбранныеЭлементы Цикл Для Каждого СвойстваЭлемента Из ВыбранныеЭлементы Цикл
Элемент = СвойстваЭлемента.Ключ;
ДоступноИзменение = Ложь;
Если Пометка Тогда
ДоступноИзменение = ПравоДоступа("ИнтерактивнаяПометкаУдаления", Элемент.Метаданные());
Иначе
ДоступноИзменение = ПравоДоступа("ИнтерактивноеСнятиеПометкиУдаления", Элемент.Метаданные());
КонецЕсли;
Если Не ДоступноИзменение Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
СвойстваЭлемента.Значение);
Ошибки.Добавить(ТекстОшибки);
Продолжить;
КонецЕсли;
НачатьТранзакцию(); НачатьТранзакцию();
@@ -1394,6 +1416,7 @@
ОбработанныеДокументы = Новый Соответствие; ОбработанныеДокументы = Новый Соответствие;
Индекс = ВыбранныеДокументы.ВГраница(); Индекс = ВыбранныеДокументы.ВГраница();
ЗапрещенныеКИзменениюПроведенияДокументы = Новый Массив;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
МетаданныеОбъекта = ВыбранныеДокументы[Индекс].Метаданные(); МетаданныеОбъекта = ВыбранныеДокументы[Индекс].Метаданные();
@@ -1403,11 +1426,30 @@
Или МетаданныеОбъекта.Проведение <> ПроведениеРазрешено Тогда Или МетаданныеОбъекта.Проведение <> ПроведениеРазрешено Тогда
ВыбранныеДокументы.Удалить(Индекс); ВыбранныеДокументы.Удалить(Индекс);
Иначе
Если Режим = РежимЗаписиДокумента.Проведение Тогда
ИнтерактивноеПраво = "ИнтерактивноеПроведение";
ИначеЕсли Режим = РежимЗаписиДокумента.ОтменаПроведения Тогда
ИнтерактивноеПраво = "ИнтерактивнаяОтменаПроведения";
Иначе
ИнтерактивноеПраво = Неопределено;
КонецЕсли;
Если ЗначениеЗаполнено(ИнтерактивноеПраво) И Не ПравоДоступа(ИнтерактивноеПраво, МетаданныеОбъекта) Тогда
ЗапрещенныеКИзменениюПроведенияДокументы.Добавить(ВыбранныеДокументы[Индекс]);
ВыбранныеДокументы.Удалить(Индекс);
КонецЕсли;
КонецЕсли; КонецЕсли;
Индекс = Индекс - 1; Индекс = Индекс - 1;
КонецЦикла; КонецЦикла;
СвойстваДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(ЗапрещенныеКИзменениюПроведенияДокументы, "Представление");
ШаблонОшибки = ?(Режим = РежимЗаписиДокумента.Проведение, НСтр("ru = 'Недостаточно прав на проведение ""%1"".'"), Нстр("ru = 'Недостаточно прав на отмену проведения ""%1"".'"));
Для Каждого СвойствоДокумента Из СвойстваДокументов Цикл
ПредставлениеДокумента = СвойствоДокумента.Значение.Представление;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеДокумента);
Ошибки.Добавить(ТекстОшибки);
КонецЦикла;
Если ВыбранныеДокументы.Количество() = 0 Тогда Если ВыбранныеДокументы.Количество() = 0 Тогда
Возврат ОбработанныеДокументы; Возврат ОбработанныеДокументы;
КонецЕсли; КонецЕсли;
@@ -581,7 +581,9 @@
ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище); ДанныеФайла = ПолучитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище);
УдалитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище); УдалитьИзВременногоХранилища(СтруктураФайла.АдресВоВременномХранилище);
ПолноеИмяФайла = ИмяВременногоКаталога + СтруктураФайла.Представление;
ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(СтруктураФайла.Представление);
ПолноеИмяФайла = ИмяВременногоКаталога + ИмяФайла;
ПолноеИмяФайла = ФайловаяСистема.УникальноеИмяФайла(ПолноеИмяФайла); ПолноеИмяФайла = ФайловаяСистема.УникальноеИмяФайла(ПолноеИмяФайла);
ДанныеФайла.Записать(ПолноеИмяФайла); ДанныеФайла.Записать(ПолноеИмяФайла);
@@ -12355,4 +12355,15 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ВыполнитьНачальноеЗаполнение");
Методы.Вставить("ДоступныеВерсииАдресныхСведений", Истина);
Методы.Вставить("ЗагрузкаРегионаАдресногоКлассификатораССайта", Истина);
Методы.Вставить("ЗагрузитьДанныеКлассификатораАдресовИзФайла", Истина);
Методы.Вставить("ФоновоеЗаданиеОчисткиКлассификатораАдресов", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3385,4 +3385,15 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьОтветственногоЗаКонтрольИсполнения");
Методы.Вставить("ОбновитьИспользованиеРегламентныхЗаданий");
Методы.Вставить("ЗаполнитьНаименованиеПредопределенногоЭлементаВсеОбъектыАдресации");
Методы.Вставить("УведомитьИсполнителейОНовыхЗадачах", Истина);
Методы.Вставить("ПроконтролироватьЗадачи", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -120,4 +120,11 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("СтартОтложенныхПроцессов", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -708,4 +708,12 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПриУстановкеПараметровСеанса");
Методы.Вставить("ОбновитьПараметрыБлокировкиРаботыСВнешнимиРесурсами");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2175,6 +2175,7 @@
ПодсистемыОтчетов = РазмещениеОтчетовВПодсистемах(); ПодсистемыОтчетов = РазмещениеОтчетовВПодсистемах();
КэшФлажкаХранилища = Неопределено; КэшФлажкаХранилища = Неопределено;
ОписаниеОбъектовМетаданных = Новый Массив;
Для Каждого ОтчетМетаданные Из Метаданные.Отчеты Цикл Для Каждого ОтчетМетаданные Из Метаданные.Отчеты Цикл
Если Не ДоступноИспользованиеРазделенныхДанных И ОтчетМетаданные.РасширениеКонфигурации() <> Неопределено Тогда Если Не ДоступноИспользованиеРазделенныхДанных И ОтчетМетаданные.РасширениеКонфигурации() <> Неопределено Тогда
Продолжить; Продолжить;
@@ -2184,8 +2185,16 @@
И Не ОтчетПодключенКХранилищу(ОтчетМетаданные, КэшФлажкаХранилища) Тогда И Не ОтчетПодключенКХранилищу(ОтчетМетаданные, КэшФлажкаХранилища) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ОписаниеОбъектовМетаданных.Добавить(ОтчетМетаданные);
КонецЦикла;
ИдентификаторыОтчетов = ОбщегоНазначения.ИдентификаторыОбъектовМетаданных(ОписаниеОбъектовМетаданных);
Для Каждого ОтчетМетаданные Из ОписаниеОбъектовМетаданных Цикл
ПолноеИмяОтчета = ОтчетМетаданные.ПолноеИмя();
ОтчетСсылка = ИдентификаторыОтчетов.Получить(ПолноеИмяОтчета);
ОтчетСсылка = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОтчетМетаданные);
ОтчетТип = ТипОтчетаСтрокой(ОтчетСсылка); ОтчетТип = ТипОтчетаСтрокой(ОтчетСсылка);
Если ТипОтчетов <> Неопределено И ТипОтчетов <> ОтчетТип Тогда Если ТипОтчетов <> Неопределено И ТипОтчетов <> ОтчетТип Тогда
Продолжить; Продолжить;
@@ -2289,7 +2298,7 @@
// Обработка отчетов, включенных в состав подсистемы ПодключаемыеОтчетыИОбработки. // Обработка отчетов, включенных в состав подсистемы ПодключаемыеОтчетыИОбработки.
Если ЕстьПодключаемыеКоманды И СоставПодключаемыхОтчетовИОбработок.Содержит(ОтчетМетаданные) Тогда Если ЕстьПодключаемыеКоманды И СоставПодключаемыхОтчетовИОбработок.Содержит(ОтчетМетаданные) Тогда
НастройкиПоставщика = МодульПодключаемыеКоманды.НастройкиПодключаемогоОбъекта(ОтчетМетаданные.ПолноеИмя()); НастройкиПоставщика = МодульПодключаемыеКоманды.НастройкиПодключаемогоОбъекта(ПолноеИмяОтчета);
Если НастройкиПоставщика <> Неопределено Тогда Если НастройкиПоставщика <> Неопределено Тогда
Если НастройкиПоставщика.ОпределитьНастройкиФормы Тогда Если НастройкиПоставщика.ОпределитьНастройкиФормы Тогда
ОписаниеОтчета.ОпределитьНастройкиФормы = Истина; ОписаниеОтчета.ОпределитьНастройкиФормы = Истина;
@@ -9926,4 +9935,18 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьИндексПоискаПользовательскихВариантовОтчетов");
Методы.Вставить("ОперативноеОбновлениеОбщихДанныхКонфигурации");
Методы.Вставить("ОперативноеОбновлениеСлужебногоПользователя");
Методы.Вставить("ОбновитьИндексПоискаПредопределенныхВариантовОтчетов");
Методы.Вставить("ОперативноеОбновлениеРазделенныхДанныхКонфигурации");
Методы.Вставить("НайтиВариантыОтчетовДляВывода", Истина);
Методы.Вставить("СформироватьОтчетВФоне", Истина);
Методы.Вставить("ЗаполнитьПредставленияПредопределенныхВариантовОтчетов", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2599,4 +2599,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьЗначенияФильтра", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3718,4 +3718,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("УстановитьНастройкиРегламентногоЗаданияОчисткиУстаревшихВерсийОбъектов");
Методы.Вставить("ИнформацияОбУстаревшихВерсиях", Истина);
Методы.Вставить("ОчиститьУстаревшиеВерсииОбъектов", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -9042,4 +9042,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОтключитьПодсистемуВМоделиСервиса");
Методы.Вставить("ОбновлениеСтатусовДоставкиSMS", Истина);
Методы.Вставить("ОтправитьSMS", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -275,4 +275,13 @@
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УдалениеНеиспользуемыхВнешнихКомпонент", Истина);
КонецПроцедуры
#КонецОбласти
@@ -1607,4 +1607,12 @@
// Конец ИнтернетПоддержкаПользователей.ПолучениеВнешнихКомпонент // Конец ИнтернетПоддержкаПользователей.ПолучениеВнешнихКомпонент
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("НоваяКомпонентаСПортала", Истина);
Методы.Вставить("ОбновитьКомпонентыСПортала", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2790,4 +2790,17 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ОбновитьРазделыДатЗапретаИзменения");
Методы.Вставить("ДополнитьНастройкиУказанныхАдресатов");
Методы.Вставить("ЗаменитьРазделыДатЗапретаНаНовые");
Методы.Вставить("ОчиститьПредопределенныеЭлементыРазделовДатЗапрета");
Методы.Вставить("УстановитьНачальнуюДатуЗапретаИзменения");
Методы.Вставить("УстановкаПараметровСеанса");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -96,6 +96,9 @@
Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, Знач Параметр4 = Неопределено, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, Знач Параметр4 = Неопределено,
Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, Знач Параметр7 = Неопределено) Экспорт Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, Знач Параметр7 = Неопределено) Экспорт
ПроверитьИмяПроцедуры(ИмяФункции,
"ИмяФункции", "ДлительныеОперации.ВыполнитьФункцию", ПараметрыВыполнения);
ПараметрыВызова = СписокПараметров(Параметр1, Параметр2, Параметр3, Параметр4, ПараметрыВызова = СписокПараметров(Параметр1, Параметр2, Параметр3, Параметр4,
Параметр5, Параметр6, Параметр7); Параметр5, Параметр6, Параметр7);
@@ -190,6 +193,9 @@
Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, Знач Параметр4 = Неопределено, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, Знач Параметр4 = Неопределено,
Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, Знач Параметр7 = Неопределено) Экспорт Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, Знач Параметр7 = Неопределено) Экспорт
ПроверитьИмяПроцедуры(ИмяПроцедуры,
"ИмяПроцедуры", "ДлительныеОперации.ВыполнитьФункцию", ПараметрыВыполнения);
ПараметрыВызова = СписокПараметров(Параметр1, Параметр2, Параметр3, Параметр4, ПараметрыВызова = СписокПараметров(Параметр1, Параметр2, Параметр3, Параметр4,
Параметр5, Параметр6, Параметр7); Параметр5, Параметр6, Параметр7);
ПараметрыВыполнения = ПодготовитьПараметрыВыполнения(ПараметрыВыполнения, "Процедура"); ПараметрыВыполнения = ПодготовитьПараметрыВыполнения(ПараметрыВыполнения, "Процедура");
@@ -241,6 +247,9 @@
// //
Функция ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, ПараметрыВыполнения, НаборПараметровФункции = Неопределено) Экспорт Функция ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, ПараметрыВыполнения, НаборПараметровФункции = Неопределено) Экспорт
ПроверитьИмяПроцедуры(ИмяФункции,
"ИмяФункции", "ДлительныеОперации.ВыполнитьФункциюВНесколькоПотоков", ПараметрыВыполнения);
Возврат ВыполнитьМетодВНесколькоПотоков(ИмяФункции, ПараметрыВыполнения, НаборПараметровФункции, Истина); Возврат ВыполнитьМетодВНесколькоПотоков(ИмяФункции, ПараметрыВыполнения, НаборПараметровФункции, Истина);
КонецФункции КонецФункции
@@ -283,6 +292,9 @@
// //
Функция ВыполнитьПроцедуруВНесколькоПотоков(ИмяПроцедуры, ПараметрыВыполнения, НаборПараметровПроцедуры = Неопределено) Экспорт Функция ВыполнитьПроцедуруВНесколькоПотоков(ИмяПроцедуры, ПараметрыВыполнения, НаборПараметровПроцедуры = Неопределено) Экспорт
ПроверитьИмяПроцедуры(ИмяПроцедуры,
"ИмяПроцедуры", "ДлительныеОперации.ВыполнитьФункциюВНесколькоПотоков", ПараметрыВыполнения);
Возврат ВыполнитьМетодВНесколькоПотоков(ИмяПроцедуры, ПараметрыВыполнения, НаборПараметровПроцедуры, Ложь); Возврат ВыполнитьМетодВНесколькоПотоков(ИмяПроцедуры, ПараметрыВыполнения, НаборПараметровПроцедуры, Ложь);
КонецФункции КонецФункции
@@ -486,7 +498,10 @@
// КонецПроцедуры // КонецПроцедуры
// //
Функция ВыполнитьВФоне(Знач ИмяПроцедуры, Знач ПараметрыПроцедуры, Знач ПараметрыВыполнения) Экспорт Функция ВыполнитьВФоне(Знач ИмяПроцедуры, Знач ПараметрыПроцедуры, Знач ПараметрыВыполнения) Экспорт
ПроверитьИмяПроцедуры(ИмяПроцедуры,
"ИмяПроцедуры", "ДлительныеОперации.ВыполнитьВФоне", ПараметрыВыполнения);
// Обратная совместимость // Обратная совместимость
НовыеПараметрыВыполнения = ПараметрыВыполненияВФоне(); НовыеПараметрыВыполнения = ПараметрыВыполненияВФоне();
ЗаполнитьЗначенияСвойств(НовыеПараметрыВыполнения, ПараметрыВыполнения); ЗаполнитьЗначенияСвойств(НовыеПараметрыВыполнения, ПараметрыВыполнения);
@@ -1002,6 +1017,9 @@
Функция ЗапуститьВыполнениеВФоне(Знач ИдентификаторФормы, Знач ИмяЭкспортнойПроцедуры, Знач Параметры, Функция ЗапуститьВыполнениеВФоне(Знач ИдентификаторФормы, Знач ИмяЭкспортнойПроцедуры, Знач Параметры,
Знач НаименованиеЗадания = "", ИспользоватьДополнительноеВременноеХранилище = Ложь) Экспорт Знач НаименованиеЗадания = "", ИспользоватьДополнительноеВременноеХранилище = Ложь) Экспорт
ПроверитьИмяПроцедуры(ИмяЭкспортнойПроцедуры,
"ИмяЭкспортнойПроцедуры", "ДлительныеОперации.ЗапуститьВыполнениеВФоне");
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, ИдентификаторФормы); АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, ИдентификаторФормы);
Результат = Новый Структура; Результат = Новый Структура;
@@ -1175,6 +1193,9 @@
Обработка = Обработки[Параметры.ИмяОбработки].Создать(); Обработка = Обработки[Параметры.ИмяОбработки].Создать();
КонецЕсли; КонецЕсли;
ПроверитьИмяПроцедуры(Параметры.ИмяМетода,
"Параметры.ИмяМетода", "ВыполнитьПроцедуруМодуляОбъектаОбработки",, Обработка);
Если БезопасныйРежим() = Ложь И БезопасныйРежим <> Ложь Тогда Если БезопасныйРежим() = Ложь И БезопасныйРежим <> Ложь Тогда
УстановитьБезопасныйРежим(БезопасныйРежим); УстановитьБезопасныйРежим(БезопасныйРежим);
КонецЕсли; КонецЕсли;
@@ -1211,6 +1232,9 @@
Отчет = Отчеты[Параметры.ИмяОтчета].Создать(); Отчет = Отчеты[Параметры.ИмяОтчета].Создать();
КонецЕсли; КонецЕсли;
ПроверитьИмяПроцедуры(Параметры.ИмяМетода,
"Параметры.ИмяМетода", "ВыполнитьПроцедуруМодуляОбъектаОтчета",, Отчет);
Если БезопасныйРежим() = Ложь И БезопасныйРежим <> Ложь Тогда Если БезопасныйРежим() = Ложь И БезопасныйРежим <> Ложь Тогда
УстановитьБезопасныйРежим(БезопасныйРежим); УстановитьБезопасныйРежим(БезопасныйРежим);
КонецЕсли; КонецЕсли;
@@ -1535,11 +1559,8 @@
ПараметрыПроцедурыФоновогоЗадания = Новый Массив; ПараметрыПроцедурыФоновогоЗадания = Новый Массив;
ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры); ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры);
ИмяПроцедурыФоновогоЗадания = ИмяПроцедурыФоновогоЗаданияДлительнойОперации();
Возврат ВыполнитьФоновоеЗадание(ПараметрыВыполнения, Возврат ВыполнитьФоновоеЗадание(ПараметрыВыполнения,
ИмяПроцедурыФоновогоЗадания, ПараметрыПроцедурыФоновогоЗадания, ПараметрыПроцедурыФоновогоЗадания, КлючФоновогоЗадания, НаименованиеФоновогоЗадания);
КлючФоновогоЗадания, НаименованиеФоновогоЗадания);
КонецФункции КонецФункции
@@ -1712,32 +1733,41 @@
ЧастиИмени = СтрРазделить(ИмяПроцедуры, "."); ЧастиИмени = СтрРазделить(ИмяПроцедуры, ".");
ЭтоПроцедураМодуляОбработки = (ЧастиИмени.Количество() = 4) И ВРег(ЧастиИмени[2]) = "МОДУЛЬОБЪЕКТА"; ЭтоПроцедураМодуляОбработки = (ЧастиИмени.Количество() = 4) И ВРег(ЧастиИмени[2]) = "МОДУЛЬОБЪЕКТА";
Если Не ЭтоПроцедураМодуляОбработки Тогда Если Не ЭтоПроцедураМодуляОбработки Тогда
ПроверитьИмяПроцедуры(ИмяПроцедуры, "ИмяПроцедуры", "ВызватьПроцедуру");
ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОбработкаОтчетОбъект = ОбработкаОтчетОбъект(ИмяПроцедуры,
ЧастиИмени, ПараметрыВыполнения, "ИмяПроцедуры", "ВызватьПроцедуру");
ПроверитьИмяПроцедуры(ЧастиИмени[3], "ИмяПроцедуры", "ВызватьПроцедуру",, ОбработкаОтчетОбъект);
ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
КонецПроцедуры
Функция ОбработкаОтчетОбъект(Имя, ЧастиИмени, ПараметрыВыполнения, ИмяПараметраМетода, ИмяМетода)
ЭтоОбработка = ВРег(ЧастиИмени[0]) = "ОБРАБОТКА"; ЭтоОбработка = ВРег(ЧастиИмени[0]) = "ОБРАБОТКА";
ЭтоОтчет = ВРег(ЧастиИмени[0]) = "ОТЧЕТ"; ЭтоОтчет = ВРег(ЧастиИмени[0]) = "ОТЧЕТ";
Если ЭтоОбработка Или ЭтоОтчет Тогда Если ЭтоОбработка Или ЭтоОтчет Тогда
МенеджерОбъекта = ?(ЭтоОтчет, Отчеты, Обработки); МенеджерОбъекта = ?(ЭтоОтчет, Отчеты, Обработки);
ОбработкаОтчетОбъект = МенеджерОбъекта[ЧастиИмени[1]].Создать(); Возврат МенеджерОбъекта[ЧастиИмени[1]].Создать();
ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
Возврат;
КонецЕсли; КонецЕсли;
ЭтоВнешняяОбработка = ВРег(ЧастиИмени[0]) = "ВНЕШНЯЯОБРАБОТКА"; ЭтоВнешняяОбработка = ВРег(ЧастиИмени[0]) = "ВНЕШНЯЯОБРАБОТКА";
ЭтоВнешнийОтчет = ВРег(ЧастиИмени[0]) = "ВНЕШНИЙОТЧЕТ"; ЭтоВнешнийОтчет = ВРег(ЧастиИмени[0]) = "ВНЕШНИЙОТЧЕТ";
Если ЭтоВнешняяОбработка Или ЭтоВнешнийОтчет Тогда Если ЭтоВнешняяОбработка Или ЭтоВнешнийОтчет Тогда
ОбработкаОтчетОбъект = ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ЧастиИмени[1]); Возврат ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ЧастиИмени[1]);
ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
Возврат;
КонецЕсли; КонецЕсли;
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверный формат параметра %2 (переданное значение: %1)'"), ИмяПроцедуры, "ИмяПроцедуры"), НСтр("ru = 'Неверный формат параметра %1 (%2) в %3.'"),
Имя, ИмяПараметраМетода, ИмяМетода),
КатегорияОшибки.ОшибкаКонфигурации); КатегорияОшибки.ОшибкаКонфигурации);
КонецПроцедуры КонецФункции
Функция ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ИмяПодключеннойОбработкиОтчета) Функция ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ИмяПодключеннойОбработкиОтчета)
@@ -1818,33 +1848,19 @@
ЧастиИмени = СтрРазделить(ИмяФункции, "."); ЧастиИмени = СтрРазделить(ИмяФункции, ".");
ЭтоПроцедураМодуляОбработки = (ЧастиИмени.Количество() = 4) И ВРег(ЧастиИмени[2]) = "МОДУЛЬОБЪЕКТА"; ЭтоПроцедураМодуляОбработки = (ЧастиИмени.Количество() = 4) И ВРег(ЧастиИмени[2]) = "МОДУЛЬОБЪЕКТА";
Если Не ЭтоПроцедураМодуляОбработки Тогда Если Не ЭтоПроцедураМодуляОбработки Тогда
ПроверитьИмяПроцедуры(ИмяФункции, "ИмяФункции", "ВызватьФункцию");
Результат = ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяФункции, ПараметрыПроцедуры, Истина); Результат = ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяФункции, ПараметрыПроцедуры, Истина);
УстановитьРезультатВызоваФункции(Результат, ПараметрыВыполнения); УстановитьРезультатВызоваФункции(Результат, ПараметрыВыполнения);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭтоОбработка = ВРег(ЧастиИмени[0]) = "ОБРАБОТКА"; ОбработкаОтчетОбъект = ОбработкаОтчетОбъект(ИмяФункции,
ЭтоОтчет = ВРег(ЧастиИмени[0]) = "ОТЧЕТ"; ЧастиИмени, ПараметрыВыполнения, "ИмяФункции", "ВызватьФункцию");
Если ЭтоОбработка Или ЭтоОтчет Тогда
МенеджерОбъекта = ?(ЭтоОтчет, Отчеты, Обработки);
ОбработкаОтчетОбъект = МенеджерОбъекта[ЧастиИмени[1]].Создать();
Результат = ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыПроцедуры, Истина);
УстановитьРезультатВызоваФункции(Результат, ПараметрыВыполнения);
Возврат;
КонецЕсли;
ЭтоВнешняяОбработка = ВРег(ЧастиИмени[0]) = "ВНЕШНЯЯОБРАБОТКА"; ПроверитьИмяПроцедуры(ЧастиИмени[3], "ИмяФункции", "ВызватьФункцию",, ОбработкаОтчетОбъект);
ЭтоВнешнийОтчет = ВРег(ЧастиИмени[0]) = "ВНЕШНИЙОТЧЕТ";
Если ЭтоВнешняяОбработка Или ЭтоВнешнийОтчет Тогда
ОбработкаОтчетОбъект = ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ЧастиИмени[1]);
Результат = ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыПроцедуры, Истина);
УстановитьРезультатВызоваФункции(Результат, ПараметрыВыполнения);
Возврат;
КонецЕсли;
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Результат = ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыПроцедуры, Истина);
НСтр("ru = 'Неверный формат параметра %2 (переданное значение: %1)'"), ИмяФункции, "ИмяФункции"), УстановитьРезультатВызоваФункции(Результат, ПараметрыВыполнения);
КатегорияОшибки.ОшибкаКонфигурации);
КонецПроцедуры КонецПроцедуры
@@ -2209,7 +2225,7 @@
КонецФункции КонецФункции
Функция ВыполнитьФоновоеЗадание(ПараметрыВыполнения, ИмяМетода, Параметры, Ключ, Наименование) Функция ВыполнитьФоновоеЗадание(ПараметрыВыполнения, Параметры, Ключ, Наименование)
Если ТекущийРежимЗапуска() = Неопределено Если ТекущийРежимЗапуска() = Неопределено
И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
@@ -2225,14 +2241,17 @@
КонецЕсли; КонецЕсли;
// Имя процедуры должно быть, как указано в функции ИмяПроцедурыФоновогоЗаданияДлительнойОперации.
Если ПараметрыВыполнения.БезРасширений Тогда Если ПараметрыВыполнения.БезРасширений Тогда
Возврат РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеБезРасширений(ИмяМетода, Параметры, Ключ, Наименование); Возврат РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеБезРасширений(
"ДлительныеОперации.ВыполнитьСКонтекстомКлиента", Параметры, Ключ, Наименование);
ИначеЕсли ПараметрыВыполнения.СРасширениямиБазыДанных Тогда ИначеЕсли ПараметрыВыполнения.СРасширениямиБазыДанных Тогда
Возврат РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(ИмяМетода, Параметры, Возврат РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
Ключ, Наименование); "ДлительныеОперации.ВыполнитьСКонтекстомКлиента", Параметры, Ключ, Наименование);
Иначе Иначе
Возврат ФоновыеЗадания.Выполнить(ИмяМетода, Параметры, Ключ, Наименование); Возврат ФоновыеЗадания.Выполнить("ДлительныеОперации.ВыполнитьСКонтекстомКлиента",
Параметры, Ключ, Наименование);
КонецЕсли; КонецЕсли;
КонецФункции КонецФункции
@@ -2262,6 +2281,45 @@
КонецФункции КонецФункции
Процедура ПроверитьИмяПроцедуры(ИмяПроцедуры, ИмяПараметраМетода, ИмяМетода,
ПараметрыВыполнения = Неопределено, Объект = Неопределено)
ПроверяемоеИмяПроцедуры = ИмяПроцедуры;
Если Объект = Неопределено Тогда
ЧастиИмени = СтрРазделить(ИмяПроцедуры, ".", Истина);
Если ЧастиИмени.Количество() = 4 И ВРег(ЧастиИмени[2]) = "МОДУЛЬОБЪЕКТА" Тогда
Параметры = Новый Структура("ВнешнийОтчетОбработка, ЗапуститьНеВФоне");
Если ТипЗнч(ПараметрыВыполнения) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(Параметры, ПараметрыВыполнения);
КонецЕсли;
Параметры.ЗапуститьНеВФоне = Истина;
Объект = ОбработкаОтчетОбъект(ИмяПроцедуры,
ЧастиИмени, Параметры, "ИмяПроцедуры", "ВызватьПроцедуру");
ПроверяемоеИмяПроцедуры = ЧастиИмени[3];
ИначеЕсли ЧастиИмени.Количество() < 2 Или ЧастиИмени.Количество() > 3 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Некорректное значение параметра %1 (%2) в %3.'"),
ИмяПараметраМетода, ИмяПроцедуры, ИмяМетода);
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
КонецЕсли;
Попытка
СтандартныеПодсистемыСервер.ПроверитьМетодДляВызоваКакПроизвольныйКод(ПроверяемоеИмяПроцедуры, Истина, Объект);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаголовокОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Некорректное значение параметра %1 (%2) в %3:'"),
ИмяПараметраМетода, ИмяПроцедуры, ИмяМетода);
Уточнение = ОбщегоНазначенияКлиентСервер.УточнениеИсключения(ИнформацияОбОшибке, ЗаголовокОшибки);
ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,,, ИнформацияОбОшибке);
КонецПопытки;
КонецПроцедуры
Функция ПодготовитьПараметрыВыполнения(ПереданныйПараметр, ЭтоФункция) Функция ПодготовитьПараметрыВыполнения(ПереданныйПараметр, ЭтоФункция)
Результат = ОбщиеПараметрыВыполненияВФоне(); Результат = ОбщиеПараметрыВыполненияВФоне();
@@ -3458,8 +3516,9 @@
СтатусДлительнойОперации().Выполняется,, ПараметрыВыполнения.АдресРезультата); СтатусДлительнойОперации().Выполняется,, ПараметрыВыполнения.АдресРезультата);
ЗапланироватьЗапускПотоковДлительныхОпераций(РезультатЗапуска, ПараметрыМногопоточнойОперации); ЗапланироватьЗапускПотоковДлительныхОпераций(РезультатЗапуска, ПараметрыМногопоточнойОперации);
// Имя процедуры должно быть, как указано в функции ИмяМетодаМногопоточногоПроцесса.
РезультатЗапуска = ВыполнитьФункцию(ПараметрыВыполнения, РезультатЗапуска = ВыполнитьФункцию(ПараметрыВыполнения,
ИмяМетодаМногопоточногоПроцесса(), ПараметрыМногопоточнойОперации); "ДлительныеОперации.ВыполнитьМногопоточныйПроцесс", ПараметрыМногопоточнойОперации);
Если РезультатЗапуска.Статус <> СтатусДлительнойОперации().Выполняется Тогда Если РезультатЗапуска.Статус <> СтатусДлительнойОперации().Выполняется Тогда
УдалитьДанныеОПотоках(ИдентификаторПроцесса); УдалитьДанныеОПотоках(ИдентификаторПроцесса);
@@ -3564,8 +3623,9 @@
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
ПараметрыВыполнения.ЭтоПерезапускУправляющегоПотока = Истина; ПараметрыВыполнения.ЭтоПерезапускУправляющегоПотока = Истина;
// Имя процедуры должно быть, как указано в функции ИмяМетодаМногопоточногоПроцесса.
РезультатЗапуска = ВыполнитьФункцию(ПараметрыВыполнения, РезультатЗапуска = ВыполнитьФункцию(ПараметрыВыполнения,
ИмяМетодаМногопоточногоПроцесса(), ПараметрыОперации); "ДлительныеОперации.ВыполнитьМногопоточныйПроцесс", ПараметрыОперации);
Если Не ЗначениеЗаполнено(РезультатЗапуска.ИдентификаторЗадания) Тогда Если Не ЗначениеЗаполнено(РезультатЗапуска.ИдентификаторЗадания) Тогда
ВызватьИсключение(НСтр("ru = 'Пустой идентификатор фонового задания.'"), ВызватьИсключение(НСтр("ru = 'Пустой идентификатор фонового задания.'"),
@@ -3731,4 +3791,81 @@
#КонецОбласти #КонецОбласти
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьФункцию";
ИсключениеПроверки.ФрагментСодержания = "Возврат ВыполнитьВФоне(ИмяФункции, ПараметрыВызова, ПараметрыВыполнения)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПроцедуру";
ИсключениеПроверки.ФрагментСодержания = "Возврат ВыполнитьВФоне(ИмяПроцедуры, ПараметрыВызова, ПараметрыВыполнения)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьПроцедуру";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьПроцедуру";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьФункцию";
ИсключениеПроверки.ФрагментСодержания = "Результат = ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяФункции, ПараметрыПроцедуры, Истина)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьФункцию";
ИсключениеПроверки.ФрагментСодержания = "Результат = ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыПроцедуры, Истина)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьМногопоточныйПроцесс";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяМетодаПолученияПорций, ПараметрыПолученияПорций)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПоток";
ИсключениеПроверки.ФрагментСодержания = "РезультатЗапуска = ВыполнитьВФоне(ПараметрыОперации.ИмяМетода, ПараметрыМетода, ПараметрыВыполнения)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПроцедуруМодуляОбъектаОтчета";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодОбъекта(Отчет, Параметры.ИмяМетода, ПараметрыМетода)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПроцедуруМодуляОбъектаОбработки";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодОбъекта(Обработка, Параметры.ИмяМетода, ПараметрыМетода)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ЗапуститьВыполнениеВФоне";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяЭкспортнойПроцедуры, ПараметрыЭкспортнойПроцедуры)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ДлительныеОперации";
ИсключениеПроверки.ИмяПроцедуры = "ЗапуститьВыполнениеВФоне";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяЭкспортнойПроцедуры, ПараметрыЭкспортнойПроцедуры)";
КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ВыполнитьМногопоточныйПроцесс", Истина);
Методы.Вставить("ВыполнитьСКонтекстомКлиента", Истина);
Методы.Вставить("ВыполнитьПроцедуруМодуляОбъектаОбработки", Истина);
Методы.Вставить("ВыполнитьПроцедуруМодуляОбъектаОтчета", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3421,4 +3421,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ОбработчикКомандыЗаполнения");
Методы.Вставить("ВыполнитьКоманду", Истина);
Методы.Вставить("ВыполнитьОбработкуПоРегламентномуЗаданию", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1760,4 +1760,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПрочитатьСобытияЖурналаРегистрации", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -245,4 +245,15 @@
Возврат НСтр("ru = 'Да'"); Возврат НСтр("ru = 'Да'");
КонецФункции КонецФункции
// Имя событие для записи в журнал регистрации.
//
// Возвращаемое значение:
// Строка - событие журнала регистрации
//
Функция СобытиеЖурналаРегистрации() Экспорт
Возврат НСтр("ru = 'Загрузка данных из файла'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецФункции
#КонецОбласти #КонецОбласти
@@ -2925,4 +2925,21 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаполнитьДанныеОбновленияРегистровДляУничтоженияПерсональныхДанных");
Методы.Вставить("УстановитьРасписаниеРегламентногоЗаданияРасчетСроковХраненияПерсональныхДанных");
Методы.Вставить("ПеренестиЗащищаемыеОбластиПерсональныхДанных");
Методы.Вставить("ЗаполнитьДанныеОбновленияРасписанияРегламентногоЗаданияРасчетСроковХраненияПерсональныхДанных");
Методы.Вставить("ЗаполнитьРегистрыДляУничтоженияПерсональныхДанных");
Методы.Вставить("ЗаполнитьДанныеОбновленияОбластейПерсональныхДанных");
Методы.Вставить("ОбновитьСрокХраненияПерсональныхДанныхСубъекта", Истина);
Методы.Вставить("ОбновитьСрокиХраненияПерсональныхДанных", Истина);
Методы.Вставить("ПрочитатьСобытияДоступаКПерсональнымДанным", Истина);
Методы.Вставить("ИзменитьНастройкиУничтоженияПерсональныхДанных", Истина);
Методы.Вставить("РассчитатьСрокиХраненияПерсональныхДанных", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -40,6 +40,7 @@
События.Вставить("ПередЗапускомПрограммы", Ложь); События.Вставить("ПередЗапускомПрограммы", Ложь);
События.Вставить("ПриДобавленииСерверныхОповещений", Ложь); События.Вставить("ПриДобавленииСерверныхОповещений", Ложь);
События.Вставить("ПриПериодическомПолученииДанныхКлиентаНаСервере", Ложь); События.Вставить("ПриПериодическомПолученииДанныхКлиентаНаСервере", Ложь);
События.Вставить("ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод", Ложь);
// Банки // Банки
События.Вставить("ПриОпределенииНастроекЗагрузкиКлассификатораБанков"); События.Вставить("ПриОпределенииНастроекЗагрузкиКлассификатораБанков");
@@ -2377,6 +2378,50 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
СтандартныеПодсистемыСервер.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
ДлительныеОперации.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
ОбновлениеИнформационнойБазыСлужебный.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
МодульКонтрольВеденияУчетаСлужебный = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчетаСлужебный");
МодульКонтрольВеденияУчетаСлужебный.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
МодульСервисКриптографииDSSСлужебный.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБТС().ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод Тогда
МодульИнтеграцияПодсистемБТС = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБТС");
МодульИнтеграцияПодсистемБТС.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБИП().ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод Тогда
МодульИнтеграцияПодсистемБИП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБИП");
МодульИнтеграцияПодсистемБИП.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиПлюс().ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод Тогда
МодульИнтеграцияПодсистемПлюс = МодульИнтеграцияПодсистемПлюс();
МодульИнтеграцияПодсистемПлюс.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБЭД().ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод Тогда
МодульИнтеграцияПодсистемБЭД = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБЭД");
МодульИнтеграцияПодсистемБЭД.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область Банки #Область Банки
@@ -459,4 +459,11 @@
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОперативноеОбновлениеОбщихДанных");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1520,4 +1520,18 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьИспользованиеНесколькихПроизводственныхКалендарей");
Методы.Вставить("ОбновитьДанныеПроизводственныхКалендарей");
Методы.Вставить("ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей");
Методы.Вставить("ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
Методы.Вставить("СброситьВерсиюКлассификатора");
Методы.Вставить("ОбновитьПроизводственныеКалендари");
Методы.Вставить("ИсправитьДанныеЗависимыхКалендарей");
Методы.Вставить("ОбновитьДанныеЗависимыхПроизводственныхКалендарей");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3130,4 +3130,11 @@
ШрифтыСтиля.ВажнаяНадписьШрифт, ЦветаСтиля.РезультатУспехЦвет, ПоискСУчетомУровней); ШрифтыСтиля.ВажнаяНадписьШрифт, ЦветаСтиля.РезультатУспехЦвет, ПоискСУчетомУровней);
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗапуститьПоискВСпискеПолей", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1312,4 +1312,11 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ВыполнитьПроверку", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -176,6 +176,28 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
ИменаПроцедур = Новый Соответствие;
ОписаниеПроверок = КонтрольВеденияУчетаСлужебныйПовтИсп.ПроверкиВеденияУчета();
Для Каждого Проверка Из ОписаниеПроверок.Проверки Цикл
ИменаПроцедур.Вставить(Проверка.ОбработчикПроверки);
КонецЦикла;
ОписаниеОбработчика = Настройки.ОписаниеОбработчиков.Добавить();
ОписаниеОбработчика.ИменаПроцедур = ИменаПроцедур;
ОписаниеОбработчика.ЗаголовокОшибки = НСтр("ru = 'Обработчик проверки ведения учета ""%1"".'");
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.КонтрольВеденияУчетаСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПроверку";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(СтрокаПроверки.ОбработчикПроверки, ПараметрыОбработчика)";
КонецПроцедуры
// Обновляет состав системных проверок ведения учета при изменении конфигурации. // Обновляет состав системных проверок ведения учета при изменении конфигурации.
// //
// Параметры: // Параметры:
@@ -4761,4 +4783,22 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьВспомогательныеДанныеПоИзменениямКонфигурации");
Методы.Вставить("ПроверитьНезаполненныеОбязательныеРеквизиты");
Методы.Вставить("ПроверитьНаличиеПредопределенныхУзловПлановОбмена");
Методы.Вставить("ПроверитьДублированиеПредопределенныхЭлементов");
Методы.Вставить("ПроверитьОтсутствующиеПредопределенныеЭлементы");
Методы.Вставить("ПроверитьЦиклическиеСсылки");
Методы.Вставить("ПроверитьСсылочнуюЦелостность");
Методы.Вставить("ВыполнитьПроверки", Истина);
Методы.Вставить("ВыполнитьПроверку", Истина);
Методы.Вставить("ПроверитьОбъект", Истина);
Методы.Вставить("ИсправитьПроблемуЦиклическихСсылокВФоновомЗадании", Истина);
Методы.Вставить("ПроверитьВедениеУчета", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -5753,4 +5753,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановитьПараметрСеансаПараметрыАвторизацииВРаспределенномРеестре");
Методы.Вставить("ОбновитьИПрочитатьСтатусДоверенностей", Истина);
Методы.Вставить("ОбновлениеСтатусовМЧД", Истина);
Методы.Вставить("ОбновитьКлассификаторыМЧД", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -8,20 +8,6 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция РеквизитыПредставителяСталиНеобязательными() Экспорт
Если ПолучитьДопустимыеЧасовыеПояса().Найти("Europe/Moscow") <> Неопределено Тогда
ЧасовойПоясМосквы = "Europe/Moscow";
Иначе
ЧасовойПоясМосквы = "GMT+3";
КонецЕсли;
МосковскоеВремя = НачалоДня(МестноеВремя(ТекущаяУниверсальнаяДата(), ЧасовойПоясМосквы));
Возврат МосковскоеВремя >= Дата(2026, 2, 1);
КонецФункции
Функция ЗагрузитьДоверенностьИзРеестра(Знач НомерДоверенности, Знач ИННДоверителя, Знач ИННПредставителя, ТокенДоступа = "") Экспорт Функция ЗагрузитьДоверенностьИзРеестра(Знач НомерДоверенности, Знач ИННДоверителя, Знач ИННПредставителя, ТокенДоступа = "") Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа); Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа);
@@ -172,9 +172,6 @@
Назначение = НазначениеДоверенностиДляПроверкиРеквизитов(); Назначение = НазначениеДоверенностиДляПроверкиРеквизитов();
КонецЕсли; КонецЕсли;
НеобязательныйРеквизит = Назначение.ТипУчастника = ПредопределенноеЗначение("Перечисление.ТипыУчастниковМЧД.Доверитель")
Или МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.РеквизитыПредставителяСталиНеобязательными();
Реквизиты = Новый СписокЗначений; Реквизиты = Новый СписокЗначений;
Реквизиты.Добавить("ЭтоИндивидуальныйПредприниматель", Реквизиты.Добавить("ЭтоИндивидуальныйПредприниматель",
НСтр("ru = 'Это индивидуальный предприниматель'"), Истина); НСтр("ru = 'Это индивидуальный предприниматель'"), Истина);
@@ -202,11 +199,11 @@
Реквизиты.Добавить("ДатаРождения", НСтр("ru = 'Дата рождения'"), Реквизиты.Добавить("ДатаРождения", НСтр("ru = 'Дата рождения'"),
Назначение.ТипУчастника = ПредопределенноеЗначение("Перечисление.ТипыУчастниковМЧД.Доверитель")); Назначение.ТипУчастника = ПредопределенноеЗначение("Перечисление.ТипыУчастниковМЧД.Доверитель"));
Реквизиты.Добавить("ДокументВид", НСтр("ru = 'Вид документа'"), НеобязательныйРеквизит); Реквизиты.Добавить("ДокументВид", НСтр("ru = 'Вид документа'"), Истина);
Реквизиты.Добавить("ДокументНомер", НСтр("ru = 'Серия и номер'"), НеобязательныйРеквизит); Реквизиты.Добавить("ДокументНомер", НСтр("ru = 'Серия и номер'"), Истина);
Реквизиты.Добавить("ДокументКемВыдан", НСтр("ru = 'Кем выдан'"), НеобязательныйРеквизит); Реквизиты.Добавить("ДокументКемВыдан", НСтр("ru = 'Кем выдан'"), Истина);
Реквизиты.Добавить("ДокументДатаВыдачи", НСтр("ru = 'Дата выдачи'"), НеобязательныйРеквизит); Реквизиты.Добавить("ДокументДатаВыдачи", НСтр("ru = 'Дата выдачи'"), Истина);
Реквизиты.Добавить("ДокументКодПодразделения", НСтр("ru = 'Код подразделения'"), НеобязательныйРеквизит); Реквизиты.Добавить("ДокументКодПодразделения", НСтр("ru = 'Код подразделения'"), Истина);
Реквизиты.Добавить("ДокументСрокДействия", НСтр("ru = 'Срок действия'"), Истина); Реквизиты.Добавить("ДокументСрокДействия", НСтр("ru = 'Срок действия'"), Истина);
Реквизиты.Добавить("Гражданство", НСтр("ru = 'Гражданство'"), Не Назначение.ДляНалоговыхОрганов); Реквизиты.Добавить("Гражданство", НСтр("ru = 'Гражданство'"), Не Назначение.ДляНалоговыхОрганов);
Реквизиты.Добавить("БезГражданства", НСтр("ru = 'Без гражданства'"), Истина); Реквизиты.Добавить("БезГражданства", НСтр("ru = 'Без гражданства'"), Истина);
@@ -3290,4 +3290,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ИзменитьЯзыкВМультиязычныхРеквизитахКонфигурации", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -239,4 +239,11 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("Подключаемый_ПереместитьЭлемент");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -7082,4 +7082,12 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ДанныеОбновленыНаНовуюВерсиюПрограммы");
Методы.Вставить("ПерезапуститьОтложенноеОбновление", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -44,7 +44,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.11.428"; Описание.Версия = "3.1.11.448";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1916,6 +1916,104 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
Обработчики = ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления();
ОписанияПодсистем = СтандартныеПодсистемыПовтИсп.ОписанияПодсистем();
Для Каждого ИмяПодсистемы Из ОписанияПодсистем.Порядок Цикл
ОписаниеПодсистемы = ОписанияПодсистем.ПоИменам.Получить(ИмяПодсистемы);
Если Не ЗначениеЗаполнено(ОписаниеПодсистемы.ОсновнойСерверныйМодуль) Тогда
Продолжить;
КонецЕсли;
Модуль = ОбщегоНазначения.ОбщийМодуль(ОписаниеПодсистемы.ОсновнойСерверныйМодуль);
Модуль.ПриДобавленииОбработчиковОбновления(Обработчики);
КонецЦикла;
ИменаПроцедур = Новый Соответствие;
Для Каждого Обработчик Из Обработчики Цикл
Если ЗначениеЗаполнено(Обработчик.Процедура) Тогда
ИменаПроцедур.Вставить(Обработчик.Процедура);
КонецЕсли;
Если ЗначениеЗаполнено(Обработчик.ПроцедураПроверки) Тогда
ИменаПроцедур.Вставить(Обработчик.ПроцедураПроверки);
КонецЕсли;
Если ЗначениеЗаполнено(Обработчик.ПроцедураЗаполненияДанныхОбновления) Тогда
ИменаПроцедур.Вставить(Обработчик.ПроцедураЗаполненияДанныхОбновления);
КонецЕсли;
КонецЦикла;
ОписаниеОбработчика = Настройки.ОписаниеОбработчиков.Добавить();
ОписаниеОбработчика.ИменаПроцедур = ИменаПроцедур;
ОписаниеОбработчика.ЗаголовокОшибки = НСтр("ru = 'Обработчик обновления информационной базы ""%1"".'");
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ПеререгистрироватьДанныеДляОтложенногоОбновления";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.ПроцедураЗаполненияДанныхОбновления, ПараметрыОбработчика)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ЗаполнитьДанныеДляПараллельногоОтложенногоОбновления";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.ПроцедураЗаполненияДанныхОбновления, ПараметрыОбработчика)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ЗаполнитьДанныеОтложенногоОбработчика";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеОбрабатываемыхДанных.ПроцедураЗаполнения, ПараметрыОбработчика)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ПерейтиСДругойПрограммы";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ПерейтиСДругойПрограммы";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьОбработчикОбновления";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ОтменитьВыполнениеВсехПотоков";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПриОтменеПотока, ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ЗавершитьПотокиВыполнившиеФЗ";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПроцедураЗавершения, ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ЗавершитьПотокиВыполнившиеФЗ";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПриАварийномЗавершении, ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьПоток";
ИсключениеПроверки.ФрагментСодержания = "РезультатЗапуска = ДлительныеОперации.ВыполнитьВФоне(ОписаниеПотока.Процедура,
| Поток.ПараметрыПроцедуры,
| ПараметрыВыполнения)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьОтложенныйОбработчик";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбновлениеИнформационнойБазы";
ИсключениеПроверки.ИмяПроцедуры = "ОбъектОбработан";
ИсключениеПроверки.ФрагментСодержания = "Обработан = ОбщегоНазначения.ВыполнитьМетодКонфигурации(СвойстваОбработчика.ПроцедураПроверки,
| ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(МетаданныеИОтбор), Истина)";
КонецПроцедуры
Функция НастройкиПодсистемы() Экспорт Функция НастройкиПодсистемы() Экспорт
ПараметрыСообщенияОНевыполненныхОтложенныхОбработчиках = Новый Структура; ПараметрыСообщенияОНевыполненныхОтложенныхОбработчиках = Новый Структура;
@@ -2591,6 +2689,19 @@
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
Функция ЗагрузитьИУстановитьИсправления() Экспорт
Результат = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ПолучениеОбновленийПрограммы") Тогда
МодульПолучениеОбновленийПрограммы = ОбщегоНазначения.ОбщийМодуль("ПолучениеОбновленийПрограммы");
Результат = МодульПолучениеОбновленийПрограммы.ЗагрузитьИУстановитьИсправления();
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ОпределитьДанныеЗаполнения(Знач ПредопределенныеДанные, Знач СтрокаТаблицы, Знач ПоляИсключения, Знач ЗаполняемыеРеквизиты = Неопределено) Функция ОпределитьДанныеЗаполнения(Знач ПредопределенныеДанные, Знач СтрокаТаблицы, Знач ПоляИсключения, Знач ЗаполняемыеРеквизиты = Неопределено)
ТолькоЗаполняемыеРеквизиты = ?(ТипЗнч(ЗаполняемыеРеквизиты) = Тип("Соответствие"), ЗаполняемыеРеквизиты.Количество() > 0, Ложь); ТолькоЗаполняемыеРеквизиты = ?(ТипЗнч(ЗаполняемыеРеквизиты) = Тип("Соответствие"), ЗаполняемыеРеквизиты.Количество() > 0, Ложь);
@@ -12602,4 +12713,40 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ЗаписатьПодтверждениеЛегальностиПолученияОбновлений");
Методы.Вставить("ПустаяПроцедураРегистрации");
Методы.Вставить("НачальноеЗаполнениеПредопределенныхДанных");
Методы.Вставить("УстановитьКлючРегламентногоЗадания");
Методы.Вставить("ОчиститьУстаревшиеДанныеПолностью");
Методы.Вставить("ПриАварийномЗавершенииПотокаОтложенногоОбработчика");
Методы.Вставить("ПриОтменеПотокаОтложенногоОбработчика");
Методы.Вставить("ПриАварийномЗавершенииПотокаПоискаПорцииДляОбновления");
Методы.Вставить("ПриОтменеПотокаПоискаПорцииДляОбновления");
Методы.Вставить("ОбработчикПроверкиВеденияУчета");
Методы.Вставить("ЗаполнитьДанныеОтложенногоОбработчика", Истина);
Методы.Вставить("ЗавершитьРегистрациюДанныхОтложенногоОбновления", Истина);
Методы.Вставить("ВыполнитьОтложенныйОбработчик", Истина);
Методы.Вставить("ЗавершитьВыполнениеОтложенногоОбработчика", Истина);
Методы.Вставить("НайтиПорциюДляОбновления", Истина);
Методы.Вставить("ЗавершитьПоискПорцииДляОбновления", Истина);
Методы.Вставить("УстаревшиеДанныеПриЗапросеПорцийВФоне", Истина);
Методы.Вставить("УстаревшиеДанныеПриОчисткеПорцииВФоне", Истина);
Методы.Вставить("ОбновлениеПодОграниченнымиПравами", Истина);
Методы.Вставить("ЗапускРегистрацииДанныхОтложенногоОбновления", Истина);
Методы.Вставить("СформироватьСписокУстаревшихДанныхВФоне", Истина);
Методы.Вставить("ОчиститьУстаревшиеДанныеВФоне", Истина);
Методы.Вставить("ВыполнитьОбновлениеИнформационнойБазыВФоне", Истина);
Методы.Вставить("Пауза", Истина);
Методы.Вставить("УстановитьПорядокОтложенногоОбновления", Истина);
Методы.Вставить("ВыполнитьОтложенноеОбновление", Истина);
Методы.Вставить("ЗагрузитьИУстановитьИсправления", Истина);
Методы.Вставить("ОчисткаУстаревшихДанных", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -794,9 +794,10 @@
Если Не МонопольныйРежим() Тогда Если Не МонопольныйРежим() Тогда
ОбъектМетаданных = Метаданные.РегламентныеЗадания.Найти("ОбновлениеОбластейДанных"); ОбъектМетаданных = Метаданные.РегламентныеЗадания.Найти("ОбновлениеОбластейДанных");
Задание = РегламентныеЗаданияСервер.ПолучитьРегламентноеЗадание(ОбъектМетаданных); Задание = РегламентныеЗаданияСервер.ПолучитьРегламентноеЗадание(ОбъектМетаданных);
ИмяЗадания = ОбъектМетаданных.Имя;
// АПК:280-выкл обработка исключения не требуется // АПК:280-выкл обработка исключения не требуется
Попытка Попытка
ФоновыеЗадания.Выполнить(Задание.Метаданные.ИмяМетода, , Задание.Ключ, Задание.Наименование); ФоновыеЗадания.Выполнить(Метаданные.РегламентныеЗадания[ИмяЗадания].ИмяМетода,, Задание.Ключ, Задание.Наименование);
Исключение Исключение
// Значит задание уже запущено. // Значит задание уже запущено.
// Обработка исключения не требуется. // Обработка исключения не требуется.
@@ -1391,4 +1392,11 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновлениеОбластейДанных", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1449,4 +1449,11 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОписанияНовыхПатчей", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -360,4 +360,12 @@
КонецПроцедуры КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаблокироватьНедействительныхПользователейВСистемеВзаимодействий");
Методы.Вставить("ПользователиДляБлокировкиВСистемеВзаимодействий");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1793,7 +1793,8 @@
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверное значение параметра %1 в %2. Общий модуль ""%3"" не существует.'"), НСтр("ru = 'Неверное значение параметра %1 в %2. Общий модуль ""%3"" не существует.'"),
"Имя", "ОбщегоНазначения.ОбщийМодуль", Имя), "Имя", "ОбщегоНазначения.ОбщийМодуль", Имя),
КатегорияОшибки.ОшибкаКонфигурации); КатегорияОшибки.ОшибкаКонфигурации,
"СтандартныеПодсистемы.БазоваяФункциональность.ЭтоОшибкаПолученияОбщегоМодуляПоИмени");
КонецЕсли; КонецЕсли;
Возврат Модуль; Возврат Модуль;
@@ -6505,6 +6506,17 @@
КатегорияОшибки.ОшибкаКонфигурации); КатегорияОшибки.ОшибкаКонфигурации);
КонецПопытки; КонецПопытки;
Попытка
СтандартныеПодсистемыСервер.ПроверитьМетодДляВызоваКакПроизвольныйКод(ИмяМетода,, Объект);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаголовокОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неправильное значение параметра %1 (%2) в %3:'"),
"ИмяМетода", ИмяМетода, "ОбщегоНазначения.ВыполнитьМетодОбъекта");
Уточнение = ОбщегоНазначенияКлиентСервер.УточнениеИсключения(ИнформацияОбОшибке, ЗаголовокОшибки);
ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,,, ИнформацияОбОшибке);
КонецПопытки;
ПрофильБезопасностиИБ = СтандартныеПодсистемыСервер.ПрофильБезопасностиДляВыполнитьВычислить(); ПрофильБезопасностиИБ = СтандартныеПодсистемыСервер.ПрофильБезопасностиДляВыполнитьВычислить();
Если ЗначениеЗаполнено(ПрофильБезопасностиИБ) Тогда Если ЗначениеЗаполнено(ПрофильБезопасностиИБ) Тогда
УстановитьБезопасныйРежим(ПрофильБезопасностиИБ); УстановитьБезопасныйРежим(ПрофильБезопасностиИБ);
@@ -9855,7 +9867,8 @@
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверное значение параметра %1 в функции %2. Объект метаданных ""%3"" не существует.'"), НСтр("ru = 'Неверное значение параметра %1 в функции %2. Объект метаданных ""%3"" не существует.'"),
"Имя", "ОбщегоНазначения.СерверныйМодульМенеджера", Имя), "Имя", "ОбщегоНазначения.СерверныйМодульМенеджера", Имя),
КатегорияОшибки.ОшибкаКонфигурации); КатегорияОшибки.ОшибкаКонфигурации,
"СтандартныеПодсистемы.БазоваяФункциональность.ЭтоОшибкаПолученияМодуляМенеджераПоИмени");
КонецЕсли; КонецЕсли;
// АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно. // АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
@@ -10513,6 +10526,17 @@
КатегорияОшибки.ОшибкаКонфигурации); КатегорияОшибки.ОшибкаКонфигурации);
КонецПопытки; КонецПопытки;
Попытка
СтандартныеПодсистемыСервер.ПроверитьМетодДляВызоваКакПроизвольныйКод(ИмяПроцедуры);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаголовокОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неправильное значение параметра %1 (передано значение: ""%2"") в %3:'"),
"ИмяПроцедуры", ИмяПроцедуры, "ОбщегоНазначения.ВыполнитьМетодКонфигурации");
Уточнение = ОбщегоНазначенияКлиентСервер.УточнениеИсключения(ИнформацияОбОшибке, ЗаголовокОшибки);
ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,,, ИнформацияОбОшибке);
КонецПопытки;
КонецПроцедуры КонецПроцедуры
// Возвращает менеджер объекта по имени. // Возвращает менеджер объекта по имени.
@@ -11076,6 +11100,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЕстьСсылкиНаОбъект", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -462,4 +462,45 @@
#КонецОбласти #КонецОбласти
// Уточняет проверку методов, используемых при статическом поиске имен процедур и функций,
// которые указываются в параметрах процедур и функций, описанных в комментарии к процедуре
// СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод.
// Используется в отчете ПроверкаВнедренийБСП, чтобы учесть случаи, когда
// подсистемы допускают передачу полных имен обработчиков в качестве параметров,
// например, обработчиков установки параметров сеанса, обработчиков обновления
// информационной базы и др.
// Смотри также ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
//
// Параметры:
// Настройки - Структура:
// * ОписаниеОбработчиков - ТаблицаЗначений:
// ** ИменаПроцедур - Соответствие из КлючИЗначение
// *** Ключ - см. ОбщегоНазначения.ВыполнитьМетодКонфигурации.ИмяМетода
// *** Значение - Неопределено, Булево - если Истина, тогда требуется разрешение на запуск в фоне.
// ** ЗаголовокОшибки - Строка - заголовок ошибки с параметром для полного имени процедуры обработчика.
// * ИсключенияПроверки - ТаблицаЗначений:
// ** ПолноеИмяОбъекта - Строка - имя общего модуля, например, "ОбщийМодуль.ОбщегоНазначения",
// имя объекта метаданных (модуль менеджера), например, "Справочник.Организации",
// или имя модуля объекта обработки или отчета, например, "Отчет.ПроверкаВнедренияБСП.МодульОбъекта".
// ** ИмяПроцедуры - Строка - имя процедуры или функции, объявленной в модуле.
// ** ФрагментСодержания - Строка - фрагмент содержания места вызова, которые нужно пропустить.
// Фрагменты содержания указаны в подробном тексте ошибки отчета ПроверкаВнедренияБСП.
//
// Пример:
// Обработчики = Новый Соответствие;
// ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики);
//
// ИменаПроцедур = Новый Соответствие;
// Для Каждого КлючИЗначение Из Обработчики Цикл
// ИменаПроцедур.Вставить(КлючИЗначение.Значение);
// КонецЦикла;
//
// ОписаниеОбработчика = Настройки.ОписаниеОбработчиков.Добавить();
// ОписаниеОбработчика.ИменаПроцедур = ИменаПроцедур;
// ОписаниеОбработчика.ЗаголовокОшибки = НСтр("ru = 'Обработчик установки параметров сеанса ""%1"".'");
//
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -746,6 +746,19 @@
#КонецОбласти #КонецОбласти
// АПК:547-выкл инструкция препроцессора допустима, так как в выполняемом коде нет обращения к модулям.
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("РасчетныеПоказателиЯчеек", Истина);
КонецПроцедуры
// АПК:547-вкл
#КонецЕсли
#КонецЕсли #КонецЕсли
#КонецОбласти #КонецОбласти
@@ -1451,4 +1451,12 @@
КонецЕсли; КонецЕсли;
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЭкспортОценкиПроизводительности", Истина);
Методы.Вставить("ОчиститьРегистрыЗамерыВремени", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -979,4 +979,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("УстановитьЗначенияКонстанты_3_1_3_38");
Методы.Вставить("ПервоначальноеЗаполнение");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -557,6 +557,17 @@
Возврат ОперативноеОбновлениеОбщихДанных(Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений")); Возврат ОперативноеОбновлениеОбщихДанных(Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений"));
КонецФункции КонецФункции
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ПодключаемыеКоманды";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьКоманду";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик, ПараметрыЭкспортнойПроцедуры)";
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбновлениеИнформационнойБазы #Область ОбновлениеИнформационнойБазы
@@ -1792,4 +1803,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОперативноеОбновлениеОбщихДанныхКонфигурации");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -919,12 +919,8 @@
ОписаниеПодчиненногоОбъекта, ИспользуемыеСвязи); ОписаниеПодчиненногоОбъекта, ИспользуемыеСвязи);
КонецЦикла; КонецЦикла;
ПараметрыМетодаПоиска = Новый Массив; Модуль = ОбщегоНазначения.ОбщийМодуль(ОписаниеПодчиненногоОбъекта.ИмяМодуляМетодаПоиска);
ПараметрыМетодаПоиска.Добавить(ПарыЗамен); Модуль.ПриПоискеЗаменыСсылок(ПарыЗамен, НеподобранныеЗамены);
ПараметрыМетодаПоиска.Добавить(НеподобранныеЗамены);
ОбщегоНазначения.ВыполнитьМетодКонфигурации(
ОписаниеПодчиненногоОбъекта.ИмяМодуляМетодаПоиска + ".ПриПоискеЗаменыСсылок",
ПараметрыМетодаПоиска);
КонецПроцедуры КонецПроцедуры
@@ -938,4 +934,12 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ЗаменитьСсылки", Истина);
Методы.Вставить("ОпределитьМестаИспользования", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -596,4 +596,13 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ИнициализироватьФункциональнуюОпциюПолнотекстовыйПоиск");
Методы.Вставить("ОбновлениеИндексаППДПоРасписанию", Истина);
Методы.Вставить("СлияниеИндексаППДПоРасписанию", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -12074,4 +12074,17 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ЗаполнитьИерархиюГруппПользователей");
Методы.Вставить("ОбновитьПредопределенныеВидыКонтактнойИнформацииПользователей");
Методы.Вставить("ПереименоватьКлючХраненияРешенияПоОткрытиюВнешнихОтчетовИОбработок");
Методы.Вставить("ПеренестиНастройкиДлиныИСложностиПаролейКонфигуратора");
Методы.Вставить("ЗаполнитьСпискиНастроек", Истина);
Методы.Вставить("ЗаполнитьПочтуДляВосстановленияПароляУПользователейВФоне", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -650,4 +650,53 @@
#КонецОбласти #КонецОбласти
#Область НастройкаРазрешенийНаИспользованиеВнешнихРесурсов
Процедура ВыполнитьОбработкуЗапросов(Знач ИдентификаторыЗапросов, Знач АдресВременногоХранилища,
Знач АдресВременногоХранилищаСостояния, Знач ДобавитьОчисткуЗапросовПередПрименением = Ложь) Экспорт
Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ВыполнитьОбработкуЗапросов(
ИдентификаторыЗапросов,
АдресВременногоХранилища,
АдресВременногоХранилищаСостояния,
ДобавитьОчисткуЗапросовПередПрименением);
КонецПроцедуры
Процедура ВыполнитьОбработкуЗапросовОбновления(Знач АдресВременногоХранилища,
Знач АдресВременногоХранилищаСостояния) Экспорт
Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ВыполнитьОбработкуЗапросовОбновления(
АдресВременногоХранилища, АдресВременногоХранилищаСостояния);
КонецПроцедуры
Процедура ВыполнитьОбработкуЗапросовОтключения(Знач АдресВременногоХранилища,
Знач АдресВременногоХранилищаСостояния) Экспорт
Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ВыполнитьОбработкуЗапросовОтключения(
АдресВременногоХранилища, АдресВременногоХранилищаСостояния);
КонецПроцедуры
Процедура ВыполнитьОбработкуЗапросовВосстановления(Знач АдресВременногоХранилища,
Знач АдресВременногоХранилищаСостояния) Экспорт
Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ВыполнитьОбработкуЗапросовВосстановления(
АдресВременногоХранилища, АдресВременногоХранилищаСостояния);
КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ВыполнитьОбработкуЗапросов", Истина);
Методы.Вставить("ВыполнитьОбработкуЗапросовОбновления", Истина);
Методы.Вставить("ВыполнитьОбработкуЗапросовОтключения", Истина);
Методы.Вставить("ВыполнитьОбработкуЗапросовВосстановления", Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти #КонецОбласти
@@ -5379,4 +5379,17 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ВыявитьУстаревшиеАдреса");
Методы.Вставить("ПроверитьАдресаНаСоответствиеАдресномуКлассификатору");
Методы.Вставить("ПроверитьАдресаНаТипЗданияЛитер");
Методы.Вставить("ИсправитьУстаревшиеАдресаВФоне", Истина);
Методы.Вставить("ИсправитьНекорректныеАдресаВФоне", Истина);
Методы.Вставить("ИсправитьТипЗданияЛитерВАдресахВФоне", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -583,4 +583,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьКурсВалюты", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -183,10 +183,10 @@
#КонецОбласти #КонецОбласти
// Локализация
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Локализация
// Возвращает список разрешений для загрузки курсов валют из внешних ресурсов. // Возвращает список разрешений для загрузки курсов валют из внешних ресурсов.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -200,7 +200,15 @@
КонецФункции КонецФункции
#КонецОбласти
// Конец Локализация // Конец Локализация
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПриЗагрузкеАктуальныхКурсов", Истина);
// Локализация
// Конец Локализация
КонецПроцедуры
#КонецОбласти
@@ -234,8 +234,7 @@
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПослеЗагрузкиДанных. // См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПослеЗагрузкиДанных.
Процедура ПослеЗагрузкиДанных(Контейнер) Экспорт Процедура ПослеЗагрузкиДанных(Контейнер) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ПоставляемыеДанные") Тогда Если ОбщегоНазначения.РазделениеВключено() Тогда
// Создаем связи между разделенными и неразделенными валютами, копируем курсы.
ОбновитьКурсыВалют(); ОбновитьКурсыВалют();
КонецЕсли; КонецЕсли;
@@ -1321,23 +1321,8 @@
Результат = Новый Массив; Результат = Новый Массив;
Для Каждого Вложение Из КоллекцияВложений Цикл Для Каждого Вложение Из КоллекцияВложений Цикл
ОписаниеВложения = ОписаниеВложения(); ОписаниеВложения = ОписаниеВложения();
Если ТипЗнч(КоллекцияВложений) = Тип("СписокЗначений") Тогда ДвоичныеДанные = ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище);
ОписаниеВложения.Представление = Вложение.Представление; ЗаполнитьЗначенияСвойств(ОписаниеВложения, Вложение, , "АдресВоВременномХранилище");
ДвоичныеДанные = Неопределено;
Если ТипЗнч(Вложение.Значение) = Тип("ДвоичныеДанные") Тогда
ДвоичныеДанные = Вложение.Значение;
Иначе
Если ЭтоАдресВременногоХранилища(Вложение.Значение) Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Вложение.Значение);
Иначе
ПутьКФайлу = Вложение.Значение;
ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу);
КонецЕсли;
КонецЕсли;
Иначе // ТипЗнч(Параметры.Вложения) = "массив структур"
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище);
ЗаполнитьЗначенияСвойств(ОписаниеВложения, Вложение, , "АдресВоВременномХранилище");
КонецЕсли;
ОписаниеВложения.АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор); ОписаниеВложения.АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор);
Результат.Добавить(ОписаниеВложения); Результат.Добавить(ОписаниеВложения);
КонецЦикла; КонецЦикла;
@@ -2913,4 +2898,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПолучениеСтатусовЭлектронныхПисем", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2469,4 +2469,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьПутьТомаLinux");
Методы.Вставить("ЗаполнитьНастройкиХраненияФайлов");
Методы.Вставить("УстановитьСпособФормированияПутиТома");
Методы.Вставить("ПроверкаСсылокНаНесуществующиеФайлыВТоме");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -9649,6 +9649,20 @@
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
БезопасноеРасширение = РасширениеДляИзвлеченияТекстаКорректное(Расширение);
Если Не БезопасноеРасширение Тогда
Результат.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
Результат.ТекстХранилище = Новый ХранилищеЗначения("");
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииИзвлеченияТекста(),
УровеньЖурналаРегистрации.Предупреждение,,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку
(НСтр("ru = 'Попытка извлечения текста из файла с недопустимым расширением: %1'"), Расширение));
Возврат Результат;
КонецЕсли;
// Текст извлекается сразу, а не в регламентном задании. // Текст извлекается сразу, а не в регламентном задании.
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение);
ДвоичныеДанные.Записать(ИмяВременногоФайла); ДвоичныеДанные.Записать(ИмяВременногоФайла);
@@ -9656,7 +9670,7 @@
Попытка Попытка
УдалитьФайлы(ИмяВременногоФайла); УдалитьФайлы(ИмяВременногоФайла);
Исключение Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Извлечение текста'", ОбщегоНазначения.КодОсновногоЯзыка()), ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииИзвлеченияТекста(),
УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
@@ -9664,6 +9678,22 @@
КонецФункции КонецФункции
Функция РасширениеДляИзвлеченияТекстаКорректное(Расширение)
Если Расширение = Неопределено Или ПустаяСтрока(Расширение) Тогда
Возврат Истина;
КонецЕсли;
НедопустимыеСимволы = ОбщегоНазначенияКлиентСервер.НайтиНедопустимыеСимволыВИмениФайла(Расширение);
Если НедопустимыеСимволы.Количество() > 0
Или СтрДлина(Расширение) > 20 Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Функция ИзвлечьТекстИзФайлаНаДиске(Знач ИмяФайла, Знач Кодировка = Неопределено) Экспорт Функция ИзвлечьТекстИзФайлаНаДиске(Знач ИмяФайла, Знач Кодировка = Неопределено) Экспорт
ИзвлеченныйТекст = ""; ИзвлеченныйТекст = "";
@@ -9739,7 +9769,7 @@
Попытка Попытка
УдалитьФайлы(ИмяВременногоФайла); УдалитьФайлы(ИмяВременногоФайла);
Исключение Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Извлечение текста'", ОбщегоНазначения.КодОсновногоЯзыка()), ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииИзвлеченияТекста(),
УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
@@ -9815,6 +9845,12 @@
КонецФункции КонецФункции
Функция СобытиеЖурналаРегистрацииИзвлеченияТекста()
Возврат НСтр("ru = 'Файлы.Извлечение текста'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецФункции
#КонецОбласти #КонецОбласти
#Область ОбработчикиПодписокНаСобытия #Область ОбработчикиПодписокНаСобытия
@@ -10080,4 +10116,21 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("КоличествоВерсийСНеизвлеченнымТекстом", Истина);
Методы.Вставить("СведенияОбОчищаемыхФайлах", Истина);
Методы.Вставить("СоздатьСерверныйНачальныйОбразНаСервере", Истина);
Методы.Вставить("СоздатьФайловыйНачальныйОбразНаСервере", Истина);
Методы.Вставить("ОсвободитьЗахваченныеФайлыФон", Истина);
Методы.Вставить("ИзвлечьТекстИзФайловНаСервере", Истина);
Методы.Вставить("ОчиститьНенужныеФайлы", Истина);
Методы.Вставить("РегламентнаяСинхронизацияФайловWebdav", Истина);
Методы.Вставить("ОбновитьСписокЗапрещенныхРасширений");
Методы.Вставить("ОбновитьСписокРасширенийТекстовыхФайлов");
Методы.Вставить("ОбновитьСписокЗапрещенныхРасширенийВОбластиДанных");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -501,4 +501,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбработатьОчередьИзвлеченияТекста", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -5441,4 +5441,17 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановитьКоличествоМесяцевХраненияИсторииРассылкиОтчетов");
Методы.Вставить("РезультатФормированияПорцииОтчетов", Истина);
Методы.Вставить("ВыполнитьОчисткуИсторииРассылкиОтчетовВФоновомЗадании", Истина);
Методы.Вставить("ВыполнитьРассылкиВФоновомЗадании", Истина);
Методы.Вставить("ВыполнитьРассылкиSMSСПаролямиАрхивовРассылкиОтчетовВФоновомЗадании", Истина);
Методы.Вставить("ОчиститьУстаревшиеЗаписиИсторииРассылкиОтчетов", Истина);
Методы.Вставить("ВыполнитьРассылкуПоРасписанию", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -679,7 +679,12 @@
Иначе Иначе
НаименованиеФоновогоЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запуск вручную: %1'"), ПредставлениеРегламентногоЗадания(Задание)); НаименованиеФоновогоЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запуск вручную: %1'"), ПредставлениеРегламентногоЗадания(Задание));
// Не используются длительные операции, т.к. делается вызов метода регламентного задания. // Не используются длительные операции, т.к. делается вызов метода регламентного задания.
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(Задание.Метаданные.ИмяМетода, Задание.Параметры, Строка(Задание.УникальныйИдентификатор), НаименованиеФоновогоЗадания); ИмяЗадания = Задание.Метаданные.Имя;
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
Метаданные.РегламентныеЗадания[ИмяЗадания].ИмяМетода,
Задание.Параметры,
Строка(Задание.УникальныйИдентификатор),
НаименованиеФоновогоЗадания);
ПараметрыВыполнения.ИдентификаторФоновогоЗадания = Строка(ФоновоеЗадание.УникальныйИдентификатор); ПараметрыВыполнения.ИдентификаторФоновогоЗадания = Строка(ФоновоеЗадание.УникальныйИдентификатор);
ПараметрыВыполнения.МоментЗапуска = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор).Начало; ПараметрыВыполнения.МоментЗапуска = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор).Начало;
ПараметрыВыполнения.ЗапускВыполнен = Истина; ПараметрыВыполнения.ЗапускВыполнен = Истина;
@@ -1114,4 +1119,12 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("СформироватьТаблицуРегламентныхЗаданий", Истина);
Методы.Вставить("ЗаполнитьТаблицуСвойствФоновыхЗаданийВФоне", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -76,6 +76,7 @@
// - Соответствие из КлючИЗначение: // - Соответствие из КлючИЗначение:
// * Ключ - УникальныйИдентификатор - идентификатор пользователя ИБ. // * Ключ - УникальныйИдентификатор - идентификатор пользователя ИБ.
// * Значение - Массив из см. СерверныеОповещения.КлючСеанса // * Значение - Массив из см. СерверныеОповещения.КлючСеанса
// - Массив из Строка - если в массиве есть "*", тогда для всех сеансов пользователя.
// //
// ОтправитьСразу - Булево - если Истина, попытаться сразу отправить сообщение // ОтправитьСразу - Булево - если Истина, попытаться сразу отправить сообщение
// через систему взаимодействия перед добавлением в очередь. // через систему взаимодействия перед добавлением в очередь.
@@ -1757,7 +1758,8 @@
Формат(ТекущийСеанс.НомерСеанса, "ЧГ="), Формат(ТекущийСеанс.НомерСеанса, "ЧГ="),
Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT")) + ")"; Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT")) + ")";
ФоновыеЗадания.Выполнить(ИмяМетодаЗаданияДоставкиСерверныхОповещенийСОтсрочкой(),,, НаименованиеЗадания); // Имя процедуры должно быть, как указано в функции ИмяМетодаЗаданияДоставкиСерверныхОповещенийСОтсрочкой.
ФоновыеЗадания.Выполнить("СерверныеОповещения.ДоставкаСерверныхОповещенийСОтсрочкой",,, НаименованиеЗадания);
Запущено = Истина; Запущено = Истина;
@@ -2903,4 +2905,12 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОтправкаСерверныхОповещенийКлиентам", Истина);
Методы.Вставить("ДоставкаСерверныхОповещенийСОтсрочкой", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -189,6 +189,17 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.СервисКриптографииDSSСлужебный";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьВФоне";
ИсключениеПроверки.ФрагментСодержания = "Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ПараметрыПроцедуры, ПараметрыВыполнения)";
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ПоставляемыеДанные #Область ПоставляемыеДанные
@@ -7468,4 +7479,64 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ОбновитьКэшСертификатов");
Методы.Вставить("АутентификацияПоСертификату", Истина);
Методы.Вставить("АутентификацияПоЛогину", Истина);
Методы.Вставить("Зашифровать", Истина);
Методы.Вставить("СертификатыРасшифрования", Истина);
Методы.Вставить("ХешированиеДанных", Истина);
Методы.Вставить("СоздатьТранзакцию", Истина);
Методы.Вставить("Расшифровать", Истина);
Методы.Вставить("Подписать", Истина);
Методы.Вставить("ПодписатьПакет", Истина);
Методы.Вставить("УсовершенствоватьПодпись", Истина);
Методы.Вставить("ВалидацияПинКодаСертификата", Истина);
Методы.Вставить("ПолучитьДанныеСертификата", Истина);
Методы.Вставить("ПолучитьСвойстваСертификата", Истина);
Методы.Вставить("ОбновитьДанныеСертификатов", Истина);
Методы.Вставить("СоздатьЗапросНаСертификат", Истина);
Методы.Вставить("СписокЗапросовНаСертификат", Истина);
Методы.Вставить("ПолучитьЗапросНаСертификат", Истина);
Методы.Вставить("УдалитьЗапросНаСертификат", Истина);
Методы.Вставить("УстановитьСертификат", Истина);
Методы.Вставить("НазначитьОсновнымСертификат", Истина);
Методы.Вставить("СменитьПинКодСертификата", Истина);
Методы.Вставить("ПроверитьСертификат", Истина);
Методы.Вставить("ПолучитьСведенияОПодписантах", Истина);
Методы.Вставить("ПроверитьПодпись", Истина);
Методы.Вставить("ОбновитьПолитикуПользователя", Истина);
Методы.Вставить("ПолучитьОписаниеСервиса", Истина);
Методы.Вставить("ВыполнитьЗапросКСервису", Истина);
Методы.Вставить("НайтиСертификат", Истина);
Методы.Вставить("СостояниеУчетнойЗаписи", Истина);
Методы.Вставить("ПодготовитьТранзакцию", Истина);
Методы.Вставить("ПолучитьЗаписиАудита", Истина);
Методы.Вставить("ЗагрузитьДокумент", Истина);
Методы.Вставить("ЗагрузитьПакетДокументов", Истина);
Методы.Вставить("ИнформацияОДокументеПоИдентификатору", Истина);
Методы.Вставить("ИнформацияОДокументеПоХешу", Истина);
Методы.Вставить("ПолучитьОбработанныйДокумент", Истина);
Методы.Вставить("ИзменитьИнформациюОДокументе", Истина);
Методы.Вставить("ПривязатьДокумент", Истина);
Методы.Вставить("ПолучитьИнформациюДокументаКонвертации", Истина);
Методы.Вставить("УдалитьДокумент", Истина);
Методы.Вставить("СоздатьЗакрытыйКлюч", Истина);
Методы.Вставить("УстановитьПараметрЗакрытогоКлюча", Истина);
Методы.Вставить("ПолучитьПараметрЗакрытогоКлюча", Истина);
Методы.Вставить("ПодписатьАсинхронно", Истина);
Методы.Вставить("ПолучитьОбработанныеДокументы", Истина);
Методы.Вставить("ЗашифроватьАсинхронно", Истина);
Методы.Вставить("РасшифроватьАсинхронно", Истина);
Методы.Вставить("СертификатыРасшифрованияАсинхронно", Истина);
Методы.Вставить("СведенияОбОперации", Истина);
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2380,5 +2380,14 @@
Возврат СтрСоединить(RestЗапрос, Символы.ПС); Возврат СтрСоединить(RestЗапрос, Символы.ПС);
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановитьПараметрСеансаПараметрыАвторизацииВСервисеМобильнойПодписи");
Методы.Вставить("ОтправитьНаПодписание", Истина);
Методы.Вставить("ПолучениеРезультатовИзСервисаМобильнойПодписи", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -943,4 +943,11 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ДанныеСклонения", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1160,4 +1160,18 @@
#КонецОбласти #КонецОбласти
// Параметры:
// ИмяМодуля - Строка
//
// Возвращаемое значение:
// ФиксированноеСоответствие, Неопределено
//
Функция МетодыРазрешенныеДляВызоваКакПроизвольныйКод(ИмяМодуля) Экспорт
Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля);
Возврат СтандартныеПодсистемыСервер.МетодыРазрешенныеДляВызоваКакПроизвольныйКод(Модуль);
КонецФункции
#КонецОбласти #КонецОбласти
@@ -610,6 +610,87 @@
#Область ДляВызоваИзДругихПодсистем #Область ДляВызоваИзДругихПодсистем
// Возвращает настройки, используемые при статическом поиске имен процедур и функций,
// которые указываются в параметрах процедур и функций, описанных в комментарии
// к процедуре ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод.
// Используется в отчете ПроверкаВнедренийБСП.erf, чтобы учесть случаи, когда
// подсистемы допускают передачу полных имен обработчиков в качестве параметров,
// например, обработчиков установки параметров сеанса, обработчиков обновления
// информационной базы и др.
// Смотри также ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
//
// Возвращаемое значение:
// см. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.Настройки
//
Функция НастройкиПроверкиМетодовВызываемыхКакПроизвольныйКод() Экспорт
ОписаниеОбработчиков = Новый ТаблицаЗначений;
ОписаниеОбработчиков.Колонки.Добавить("ИменаПроцедур", Новый ОписаниеТипов("Соответствие"));
ОписаниеОбработчиков.Колонки.Добавить("ЗаголовокОшибки", Новый ОписаниеТипов("Строка"));
ИсключенияПроверки = Новый ТаблицаЗначений;
ИсключенияПроверки.Колонки.Добавить("ПолноеИмяОбъекта", Новый ОписаниеТипов("Строка"));
ИсключенияПроверки.Колонки.Добавить("ИмяПроцедуры", Новый ОписаниеТипов("Строка"));
ИсключенияПроверки.Колонки.Добавить("ФрагментСодержания", Новый ОписаниеТипов("Строка"));
Настройки = Новый Структура;
Настройки.Вставить("ОписаниеОбработчиков", ОписаниеОбработчиков);
Настройки.Вставить("ИсключенияПроверки", ИсключенияПроверки);
ИнтеграцияПодсистемБСП.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
Попытка
ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПроцедураУказана = СтрНайти(ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке),
"(" + "ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод" + ")") = 0;
Если ПроцедураУказана Тогда
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
Возврат Настройки;
КонецФункции
// Заполняет имена процедур и функций модуля, которые можно вызывать как по имени,
// как произвольный код, или запускать в фоне.
// Процедуры и функции могут вызываться по имени, как произвольный код, из
// • ОбщегоНазначения.ВыполнитьМетодКонфигурации,
// • ОбщегоНазначения.ВыполнитьМетодОбъекта.
// Процедуры и функции могут запускаться в фоне из
// • ДлительныеОперации.ВыполнитьВФоне,
// • ДлительныеОперации.ВыполнитьФункцию,
// • ДлительныеОперации.ВыполнитьПроцедуру,
// • ДлительныеОперации.ВыполнитьФункциюВНесколькоПотоков,
// • ДлительныеОперации.ВыполнитьПроцедуруВНесколькоПотоков,
// • ФоновыеЗадания.Выполнить,
// • РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных,
// • РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеБезРасширений.
//
// Параметры:
// Методы - Соответствие:
// * Ключ - Строка - имя процедуры или функции в модуле.
// * Значение - Неопределено, Булево - если Истина, тогда можно запускать в фоне.
//
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ВключитьКонстантуДоставлятьСерверныеОповещенияБезСистемыВзаимодействия");
Методы.Вставить("ПометитьЗаписиКэшаВерсийНеактуальными");
Методы.Вставить("УстановитьРасписаниеЗапускаСервисовИнтеграции");
Методы.Вставить("ВключитьКонстантуРазрешитьДоступКИнтернетСервисам");
Методы.Вставить("УстановитьКонстантуНеИспользоватьРазделениеПоОбластямДанных");
Методы.Вставить("СравнитьТаблицы", Истина);
Методы.Вставить("ОбновитьДатуПоследнегоИспользованияВерсииРасширений", Истина);
Методы.Вставить("ДобавитьНовуюВерсиюРасширений", Истина);
Методы.Вставить("УстановитьПоследнююВерсиюРасширений", Истина);
Методы.Вставить("ЗаполнитьВсеПараметрыРаботыРасширенийФоновоеЗадание", Истина);
Методы.Вставить("ЗаполнениеПараметровРаботыРасширений", Истина);
Методы.Вставить("УдалениеУстаревшихПараметровРаботыВерсийРасширенийОбработчикЗадания", Истина);
Методы.Вставить("ОбработкаСервисовИнтеграции", Истина);
КонецПроцедуры
// Добавляет показатель производительности в обработчиках события // Добавляет показатель производительности в обработчиках события
// ПриДобавленииПараметровРаботыКлиентаПриЗапуске, ПриДобавленииПараметровРаботыКлиента. // ПриДобавленииПараметровРаботыКлиентаПриЗапуске, ПриДобавленииПараметровРаботыКлиента.
// //
@@ -2606,6 +2687,56 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
// Обработчики установки параметров сеанса.
ИменаПроцедур = Новый Соответствие;
Обработчики = Новый Соответствие;
ИнтеграцияПодсистемБСП.ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики);
Для Каждого КлючИЗначение Из Обработчики Цикл
ИменаПроцедур.Вставить(КлючИЗначение.Значение);
КонецЦикла;
Обработчики = Новый Соответствие;
ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики);
Для Каждого КлючИЗначение Из Обработчики Цикл
ИменаПроцедур.Вставить(КлючИЗначение.Значение);
КонецЦикла;
ОписаниеОбработчика = Настройки.ОписаниеОбработчиков.Добавить();
ОписаниеОбработчика.ИменаПроцедур = ИменаПроцедур;
ОписаниеОбработчика.ЗаголовокОшибки = НСтр("ru = 'Обработчик установки параметров сеанса ""%1"".'");
// Обработчики регламентных заданий.
ИменаПроцедур = Новый Соответствие;
Для Каждого РегламентноеЗадание Из Метаданные.РегламентныеЗадания Цикл
ИменаПроцедур.Вставить(РегламентноеЗадание.ИмяМетода, Истина);
КонецЦикла;
ОписаниеОбработчика = Настройки.ОписаниеОбработчиков.Добавить();
ОписаниеОбработчика.ИменаПроцедур = ИменаПроцедур;
ОписаниеОбработчика.ЗаголовокОшибки = НСтр("ru = 'Обработчик регламентного задания (ручной запуск) ""%1"".'");
// Исключения.
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбщегоНазначения";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьФункциюКонфигурации";
ИсключениеПроверки.ФрагментСодержания = "Возврат ВыполнитьМетодКонфигурации(ИмяМетода, Параметры, Истина)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.ОбщегоНазначения";
ИсключениеПроверки.ИмяПроцедуры = "ВызватьФункциюОбъекта";
ИсключениеПроверки.ФрагментСодержания = "Возврат ВыполнитьМетодОбъекта(Объект, ИмяМетода, Параметры, Истина)";
ИсключениеПроверки = Настройки.ИсключенияПроверки.Добавить();
ИсключениеПроверки.ПолноеИмяОбъекта = "ОбщийМодуль.СтандартныеПодсистемыСервер";
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьОбработчикиУстановкиПараметровСеанса";
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик, ПараметрыОбработчика)";
КонецПроцедуры
// Формирует текст для вывода пользователю при необходимости динамического обновления. // Формирует текст для вывода пользователю при необходимости динамического обновления.
// //
// Параметры: // Параметры:
@@ -5971,6 +6102,179 @@
#КонецОбласти #КонецОбласти
// Параметры:
// ПолноеИмяМетода - Строка
// ВФоне - Булево
// Объект - Произвольный
// Текст - Произвольный - если указан не Null, тогда установить текст ошибки и не вызывать исключение.
//
Процедура ПроверитьМетодДляВызоваКакПроизвольныйКод(ПолноеИмяМетода, ВФоне = Ложь, Объект = Неопределено, Текст = Null) Экспорт
Если Не ПроверятьВызовыМетодовКакПроизвольныйКод() И Текст = Null Тогда
Возврат;
КонецЕсли;
Если Объект <> Неопределено Тогда
Результат = МетодыРазрешенныеДляВызоваКакПроизвольныйКод(Объект);
ИмяМетода = ПолноеИмяМетода;
Иначе
ЧастиИмени = СтрРазделить(ПолноеИмяМетода, ".", Истина);
Если ЧастиИмени.Количество() = 3 Тогда
ИмяМодуля = ЧастиИмени[0] + "." + ЧастиИмени[1];
ИмяМетода = ЧастиИмени[2];
Иначе
ИмяМодуля = ЧастиИмени[0];
ИмяМетода = ЧастиИмени[1];
КонецЕсли;
Попытка
Результат = СтандартныеПодсистемыПовтИсп.МетодыРазрешенныеДляВызоваКакПроизвольныйКод(ИмяМодуля);
Исключение
Если Текст <> Null И ОбщегоНазначенияКлиентСервер.ЭтоИсключениеСКодомОшибки(ИнформацияОбОшибке(),
"СтандартныеПодсистемы.БазоваяФункциональность.ЭтоОшибкаПолученияОбщегоМодуляПоИмени
|СтандартныеПодсистемы.БазоваяФункциональность.ЭтоОшибкаПолученияМодуляМенеджераПоИмени") Тогда
Возврат;
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
Если ТипЗнч(Результат) = Тип("ФиксированноеСоответствие") Тогда
ИспользованиеМетода = Результат.Получить(ИмяМетода);
Если ВФоне И ИспользованиеМетода = Истина
Или Не ВФоне И ИспользованиеМетода <> Неопределено Тогда
Возврат;
КонецЕсли;
ПроцедураОпределена = Истина;
Иначе
ПроцедураОпределена = Ложь;
КонецЕсли;
ВызовЗапрещен = Текст <> Null Или ЗапрещенВызовЛюбыхМетодовКакПроизвольныйКод(ПроцедураОпределена);
Если Не ВызовЗапрещен И Не ПроцедураОпределена Тогда
УровеньЖурнала = УровеньРегистрацииВызововНеуказанныхМетодовКакПроизвольныйКод();
Если УровеньЖурнала = Неопределено Тогда
Возврат;
КонецЕсли;
Иначе
УровеньЖурнала = УровеньЖурналаРегистрации.Ошибка;
КонецЕсли;
Если Объект <> Неопределено Тогда
ИмяМодуля = Объект.Метаданные().ПолноеИмя() + "." + "МодульОбъекта";
КонецЕсли;
Если ВФоне И ПроцедураОпределена Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Метод ""%1"" не разрешен для запуска в фоне в процедуре ""%2"" модуля ""%3"".'"),
ИмяМетода, "ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод", ИмяМодуля);
ИначеЕсли Не ВФоне И ПроцедураОпределена Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Метод ""%1"" не разрешен для вызова, как произвольный код, в процедуре ""%2"" модуля ""%3"".'"),
ИмяМетода, "ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод", ИмяМодуля);
ИначеЕсли ВФоне И Не ПроцедураОпределена Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Метод ""%1"" не разрешен для запуска в фоне в процедуре ""%2"" модуля ""%3"" (процедура не определена).'"),
ИмяМетода, "ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод", ИмяМодуля);
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Метод ""%1"" не разрешен для вызова, как произвольный код, в процедуре ""%2"" модуля ""%3"" (процедура не определена).'"),
ИмяМетода, "ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод", ИмяМодуля);
КонецЕсли;
Если Текст <> Null Тогда
Текст = ТекстОшибки;
Возврат;
КонецЕсли;
Если ВызовЗапрещен Тогда
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
Попытка
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
КонецПопытки;
ИмяСобытия = НСтр("ru = 'Безопасность.Метод не разрешен для вызова, как произвольный код'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурнала,, ИмяМодуля + "." + ИмяМетода,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПроцедуры
// Параметры:
// Модуль - Произвольный - ссылка на общий модуль, модуль менеджера, объект.
//
// Возвращаемое значение:
// ФиксированноеСоответствие, Неопределено
//
Функция МетодыРазрешенныеДляВызоваКакПроизвольныйКод(Модуль) Экспорт
Методы = Новый Соответствие;
Попытка
Модуль.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПроцедураНеУказана = СтрНайти(ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке),
"(" + "ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод" + ")") > 0;
Если ПроцедураНеУказана Тогда
Возврат Неопределено;
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Результат = Новый Соответствие;
Для Каждого КлючИЗначение Из Методы Цикл
Результат.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение = Истина);
КонецЦикла;
Возврат Новый ФиксированноеСоответствие(Результат);
КонецФункции
// Включает проверку вызовов методов в режиме 1С:Предприятие и в отчете ПроверкаВнедренияБСП.
// Можно переопределить с помощью расширения для обнаружения мест, требующих настройки.
//
// Возвращаемое значение:
// Булево
//
Функция ПроверятьВызовыМетодовКакПроизвольныйКод() Экспорт
Возврат Ложь;
КонецФункции
// Позволяет блокировать вызов методов, которые не разрешены для вызова, как произвольный код.
// Требуется указать Истина в функции ПроверятьВызовыМетодовКакПроизвольныйКод.
//
// Параметры:
// ПроцедураОпределена - Булево - если Ложь, тогда в модуле еще не определена
// процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод, что позволяет
// включить запрет только тогда, когда процедура определена в модуле, а не безусловно.
//
// Возвращаемое значение:
// Булево
//
Функция ЗапрещенВызовЛюбыхМетодовКакПроизвольныйКод(ПроцедураОпределена)
Возврат Ложь;
КонецФункции
// Возвращает уровень журнала регистрации, если требуется регистрировать вызываемые методы,
// когда не определена процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод.
// Можно переопределить с помощью расширения для обнаружения случаев (путем автоматизированного
// тестирования), которые нельзя обнаружить статическим анализом кода с помощью
// отчета ПроверкаВнедренияБСП.erf (смотри ПроверятьВызовыМетодовКакПроизвольныйКод).
//
// Возвращаемое значение:
// УровеньЖурналаРегистрации, Неопределено
//
Функция УровеньРегистрацииВызововНеуказанныхМетодовКакПроизвольныйКод()
Возврат УровеньЖурналаРегистрации.Ошибка;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -389,4 +389,11 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("СформироватьСписокТекущихДелПользователя", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1759,4 +1759,18 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ВключитьУдалениеПомеченныхОбъектов");
Методы.Вставить("УстановитьРасписаниеУдаленияПомеченных");
Методы.Вставить("ПомеченныеНаУдаление", Истина);
Методы.Вставить("ВыполнитьОбработкуПричинНеудаления", Истина);
Методы.Вставить("УдалитьПомеченныеОбъекты", Истина);
Методы.Вставить("КонтрольУдаленияПомеченныхОбъектов", Истина);
Методы.Вставить("УдалениеПомеченныхПоРасписанию", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -13188,8 +13188,9 @@
Формат(ТекущийСеанс.НомерСеанса, "ЧГ="), Формат(ТекущийСеанс.НомерСеанса, "ЧГ="),
Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT")) + ")"; Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT")) + ")";
// Имя процедуры должно быть, как указано в функции ИмяМетодаЗаданияОбновленияДоступа.
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных( ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
ИмяМетодаЗаданияОбновленияДоступа(), ПараметрыЗадания,, НаименованиеЗадания); Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей.ИмяМетода, ПараметрыЗадания,, НаименованиеЗадания);
Результат.ИдентификаторФоновогоЗадания = ФоновоеЗадание.УникальныйИдентификатор; Результат.ИдентификаторФоновогоЗадания = ФоновоеЗадание.УникальныйИдентификатор;
@@ -15764,7 +15765,9 @@
СвободныйПоток = НовыйПоток(); СвободныйПоток = НовыйПоток();
Параметры = Новый Массив; Параметры = Новый Массив;
Параметры.Добавить(Контекст.ОписаниеОсновногоСеанса); Параметры.Добавить(Контекст.ОписаниеОсновногоСеанса);
СвободныйПоток.ФоновоеЗадание = ФоновыеЗадания.Выполнить(ИмяМетодаПотокаОбновленияДоступа(), Параметры,, // Имя процедуры должно быть, как указано в функции ИмяМетодаПотокаОбновленияДоступа.
СвободныйПоток.ФоновоеЗадание = ФоновыеЗадания.Выполнить(
"УправлениеДоступомСлужебный.ВыполнитьОбновлениеДоступаСпискаВФоне", Параметры,,
НСтр("ru = 'Управление доступом: Поток обновления доступа на уровне записей'", НСтр("ru = 'Управление доступом: Поток обновления доступа на уровне записей'",
ОбщегоНазначения.КодОсновногоЯзыка())); ОбщегоНазначения.КодОсновногоЯзыка()));
СвободныйПоток.ИдентификаторПотока = СвободныйПоток.ФоновоеЗадание.УникальныйИдентификатор; СвободныйПоток.ИдентификаторПотока = СвободныйПоток.ФоновоеЗадание.УникальныйИдентификатор;
@@ -27850,7 +27853,11 @@
ОбщегоНазначения.КодОсновногоЯзыка()), ОбщегоНазначения.КодОсновногоЯзыка()),
Формат(ТекущийСеанс.НомерСеанса, "ЧГ="), Формат(ТекущийСеанс.НомерСеанса, "ЧГ="),
Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT")); Формат(ТекущийСеанс.НачалоСеанса, "ДЛФ=DT"));
ФоновоеЗадание = ФоновыеЗадания.Выполнить(ИмяПроцедуры, ПараметрыПроцедуры,, НаименованиеЗадания); // Имя процедуры должно быть, как указано
// в функции ИмяПроцедурыЗаданияЗаписиНовойВерсииПараметровОграниченияДоступа.
ФоновоеЗадание = ФоновыеЗадания.Выполнить(
"УправлениеДоступомСлужебный.ЗаписатьНовуюВерсиюПараметровОграниченияДоступаВФоне",
ПараметрыПроцедуры,, НаименованиеЗадания);
ФоновоеЗадание = ФоновоеЗадание.ОжидатьЗавершенияВыполнения(60); ФоновоеЗадание = ФоновоеЗадание.ОжидатьЗавершенияВыполнения(60);
Результат = ПолучитьИзВременногоХранилища(АдресРезультата); Результат = ПолучитьИзВременногоХранилища(АдресРезультата);
ЗаголовокОшибки = НСтр("ru = 'Не удалось записать новую версию параметров ограничения доступа по причине:'"); ЗаголовокОшибки = НСтр("ru = 'Не удалось записать новую версию параметров ограничения доступа по причине:'");
@@ -47358,4 +47365,23 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("ОбновитьВспомогательныеДанныеПоИзменениямКонфигурации");
Методы.Вставить("ОбновитьДанныеПрофиляОткрытиеВнешнихОтчетовИОбработок");
Методы.Вставить("ЗаполнитьОбработчикиРазделенныхДанных");
Методы.Вставить("ЗаписатьНовуюВерсиюПараметровОграниченияДоступаВФоне", Истина);
Методы.Вставить("ОбновитьПрогрессВФоне", Истина);
Методы.Вставить("ОбновлениеДоступаНаУровнеЗаписей", Истина);
Методы.Вставить("ЗаполнениеДанныхДляОграниченияДоступаОбработчикЗадания", Истина);
Методы.Вставить("ВключитьРегламентноеЗаданиеОбновленияДоступа", Истина);
Методы.Вставить("ОтключитьРегламентноеЗаданиеОбновленияДоступа", Истина);
Методы.Вставить("ЗаписатьПланированиеОбновленияПараметровОграниченияДоступа", Истина);
Методы.Вставить("ОбновитьВспомогательныеДанныеГруппДоступа", Истина);
Методы.Вставить("ВыполнитьОбновлениеДоступаСпискаВФоне", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -464,4 +464,14 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбновитьИспользованиеРегламентныхЗаданий");
Методы.Вставить("ОбновлениеАгрегатовОбработчикЗадания", Истина);
Методы.Вставить("ПерестроениеАгрегатовОбработчикЗадания", Истина);
Методы.Вставить("УстановкаПериодаРассчитанныхИтоговОбработчикЗадания", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3274,4 +3274,17 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("УстановкаПараметровСеанса");
Методы.Вставить("УстановитьЗначениеПризнакаИспользуется");
Методы.Вставить("ОбновитьНастройкуДобавочногоНомераТелефона");
Методы.Вставить("ОбновитьСуществующиеСтраныМира");
Методы.Вставить("ПроверитьВидыКонтактнойИнформации");
Методы.Вставить("ИсправитьВидыКонтактнойИнформацииВФоне", Истина);
Методы.Вставить("ИсправлениеУстаревшихАдресов", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -4409,7 +4409,19 @@
// Предполагается одна печатная форма, но для обратной совместимости принимается вся коллекция. // Предполагается одна печатная форма, но для обратной совместимости принимается вся коллекция.
Для Каждого ВременнаяПечатнаяФорма Из ВременнаяКоллекцияДляОднойПечатнойФормы Цикл Для Каждого ВременнаяПечатнаяФорма Из ВременнаяКоллекцияДляОднойПечатнойФормы Цикл
Если НЕ ВременнаяПечатнаяФорма.ОфисныеДокументы = Неопределено Тогда Если ТипЗнч(ВременнаяПечатнаяФорма.ОфисныеДокументы) = Тип("Соответствие") Тогда
КоличествоФайлов = 0;
Для Каждого ОфисныйДокумент Из ВременнаяПечатнаяФорма.ОфисныеДокументы Цикл
Если ЭтоАдресВременногоХранилища(ОфисныйДокумент.Ключ) Тогда
КоличествоФайлов = КоличествоФайлов + 1;
КонецЕсли;
КонецЦикла;
Если КоличествоФайлов = 0 Тогда
ВременнаяПечатнаяФорма.ОфисныеДокументы = Неопределено;
КонецЕсли;
ВременнаяПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент; ВременнаяПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
КонецЕсли; КонецЕсли;
@@ -8183,4 +8195,12 @@
КонецФункции КонецФункции
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ДобавитьРольРедактированиеПечатныхФормВПрофилиСБазовымиПравами");
Методы.Вставить("СформироватьПечатныеФормыВФоне", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -5527,4 +5527,11 @@
#КонецОбласти #КонецОбласти
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("СформироватьПечатныеФормы", Истина);
КонецПроцедуры
#КонецОбласти #КонецОбласти
Loaded 100 of 210 files, more files were not shown because too many files have changed in this diff. Show more