This commit is contained in:
Компания 1С committed 2019-06-20 00:20:00 +03:00
1 parent eeef70f7ce
commit 14d622a075
23 files changed
+1343 -163

No files matched your search

@@ -631,7 +631,12 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
МодульУправлениеДоступомСлужебный.УстановитьОбновлениеДоступа(Истина);
ПараметрыПланирования = МодульУправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
ПараметрыПланирования.Описание = "ОбновитьПоследнююВерсиюРасширений";
МодульУправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(
ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Справочник.ИдентификаторыОбъектовМетаданных"),
ПараметрыПланирования);
КонецЕсли;
КонецПроцедуры
@@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Предназначена для автоматического формирования отчетов и доставки сформированных отчетов получателям.</p>
<p><a href="Catalog.РассылкиОтчетов/Help">Рассылки отчетов</a> позволяют автоматизировать процесс получения отчетов так, что, не открывая программу, можно получить в нужное время готовый отчет на свою электронную почту или в определенный каталог в виде файла.</p>
<h3><a name="Реквизиты">Основные</a> сведения</h3>
@@ -39,8 +39,8 @@
</li><li><a name="НаFTP"><strong>На FTP ресурс</strong></a> - отчеты будут сохранены на ftp-сервере. Заполните необходимые <a href="Catalog.РассылкиОтчетов.Form.ПараметрыFTP/Help">параметры</a>.</li></ul></li><li><a name="Проверить"><strong>Проверить</strong></a> - проверка публикации путем записи и удаления тестового файла. Тест считается успешным, если ошибок не возникло.
</li><li><a name="ОтправлятьПоЭлектроннойПочте"><strong>Отправлять по электронной почте</strong></a> - признак использования электронной почты для отправки отчетов (или уведомлений).
</li><li><a name="ВключитьВРассылку"><strong>Укажите</strong></a><strong> получателей</strong> - перейдите по ссылке, для того чтобы заполнить <a href="Catalog.РассылкиОтчетов.Form.ПолучателиРассылки/Help">список получателей</a> и исключений из получателей рассылки. Можно выбирать элементы или группы получателей. После заполнения ссылка принимает вид списка получателей: указывается первый получатель списка.
</li><li>В поле <a name="От"><strong>От</strong></a>из выпадающего списка выберите <a href="Catalog.УчетныеЗаписиЭлектроннойПочты.Form.ФормаЭлемента/Help">учетную запись</a> для отправки. Поле является обязательным для заполнения. Выпадающий список для выбора содержит только элементы <a href="Catalog.УчетныеЗаписиЭлектроннойПочты/Help">списка учетных записей</a>, ввести учетную запись в поле вручную невозможно.
</li><li><a name="ПроверитьЭлектроннуюПочту"><strong>Проверить </strong></a>- проверка учетной записи электронной почты путем отправки тестового сообщения. Тест считается успешным, если ошибокне возникло.
</li><li>В поле <a name="От"><strong>От </strong></a>из выпадающего списка выберите <a href="Catalog.УчетныеЗаписиЭлектроннойПочты.Form.ФормаЭлемента/Help">учетную запись</a> для отправки. Поле является обязательным для заполнения. Выпадающий список для выбора содержит только элементы <a href="Catalog.УчетныеЗаписиЭлектроннойПочты/Help">списка учетных записей</a>, ввести учетную запись в поле вручную невозможно.
</li><li><a name="ПроверитьЭлектроннуюПочту"><strong>Проверить </strong></a>- проверка учетной записи электронной почты путем отправки тестового сообщения. Тест считается успешным, если ошибок не возникло.
</li><li>Если используются оба способа доставки (и публикация, и отправка по почте), то можно указать, что по почте нужно <strong>Отправлять только уведомление</strong> о том, что отчет сформирован. Сами отчеты не будут присоединяться к письму, а будут помещаться в каталог публикации. В этом случае письмо-уведомление будет содержать адрес, по которому находится сформированный отчет.
</li><li>После установки флажка <strong>Отправлять по электронной почте</strong> становятся доступными <a name="ТемаИТекстПисьма"><strong>Тема и текст письма</strong></a>. Могут содержать шаблоны <a name="Параметр"><strong>параметров</strong></a> рассылки. По умолчанию шаблон письма уже сформирован автоматически. Для добавления параметров в письмо нажмите <strong>Параметр</strong>, выберите нужное значение:
<ul><li><strong>[</strong><strong>ДатаВыполнения]</strong> - дата рассылки. Параметр может быть указан в <u><a href="#НаименованиеАрхива">имени архива</a></u>.
@@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Предназначен для подготовки рассылок с целью автоматического формирования <a href="Catalog.ВариантыОтчетов/Help">отчетов</a> и доставки сформированных отчетов получателям.</p>
<p>Открывается по команде <strong>Рассылки отчетов</strong> из раздела <strong>Сервисные подсистемы</strong>.</p>
<p>Программа содержит большое количество отчетов. Зачастую пользователям нужно периодически получать один и тот же отчет. Например, в начале каждого рабочего дня менеджеру нужно видеть текущее состояние взаиморасчетов со своими клиентами. Или в конце каждой недели директор хочет видеть состояние основных финансовых показателей фирмы.</p>
@@ -16,7 +16,7 @@
</li><li><strong>Состояние</strong> - результат последнего запуска рассылки (принимает значение <strong>Выполнена </strong>или <strong>Не выполнена</strong>);
</li><li><strong>Архивировать</strong> - в поле проставляется флажок, если в рассылке установлен флажок <strong>Архивировать в ZIP</strong>;
</li><li><strong>Кому</strong> - указывается справочник, из которого выбирались получатели рассылки;
</li><li><strong>Почтовый адрес </strong>- если отправлялось по электронной почте, в поле проставляется значение<strong>Электронная почта</strong>.</li></ul></li></ul><h3>Ввод рассылки</h3>
</li><li><strong>Почтовый адрес </strong>- если отправлялось по электронной почте, в поле проставляется значение <strong>Электронная почта</strong>.</li></ul></li></ul><h3>Ввод рассылки</h3>
<ul><li>
<div>Нажмите <strong>Создать</strong>, введите необходимые <a href="Catalog.РассылкиОтчетов.Form.ФормаЭлемента/Help">поля</a>.</div></li></ul><h3>Группировка рассылок</h3>
<ul><li>
@@ -264,6 +264,45 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>КлассификаторМеждународноеНаименование</name>
<id>87</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible/>
<dataPath xsi:type="form:DataPath">
<segments>Классификатор.МеждународноеНаименование</segments>
</dataPath>
<extendedTooltip>
<name>КлассификаторМеждународноеНаименованиеРасширеннаяПодсказка</name>
<id>89</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КлассификаторМеждународноеНаименованиеКонтекстноеМеню</name>
<id>88</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<commandBarLocation>Top</commandBarLocation>
<autoCommandBar>
<name>КлассификаторКоманднаяПанель</name>
@@ -1040,6 +1079,26 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>МеждународноеНаименование</name>
<title>
<key>ru</key>
<value>Международное наименование</value>
</title>
<id>8</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>ПоляКлассификатора</name>
@@ -21,7 +21,7 @@
ЗакрыватьПриВыборе = РежимВыбора;
// Служебные реквизиты
ПоляКлассификатора = "Код, Наименование, НаименованиеПолное, КодАльфа2, КодАльфа3, УчастникЕАЭС";
ПоляКлассификатора = "Код, Наименование, НаименованиеПолное, КодАльфа2, КодАльфа3, УчастникЕАЭС, МеждународноеНаименование";
Мета = Метаданные.Справочники.СтраныМира;
ПредставлениеОбъектаКлассификатора = Мета.РасширенноеПредставлениеОбъекта;
@@ -317,6 +317,9 @@
КонецЕсли;
ЭлементНастройки.Использование = Истина;
ОтчетыКлиент.КэшироватьЗначениеОтбора(
Список, ЭлементНастройки.ИдентификаторПользовательскойНастройки, КомпоновщикНастроек);
ОформитьСписок(Элемент, ЭлементНастройки);
КонецПроцедуры
@@ -371,6 +374,9 @@
БиблиотекаКартинок.ВыполнитьЗадачу);
КонецЕсли;
ОтчетыКлиент.КэшироватьЗначениеОтбора(
Список, ЭлементНастройки.ИдентификаторПользовательскойНастройки, КомпоновщикНастроек);
УстановитьМодифицированность();
КонецПроцедуры
@@ -2967,7 +2973,7 @@
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("Отмеченные", ОтчетыКлиентСервер.ЗначенияСписком(ТекущееЗначение, Истина));
ПараметрыОткрытия.Вставить("ОписаниеТипов", Строка.ТипЗначения);
ПараметрыОткрытия.Вставить("ЗначенияДляВыбора", Строка.ДоступныеЗначения);
ПараметрыОткрытия.Вставить("ЗначенияДляВыбора", ЗначенияДляВыбора(Строка));
ПараметрыОткрытия.Вставить("ЗначенияДляВыбораЗаполнены", Строка.ДоступныеЗначения <> Неопределено);
ПараметрыОткрытия.Вставить("ОграничиватьВыборУказаннымиЗначениями", ПараметрыОткрытия.ЗначенияДляВыбораЗаполнены);
ПараметрыОткрытия.Вставить("Представление", Строка.ПредставлениеПользовательскойНастройки);
@@ -2980,6 +2986,35 @@
ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками", ПараметрыОткрытия, ЭтотОбъект,,,, Обработчик, Режим);
КонецПроцедуры
&НаКлиенте
Функция ЗначенияДляВыбора(Строка)
ЗначенияДляВыбора = Строка.ДоступныеЗначения;
Если ЗначенияДляВыбора = Неопределено Тогда
ЗначенияДляВыбора = Новый СписокЗначений;
КонецЕсли;
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
Отчет.КомпоновщикНастроек, ?(Строка.ЭтоПараметр, "ПараметрыДанных", "Отбор"));
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
Если Не ЗначениеЗаполнено(ЭлементНастройки.ИдентификаторПользовательскойНастройки) Тогда
Возврат ЗначенияДляВыбора;
КонецЕсли;
КэшЗначенийОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства, "КэшЗначенийОтборов");
Если КэшЗначенийОтборов = Неопределено Тогда
Возврат ЗначенияДляВыбора;
КонецЕсли;
ЗначениеОтбора = КэшЗначенийОтборов.Получить(ЭлементНастройки.ИдентификаторПользовательскойНастройки);
Если ЗначениеОтбора <> Неопределено Тогда
ЗначенияДляВыбора = ЗначениеОтбора;
КонецЕсли;
Возврат ЗначенияДляВыбора;
КонецФункции
&НаКлиенте
Процедура ЗавершитьВыборИзСписка(Список, ИдентификаторСтроки) Экспорт
Если ТипЗнч(Список) <> Тип("СписокЗначений") Тогда
@@ -3010,6 +3045,9 @@
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
ЗаполнитьЗначенияСвойств(ЭлементНастройки, Строка, "Использование, " + ИмяПоляЗначения);
ОтчетыКлиент.КэшироватьЗначениеОтбора(
Список, ЭлементНастройки.ИдентификаторПользовательскойНастройки, КомпоновщикНастроек);
УстановитьМодифицированность();
КонецПроцедуры
@@ -5268,6 +5306,7 @@
Если РасширенныйРежим = 0 Тогда
ОтчетыСервер.ОбновитьЭлементыФормыНастроек(ЭтотОбъект, Элементы.Основное, ПараметрыОбновления);
ОтчетыСервер.ВосстановитьЗначенияОтборов(ЭтотОбъект);
КонецЕсли;
ОбновитьКоллекцииФормыНастроек();
@@ -6117,10 +6156,7 @@
ДоступныеНастройки.ФиксированныеНастройки = Отчет.КомпоновщикНастроек.ФиксированныеНастройки;
КонецЕсли;
СброситьПользовательскиеНастройки = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыЗагрузки, "СброситьПользовательскиеНастройки", Ложь);
Если СброситьПользовательскиеНастройки Тогда
ДоступныеНастройки.ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
КонецЕсли;
ОтчетыСервер.СброситьПользовательскиеНастройки(ДоступныеНастройки, ПараметрыЗагрузки);
ОтчетОбъект = ОтчетыСервер.ОтчетОбъект(ПараметрыЗагрузки.ОтчетОбъектИлиПолноеИмя);
Если НастройкиОтчета.События.ПередЗагрузкойНастроекВКомпоновщик Тогда
@@ -1114,10 +1114,13 @@
ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов(
Сведения.Описание.ВыборГруппИЭлементов, Условие);
ЗначенияДляВыбора = ЗначенияДляВыбора(
Элемент.СписокВыбора, Сведения.ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки);
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("Отмеченные", ОтчетыКлиентСервер.ЗначенияСписком(ТекущееЗначение));
ПараметрыОткрытия.Вставить("ОписаниеТипов", Элемент.ДоступныеТипы);
ПараметрыОткрытия.Вставить("ЗначенияДляВыбора", Элемент.СписокВыбора);
ПараметрыОткрытия.Вставить("ЗначенияДляВыбора", ЗначенияДляВыбора);
ПараметрыОткрытия.Вставить("ЗначенияДляВыбораЗаполнены", Элемент.СписокВыбора.Количество() > 0);
ПараметрыОткрытия.Вставить("ОграничиватьВыборУказаннымиЗначениями", ПараметрыОткрытия.ЗначенияДляВыбораЗаполнены);
ПараметрыОткрытия.Вставить("Представление", Элемент.Заголовок);
@@ -1130,6 +1133,27 @@
ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками", ПараметрыОткрытия, ЭтотОбъект,,,, Обработчик, Режим);
КонецПроцедуры
&НаКлиенте
Функция ЗначенияДляВыбора(СписокВыбора, ИдентификаторПользовательскойНастройки)
ЗначенияДляВыбора = СписокВыбора;
Если Не ЗначениеЗаполнено(ИдентификаторПользовательскойНастройки) Тогда
Возврат ЗначенияДляВыбора;
КонецЕсли;
КэшЗначенийОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства, "КэшЗначенийОтборов");
Если КэшЗначенийОтборов = Неопределено Тогда
Возврат ЗначенияДляВыбора;
КонецЕсли;
ЗначениеОтбора = КэшЗначенийОтборов.Получить(ИдентификаторПользовательскойНастройки);
Если ЗначениеОтбора <> Неопределено Тогда
ЗначенияДляВыбора = ЗначениеОтбора;
КонецЕсли;
Возврат ЗначенияДляВыбора;
КонецФункции
&НаКлиенте
Процедура ЗавершитьВыборИзСписка(Список, ЭлементПользовательскойНастройки) Экспорт
Если ТипЗнч(Список) <> Тип("СписокЗначений") Тогда
@@ -1149,6 +1173,9 @@
ЭлементПользовательскойНастройки.ПравоеЗначение = ВыбранныеЗначения;
КонецЕсли;
ЭлементПользовательскойНастройки.Использование = Истина;
ОтчетыКлиент.КэшироватьЗначениеОтбора(
Список, ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки, Отчет.КомпоновщикНастроек);
КонецПроцедуры
&НаКлиенте
@@ -1481,6 +1508,8 @@
ВариантМодифицирован = Ложь;
КонецЕсли;
ОтчетыСервер.ВосстановитьЗначенияОтборов(ЭтотОбъект);
УстановитьВидимостьДоступность();
КонецПроцедуры
@@ -1498,11 +1527,7 @@
ЗагрузитьВариант(КлючТекущегоВарианта);
КонецЕсли;
СброситьПользовательскиеНастройки = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ПараметрыЗагрузки, "СброситьПользовательскиеНастройки", Ложь);
Если СброситьПользовательскиеНастройки Тогда
ДоступныеНастройки.ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
КонецЕсли;
ОтчетыСервер.СброситьПользовательскиеНастройки(ДоступныеНастройки, ПараметрыЗагрузки);
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
Если НастройкиОтчета.События.ПередЗагрузкойНастроекВКомпоновщик Тогда
@@ -651,7 +651,7 @@
КомпонентыОбмена.НаправлениеОбмена,
ПравилоОбработки.Имя,
ПравилоКонвертации.ИмяПКО,
ПредставлениеОбъектаДляПротокола(Объект),
ПредставлениеОбъектаДляПротокола(Объект, ПравилоКонвертации.ОбъектДанных),
ИнформацияОбОшибке());
ЗафиксироватьПроблемуПриОбработкеОбъекта(КомпонентыОбмена,
@@ -669,7 +669,7 @@
Контекст.Вставить("НаправлениеОбмена", КомпонентыОбмена.НаправлениеОбмена);
Контекст.Вставить("ИмяПОД", ПравилоОбработки.Имя);
Контекст.Вставить("ИмяПКО", ПравилоКонвертации.ИмяПКО);
Контекст.Вставить("ПредставлениеОбъекта", ПредставлениеОбъектаДляПротокола(Объект));
Контекст.Вставить("ПредставлениеОбъекта", ПредставлениеОбъектаДляПротокола(Объект, ПравилоКонвертации.ОбъектДанных));
ПроверитьОбъектXDTOПоСхеме(ОбъектXDTO, ПравилоКонвертации.ТипXDTO, Контекст, ОшибкаПроверкиПоСхеме, ОписаниеОшибкиПроверкиПоСхеме);
@@ -6026,7 +6026,7 @@
ОписаниеОшибки = ОписаниеОшибкиПОД(
КомпонентыОбмена.НаправлениеОбмена,
ПравилоОбработки.Имя,
ПредставлениеОбъектаДляПротокола(ОбъектОбработки),
ПредставлениеОбъектаДляПротокола(ОбъектОбработки, ПравилоОбработки.ОбъектВыборкиМетаданные),
ИнформацияОбОшибке());
ЗафиксироватьПроблемуПриОбработкеОбъекта(КомпонентыОбмена,
@@ -6276,72 +6276,111 @@
// Функция формирует представление объекта, для записи в протокол обмена.
//
// Параметры:
// Объект - Ссылка - ссылка на любой ОМД.
// - Объект - ОМД.
// - ОбъектXDTO - объект XDTO/
// Объект - Ссылка - ссылка на любой ОМД;
// - Объект - ОМД;
// - ОбъектXDTO - объект XDTO;
// - Структура.
// МетаданныеДляПредставленияСтруктуры - ОбъектМетаданных - метаданные объекта, для которого формируется представление.
//
// Возвращаемое значение:
// Строка - строковое представление объекта.
//
Функция ПредставлениеОбъектаДляПротокола(Объект)
Функция ПредставлениеОбъектаДляПротокола(Объект, МетаданныеДляПредставленияСтруктуры = Неопределено)
ТипОбъекта = ТипЗнч(Объект);
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта);
ПредставлениеОбъекта = Строка(Объект);
НавигационнаяСсылка = "";
Если МетаданныеОбъекта <> Неопределено
И ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
И ЗначениеЗаполнено(Объект.Ссылка) Тогда
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект);
Иначе
Если ТипОбъекта = Тип("ОбъектXDTO") Тогда
КоллекцияСвойств = Объект.Свойства();
ПредставлениеОбъекта = "";
ТипОбъекта = Объект.Тип().Имя;
Если КоллекцияСвойств.Количество() > 0 И КоллекцияСвойств.Получить("КлючевыеСвойства") <> Неопределено Тогда
КлючевыеСвойства = Объект.Получить("КлючевыеСвойства");
КоллекцияСвойств = КлючевыеСвойства.Свойства();
Наименование = "";
Номер = "";
Дата = "";
Код = "";
Если КоллекцияСвойств.Получить("Наименование") <> Неопределено Тогда
Наименование = СокрЛП(КлючевыеСвойства.Получить("Наименование"));
КонецЕсли;
Если КоллекцияСвойств.Получить("Номер") <> Неопределено Тогда
Номер = СокрЛП(КлючевыеСвойства.Получить("Номер"));
КонецЕсли;
Если КоллекцияСвойств.Получить("Дата") <> Неопределено Тогда
Дата = КлючевыеСвойства.Получить("Дата");
КонецЕсли;
Если КоллекцияСвойств.Получить("Код") <> Неопределено Тогда
Код = СокрЛП(КлючевыеСвойства.Получить("Код"));
ИначеЕсли КоллекцияСвойств.Получить("КодВПрограмме") <> Неопределено Тогда
Код = СокрЛП(КлючевыеСвойства.Получить("КодВПрограмме"));
КонецЕсли;
Если ЗначениеЗаполнено(Номер) Тогда
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 №%2 от %3'"), Наименование, Номер, Дата);
ИначеЕсли ЗначениеЗаполнено(Код) Тогда
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1, %2'"), Наименование, Код);
КонецЕсли;
Реквизиты = Новый Структура("Наименование, Код, КодВПрограмме, Номер, Дата");
ЗаполнитьЗначенияСвойств(Реквизиты, КлючевыеСвойства);
ПредставлениеОбъекта = ПредставлениеКоллекцииСвойствДляПротокола(Реквизиты);
КонецЕсли;
ИначеЕсли ТипОбъекта = Тип("Структура") Тогда
Если Объект.Свойство("Ссылка") Тогда
СформироватьПредставлениеДляСтруктуры = Истина;
Если Объект.Свойство("Ссылка")
И ЗначениеЗаполнено(Объект.Ссылка) Тогда
ТипОбъекта = ТипЗнч(Объект.Ссылка);
Если ОбщегоНазначения.ЭтоСсылка(ТипОбъекта) Тогда
ПредставлениеОбъекта = Строка(Объект.Ссылка);
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
КонецЕсли;
СформироватьПредставлениеДляСтруктуры = Ложь;
КонецЕсли;
КонецЕсли;
ШаблонПредставления = НСтр("ru = '%1, %2 (%3)'");
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, ТипОбъекта, ПредставлениеОбъекта, НавигационнаяСсылка);
Если СформироватьПредставлениеДляСтруктуры Тогда
ТипОбъекта = Строка(ТипЗнч(Объект));
Если Не МетаданныеДляПредставленияСтруктуры = Неопределено Тогда
ТипОбъекта = ТипОбъекта + "<" + МетаданныеДляПредставленияСтруктуры.Представление() + ">";
КонецЕсли;
ПредставлениеОбъекта = ПредставлениеКоллекцииСвойствДляПротокола(Объект);
КонецЕсли;
КонецЕсли;
КонецЕсли;
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1, %2 (%3)'"),
ТипОбъекта, ПредставлениеОбъекта, НавигационнаяСсылка);
Возврат ПредставлениеОбъекта;
КонецФункции
Функция ПредставлениеКоллекцииСвойствДляПротокола(КоллекцияСвойств)
Представление = Строка(КоллекцияСвойств);
ЭлементыПредставления = Новый Массив;
ЗначениеСвойства = Неопределено;
Если КоллекцияСвойств.Свойство("Наименование", ЗначениеСвойства)
И ЗначениеЗаполнено(ЗначениеСвойства) Тогда
ЭлементыПредставления.Добавить(СокрЛП(ЗначениеСвойства));
КонецЕсли;
Если КоллекцияСвойств.Свойство("Код", ЗначениеСвойства)
И ЗначениеЗаполнено(ЗначениеСвойства) Тогда
ЭлементыПредставления.Добавить("(" + СокрЛП(ЗначениеСвойства) + ")");
ИначеЕсли КоллекцияСвойств.Свойство("КодВПрограмме", ЗначениеСвойства)
И ЗначениеЗаполнено(ЗначениеСвойства) Тогда
ЭлементыПредставления.Добавить("(" + СокрЛП(ЗначениеСвойства) + ")");
КонецЕсли;
Если КоллекцияСвойств.Свойство("Номер", ЗначениеСвойства)
И ЗначениеЗаполнено(ЗначениеСвойства) Тогда
ЭлементыПредставления.Добавить("№" + СокрЛП(ЗначениеСвойства));
КонецЕсли;
Если КоллекцияСвойств.Свойство("Дата", ЗначениеСвойства)
И ЗначениеЗаполнено(ЗначениеСвойства) Тогда
ЭлементыПредставления.Добавить(НСтр("ru = 'от'") + " " + Строка(ЗначениеСвойства));
КонецЕсли;
Если ЭлементыПредставления.Количество() > 0 Тогда
Представление = СтрСоединить(ЭлементыПредставления, " ");
КонецЕсли;
Возврат Представление;
КонецФункции
Функция ПредставлениеОбъектаXDTOДляПротокола(ТипОбъектаXDTO)
Возврат ТипОбъектаXDTO.Имя;
@@ -187,8 +187,8 @@
// "Справочник.ЭлектронныеПодписи.ОбработатьДанныеДляПереходаНаНовуюВерсию",
// "ЭлектроннаяПодпись.ОбновитьПодпись");
//
// Проверить, что обновлены все объекты требуемого типа:
// ВсеЗаказыОбработаны = ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан("Документ.ЗаказПокупателя");
// Проверить и вызвать исключение, если обновлены не все объекты требуемого типа:
// ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан("Документ.ЗаказПокупателя");
//
Процедура ПроверитьОбъектОбработан(Данные, Форма = Неопределено, ИмяОтложенногоОбработчика = "", ИмяПроцедурыПрограммногоИнтерфейса = "") Экспорт
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.13";
Описание.Версия = "3.0.3.17";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -281,6 +281,17 @@
КонецЕсли;
КонецФункции
Процедура КэшироватьЗначениеОтбора(ЗначениеОтбора, Идентификатор, КомпоновщикНастроек) Экспорт
ДополнительныеСвойства = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства;
КэшЗначенийОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ДополнительныеСвойства, "КэшЗначенийОтборов", Новый Соответствие);
КэшЗначенийОтборов.Вставить(Идентификатор, ЗначениеОтбора);
ДополнительныеСвойства.Вставить("КэшЗначенийОтборов", КэшЗначенийОтборов);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -414,6 +414,70 @@
Настройки, ПользовательскиеНастройки, ФиксированныеНастройки);
КонецФункции
Процедура СброситьПользовательскиеНастройки(ДоступныеНастройки, ПараметрыЗагрузки) Экспорт
СброситьПользовательскиеНастройки = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ПараметрыЗагрузки, "СброситьПользовательскиеНастройки", Ложь);
Если Не СброситьПользовательскиеНастройки Тогда
Возврат;
КонецЕсли;
Если ДоступныеНастройки.ПользовательскиеНастройки = Неопределено Тогда
КэшЗначенийОтборов = Неопределено;
Иначе
КэшЗначенийОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ДоступныеНастройки.ПользовательскиеНастройки.ДополнительныеСвойства, "КэшЗначенийОтборов");
КонецЕсли;
ДоступныеНастройки.ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
Если КэшЗначенийОтборов <> Неопределено Тогда
ДоступныеНастройки.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(
"КэшЗначенийОтборов", КэшЗначенийОтборов);
КонецЕсли;
КонецПроцедуры
Процедура ВосстановитьЗначенияОтборов(Форма) Экспорт
ПользовательскиеНастройки = Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
ПутьКДаннымЭлементов = Форма.ПутьКДаннымЭлементов;
КэшЗначенийОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ПользовательскиеНастройки.ДополнительныеСвойства, "КэшЗначенийОтборов");
Если КэшЗначенийОтборов = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого ЭлементКэша Из КэшЗначенийОтборов Цикл
ЗначениеОтбора = ЭлементКэша.Значение;
Если ЗначениеОтбора.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ЭлементНастройки = ПользовательскиеНастройки.Элементы.Найти(ЭлементКэша.Ключ);
Если ЭлементНастройки = Неопределено Тогда
Продолжить;
КонецЕсли;
Индекс = ПользовательскиеНастройки.Элементы.Индекс(ЭлементНастройки);
ИмяСписка = ПутьКДаннымЭлементов.ПоИндексу[Индекс];
Если ИмяСписка = Неопределено Тогда
Продолжить;
КонецЕсли;
Список = Форма[ИмяСписка];
Если Список = Неопределено Тогда
Продолжить;
КонецЕсли;
Для Каждого Элемент Из ЗначениеОтбора Цикл
Если Список.НайтиПоЗначению(Элемент.Значение) = Неопределено Тогда
Список.Добавить(Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Процедура УстановитьДоступныеЗначения(Отчет, Форма) Экспорт
КомпоновщикНастроек = Форма.Отчет.КомпоновщикНастроек;
@@ -1867,17 +1867,18 @@
Процедура ЗаписатьРезультатИзвлеченияТекста(ФайлИлиВерсияСсылка, РезультатИзвлечения,
АдресВременногоХранилищаТекста) Экспорт
МетаданныеФайла = Метаданные.НайтиПоТипу(ТипЗнч(ФайлИлиВерсияСсылка));
МетаданныеФайла = ФайлИлиВерсияСсылка.Метаданные();
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(МетаданныеФайла.ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлИлиВерсияСсылка);
Владелец = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлИлиВерсияСсылка, "ВладелецФайла");
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(Владелец)).ПолноеИмя());
Если Не ОбщегоНазначения.ЕстьРеквизитОбъекта("ВладелецФайла", МетаданныеФайла) Тогда
Владелец = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлИлиВерсияСсылка, "Владелец");
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Владелец.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Владелец);
КонецЕсли;
НачатьТранзакцию();
Попытка
@@ -9168,12 +9169,17 @@
Процедура ИзвлечьТекстИзФайла(ФайлБезТекста, ФайлЗаблокирован, ИмяФайлаСДвоичнымиДанными)
МетаданныеФайла = ФайлБезТекста.Ссылка.Метаданные();
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ФайлБезТекста.Ссылка)).ПолноеИмя());
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(МетаданныеФайла.ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлБезТекста.Ссылка);
Владелец = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлБезТекста.Ссылка, "ВладелецФайла");
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(Владелец)).ПолноеИмя());
Если Не ОбщегоНазначения.ЕстьРеквизитОбъекта("ВладелецФайла", МетаданныеФайла) Тогда
Владелец = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлБезТекста.Ссылка, "Владелец");
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Владелец.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Владелец);
КонецЕсли;
НачатьТранзакцию();
Попытка
@@ -589,8 +589,14 @@
Функция ОграничиватьДоступНаУровнеЗаписей() Экспорт
УстановитьПривилегированныйРежим(Истина);
УстановитьОтключениеБезопасногоРежима(Истина);
Возврат ПолучитьФункциональнуюОпцию("ОграничиватьДоступНаУровнеЗаписей");
Результат = УправлениеДоступомСлужебныйПовтИсп.КонстантаОграничиватьДоступНаУровнеЗаписей();
УстановитьОтключениеБезопасногоРежима(Ложь);
УстановитьПривилегированныйРежим(Ложь);
Возврат Результат;
КонецФункции
@@ -1965,6 +1971,13 @@
РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра();
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
ПараметрыПланирования.Описание = "ОбновитьРазрешенныеЗначенияПриИзмененииИспользованияВидовДоступа";
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(
ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Справочник.ИдентификаторыОбъектовМетаданных"),
ПараметрыПланирования);
КонецПроцедуры
// Выполняет последовательное заполнение и частичное обновление данных, необходимых для работы
@@ -3261,6 +3261,8 @@
УстановкаПараметровСеанса("", УстановленныеПараметры);
ОбновитьПовторноИспользуемыеЗначения();
УправлениеДоступом.ОбновитьРазрешенныеЗначенияПриИзмененииИспользованияВидовДоступа();
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -9282,6 +9284,8 @@
// Выполняет обновление доступа, если запланировано.
Процедура ВыполнитьОбновлениеДоступаНаУровнеЗаписей(ОбновитьВсе, ВызыватьИсключениеВместоРегистрацииОшибки)
ОбновитьПовторноИспользуемыеЗначения();
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
@@ -9386,26 +9390,6 @@
ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор();
ТекстОшибкиПланирования = "";
Если Не ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ПоследнееПланированиеОбработкиУстаревшихЭлементов) Тогда
ПоследнееОбновлениеДоступа.ПоследнееПланированиеОбработкиУстаревшихЭлементов = ТекущаяДатаСеанса();
КонецЕсли;
Попытка
ГраницаОжидания = ТекущаяДатаСеанса() - КоличествоЧасовМеждуПланированиемОбработкиУстаревшихЭлементов() * 60 * 60;
Если ПоследнееОбновлениеДоступа.ПоследнееПланированиеОбработкиУстаревшихЭлементов < ГраницаОжидания Тогда
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа(Ложь);
ПараметрыПланирования.ЭтоОбработкаУстаревшихЭлементов = Истина;
ПараметрыПланирования.Описание = "ОбновлениеДоступаНаУровнеЗаписей";
ЗапланироватьОбновлениеДоступа(, ПараметрыПланирования);
ПоследнееОбновлениеДоступа.ПоследнееПланированиеОбработкиУстаревшихЭлементов = ТекущаяДатаСеанса();
КонецЕсли;
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибкиПланирования = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось запланировать обработку устаревших элементов ограничения доступа по причине:
|%1'"),
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
ТекстВсехОшибок = "";
ТекстОшибкиЗавершения = "";
Попытка
@@ -9414,6 +9398,8 @@
КонецЕсли;
Если ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа();
ЗапланироватьОбработкуУстаревшихЭлементов(ТекстОшибкиПланирования,
ПоследнееОбновлениеДоступа.ПоследнееПланированиеОбработкиУстаревшихЭлементов);
ВыполнитьОбновлениеДоступа(ОбновитьВсе, ОписаниеОсновногоСеанса,
ПоследнееОбновлениеДоступа.ОбновлениеОтменено, ТекстОшибкиЗавершения);
Иначе
@@ -9601,7 +9587,7 @@
КонецФункции
// Для процедуры ОбновлениеДоступаНаУровнеЗаписей.
// Для процедур ОбновлениеДоступаНаУровнеЗаписей, ДобавитьЗаданияОбновленияДоступа.
Процедура ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа()
УстановитьОтключениеБезопасногоРежима(Истина);
@@ -9615,7 +9601,7 @@
ДатаПоследнегоЗаполненияВсехПараметровРаботыРасширений =
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ДатаПоследнегоЗаполненияВсехПараметровРаботыРасширений();
ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Ложь);
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Ложь);
ДатаСозданияПараметровОграниченияДоступа = ПараметрыСеанса.ПараметрыОграниченияДоступа.ДатаСоздания;
ИмяПараметра = "СтандартныеПодсистемы.УправлениеДоступом.ДатаПроверкиПараметровОграниченияДоступа";
@@ -9624,6 +9610,11 @@
ДатаПроверкиПараметровОграниченияДоступа = '00010101';
КонецЕсли;
ИспользованиеВидовДоступаИзменено =
ПараметрыСеанса.ПараметрыОграниченияДоступа.ОграничиватьДоступНаУровнеЗаписей
<> Константы.ОграничиватьДоступНаУровнеЗаписей.Получить()
Или ИспользованиеВидовДоступаИзменено(ДействующиеПараметры);
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
@@ -9635,13 +9626,41 @@
Если ДатаОбновленияВерсииРасширений > ДатаАктуальностиПараметровОграниченияДоступа
Или ДатаОбновленияВсехПараметровРаботыПрограммы > ДатаАктуальностиПараметровОграниченияДоступа
Или ДатаПоследнегоЗаполненияВсехПараметровРаботыРасширений > ДатаАктуальностиПараметровОграниченияДоступа Тогда
Или ДатаПоследнегоЗаполненияВсехПараметровРаботыРасширений > ДатаАктуальностиПараметровОграниченияДоступа
Или ИспользованиеВидовДоступаИзменено Тогда
ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Истина);
КонецЕсли;
КонецПроцедуры
// Для процедуры ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа.
Функция ИспользованиеВидовДоступаИзменено(ДействующиеПараметры)
Если ДействующиеПараметры.ВнешниеПользователиВключены
<> Константы.ИспользоватьВнешнихПользователей.Получить() Тогда
Возврат Истина;
КонецЕсли;
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
ТекущиеИспользуемыеТипыЗначений = ИспользуемыеТипыЗначений(СвойстваВидовДоступа);
ИспользуемыеТипыЗначений = ДействующиеПараметры.ИспользуемыеТипыЗначений.Получить();
Если ТекущиеИспользуемыеТипыЗначений.Количество() <> ИспользуемыеТипыЗначений.Количество() Тогда
Возврат Истина;
КонецЕсли;
Для Каждого КлючИЗначение Из ИспользуемыеТипыЗначений Цикл
Если ТекущиеИспользуемыеТипыЗначений.Получить(КлючИЗначение.Ключ) <> КлючИЗначение.Значение Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
// Для процедур ОбновлениеДоступаНаУровнеЗаписей, ВыполнитьОбновлениеДоступа,
// ОтменитьОбновлениеДоступаНаУровнеЗаписей, ЗавершитьОбновлениеДоступа.
//
@@ -9843,6 +9862,32 @@
КонецПроцедуры
// Для процедуры ВыполнитьОбновлениеДоступаНаУровнеЗаписей.
Процедура ЗапланироватьОбработкуУстаревшихЭлементов(ТекстОшибкиПланирования,
ПоследнееПланированиеОбработкиУстаревшихЭлементов)
Если Не ЗначениеЗаполнено(ПоследнееПланированиеОбработкиУстаревшихЭлементов) Тогда
ПоследнееПланированиеОбработкиУстаревшихЭлементов = ТекущаяДатаСеанса();
КонецЕсли;
Попытка
ГраницаОжидания = ТекущаяДатаСеанса() - КоличествоЧасовМеждуПланированиемОбработкиУстаревшихЭлементов() * 60 * 60;
Если ПоследнееПланированиеОбработкиУстаревшихЭлементов < ГраницаОжидания Тогда
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа(Ложь);
ПараметрыПланирования.ЭтоОбработкаУстаревшихЭлементов = Истина;
ПараметрыПланирования.Описание = "ОбновлениеДоступаНаУровнеЗаписей";
ЗапланироватьОбновлениеДоступа(, ПараметрыПланирования);
ПоследнееПланированиеОбработкиУстаревшихЭлементов = ТекущаяДатаСеанса();
КонецЕсли;
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибкиПланирования = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось запланировать обработку устаревших элементов ограничения доступа по причине:
|%1'"),
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
КонецПроцедуры
// Для процедуры ВыполнитьОбновлениеДоступа.
Функция ТаблицаЗаданийОбновления()
@@ -10077,6 +10122,7 @@
Кэш.Вставить("ОбъектыМетаданныхПоИдентификаторам", Новый Соответствие);
КонецЕсли;
ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа();
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Ложь);
Задания = Контекст.Задания;
ИдентификаторыСписков = Новый Массив;
@@ -13516,7 +13562,7 @@
ЗаполнитьЗначенияСвойств(ЭлементДанных.КлючДанных, ПоследнийЭлемент);
Если ПараметрыОбновления.СписокСПериодом
И Не ЭтоОбработкаУстаревшихЭлементов(ПараметрыОбновления) Тогда
И ЭлементДанных.ВидКлючаДанных = "ЭлементыБезКлючейПоПериоду" Тогда
ЭлементДанных.Дата = ПоследнийЭлемент.Период;
КонецЕсли;
@@ -17858,12 +17904,15 @@
ИначеЕсли Условие.Узел = "ЗначениеРазрешено" Тогда
Если Значение = Перечисления.ДополнительныеЗначенияДоступа.Null
Или Значение = Перечисления.ДополнительныеЗначенияДоступа.Неопределено
Или Контекст.ЗначенияГруппыДоступа = Неопределено Тогда
Или Значение = Перечисления.ДополнительныеЗначенияДоступа.Неопределено Тогда
Результат = "Ложь";
Иначе
Если Контекст.ЗначенияГруппыДоступа = Неопределено Тогда
ЗначенияОдногоТипа = Неопределено;
Иначе
ТипЗначения = ТипЗнч(Значение);
ЗначенияОдногоТипа = Контекст.ЗначенияГруппыДоступа.Получить(ТипЗначения);
КонецЕсли;
Если ЗначенияОдногоТипа = Неопределено Тогда
Если Условие.УточненияСравнения.Получить("Отключено") = "Ложь" Тогда
Результат = "Ложь";
@@ -19318,20 +19367,8 @@
ТипыПользователя.Добавить(Тип("СправочникСсылка.ВнешниеПользователи"));
ТипыПользователя.Добавить(Тип("СправочникСсылка.ГруппыВнешнихПользователей"));
ИспользуемыеТипыЗначений = Новый Соответствие;
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
Для Каждого СвойстваВидаДоступа Из СвойстваВидовДоступа.Массив Цикл
Если Не ВсеВидыДоступаИспользуются
И Не ВидДоступаИспользуется(СвойстваВидаДоступа.Ссылка) Тогда
Продолжить;
КонецЕсли;
ИспользуемыеТипыЗначений.Вставить(СвойстваВидаДоступа.ТипЗначений, Истина);
Для Каждого ОписаниеДополнительногоТипа Из СвойстваВидаДоступа.ДополнительныеТипы Цикл
ИспользуемыеТипыЗначений.Вставить(ОписаниеДополнительногоТипа.ТипЗначений, Истина);
КонецЦикла;
КонецЦикла;
ИспользуемыеТипыЗначений = ИспользуемыеТипыЗначений(СвойстваВидовДоступа, ВсеВидыДоступаИспользуются);
ВозможныеПрава = УправлениеДоступомСлужебныйПовтИсп.ВозможныеПраваДляНастройкиПравОбъектов();
ВнешниеПользователиВключены = ВсеВидыДоступаИспользуются
@@ -19353,6 +19390,26 @@
КонецФункции
// Для функций ОбщийКонтекстРасчетаПараметровОграничения и ИспользованиеВидовДоступаИзменено.
Функция ИспользуемыеТипыЗначений(СвойстваВидовДоступа, ВсеВидыДоступаИспользуются = Ложь)
ИспользуемыеТипыЗначений = Новый Соответствие;
Для Каждого СвойстваВидаДоступа Из СвойстваВидовДоступа.Массив Цикл
Если Не ВсеВидыДоступаИспользуются
И Не ВидДоступаИспользуется(СвойстваВидаДоступа.Ссылка) Тогда
Продолжить;
КонецЕсли;
ИспользуемыеТипыЗначений.Вставить(СвойстваВидаДоступа.ТипЗначений, Истина);
Для Каждого ОписаниеДополнительногоТипа Из СвойстваВидаДоступа.ДополнительныеТипы Цикл
ИспользуемыеТипыЗначений.Вставить(ОписаниеДополнительногоТипа.ТипЗначений, Истина);
КонецЦикла;
КонецЦикла;
Возврат ИспользуемыеТипыЗначений;
КонецФункции
// Для процедуры ЗаполнитьПараметрыОграничения.
Процедура ДобавитьПараметрыОграниченияСписка(ПолноеИмя, ПараметрыОграниченияСписков, ДействующиеПараметры,
ДействующиеПараметрыОбновлены, ИдентификаторТранзакции, ОбщийКонтекст)
@@ -20415,7 +20472,7 @@
// Число нужно увеличивать при внесении изменений в состав параметров кэша
// (в том числе при изменении версии шаблонов).
Возврат "12";
Возврат "13";
КонецФункции
@@ -20519,6 +20576,8 @@
ПараметрыОграничения.Вставить("ХешСумма", ВерсияПараметров.ХешСумма);
ПараметрыОграничения.Вставить("ДатаСоздания", ВерсияПараметров.ДатаСоздания);
ПараметрыОграничения.Вставить("Параметры", ДляЗаписиОбъектовИПроверкиПрав);
ПараметрыОграничения.Вставить("ОграничиватьДоступНаУровнеЗаписей",
Константы.ОграничиватьДоступНаУровнеЗаписей.Получить());
ФиксированныеПараметрыОграничения = Новый ФиксированнаяСтруктура(ПараметрыОграничения);
ПараметрыСеанса.ПараметрыОграниченияДоступа = ФиксированныеПараметрыОграничения;
@@ -20711,6 +20770,7 @@
Функция ХранимыеПараметрыОграниченияДоступа(ОбщийКонтекст, ВерсииОграниченийСписков = Неопределено)
Если ОбщийКонтекст = Неопределено Тогда
ОбновитьПовторноИспользуемыеЗначения();
ОбщийКонтекст = ОбщийКонтекстРасчетаПараметровОграничения();
ИначеЕсли ОбщийКонтекст.Свойство("СпециальноеПолноеИмя") Тогда
@@ -20827,6 +20887,8 @@
ПараметрыЗаписи.ВедущиеСписки = ВедущиеСписки;
ПараметрыЗаписи.ДополнительныйКонтекст = ДополнительныйКонтекст;
ПараметрыЗаписи.СпискиСДатой = СпискиСДатой;
ПараметрыЗаписи.ИспользуемыеТипыЗначений = Новый ХранилищеЗначения(ОбщийКонтекст.ИспользуемыеТипыЗначений);
ПараметрыЗаписи.ВнешниеПользователиВключены = ОбщийКонтекст.ВнешниеПользователиВключены;
ХранимыеПараметры = Новый Структура;
@@ -21551,13 +21613,24 @@
ХранимыеПараметрыЗаписи.Вставить("ВедущиеСписки", Новый Соответствие);
ХранимыеПараметрыЗаписи.Вставить("ДополнительныйКонтекст", Новый Структура);
ХранимыеПараметрыЗаписи.Вставить("СпискиСДатой", Новый Соответствие);
ХранимыеПараметрыЗаписи.Вставить("ИспользуемыеТипыЗначений", Новый ХранилищеЗначения(Новый Соответствие));
ХранимыеПараметрыЗаписи.Вставить("ВнешниеПользователиВключены", Ложь);
Если ТипЗнч(Значения) = Тип("ФиксированнаяСтруктура")
И Значения.Свойство("ВерсияСтруктурыКэша")
И ТипЗнч(Значения.ВерсияСтруктурыКэша) = Тип("Строка")
И Значения.Свойство("ВерсииОграниченийСписков")
И ТипЗнч(Значения.ВерсииОграниченийСписков) = Тип("ФиксированноеСоответствие")
И Значения.Свойство("ВедущиеСписки")
И ТипЗнч(Значения.ВедущиеСписки) = Тип("ФиксированноеСоответствие")
И Значения.Свойство("ДополнительныйКонтекст")
И ТипЗнч(Значения.ДополнительныйКонтекст) = Тип("ФиксированнаяСтруктура")
И ТипЗнч(Значения.СпискиСДатой) = Тип("ФиксированноеСоответствие") Тогда
И Значения.Свойство("СпискиСДатой")
И ТипЗнч(Значения.СпискиСДатой) = Тип("ФиксированноеСоответствие")
И Значения.Свойство("ИспользуемыеТипыЗначений")
И ТипЗнч(Значения.ИспользуемыеТипыЗначений) = Тип("ХранилищеЗначения")
И Значения.Свойство("ВнешниеПользователиВключены")
И ТипЗнч(Значения.ВнешниеПользователиВключены) = Тип("Булево") Тогда
ЗаполнитьЗначенияСвойств(ХранимыеПараметрыЗаписи, Значения);
КонецЕсли;
@@ -21576,8 +21649,11 @@
ХранимыеПараметрыШаблонов.Вставить("ПараметрыШаблонов", СтруктураПараметровШаблонов());
Если ТипЗнч(Значения) = Тип("ФиксированнаяСтруктура")
И Значения.Свойство("ВерсияСтруктурыКэша")
И ТипЗнч(Значения.ВерсияСтруктурыКэша) = Тип("Строка")
И Значения.Свойство("ВерсииШаблонов")
И ТипЗнч(Значения.ВерсииШаблонов) = Тип("Строка")
И Значения.Свойство("ПараметрыШаблонов")
И ТипЗнч(Значения.ПараметрыШаблонов) = Тип("ФиксированнаяСтруктура") Тогда
ЗаполнитьЗначенияСвойств(ХранимыеПараметрыШаблонов, Значения);
@@ -21624,7 +21700,9 @@
ХранимыеПараметрыОтчета.Вставить("ВсеВидыОграниченийПрав", "");
Если ТипЗнч(Значения) = Тип("ФиксированнаяСтруктура")
И Значения.Свойство("ВерсияСтруктурыКэша")
И ТипЗнч(Значения.ВерсияСтруктурыКэша) = Тип("Строка")
И Значения.Свойство("ВсеВидыОграниченийПрав")
И ТипЗнч(Значения.ВсеВидыОграниченийПрав) = Тип("Строка") Тогда
ЗаполнитьЗначенияСвойств(ХранимыеПараметрыОтчета, Значения);
@@ -497,6 +497,13 @@
КонецФункции
// Только для внутреннего использования.
Функция КонстантаОграничиватьДоступНаУровнеЗаписей() Экспорт
Возврат Константы.ОграничиватьДоступНаУровнеЗаписей.Получить();
КонецФункции
#Область УниверсальноеОграничение
Функция КонстантаОграничиватьДоступНаУровнеЗаписейУниверсально() Экспорт
@@ -474,7 +474,7 @@
Если Не Страна.ЭтоНовый() Тогда
ЗаблокироватьДанныеДляРедактирования(Страна.Ссылка);
КонецЕсли;
ЗаполнитьЗначенияСвойств(Страна, СтрокаКлассификатора, "Код, Наименование, КодАльфа2, КодАльфа3, НаименованиеПолное");
ЗаполнитьЗначенияСвойств(Страна, СтрокаКлассификатора, "Код, Наименование, КодАльфа2, КодАльфа3, НаименованиеПолное, МеждународноеНаименование");
Страна.ДополнительныеСвойства.Вставить("НеПроверятьУникальность");
Страна.Записать();
ЗафиксироватьТранзакцию();
@@ -1626,6 +1626,11 @@
КонецЦикла;
КонецЕсли;
ИначеЕсли ВыборкаВид.Количество > 1 Тогда
НайденныеСтроки = КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид", ВыборкаВид.Вид));
Для каждого СтрокаСКонтактнойИнформацией Из НайденныеСтроки Цикл
СтрокаСКонтактнойИнформацией.ВидДляСписка = Неопределено;
КонецЦикла;
ЭлементыКонтактнойИнформации = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Представление) Тогда
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9c60237f-934c-4273-bc34-06aee2eb0460">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9eb81495-2670-42e6-bca1-428094714c0b">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="d8394a29-6935-4fce-b9b1-a082a49acd76"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="df6c5e29-f157-49ed-9a25-aad39a1dda7b"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="34fc4288-f5bc-4a5a-b632-2a0181d7c0d2"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="9f8f0980-0d7c-458a-9403-0d84b5421d9b"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="82097482-c4fd-4094-b1c1-603c6dc5954f"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="b08d0708-3051-4b37-976d-fb2e221b18fc"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="c93a0c42-70fe-4c9d-bce6-3a0e8d131eac"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="3b01947a-2b87-4ee6-8901-649465d2110d"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="2cead898-9001-44e9-9e73-a63327e5c78a"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="da5bc5a3-368c-4c95-ad09-66a73e20be3f"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="0b3ff3d1-0a66-43b8-a957-49ca22631192"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="b1ce5f37-c961-4af4-8aaf-15c06cdc0982"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="b8211625-5b63-4dd8-8ba3-b0b5c94d6da4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="f2d4b00b-7bcd-43c5-84ea-fb0c3d269916"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.13</version>
<version>3.0.3.17</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,894605bd-0099-4a77-8103-7662d65377a1,1,8db6170f-c61b-49b9-bd86-11a76c696b3c,"3.0.3.13","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6040,1,0,9c60237f-934c-4273-bc34-06aee2eb0460,9c60237f-934c-4273-bc34-06aee2eb0460,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated
{6,1,1,ae05158e-d3e0-459c-9bea-b4e16a301188,1,72c73c31-4353-4616-ab91-3e6c81e0443e,"3.0.3.17","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6040,1,0,9eb81495-2670-42e6-bca1-428094714c0b,9eb81495-2670-42e6-bca1-428094714c0b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated
@@ -396,7 +396,11 @@
ТестовыйФайл.ЗаписатьОбъявлениеXML();
ТестовыйФайл.Закрыть();
Исключение
ТекстСообщения = НСтр("ru = 'Нет доступа к каталогу с резервными копиями.'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Нет доступа к каталогу с резервными копиями
|по причине:
|%1'"),
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстСообщения, "Объект.КаталогСРезервнымиКопиями", ВыдаватьОшибку);
РеквизитыЗаполнены = Ложь;
КонецПопытки;
@@ -3660,6 +3660,25 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.УдалитьКонечнаяТочкаМенеджераСервиса</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -3747,25 +3766,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.УдалитьКонечнаяТочкаМенеджераСервиса</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПредопределенныеВариантыОтчетов</name>
<right>
@@ -4948,6 +4948,17 @@
<value>false</value>
</right>
</object>
<object>
<name>Constant.УдалитьКонечнаяТочкаМенеджераСервиса</name>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -4987,17 +4998,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Constant.УдалитьКонечнаяТочкаМенеджераСервиса</name>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ПредопределенныеВариантыОтчетов</name>
<right>