3_1_9_104

This commit is contained in:
Компания 1С committed 2023-08-11 13:05:00 +03:00
1 parent cbb863d649
commit 0b5cb5e0f4
143 files changed
+3256 -2392

No files matched your search

@@ -23,7 +23,7 @@
Список.УстановитьОграниченияИспользованияВПорядке(ИзменяемыеПоля);
Список.УстановитьОграниченияИспользованияВОтборе(ИзменяемыеПоля);
ДоступноИзменениеВалют = ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют);
ДоступноИзменениеВалют = РаботаСКурсамиВалютСлужебный.ЕстьПравоИзмененияКурсовВалют();
ДоступнаЗагрузкаКурсов = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено И ДоступноИзменениеВалют;
Элементы.ФормаПодборИзКлассификатора.Видимость = ДоступнаЗагрузкаКурсов;
@@ -1,76 +1,45 @@
<!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.10570.1001"></meta></head><body>
<p>Предназначен для управления внешними компонентами.</p>
<p>Внешние компоненты - специальные программы, которые могут обеспечивать:</p>
<ul><li>Работу с подключаемым оборудованием;
</li>
<li>Обмены с банком и документооборот;
</li>
<li>Работа с буфером обмена, сканирование и т.п.;
</li>
<li>Печать штрихкодов, извлечение текстов и т.д.</li>
</ul><p>Внешние компоненты можно подключить к программе из файла на компьютере. При необходимости, одновременно могут
быть подключены сразу несколько версий одной внешней компоненты. Например, это полезно, когда на разных
клиентских компьютерах используются разные драйверы или оборудование.</p>
<p>Программа предоставляет администратору возможность контролировать список внешних компонент, используемых на
клиентских рабочих местах. Без контроля администратора пользователи не могут подключать к программе какие-либо
сторонние внешние компоненты.</p>
<p>В списке отражаются все установленные в программе внешние компоненты. В колонке <img width="16" height="16" src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img> флажками обозначаются
внешние компоненты, которые обновляются с сайта 1С:ИТС.</p>
<h3>Подключение внешней компоненты</h3>
<p></p>
<ul><li>
Нажмите кнопку <b>Добавить</b>. Из выпадающего списка выберите способ
добавления компоненты:
<ul><li><b>Из сервиса</b>. Загрузите обновление через интернет или из файла на компьютере, полученного на
портале
1С:ИТС. Предварительно нужно зарегистрироваться на портале 1С:ИТС; </li>
<li><b>Из файлов</b>. Укажите путь к файлу или к нескольким файлам на компьютере;</li>
<li><b>Из каталога</b>. Выберите каталог с файлами внешних компонент на компьютере. </li>
</ul></li>
<li>Программа выводит <strong>Предупреждение безопасности</strong>. Если внешняя компонента получена из
надежного
источника и не может содержать вирусы, нажмите <strong>Продолжить</strong>.</li>
<li>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные
поля в <a href="Catalog.ВнешниеКомпоненты.Form.ФормаЭлемента/Help">карточке внешней компоненты</a>
заполняются автоматически.</li>
</ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img> можно обновить
внешнюю компоненту с сайта 1С:ИТС. </div>
</li>
<li>
<div>Доступно для внешних компонент, которые были получены на портале 1С:ИТС. Для обновления нужно
зарегистрироваться на портале 1С:ИТС.</div>
</li>
</ul><h3>Обновление внешней компоненты из файла</h3>
<ul><li>Нажмите кнопку <strong>Обновить из файла</strong>. Программа выводит
<strong>Предупреждение безопасности</strong>.
</li>
<li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку
<strong>Продолжить</strong>.
</li>
<li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>.
</li>
<li>Информация в карточке внешней компоненты будет обновлена.</li>
</ul><h3>Сохранение внешних компонент на компьютер</h3>
<ul><li>Сохраненную на компьютер внешнюю компоненту можно будет использовать в случае нештатных ситуаций.
</li>
<li>Выполните команду <strong>Сохранить как</strong> контекстного меню по правой кнопке мыши или меню
<strong>Еще</strong>.
</li>
<li>Укажите путь к файлу на компьютере. Нажмите <strong>Сохранить</strong>.</li>
</ul><h3>Отборы в списке</h3>
<p>С помощью поля <strong>Показывать</strong> в списке можно отобрать внешние компоненты по следующим признакам:</p>
<ul><li><strong>Все</strong>;
</li>
<li><strong>Используемые </strong>- все компоненты, у которых не указан признак <b>Отключена</b>;
</li>
<li><strong>Отключенные</strong> - компоненты, у которых указан признак <b>Отключена</b><strong>;</strong></li>
<li><strong>Неиспользуемые в программе </strong>- компоненты, подключение которых не используется в
программе<strong>. </strong></li>
</ul><p>С помощью кнопки <img style="font-size: 11.19px; font-weight: normal;" src="StdPicture.MarkToDelete"></img><b> Удалить неиспользуемые </b>можно
пометить на удаление <b>Неиспользуемые в программе</b> компоненты. </p>
<h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li>
</ul></body></html>
<p>Предназначен для управления внешними компонентами.</p>
<p>Внешние компоненты - специальные программы, которые могут обеспечивать:</p>
<ul><li>Работу с подключаемым оборудованием;
</li>
<li>Обмены с банком и документооборот;
</li>
<li>Работа с буфером обмена, сканирование и т.п.;
</li>
<li>Печать штрихкодов, извлечение текстов, компонента склонения и т.д.</li></ul><p>Внешние компоненты можно подключить к программе из файла на компьютере. При необходимости, одновременно могут быть подключены сразу несколько версий одной внешней компоненты. Например, это полезно, когда на разных клиентских компьютерах используются разные драйверы или оборудование.</p>
<p>Программа предоставляет администратору возможность контролировать список внешних компонент, используемых на клиентских рабочих местах. Без контроля администратора пользователи не могут подключать к программе какие-либо сторонние внешние компоненты.</p>
<p>В списке отражаются все установленные в программе внешние компоненты. В колонке <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта" width="16" height="16"></img> флажками обозначаются внешние компоненты, которые обновляются с сайта 1С:ИТС.</p>
<h3>
</h3><p class="MsoNormal">Подключение внешней компоненты</p>
<p><span style="font-weight: normal; font-size: 11.199999809265137px;">Нажмите кнопку </span><span style="font-size: 11.199999809265137px;"><b>Добавить</b></span><span style="font-weight: normal; font-size: 11.199999809265137px;">. Из выпадающего списка выберите способ добавления компоненты:</span></p>
<ul><li><b>Из сервиса</b>. Загрузите обновление через интернет или из файла на компьютере, полученного на портале 1С:ИТС. Предварительно нужно зарегистрироваться на портале 1С:ИТС; </li>
<li><b>Из файлов</b>. Укажите путь к файлу или к нескольким файлам на компьютере;</li>
<li><b>Из каталога</b>. Выберите каталог с файлами внешних компонент на компьютере. </li></ul><p>Программа выводит <strong>Предупреждение безопасности</strong>. Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите <strong>Продолжить</strong>.</p>
<ul><li>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные поля в <a href="Catalog.ВнешниеКомпоненты.Form.ФормаЭлемента/Help">карточке внешней компоненты</a> заполняются автоматически.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img> можно обновить внешнюю компоненту с сайта 1С:ИТС. </div>
</li>
<li>
<div>Доступно для внешних компонент, которые были получены на портале 1С:ИТС. Для обновления нужно зарегистрироваться на портале 1С:ИТС.</div></li></ul><h3>Обновление внешней компоненты из файла</h3>
<ul><li>Нажмите кнопку <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>.
</li>
<li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>.
</li>
<li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>.
</li>
<li>Информация в карточке внешней компоненты будет обновлена.</li></ul><h3>Сохранение внешних компонент на компьютер</h3>
<ul><li>Сохраненную на компьютер внешнюю компоненту можно будет использовать в случае нештатных ситуаций.
</li>
<li>Выполните команду <strong>Сохранить как</strong> контекстного меню по правой кнопке мыши или меню <strong>Еще</strong>.
</li>
<li>Укажите путь к файлу на компьютере. Нажмите <strong>Сохранить</strong>.</li></ul><h3>Отборы в списке</h3>
<p>С помощью поля <strong>Показывать</strong> в списке можно отобрать внешние компоненты по следующим признакам:</p>
<ul><li><strong>Все</strong>;
</li>
<li><strong>Используемые </strong>- все компоненты, у которых не указан признак <b>Отключена</b>;
</li>
<li><strong>Отключенные</strong> - компоненты, у которых указан признак <b>Отключена</b><strong>;</strong></li>
<li><strong>Неиспользуемые в программе </strong>- компоненты, подключение которых не используется в программе<strong>. </strong></li></ul><p><span style="font-size: 11.199999809265137px; font-weight: normal;">С помощью кнопки </span><img src="StdPicture.MarkToDelete" style="font-size: 11.199999809265137px; font-weight: normal;"></img><span style="font-size: 11.199999809265137px; font-weight: normal;"> </span><b style="font-size: 11.199999809265137px;">Удалить неиспользуемые </b><span style="font-size: 11.199999809265137px; font-weight: normal;">можно пометить на удаление </span><span style="font-size: 11.199999809265137px;"><b>Неиспользуемые в программе</b></span><span style="font-size: 11.199999809265137px; font-weight: normal;"> компоненты. </span></p>
<h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -31,6 +31,10 @@
<dataPath xsi:type="form:DataPath">
<segments>УсловияВидимости.ПредставлениеПоля</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>УсловияВидимостиПолеПриИзменении</name>
</handlers>
<extendedTooltip>
<name>УсловияВидимостиПолеРасширеннаяПодсказка</name>
<id>31</id>
@@ -59,7 +63,6 @@
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<listChoiceMode>true</listChoiceMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -171,6 +174,10 @@
<event>OnActivateRow</event>
<name>УсловияВидимостиПриАктивизацииСтроки</name>
</handlers>
<handlers>
<event>OnStartEdit</event>
<name>УсловияВидимостиПриНачалеРедактирования</name>
</handlers>
<searchStringAddition>
<name>УсловияВидимостиСтрокаПоиска</name>
<id>5</id>
@@ -119,6 +119,43 @@
КонецПроцедуры
&НаКлиенте
Процедура УсловияВидимостиПолеПриИзменении(Элемент)
ТекущиеДанные = Элементы.УсловияВидимости.ТекущиеДанные;
ВыбранноеПоле = Неопределено;
Для Каждого ОписаниеПоля Из Элементы.УсловияВидимостиПоле.СписокВыбора Цикл
Если ОписаниеПоля.Представление = ТекущиеДанные.ПредставлениеПоля Тогда
Возврат;
КонецЕсли;
Если ВыбранноеПоле = Неопределено И СтрНачинаетсяС(НРег(ОписаниеПоля.Представление), НРег(ТекущиеДанные.ПредставлениеПоля)) Тогда
ВыбранноеПоле = ОписаниеПоля;
КонецЕсли;
КонецЦикла;
Если ВыбранноеПоле = Неопределено Тогда
ТекущиеДанные.Поле = "";
ТекущиеДанные.ПредставлениеПоля = "";
Иначе
ТекущиеДанные.Поле = ВыбранноеПоле.Значение;
ТекущиеДанные.ПредставлениеПоля = ВыбранноеПоле.Представление;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УсловияВидимостиПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
ТекущиеДанные = Элементы.УсловияВидимости.ТекущиеДанные;
Если НоваяСтрока И ТекущиеДанные <> Неопределено И Не ЗначениеЗаполнено(ТекущиеДанные.ВидСравнения) Тогда
ВидСравненияПоУмолчанию = ВидСравненияКомпоновкиДанных.Равно;
ТекущиеДанные.ВидСравнения = ИдентификаторыВидовСравнения()[ВидСравненияПоУмолчанию];
ТекущиеДанные.ПредставлениеВидаСравнения = ПредставленияВидовСравнения()[ТекущиеДанные.ВидСравнения];
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УсловияВидимостиВидСравненияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
@@ -150,7 +187,6 @@
КонецПроцедуры
&НаКлиенте
Процедура УсловияВидимостиВидСравненияПриИзменении(Элемент)
@@ -187,7 +223,9 @@
ОписаниеРеквизита.Тип = Реквизит.Тип;
ОписаниеРеквизита.ПредставлениеПоля = Реквизит.Представление();
Если Элементы.УсловияВидимостиПоле.СписокВыбора.НайтиПоЗначению(ОписаниеРеквизита.Поле) = Неопределено Тогда
Элементы.УсловияВидимостиПоле.СписокВыбора.Добавить(ОписаниеРеквизита.Поле, ОписаниеРеквизита.ПредставлениеПоля);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
@@ -211,7 +249,7 @@
КонецФункции
&НаСервере
&НаКлиентеНаСервереБезКонтекста
Функция ИдентификаторыВидовСравнения()
Результат = Новый Соответствие();
@@ -1,60 +1,72 @@
<!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.10570.1001"></meta></head><body>
<p>Предназначен для настройки наборов дополнительных свойств.</p>
<p>Можно настроить наборы дополнительных свойств для определенных объектов программы. </p>
<p>Способ хранения дополнительного свойства в программе и место размещения в окне объекта программы зависит от типа свойства: </p>
<p>Способ хранения свойств в программе и место размещения в окне объекта программы зависит от типа свойства: </p>
<ul><li><strong>Дополнительные реквизиты</strong> - хранятся в самом элементе справочника или документе (могут размещаться в специальном разделе или на специальной вкладке). Создаются для реализации таких свойств, которые являются неотъемлемой частью объекта, вводятся при его редактировании и доступны для редактирования тем же пользователям, которым доступен и сам объект со свойствами.
</li>
<li><strong>Дополнительные сведения</strong> - предназначены для хранения сведений об элементе справочника или документе, которые не являются его неотъемлемой частью. Доступны, как правило, для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Редактируются в отдельном окне, которое можно открыть из окна объекта.</li></ul><p>Для разных объектов программы может быть предусмотрено использование дополнительных реквизитов и сведений в разных сочетаниях: или дополнительных реквизитов и сведений, или дополнительных реквизитов, или дополнительных сведений.</p>
<p>Для того чтобы использовать дополнительные свойства, необходимо включить флажок <strong>Дополнительные реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>. После этого становятся доступными соответствующие команды.</p>
<p>Работа с дополнительными реквизитами (сведениями) осуществляется в списках, которые открываются по команде <strong>Дополнительные реквизиты</strong> или <strong>Дополнительные сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>. </p>
<li><strong>Дополнительные сведения</strong> - предназначены для хранения сведений об элементе справочника или документе, которые не являются его неотъемлемой частью. Доступны, как правило, для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Редактируются в отдельном окне, которое можно открыть из окна объекта.</li>
<li><b>Метки</b> - предназначены для визуальной идентификации и классификации справочников или документов, помечая их разноцветными значками-метками. Редактирование и просмотр меток определены правами на объект-владелец.</li></ul><p>Для разных объектов программы может быть предусмотрено использование свойств в разных сочетаниях: или дополнительных реквизитов, сведений и меток, или дополнительных реквизитов, или дополнительных сведений, или меток.</p>
<p>Для того чтобы использовать свойства, необходимо включить флажок <strong>Свойства</strong> в разделе <strong>Администрирование - Общие настройки - Свойства</strong>. После этого становятся доступными соответствующие команды.</p>
<p>Работа со свойствами осуществляется в списках, которые открываются по команде <strong>Дополнительные реквизиты</strong>,<strong> </strong>или <strong>Дополнительные сведения</strong>, или<strong> Метки</strong> в разделе <strong>Администрирование - Общие настройки - Свойства.</strong> </p>
<p>Список наборов дополнительных реквизитов можно также открыть из объектов программы, для которых они настроены, по команде <strong>Еще</strong> <strong>- Изменить состав дополнительных реквизитов</strong>. </p>
<p>Список наборов дополнительных сведений можно также открыть по команде <strong>Еще</strong> - <strong>Изменить состав дополнительных </strong><strong>сведений</strong> из окна <a href="CommonForm.РедактированиеДополнительныхСведений/Help">Дополнительные сведения</a> объекта программы.</p>
<p>Список <strong>Дополнительные реквизиты</strong> (<strong>сведения</strong>) представляет собой таблицу из двух частей: </p>
<ul><li>В левой части располагаются наборы дополнительных реквизитов и сведений, назначенных справочникам или документам, которые показаны в виде групп. Группы в наборах дополнительных реквизитов и сведений соответствуют некоему состоянию объекта (его виду), например, для номенклатуры наборы по имени соответствуют видам номенклатуры.
<p>Список <strong>Свойств</strong> представляет собой таблицу из двух частей: </p>
<ul><li>В левой части располагаются наборы свойств, назначенных справочникам или документам, которые показаны в виде групп. Группы в наборах свойств соответствуют некоему состоянию объекта (его виду), например, для номенклатуры наборы по имени соответствуют видам номенклатуры.
</li>
<li>В правой части в виде таблицы располагается список дополнительных реквизитов (сведений), входящих в выделенный набор. Жирным шрифтом в списке дополнительных реквизитов отражаются реквизиты, обязательные для заполнения. Для дополнительных сведений такая возможность не предусмотрена.
<li>В правой части в виде таблицы располагается список свойств, входящих в выделенный набор. Жирным шрифтом в списке дополнительных реквизитов отражаются реквизиты, обязательные для заполнения. Для дополнительных сведений и меток такая возможность не предусмотрена.
</li>
<li>В таблице выводится:
<ul><li><strong>Дополнительный реквизит</strong> (<strong>сведение</strong>) - включает перечень наименований дополнительных реквизитов (сведений);
<ul><li><strong>Дополнительный реквизит</strong> (<strong>сведение</strong>) - включает перечень наименований свойств;
</li>
<li><strong>Тип значения</strong> - указывается тип дополнительных реквизитов (сведений) и количество значений.</li></ul></li></ul><p>Предопределенные наборы дополнительных реквизитов и сведений соответствуют объектам программы (спискам или документам), в которых можно использовать дополнительные реквизиты и сведения. Добавление новых наборов в этом списке невозможно. Наборы автоматически создаются при создании групп в списках. </p>
<p>Программа позволяет создать набор дополнительных реквизитов и сведений, как для всех элементов справочника, так и для части. В этом случае справочник является группой, а элементами группы являются реквизиты справочника или значения реквизитов справочника (в этом случае количество элементов группы будет равно количеству значений реквизита).</p>
<h3>Назначение нового дополнительного реквизита (сведения) справочнику или документу</h3>
<ul><li>В зависимости от настройки может быть доступна одна из команд ввода новых реквизитов (сведений):
<ul><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Создать</strong>. По умолчанию дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаЭлемента/Help">поля</a>.
<li><strong>Тип значения</strong> - указывается тип свойств и количество значений.</li></ul></li></ul><p>Предопределенные наборы свойств соответствуют объектам программы (спискам или документам), в которых можно использовать свойства. Добавление новых наборов в этом списке невозможно. Наборы автоматически создаются при создании групп в списках. </p>
<p>Программа позволяет создать набор свойств, как для всех элементов справочника, так и для части. В этом случае справочник является группой, а элементами группы являются реквизиты справочника или значения реквизитов справочника (в этом случае количество элементов группы будет равно количеству значений реквизита).</p>
<h3>Назначение нового свойства справочнику или документу</h3>
<ul><li>В зависимости от настройки может быть доступна одна из команд ввода новых свойств:
<ul><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Создать</strong>. По умолчанию свойство может быть добавлено только в один набор. Заполните необходимые <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаЭлемента/Help">поля</a>.
</li>
<li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые поля.</li></ul></li></ul><h3>Общие наборы дополнительных реквизитов и сведений</h3>
<ul><li>Для некоторых справочников предусмотрены предопределенные наборы <strong>Общие</strong>. Введенные в такой набор дополнительные реквизиты и сведения по умолчанию становятся общими для всех элементов этих справочников.
<li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды свойство может быть добавлено только в один набор. Заполните необходимые поля.</li></ul></li></ul><h3>Общие наборы свойств</h3>
<ul><li>Для некоторых справочников предусмотрены предопределенные наборы <strong>Общие</strong>. Введенные в такой набор свойства по умолчанию становятся общими для всех элементов этих справочников.
</li>
<li>
<div>Выберите набор <strong>Общий</strong>. </div>
</li>
<li>
<div>Нажмите <strong>Создать</strong> или <strong>Добавить - Новый</strong> (<strong>Новое</strong>). Заполните необходимые поля.</div></li></ul><h3>Добавление из другого набора</h3>
<ul><li>В программе предусмотрена возможность использовать ранее введенные дополнительные реквизиты и сведения для других наборов.
<ul><li>В программе предусмотрена возможность использовать ранее введенные свойства для других наборов.
</li>
<li>Наиболее актуален этот способ для дополнительных реквизитов и сведений типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>. Если проведены соответствующие настройки (включен хотя бы один из флажков в разделе <strong>Администрирование - Общие настройки</strong>), становится доступной кнопка <strong>Добавить</strong>.
<li>Наиболее актуален этот способ для свойств типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>.</li>
<li>Выберите набор свойств, нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
</li>
<li>Выберите набор дополнительных реквизитов (сведений), нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
<li>Открывается помощник по добавлению свойств.
<ul><li>В левой части первой страницы помощника отображается список ранее введенных свойств. В правой части отражаются значения и другие параметры выбранного реквизита.</li></ul></li>
<li>На первой странице помощника выберите свойство. Обратите внимание, что создать свойство в данном списке невозможно.
<ul><li>Для выбора варианта добавления свойства нажмите кнопку <strong>Далее</strong>.
</li>
<li>Открывается помощник по добавлению дополнительного реквизита (сведения).
<ul><li>В левой части первой страницы помощника отображается список ранее введенных реквизитов (сведений). В правой части отражаются значения и другие параметры выбранного реквизита.</li></ul></li>
<li>На первой странице помощника выберите дополнительный реквизит (сведение). Обратите внимание, что создать дополнительный реквизит или сведение в данном списке невозможно.
<ul><li>Для выбора варианта добавления дополнительного реквизита (сведения) нажмите кнопку <strong>Далее</strong>.
<li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление свойства</strong>.</li></ul></li>
<li>На второй странице помощника с помощью переключателя выберите вариант добавления свойства:
<ul><li><b>Добавить реквизит как есть </b>(рекомендуется) - сделать свойство общим. В этом случае общим становится не список значений, а сам реквизит.</li>
<li><b>Сделать копию реквизита по образцу </b>- создается свойство с общим списком значений. </li>
<li><b>Сделать копию реквизита</b> - в новом наборе будет создана копия свойства и всех его значений.</li></ul></li></ul><h3>Добавление свойств как есть </h3>
<ul><li>Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита <strong>Цвет</strong> можно отобрать всю желтую одежду и обувь. </li>
<li>Для того чтобы добавить в набор общее свойство, выделите нужный набор, нажмите <strong>Добавить - Из другого набора</strong>.</li>
<li>Выберите из предлагаемого <a>списка</a> уже существующий общее свойство. Нажмите кнопку <strong>Далее</strong>. </li>
<li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит. </li>
<li>Также можно добавить общее свойство с помощью перетаскивания мышью или кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.</li>
<li>Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.</li></ul><h3>Добавление по образцу</h3>
<ul><li>Можно использовать ранее введенные свойства из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов. </li>
<li>Выберите набор из списка.</li>
<li>Нажмите <strong>Добавить - Из другого набора</strong>.</li>
<li>Будет открыт список всех свойств, уже существующих в программе. Выберите свойство из списка уже существующих в программе, нажмите <strong>Далее</strong>.</li>
<li>С помощью переключателя выберите способ создания элемента <strong>Сделать копию реквизита по образцу</strong>, нажмите <strong>Далее</strong>.</li>
<li>Тип и все значения выбранного в качестве образца свойства будут скопированы в новый элемент. </li>
<li>Заполните все необходимые поля. По умолчанию реквизит становится общим с набором, из которого был использован образец. Ввод новых значений в этом случае невозможен. Программа выводит напоминание, что список значений является общим с другим реквизитом.</li>
<li>После сохранения свойства с помощью ссылки можно просмотреть реквизит-образец и добавить значения, если необходимо.</li></ul><h3>Копирование свойств</h3>
<ul><li>В программе предусмотрена возможность копирования свойств.
</li>
<li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление дополнительного реквизита (сведения)</strong>.</li></ul></li>
<li>На второй странице помощника с помощью переключателя выберите вариант добавления дополнительного реквизита (сведения):
<ul><li><a href="#1">Сделать копию реквизита</a> - в новом наборе будет создан такой же дополнительный реквизит (сведение).
</li>
<li><a href="#2">Сделать копию реквизита по образцу</a> - создается дополнительный реквизит (сведение) с общим списком значений. Должен быть включен флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
</li>
<li><a href="#3">Добавить общий реквизит в набор</a> - сделать дополнительный реквизит (сведение) общим. В этом случае общим становится не список значений, а сам реквизит. Должен быть включен флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.</li></ul></li></ul><h3><a name="1">Копирование дополнительных реквизитов (сведений)</a></h3>
<ul><li>В программе предусмотрена возможность копирования дополнительных реквизитов (сведений).
</li>
<li>В этом случае для набора дополнительных реквизитов (сведений) будет создана копия - самостоятельный дополнительный реквизит (сведение) со своим списком значений, никак не связанный с оригиналом, по которому был создан.
<li>В этом случае для набора свойств будет создана копия - самостоятельное свойство со своим списком значений, никак не связанный с оригиналом, по которому был создан.
</li>
<li>В зависимости от настроек производится несколькими способами:
<ul><li>В помощнике добавления дополнительных реквизитов и сведений;
<ul><li>В помощнике добавления свойств;
<ul><li>Выделите набор дополнительных реквизитов в списке, нажмите <strong>Добавить - Из другого набора</strong>.
</li>
<li>На первой странице помощника в списке выбора реквизитов для копирования выберите нужный реквизит, нажмите <strong>Далее</strong>.
@@ -63,65 +75,23 @@
</li>
<li>Заполните недостающие поля. После копирования реквизита список значений доступен для редактирования.</li></ul></li>
<li>перетаскиванием мышью;
<ul><li>Можно перетащить нужный дополнительный реквизит (сведение) из одного набора в другой с помощью мыши.
<ul><li>Можно перетащить нужное свойство из одного набора в другой с помощью мыши.
</li>
<li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления дополнительного реквизита (сведения).
<li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления свойства.
</li>
<li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка дополнительного реквизита (сведения), который будет скопирован. Заполните недостающие поля.</li></ul></li>
<li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка свойства, которая будет скопирована. Заполните недостающие поля.</li></ul></li>
<li>с помощью кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.
<ul><li>Выделите дополнительный реквизит (сведение), нажмите кнопку <strong>Копировать</strong>. Выделите набор, в который нужно добавить дополнительный реквизит (сведение). Нажмите кнопку <strong>Вставить</strong>. Если были произведены соответствующие настройки, то открывается вторая страница помощника добавления дополнительных реквизитов (сведений). Если выбранный дополнительный реквизит (сведение) уже входит в какой-либо набор, то предлагается сделать его общим.
<ul><li>Выделите свойство, нажмите кнопку <strong>Копировать</strong>. Выделите набор, в который нужно добавить свойство. Нажмите кнопку <strong>Вставить</strong>. Если были произведены соответствующие настройки, то открывается вторая страница помощника добавления свойства. Если выбранное свойство уже входит в какой-либо набор, то предлагается сделать его общим.
</li>
<li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3><a name="2">Добавление по образцу</a></h3>
<ul><li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
</li>
<li>Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
</li>
<li>
<div>Выберите набор из списка.</div>
</li>
<li>
<div>Нажмите <strong>Добавить - Из другого набора</strong>.</div>
</li>
<li>
<div>Будет открыт список всех дополнительных реквизитов (сведений), уже существующих в программе. Выберите дополнительный реквизит (сведение) из списка уже существующих в программе, нажмите <strong>Далее</strong>.</div>
</li>
<li>
<div>
<div>С помощью переключателя выберите способ создания элемента <strong>Сделать копию реквизита по образцу</strong>, нажмите <strong>Далее</strong>.</div></div>
</li>
<li>
<div>Тип и все значения выбранного в качестве образца дополнительного реквизита (сведения) будут скопированы в новый элемент. </div>
</li>
<li>
<div>Заполните все необходимые поля. По умолчанию реквизит становится общим с набором, из которого был использован образец. Ввод новых значений в этом случае невозможен. Программа выводит напоминание, что список значений является общим с другим реквизитом.</div>
</li>
<li>
<div>После сохранения дополнительного реквизита (сведения) с помощью ссылки можно просмотреть реквизит-образец и добавить значения, если необходимо.</div></li></ul><h3><a name="3">Добавление общих дополнительных реквизитов (сведений)</a></h3>
<ul><li>Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита <strong>Цвет</strong> можно отобрать всю желтую одежду и обувь.
</li>
<li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
</li>
<li>
<div>Для того чтобы добавить в набор общий дополнительный реквизит (сведение), выделите нужный набор, нажмите <strong>Добавить - Из другого набора</strong>.</div>
</li>
<li>
<div>Выберите из предлагаемого <a>списка</a> уже существующий общий дополнительный реквизит (сведение).Нажмите кнопку <strong>Далее</strong>. </div>
</li>
<li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит.
</li>
<li>
<div>Также можно добавить общий дополнительный реквизит (сведение) с помощью перетаскивания мышью или кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.</div>
</li>
<li>
<div>Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.</div></li></ul><h3>Особенности удаления дополнительных реквизитов (сведений)</h3>
<li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3>Особенности удаления свойств</h3>
<ul dir="ltr"><li>
<div>Для того чтобы удалить общий дополнительный реквизит (сведение), необходимо удалить его из всех наборов, в который входил данный реквизит. Возможно, для окончательного удаления придется очистить дополнительные реквизиты от значений.</div>
<div>Для того чтобы удалить общее свойство, необходимо удалить его из всех наборов, в который входил данный реквизит. Возможно, для окончательного удаления придется очистить дополнительные реквизиты от значений.</div>
</li>
<li>
<div>При пометке на удаление свойства в наборе значения свойства сохраняется в объектах до тех пор, пока не будут очищены. Свойство, помеченное на удаление в наборе, будет отображаться в окне объекта или окне дополнительных сведений особым образом.</div>
</li>
<li>
<div>При необходимости можно снять пометку удаления.</div></li></ul><h3>См. также:</h3>
<ul><li><a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">Дополнительные реквизиты и сведения</a>;
<ul><li><a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">Свойства</a>;
</li>
<li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -388,23 +388,6 @@
Возврат;
КонецЕсли;
Если Не ПараметрыЗаписи.Свойство("СПустымEmail")
И Не ЗначениеЗаполнено(Объект.Ссылка)
И ТребуетсяСинхронизацияССервисом
И ОбщегоНазначенияКлиент.РазделениеВключено()
И Не ЗаполненEmail() Тогда
Отказ = Истина;
ПоказатьВопрос(
Новый ОписаниеОповещения("ПослеОтветаНаВопросОПустомEmail", ЭтотОбъект, ПараметрыЗаписи),
НСтр("ru = 'Не заполнен адрес электронной почты. Продолжить?'"),
РежимДиалогаВопрос.ДаНет,
,
,
НСтр("ru = 'Запись нового пользователя сервиса'"));
Возврат;
КонецЕсли;
// Запрос пароля должен быть последним, чтобы работала попытка / исключение.
Если ОбщегоНазначенияКлиент.РазделениеВключено()
И ТребуетсяСинхронизацияССервисом
@@ -2014,16 +1997,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеОтветаНаВопросОПустомEmail(Ответ, ПараметрыЗаписи) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ПараметрыЗаписи.Вставить("СПустымEmail");
Записать(ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписиЗавершение(Результат, ПараметрыЗаписи) Экспорт
@@ -2110,18 +2083,6 @@
КонецФункции
&НаКлиенте
Функция ЗаполненEmail()
ТаблицаКИ = ЭтотОбъект.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов;
СтрокаEMail = ТаблицаКИ.НайтиСтроки(Новый Структура("Вид",
ВидКонтактнойИнформацииEmailПользователя()))[0];
Возврат ЗначениеЗаполнено(ЭтотОбъект[СтрокаEMail.ИмяРеквизита]);
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Поддержка дополнительных реквизитов.
@@ -2587,12 +2548,7 @@
// Доступность редактирования КИ.
Отбор = Новый Структура("Вид", ВидКонтактнойИнформацииEmailПользователя());
НайденныеСтроки = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов.НайтиСтроки(Отбор);
Если НайденныеСтроки <> Неопределено Тогда
ЗаполненEMail = ЗначениеЗаполнено(Форма[НайденныеСтроки[0].ИмяРеквизита]);
Иначе
ЗаполненEMail = Ложь;
КонецЕсли;
ЗаполненEMail = (НайденныеСтроки <> Неопределено) И ЗначениеЗаполнено(Форма[НайденныеСтроки[0].ИмяРеквизита]);
Если Объект.Ссылка.Пустая() И ЗаполненEMail Тогда
МожноИзменятьПароль = Ложь;
Иначе
@@ -3651,10 +3651,21 @@
Возврат СписокЗначений;
КонецПопытки;
ПочтовыеАдресаПоВидам = Новый Соответствие;
Для Каждого ПочтовыйАдрес Из ПочтовыеАдреса Цикл
Если ЗначениеЗаполнено(ПочтовыйАдрес.Представление) Тогда
СписокЗначений.Добавить(ПочтовыйАдрес.Вид, ПочтовыйАдрес.Представление + " (" + Строка(ПочтовыйАдрес.Вид) + ")");
Если НЕ ЗначениеЗаполнено(ПочтовыйАдрес.Представление) Тогда
Продолжить;
КонецЕсли;
ПочтовыеАдресаВида = ПочтовыеАдресаПоВидам.Получить(ПочтовыйАдрес.Вид);
Если ПочтовыеАдресаВида = Неопределено Тогда
ПочтовыеАдресаПоВидам.Вставить(ПочтовыйАдрес.Вид, ПочтовыйАдрес.Представление);
Иначе
ПочтовыеАдресаПоВидам[ПочтовыйАдрес.Вид]= ПочтовыеАдресаВида + ", " + ПочтовыйАдрес.Представление;
КонецЕсли;
КонецЦикла;
Для Каждого Вид Из ПочтовыеАдресаПоВидам Цикл
СписокЗначений.Добавить(Вид.Ключ, Вид.Значение + " (" + Строка(Вид.Ключ) + ")");
КонецЦикла;
Возврат СписокЗначений;
@@ -170,6 +170,15 @@
РассылкаОтчетовОбъект = РассылкаОтчетовСсылка.Ссылка.ПолучитьОбъект(); // СправочникОбъект.РассылкиОтчетов
// При обновлении конфигурации в плане обмена могут регистрироваться предопределенные элементы, даже если отключена авторегистрация.
// Поэтому явно пропускаем группы, в том числе, предопределенную "Личные рассылки".
Если РассылкаОтчетовОбъект.ЭтоГруппа Тогда
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(РассылкаОтчетовСсылка.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
Продолжить;
КонецЕсли;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Формат", Перечисления.ФорматыСохраненияОтчетов.HTML4);
@@ -627,7 +627,7 @@
Сертификат, "РазрешитьПодписание", Неопределено);
Если ПодписаниеРазрешено = Неопределено Тогда
Оповещение = Новый ОписаниеОповещения("ПодписатьДанныеПослеОтветаНаВопрос", ЭтотОбъект, Контекст);
Оповещение = Новый ОписаниеОповещения("ПодписатьДанныеПослеОтветаНаВопросОбУЦ", ЭтотОбъект, Контекст);
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ПараметрыВопроса.Картинка = БиблиотекаКартинок.Предупреждение32;
@@ -644,17 +644,17 @@
Возврат;
КонецЕсли;
ПодписатьДанныеПослеОтветаНаВопрос(ПодписаниеРазрешено, Контекст);
ПодписатьДанныеПослеОтветаНаВопросОбУЦ(ПодписаниеРазрешено, Контекст);
Возврат;
КонецЕсли;
ПодписатьДанныеПослеОтветаНаВопрос(Истина, Контекст)
ПодписатьДанныеПослеОтветаНаВопросОбУЦ(Истина, Контекст);
КонецПроцедуры
// Продолжение процедуры ПодписатьДанные.
&НаКлиенте
Процедура ПодписатьДанныеПослеОтветаНаВопрос(Результат, Контекст) Экспорт
Процедура ПодписатьДанныеПослеОтветаНаВопросОбУЦ(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") Тогда
@@ -677,6 +677,88 @@
Возврат;
КонецЕсли;
ДополнительныеПараметрыПроверок = ЭлектроннаяПодписьСлужебныйКлиент.ДополнительныеПараметрыПроверкиСертификата();
ДополнительныеПараметрыПроверок.ПоказатьОшибку = Ложь;
ДополнительныеПараметрыПроверок.ДляПроверкиПодписи = Истина;
ДополнительныеПараметрыПроверок.ОбъединитьОшибкиДанныхСертификата = Ложь;
ДополнительныеПараметрыПроверок.ВыполнятьПроверкуУдостоверяющегоЦентра = Ложь;
ЭлектроннаяПодписьСлужебныйКлиент.ПроверитьСертификат(Новый ОписаниеОповещения(
"ПодписатьДанныеПослеПроверкиВыбранногоСертификата", ЭтотОбъект, Контекст),
СертификатАдрес,,, ДополнительныеПараметрыПроверок);
КонецПроцедуры
// Продолжение процедуры ПодписатьДанные.
&НаКлиенте
Процедура ПодписатьДанныеПослеПроверкиВыбранногоСертификата(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") Тогда // Ошибка при проверке сертификата.
Если Результат.СертификатОтозван Тогда
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", НСтр("ru = 'Сертификат отозван.
|Выберите другой сертификат.'"));
ДополнительныеДанныеОшибки = Новый Структура("ДополнительныеДанныеПроверокНаКлиенте",
ОшибкаСертификатПомеченКакОтозванный());
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере, ,
ДополнительныеДанныеОшибки);
Возврат;
КонецЕсли;
Контекст.Вставить("СертификатВерен", Ложь);
Контекст.Вставить("ТребуетсяПроверка", Результат.ТребуетсяПроверка);
Оповещение = Новый ОписаниеОповещения("ПодписатьДанныеПослеПредупрежденияПодписьНеверна", ЭтотОбъект,
Новый Структура("Контекст, РезультатПроверкиСертификата", Контекст, Результат));
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ПараметрыВопроса.Картинка = БиблиотекаКартинок.Предупреждение32;
ПараметрыВопроса.Заголовок = НСтр("ru = 'Подпись будет неверна'");
ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("ОтменитьПодписание", НСтр("ru = 'Отменить подписание'"));
Кнопки.Добавить("РазрешитьПодписание", НСтр("ru = 'Разрешить подписание'"));
Кнопки.Добавить("ПоказатьОшибку", НСтр("ru = 'Подробности...'"));
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сертификат не прошел проверку. Подпись, установленная таким сертификатом, будет неверна.
|
|%1'"), ЭлектроннаяПодписьСлужебныйКлиентСервер.ОбщееОписаниеОшибки(
Результат.ОписаниеОшибкиНаКлиенте, Результат.ОписаниеОшибкиНаСервере, Неопределено));
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Оповещение, ТекстОшибки, Кнопки, ПараметрыВопроса);
Возврат;
КонецЕсли;
Контекст.Вставить("СертификатВерен", Истина);
Контекст.Вставить("ТребуетсяПроверка", Ложь);
ПодписатьДанныеПослеПредупрежденияПодписьНеверна(Новый Структура("Значение", "РазрешитьПодписание"),
Новый Структура("Контекст", Контекст));
КонецПроцедуры
// Продолжение процедуры ПодписатьДанные.
&НаКлиенте
Процедура ПодписатьДанныеПослеПредупрежденияПодписьНеверна(Результат, ДополнительныеПараметры) Экспорт
Контекст = ДополнительныеПараметры.Контекст;
Если Результат = Неопределено Или Результат.Значение = "ОтменитьПодписание" Или Результат.Значение = "ПоказатьОшибку" Тогда
Если ЗначениеЗаполнено(ДополнительныеПараметры.РезультатПроверкиСертификата.ОписаниеОшибкиНаКлиенте) Тогда
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", ДополнительныеПараметры.РезультатПроверкиСертификата.ОписаниеОшибкиНаКлиенте);
КонецЕсли;
Если ЗначениеЗаполнено(ДополнительныеПараметры.РезультатПроверкиСертификата.ОписаниеОшибкиНаСервере) Тогда
Контекст.ОшибкаНаСервере.Вставить("ОписаниеОшибки", ДополнительныеПараметры.РезультатПроверкиСертификата.ОписаниеОшибкиНаСервере);
КонецЕсли;
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере,,,Результат.Значение = "ПоказатьОшибку");
Возврат;
КонецЕсли;
ВыбранныйСертификат = Новый Структура;
ВыбранныйСертификат.Вставить("Ссылка", Сертификат);
ВыбранныйСертификат.Вставить("Отпечаток", СертификатОтпечаток);
@@ -718,53 +800,17 @@
Контекст.ИдентификаторФормы = ФормаОбъекта;
КонецЕсли;
ДополнительныеПараметрыПроверок = ЭлектроннаяПодписьСлужебныйКлиент.ДополнительныеПараметрыПроверкиСертификата();
ДополнительныеПараметрыПроверок.ПоказатьОшибку = Ложь;
ДополнительныеПараметрыПроверок.ДляПроверкиПодписи = Истина;
ЭлектроннаяПодписьСлужебныйКлиент.ПроверитьСертификат(Новый ОписаниеОповещения(
"ПодписатьДанныеПослеПроверкиСертификата", ЭтотОбъект, Контекст),
СертификатАдрес,,, ДополнительныеПараметрыПроверок);
КонецПроцедуры
// Продолжение процедуры ПодписатьДанные.
&НаКлиенте
Асинх Процедура ПодписатьДанныеПослеПроверкиСертификата(Результат, Контекст) Экспорт
Если ПеременныеОчищены() Тогда
Возврат;
КонецЕсли;
ПараметрыВыполнения = Новый Структура;
ПараметрыВыполнения.Вставить("ОписаниеДанных", ОписаниеДанных);
ПараметрыВыполнения.Вставить("Форма", ЭтотОбъект);
ПараметрыВыполнения.Вставить("ИдентификаторФормы", Контекст.ИдентификаторФормы);
ПараметрыВыполнения.Вставить("ЗначениеПароля", СвойстваПароля.Значение);
ПараметрыВыполнения.Вставить("СертификатАдрес", СертификатАдрес);
Если ТипЗнч(Результат) = Тип("Структура") Тогда // Ошибка при проверке сертификата.
ПараметрыВыполнения.Вставить("СертификатВерен", Ложь);
ПараметрыВыполнения.Вставить("ТребуетсяПроверка", Результат.ТребуетсяПроверка);
Если Результат.СертификатОтозван Тогда
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", НСтр("ru = 'Сертификат отозван.
|Выберите другой сертификат.'"));
ДополнительныеДанныеОшибки = Новый Структура("ДополнительныеДанныеПроверокНаКлиенте",
ОшибкаСертификатПомеченКакОтозванный());
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере, ,
ДополнительныеДанныеОшибки);
Возврат;
КонецЕсли;
Иначе
ПараметрыВыполнения.Вставить("СертификатВерен", Истина);
ПараметрыВыполнения.Вставить("ТребуетсяПроверка", Ложь);
КонецЕсли;
ПараметрыВыполнения.Вставить("СертификатВерен", Контекст.СертификатВерен);
ПараметрыВыполнения.Вставить("ТребуетсяПроверка", Контекст.ТребуетсяПроверка);
ПараметрыВыполнения.Вставить("ПолноеПредставлениеДанных",
ЭлектроннаяПодписьСлужебныйКлиент.ПолноеПредставлениеДанных(ЭтотОбъект));
ПараметрыВыполнения.Вставить("ТекущийСписокПредставлений", ТекущийСписокПредставлений);
Контекст.Вставить("ПараметрыВыполнения", ПараметрыВыполнения);
@@ -891,10 +937,12 @@
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьОшибку(Оповещение, ОшибкаНаКлиенте, ОшибкаНаСервере, НеподписанныеДанные = Неопределено, ДополнительныеДанные = Неопределено)
Процедура ОбработатьОшибку(Оповещение, ОшибкаНаКлиенте, ОшибкаНаСервере, НеподписанныеДанные = Неопределено, ДополнительныеДанные = Неопределено, ПоказыватьОшибку = Истина)
Если ОписаниеДанных.Свойство("ПрекратитьВыполнение") Тогда
Если ПоказыватьОшибку Тогда
Если Не ОписаниеДанных.Свойство("ОписаниеОшибки") Тогда
ОписаниеДанных.Вставить("ОписаниеОшибки");
КонецЕсли;
@@ -902,6 +950,8 @@
ОписаниеДанных.ОписаниеОшибки = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОбщееОписаниеОшибки(
ОшибкаНаКлиенте, ОшибкаНаСервере, НСтр("ru = 'Не удалось подписать документы по причине:'"));
КонецЕсли;
Если Открыта() Тогда
Закрыть(Ложь);
Иначе
@@ -914,6 +964,7 @@
Открыть();
КонецЕсли;
Если ПоказыватьОшибку Тогда
ДополнительныеПараметры = Новый Структура;
Если ЗначениеЗаполнено(ДополнительныеДанные) Тогда
Для Каждого КлючИЗначение Из ДополнительныеДанные Цикл
@@ -928,6 +979,7 @@
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
НСтр("ru = 'Не удалось подписать документы'"), "",
ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры, ОбработкаПослеПредупреждения);
КонецЕсли;
ВыполнитьОбработкуОповещения(Оповещение, Ложь);
@@ -466,8 +466,8 @@
Иначе
// Обычный пользователь не может изменить права доступа.
Элементы.ФизическоеЛицо.ТолькоПросмотр = Не ЗначениеЗаполнено(Объект.ФизическоеЛицо);
Элементы.ПодобратьФизическоеЛицо.Доступность = ЗначениеЗаполнено(Объект.ФизическоеЛицо);
Элементы.ФизическоеЛицо.ТолькоПросмотр = ЗначениеЗаполнено(Объект.ФизическоеЛицо);
Элементы.ПодобратьФизическоеЛицо.Доступность = Не Элементы.ФизическоеЛицо.ТолькоПросмотр;
Если НЕ ЭтоАвтор Тогда
// Обычный пользователь не может изменять реквизит Пользователь,
// если не он добавил сертификат.
@@ -634,7 +634,8 @@
Если Объект.Отозван Тогда
Элементы.ПредупреждениеГруппа.Видимость = Истина;
Элементы.Предупреждение.Заголовок = НСтр("ru='Сертификат помечен в программе как отозванный'");
Элементы.Предупреждение.Заголовок =
НСтр("ru='Сертификат помечен в программе как отозванный. Подписи, сделанные таким сертификатом верны, если содержат метку доверенного времени, добавленную ранее даты отзыва сертификата. Чтобы узнать причину и дату отзыва, обратитесь в удостоверяющий центр, выдавший сертификат.'");
Элементы.ПодписаниеРазрешено.Видимость = Ложь;
ИначеЕсли Объект.ДействителенДо > ТекущаяДатаСеанса() Тогда
@@ -2784,6 +2784,7 @@
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<autoCellHeight>true</autoCellHeight>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
@@ -2869,7 +2870,6 @@
<items xsi:type="form:FormField">
<name>ЭлектронныеПодписиТребуетсяПроверка</name>
<id>306</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
@@ -1,19 +1,19 @@
<!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.10570.1001"></meta></head><body>
<p>Предназначена для настройки <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">дополнительных реквизитов (сведений)</a>.</p>
<p>Открывается по команде <strong>Добавить</strong> или <strong>Создать</strong> в списке <strong>Дополнительные реквизиты</strong> (<strong>сведения</strong>).</p>
<h3>Назначение нового дополнительного реквизита (сведения) справочнику или документу</h3>
<ul><li>В зависимости от настройки может быть доступна одна из команд ввода новых реквизитов (сведений):
<ul><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Создать</strong>. По умолчанию дополнительный реквизит (сведение) может быть добавлен только в один набор.
<p>Предназначена для настройки <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">свойств</a>.</p>
<p>Открывается по команде <strong>Добавить</strong> или <strong>Создать</strong> в списке <b>Свойств</b>.</p>
<h3>Назначение нового свойства справочнику или документу</h3>
<ul><li>В зависимости от настройки может быть доступна одна из команд ввода новых свойств:
<ul><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Создать</strong>. По умолчанию свойство может быть добавлено только в один набор.
</li>
<li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор.</li></ul></li></ul><p>Заполните необходимые поля:</p>
<ul><li>Напишите краткое <strong>Наименование </strong>свойства, которое будет указываться в окнах объектов программы.
</li>
<li>Для того чтобы дополнительный реквизит при заполнении справочников или документов не оставался пустым, включите флажок <strong>Заполнять обязательно</strong>. Для дополнительных сведений флажок не предусмотрен.
<li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды свойство может быть добавлено только в один набор.</li></ul></li></ul><p>Заполните необходимые поля:</p>
<ul><li>Напишите краткое <strong>Наименование </strong>свойства, которое будет указываться в окнах объектов программы. Ограничение длины <b>Наименования </b>меток составляет <b>15 символов</b>. </li>
<li>Только для меток: выберите нужный <b>Цвет</b>, нажав на цветной значок-метку.</li>
<li>Для того чтобы дополнительный реквизит при заполнении справочников или документов не оставался пустым, включите флажок <strong>Заполнять обязательно</strong>. Для дополнительных сведений и меток флажок не предусмотрен.
</li>
<li>Заполните поля на вкладке <strong>Главное</strong>:
<ul><li><img src="StdPicture.InputFieldSelect"></img> Выберите из списка с помощью флажка <a href="#4">Тип значения</a> дополнительного реквизита (сведения);
<ul><li><img src="StdPicture.InputFieldSelect"></img> Выберите из списка с помощью флажка <a href="#4">Тип значения</a> свойства;
</li>
<li>Для того чтобы уточнить формат дополнительных реквизитов типа <strong>Число</strong>, <strong>Дата</strong>, <strong>Булево</strong>, перейдите в <strong>Конструктор форматной строки </strong>по ссылке <strong>Формат по умолчанию</strong> (для дополнительных сведений не предусмотрено).
<li>Для того чтобы уточнить формат дополнительных реквизитов типа <strong>Число</strong>, <strong>Дата</strong>, <strong>Булево</strong>, перейдите в <strong>Конструктор форматной строки </strong>по ссылке <strong>Формат по умолчанию</strong> (для дополнительных сведений и меток не предусмотрено).
<ul><li>Установите при необходимости значение в поле <strong>Язык (Страна)</strong>, для того чтобы изменить стандартные настройки.
</li>
<li>Выберите необходимые параметры для установки форматов.
@@ -27,112 +27,79 @@
<li>Подробнее о форматах <a href="#4">см. ниже</a>. </li></ul></li>
<li>При необходимости включите флажок <strong>Выводить в виде гиперссылки</strong> - для размещения на карточке объекта (документа, списка) ссылок на внешние ресурсы или другие объекты программы (например, файлы). Доступно для строковых дополнительных реквизитов и для ссылочных объектов.
</li>
<li>Заполните поле <strong>Всплывающая подсказка</strong>,<strong> </strong>для того чтобы объяснить, как заполняется дополнительное сведение или реквизит. Содержимое поля будет выводиться на экран при наведении мыши на поле дополнительного реквизита (сведения).
<li>Заполните поле <strong>Всплывающая подсказка</strong>,<strong> </strong>для того чтобы объяснить, как заполняется свойство. Содержимое поля будет выводиться на экран при наведении мыши на поле свойства.
</li>
<li>Только для дополнительных реквизитов: перейдите по ссылке в поле <strong>Виден</strong>, для того чтобы настроить видимость дополнительного реквизита. Видимость дополнительного реквизита может зависеть от некоторого <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ЗависимостьРеквизитов/Help">условия</a> (например, от заполнения другого реквизита). После того как условие задано, ссылка отображает заданное условие. По умолчанию отображается значение <strong>всегда</strong>.
</li>
<li>Только для дополнительных реквизитов: перейдите по ссылке в поле <strong>Доступен</strong>, для того чтобы настроить доступность дополнительного реквизита для заполнения. Доступность дополнительного реквизита может зависеть от некоторого <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ЗависимостьРеквизитов/Help">условия</a> (например, от заполнения другого реквизита). После того как условие задано, ссылка отображает заданное условие. По умолчанию отображается значение <strong>всегда</strong>.
</li>
<li>Только для дополнительных реквизитов: включите флажок <strong>Заполнять обязательно</strong>, для того чтобы дополнительный реквизит при заполнении списков или документов не оставался пустым. Может зависеть от некоторого <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ЗависимостьРеквизитов/Help">условия</a> (например, от заполнения другого реквизита). Для того чтобы задать условие, перейдите по ссылке. Ссылка по умолчанию принимает значение <strong>всегда</strong>.</li></ul></li>
<li>Заполните поле <strong>Комментарий</strong>, для того чтобы при подборе дополнительного реквизита (сведения) в <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">наборы</a> в нижней части списка выбора выводилось его описание. Для заполнения перейдите на вкладку <strong>Комментарий</strong>.</li></ul><h3>Добавление из другого набора</h3>
<ul><li>В программе предусмотрена возможность использовать ранее введенные дополнительные реквизиты и сведения для других наборов.
<li>Заполните поле <strong>Комментарий</strong>, для того чтобы при подборе свойства в <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">наборы</a> в нижней части списка выбора выводилось его описание. Для заполнения перейдите на вкладку <strong>Комментарий</strong>.</li></ul><h3>Добавление из другого набора</h3>
<ul><li>В программе предусмотрена возможность использовать ранее введенные свойства для других наборов.
</li>
<li>Наиболее актуален этот способ для дополнительных реквизитов и сведений типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>. Если проведены соответствующие настройки (включен хотя бы один из флажков в разделе <strong>Администрирование - Общие настройки</strong>), становится доступной кнопка <strong>Добавить</strong>.
<li>Наиболее актуален этот способ для свойств типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>. </li>
<li>Выберите набор свойств, нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
</li>
<li>Выберите набор дополнительных реквизитов (сведений), нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
</li>
<li>Открывается помощник по добавлению дополнительного реквизита (сведения).
<ul><li>В левой части первой страницы помощника отображается список ранее введенных реквизитов (сведений).
<li>Открывается помощник по добавлению свойства.
<ul><li>В левой части первой страницы помощника отображается список ранее введенных свойств.
</li>
<li>В правой части отражаются значения и другие параметры выбранного реквизита.</li></ul></li>
<li>На первой странице помощника выберите дополнительный реквизит (сведение). Обратите внимание, что создать дополнительный реквизит или сведение в данном списке невозможно.
<ul><li>Для выбора варианта добавления дополнительного реквизита (сведения) нажмите кнопку <strong>Далее</strong>.
<li>На первой странице помощника выберите свойство. Обратите внимание, что создать свойство в данном списке невозможно.
<ul><li>Для выбора варианта добавления свойства нажмите кнопку <strong>Далее</strong>.
</li>
<li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление дополнительного реквизита (сведения)</strong>.</li></ul></li>
<li>На второй странице помощника с помощью переключателя выберите вариант добавления дополнительного реквизита (сведения):
<ul><li><font color="#0066cc"><a href="#1">Сделать копию реквизита</a></font> - в новом наборе будет создан такой же дополнительный реквизит (сведение).
<li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление свойства</strong>.</li></ul></li>
<li>На второй странице помощника с помощью переключателя выберите вариант добавления свойства:
<ul><li><b>Добавить реквизит как есть </b>(рекомендуется) - сделать свойство общим. В этом случае общим становится не список значений, а сам реквизит.</li>
<li><b>Сделать копию реквизита по образцу </b>- создается свойство с общим списком значений. </li>
<li><b>Сделать копию реквизита</b> - в новом наборе будет создана копия свойства и всех его значений.</li></ul></li></ul><h3>Добавление свойств как есть </h3>
<ul><li>Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита <strong>Цвет</strong> можно отобрать всю желтую одежду и обувь.
</li>
<li><font color="#0066cc"><a href="#2">Сделать копию реквизита по образцу</a></font> - создается дополнительный реквизит (сведение) с общим списком значений. Должен быть включен флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
<li>Для того чтобы добавить в набор общее свойство, выделите нужный набор, нажмите <strong>Добавить - Из другого набора</strong>.
</li>
<li><font color="#0066cc"><a href="#3">Добавить общий реквизит в набор</a></font> - сделать дополнительный реквизит (сведение) общим. В этом случае общим становится не список значений, а сам реквизит. Должен быть включен флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.</li></ul></li></ul><h3><a name="1">Копирование дополнительных реквизитов (сведений)</a></h3>
<ul><li>В программе предусмотрена возможность копирования дополнительных реквизитов (сведений).
<li>Выберите из предлагаемого <a>списка</a> уже существующий общее свойство. Нажмите кнопку <strong>Далее</strong>.
</li>
<li>В этом случае для набора дополнительных реквизитов (сведений) будет создана копия - самостоятельный дополнительный реквизит (сведение) со своим списком значений, никак не связанный с оригиналом, по которому был создан.
<li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит.
</li>
<li>Также можно добавить общее свойство с помощью перетаскивания мышью или кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.</li>
<li>Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.</li></ul><h3>Добавление по образцу</h3>
<ul><li>Можно использовать ранее введенные свойства из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
</li>
<li>Выберите набор из списка.
</li>
<li>Нажмите <strong>Добавить - Из другого набора</strong>.
</li>
<li>Будет открыт список всех свойств, уже существующих в программе. Выберите свойство из списка уже существующих в программе, нажмите <strong>Далее</strong>.
</li>
<li>С помощью переключателя выберите способ создания элемента <strong>Сделать копию реквизита по образцу</strong>, нажмите <strong>Далее</strong>.
</li>
<li>Тип и все значения выбранного в качестве образца свойства будут скопированы в новый элемент.
</li>
<li>Заполните все необходимые поля. По умолчанию реквизит становится общим с набором, из которого был использован образец. Ввод новых значений в этом случае невозможен. Программа выводит напоминание, что список значений является общим с другим реквизитом.
</li>
<li>После сохранения свойства с помощью ссылки можно просмотреть реквизит-образец и добавить значения, если необходимо.</li></ul><h3>Копирование свойств</h3>
<ul><li>В программе предусмотрена возможность копирования свойств.
</li>
<li>В этом случае для набора свойств будет создана копия - самостоятельное свойство со своим списком значений, никак не связанный с оригиналом, по которому был создан.
</li>
<li>В зависимости от настроек производится несколькими способами:
<ul><li>В помощнике добавления дополнительных реквизитов и сведений;
<ul><li>Выделите набор дополнительных реквизитов в списке, нажмите <strong>Добавить - Из другого набора</strong>.
<ul><li>В помощнике добавления свойств;
<ul><li>Выделите набор дополнительных реквизитов в списке, нажмите <strong>Добавить - Из другого набора</strong>.
</li>
<li>На первой странице помощника в списке выбора реквизитов для копирования выберите нужный реквизит, нажмите <strong>Далее</strong>.
<li>На первой странице помощника в списке выбора реквизитов для копирования выберите нужный реквизит, нажмите <strong>Далее</strong>.
</li>
<li>На второй странице помощника с помощью переключателя выберите <strong>Сделать копию реквизита</strong>, нажмите <strong>Далее</strong>.
<li>На второй странице помощника с помощью переключателя выберите <strong>Сделать копию реквизита</strong>, нажмите <strong>Далее</strong>.
</li>
<li>Заполните недостающие поля. После копирования реквизита список значений доступен для редактирования.</li></ul></li>
<li>Перетаскиванием мышью;
<ul><li>Можно перетащить нужный дополнительный реквизит (сведение) из одного набора в другой с помощью мыши.
<li>перетаскиванием мышью;
<ul><li>Можно перетащить нужное свойство из одного набора в другой с помощью мыши.
</li>
<li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления дополнительного реквизита (сведения).
<li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления свойства.
</li>
<li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка дополнительного реквизита (сведения), который будет скопирован. Заполните недостающие поля.</li></ul></li>
<li>С помощью кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.
<ul><li>Выделите дополнительный реквизит (сведение), нажмите кнопку <strong>Копировать</strong>. Выделите набор, в который нужно добавить дополнительный реквизит (сведение). Нажмите кнопку <strong>Вставить</strong>. Если были произведены соответствующие настройки, то открывается вторая страница помощника добавления дополнительных реквизитов (сведений). Если выбранный дополнительный реквизит (сведение) уже входит в какой-либо набор, то предлагается сделать его общим.
</li>
<li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3><a name="2">Добавление по образцу</a></h3>
<ul><li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
</li>
<li>Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
</li>
<li>
<div>Выберите набор из списка.</div>
</li>
<li>
<div>Нажмите <strong>Добавить - Из другого набора</strong>.</div>
</li>
<li>
<div>Будет открыт список всех дополнительных реквизитов (сведений), уже существующих в программе. Выберите дополнительный реквизит (сведение) из списка уже существующих в программе, нажмите <strong>Далее</strong>.</div>
</li>
<li>
<div>
<div>С помощью переключателя выберите способ создания элемента <strong>Сделать копию реквизита по образцу</strong>, нажмите <strong>Далее</strong>.</div></div>
</li>
<li>
<div>Тип и все значения выбранного в качестве образца дополнительного реквизита (сведения) будут скопированы в новый элемент. </div>
</li>
<li>
<div>Заполните все необходимые поля. По умолчанию реквизит становится общим с набором, из которого был использован образец. Ввод новых значений в этом случае невозможен. Программа выводит напоминание, что список значений является общим с другим реквизитом.</div>
</li>
<li>
<div>После сохранения дополнительного реквизита (сведения) с помощью ссылки можно просмотреть реквизит-образец и добавить значения, если необходимо.</div>
</li>
<li>Реквизит, созданный по образцу, который имеет общий список значений с другим реквизитом, можно сделать отдельным реквизитом.
<ul><li>Для этого нужно нажать кнопку <strong>Изменить</strong>, в открывшемся окне <strong>Изменить настройку дополнительного реквизита (сведения)</strong> выбрать переключатель <strong>Реквизит со своим списком значений</strong> и записать изменения. Список значений будет скопирован с заменой ссылок в документах. После этого станет доступным ввод списка значений.
</li>
<li><strong>Внимание:</strong> данную перенастройку для уже действующих реквизитов (использованных для ввода в документы) следует применять с осторожностью. Перенастройка реквизита является необратимой, может выполняться автоматически, но занимает много времени и может закончиться некорректно. Можно заменить значения в уже существующих документах вручную, очистив старые значения и добавив новые (рекомендуется).</li></ul></li></ul><h3><a name="3">Добавление общих дополнительных реквизитов (сведений)</a></h3>
<ul><li>Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита <strong>Цвет</strong> можно отобрать всю желтую одежду и обувь.
</li>
<li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
</li>
<li>
<div>Для того чтобы добавить в набор общий дополнительный реквизит (сведение), выделите нужный набор, нажмите <strong>Добавить - Из другого набора</strong>.</div>
</li>
<li>
<div>Выберите из предлагаемого списка уже существующий общий дополнительный реквизит (сведение).Нажмите кнопку <strong>Далее</strong>. </div>
</li>
<li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит.
</li>
<li>
<div>Также можно добавить общий дополнительный реквизит (сведение) с помощью перетаскивания мышью или кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.</div>
</li>
<li>
<div>Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.</div>
</li>
<li>В нижней части окна общего дополнительного реквизита (сведения) при размещении в одном или нескольких наборах появляется ссылка <strong>Общий реквизит (Общее сведение) входит в набор</strong> с перечнем наборов.
</li>
<li> С помощью кнопки <strong>Изменить</strong> (находится рядом со ссылкой) можно общий реквизит сделать отдельным реквизитом с собственным списком значений.
<ul><li>В открывшемся окне <strong>Изменить настройку дополнительного реквизита (сведения)</strong>, нажмите переключатель <strong>Реквизит со своим списком значений</strong> и записать изменения. Список значений будет скопирован с заменой ссылок в документах.
</li>
<li><strong>Внимание!</strong> Перенастройка дополнительного реквизита (сведения) необратима и может занять длительное время, в зависимости от числа документов, в которых заполнен этот реквизит. Вместо этого можно добавить новый реквизит со своим списком значений и выполнить вручную постепенный переход от использования этого реквизита к новому (очистить значения этого реквизита и заполнить значения нового).</li></ul></li></ul><h3><a name="4">Типы значений дополнительных реквизитов и сведений</a></h3>
<p>Тип значения дополнительных реквизитов и сведений меняется исходя из логики использования. Возможны следующие типы дополнительного реквизита или сведения:</p>
<li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка свойства, которая будет скопирована. Заполните недостающие поля.</li></ul></li>
<li>с помощью кнопок <strong>Копировать</strong> и <strong>Вставить</strong>. 
<ul><li>Выделите свойство, нажмите кнопку <strong>Копировать</strong>. Выделите набор, в который нужно добавить свойство. Нажмите кнопку <strong>Вставить</strong>. Если были произведены соответствующие настройки, то открывается вторая страница помощника добавления свойства. Если выбранное свойство уже входит в какой-либо набор, то предлагается сделать его общим. </li>
<li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3>Типы значений свойств</h3>
<p>Тип значения свойства меняется исходя из логики использования. Возможны следующие типы свойств:</p>
<ul><li><strong>Строка</strong> - Определите <strong>Длину</strong> строки, выберите параметр <strong>Фиксированная</strong> или <strong>Переменная</strong> (если введенная строка получится меньше предполагаемой длины, то количество знаков, отведенное под это значение, будет автоматически уменьшено до фактической). Максимальная длина строки в этом случае 1024 символа. Также можно включить флажок <strong>Неограниченная</strong>, если планируется вводить большой объем текстовой информации.
<ul><li>Для дополнительного реквизита типа <strong>Строка</strong> в программе предлагается возможность сделать поле многострочным. Для этого включите флажок <strong>Многострочное поле ввода</strong> и введите количество строк. </li></ul></li>
<li><strong>Число</strong> - выберите <strong>Длину</strong> числа и его <strong>Точность</strong>. По умолчанию программа предлагает длину числа 15 и точность 3. В зависимости от вводимых данных эти цифры могут меняться. Необходимо учитывать, что в количество знаков <strong>Длины</strong> числа входит количество знаков целой части, и десятичная точка, и количество знаков дробной части. При необходимости включите флажок <strong>Неотрицательное</strong>.
@@ -151,7 +118,7 @@
<li><strong>Внимание!</strong> Некоторые настройки формата (например, представление пустого числа, длинная дата и некоторые другие) автоматически не применяются в большинстве мест и поддерживаются только там, где разработчик это предусмотрел (например, в печатных формах).
<ul><li>В карточках объектов они неприменимы.</li></ul></li></ul></li>
<li><strong>Дата</strong> - выберите состав даты: <strong>Дата</strong>, <strong>Время</strong> или <strong>Дата и Время</strong>.
<ul><li>Для дополнительных реквизитов можно задать формат даты, для этого перейдите по ссылке <strong>Формат по умолчанию</strong>. Можно выбрать формат <strong>dd.mm.yyyy</strong>или <strong>yyyy-MM-dd</strong>, а также <strong>Локальный формат даты</strong> (например, <strong>22 мая 2013</strong>), задать <strong>Представление пустой даты</strong> (в незаполненном поле появится предупреждение, например, <strong>Нет даты</strong>).
<ul><li>Для дополнительных реквизитов можно задать формат даты, для этого перейдите по ссылке <strong>Формат по умолчанию</strong>. Можно выбрать формат <strong>dd.mm.yyyy</strong>или <strong>yyyy-MM-dd</strong>, а также <strong>Локальный формат даты</strong> (например, <strong>22 мая 2023</strong>), задать <strong>Представление пустой даты</strong> (в незаполненном поле появится предупреждение, например, <strong>Нет даты</strong>).
<ul><li><strong>Внимание!</strong> Некоторые настройки формата (например, представление пустого числа, длинная дата и некоторые другие) автоматически не применяются в большинстве мест и поддерживаются только там, где разработчик это предусмотрел (например, в печатных формах).
</li>
<li>В карточках объектов они неприменимы.</li></ul></li></ul></li>
@@ -177,8 +144,8 @@
<li><strong>Заголовок формы выбора значения</strong> - введите заголовок <a href="Catalog.ЗначенияСвойствОбъектов/Help">окон выбора значений</a> (<a href="Catalog.ЗначенияСвойствОбъектовИерархия/Help">окон выбора значений с иерархией</a>). Применение индивидуальных заголовков для окон ввода дополнительных реквизитов и сведений и выбора значений позволяет сделать процесс ввода более удобным и понятным.</li></ul></li>
<li>После выбора типа данных и заполнения поля <strong>Наименование</strong> нажмите кнопку <strong>Записать</strong>. После этого становится доступным для работы список значений. Для ввода значений нажмите <strong>Создать</strong>. Введите необходимые поля.
</li>
<li>Если данные не были записаны перед выполнением команды <strong>Создать</strong>, то программа выдает предупреждение. Для перехода к вводу значений нажмите кнопку <strong>Записать</strong>.</li></ul><h3>Изменение формата дополнительных реквизитов и сведений</h3>
<ul><li>Любые изменения типов значений и формата дополнительных реквизитов и сведений после сохранения невозможны. Для этого придется сначала удалить созданные дополнительные реквизиты и сведения, затем уже заново создать дополнительные реквизиты и сведения с новыми типами значений.</li></ul><h3 style="font-size: 13.4399995803833px;">Программная работа со свойствами</h3>
<li>Если данные не были записаны перед выполнением команды <strong>Создать</strong>, то программа выдает предупреждение. Для перехода к вводу значений нажмите кнопку <strong>Записать</strong>.</li></ul><h3>Изменение формата свойств</h3>
<ul><li>Любые изменения типов значений и формата свойств после сохранения невозможны. Для этого придется сначала удалить созданные свойства, затем уже заново создать свойства с новыми типами значений.</li></ul><h3>Программная работа со свойствами</h3>
<p></p>
<ul><li>У каждого свойства есть реквизит <b>Имя</b>, которое необходимо для обращения к нему из кода программы с помощью функций <b>ЗначенияСвойств</b>, <b>ЗначениеСвойства</b>, <b>ПредставлениеЗначенияСвойства</b> и <b>ПредставленияЗначенийСвойств</b> общего модуля <b>УправлениеСвойствами</b>. Его значение уникально, задается автоматически и при необходимости может быть изменено разработчиком в карточке свойства.</li></ul><p></p>
<h3>См. также:</h3>
@@ -1,7 +1,9 @@
<!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 9.00.8112.16553"></meta></head><body>
<p>Дополнительные реквизиты и сведения используются в <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">наборах свойств</a>.<br>Все дополнительные реквизиты и сведения объектов можно вывести в отчетах и списках.</p>
<p>Свойства используются в <a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">наборах свойств</a>.<br>Все свойства объектов можно вывести в отчетах и списках.</p>
<p>При выборе вида дополнительного свойства нужно руководствоваться следующими соображениями:</p>
<ul><li><strong>Дополнительные реквизиты</strong> являются неотъемлемой частью «объекта со свойствами». Они хранятся в табличной части объекта и доступны тем же пользователям, которым доступен и сам «объект со свойствами». Дополнительные реквизиты редактируются в окне объекта наряду с его остальными реквизитами.
</li><li><strong>Дополнительные сведения </strong>предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта. Дополнительные сведения, как правило, доступны для просмотра и/или редактирования пользователям, которые не имеют доступа к самому «объекту со свойствами». Дополнительные сведения редактируются в отдельном окне, которое можно открыть из окна «объекта со свойствами».</li></ul><p>При выборе типа значения <strong>Дополнительное значение </strong>или <strong>Дополнительное значение (иерархия)</strong> можно задать <a href="Catalog.ЗначенияСвойствОбъектов/Help">список возможных значений</a> или <a href="Catalog.ЗначенияСвойствОбъектовИерархия/Help">значений с иерархией</a> дополнительного реквизита или сведения. Для этого нужно воспользоваться командой <strong>Создать</strong> в окне <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаЭлемента/Help">дополнительного реквизита или сведения</a>.</p>
</li>
<li><strong>Дополнительные сведения </strong>предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта. Дополнительные сведения, как правило, доступны для просмотра и/или редактирования пользователям, которые не имеют доступа к самому «объекту со свойствами». Дополнительные сведения редактируются в отдельном окне, которое можно открыть из окна «объекта со свойствами».</li>
<li><b>Метки </b>позволяют помечать справочники и документы разноцветными значками-метками. Их редактирование и просмотр определены правами на объект-владелец.</li></ul><p>При выборе типа значения <strong>Дополнительное значение </strong>или <strong>Дополнительное значение (иерархия)</strong> можно задать <a href="Catalog.ЗначенияСвойствОбъектов/Help">список возможных значений</a> или <a href="Catalog.ЗначенияСвойствОбъектовИерархия/Help">значений с иерархией</a> дополнительного реквизита или сведения. Для этого нужно воспользоваться командой <strong>Создать</strong> в окне <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаЭлемента/Help">свойств</a>.</p>
<h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -150,12 +150,11 @@
КонецЕсли;
МодульКонструкторФормул.ДобавитьСписокПолейНаФорму(ЭтотОбъект, ПараметрыДобавления);
ПодготовитьМакетКОткрытию(ПодготовленныйМакет);
РасширитьСписокПолей();
КонецЕсли;
ПодготовитьМакетКОткрытию(ПодготовленныйМакет);
ПоместитьВоВременноеХранилище(ПодготовленныйМакет, АдресФайлаМакета);
ХешРедактируемогоМакета = ПолучитьХешМакета(АдресФайлаМакета);
ВремяПроверкиМодифицированностиМакета = ТекущаяУниверсальнаяДатаВМиллисекундах();
@@ -1496,7 +1496,8 @@
ИмяОбласти = ПредставлениеОбласти;
КонецЕсли;
Элементы.УдалитьШтампЭП.Доступность = СтрНачинаетсяС(ТекущаяОбласть.Имя, "ШтампЭП");
Элементы.УдалитьШтампЭП.Доступность = ТипЗнч(ТекущаяОбласть) = Тип("ОбластьЯчеекТабличногоДокумента")
И СтрНачинаетсяС(ТекущаяОбласть.Имя, "ШтампЭП");
Если ТипЗнч(ТекущаяОбласть) = Тип("ОбластьЯчеекТабличногоДокумента")
И ТекущаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Строки Тогда
@@ -242,9 +242,16 @@
&НаСервереБезКонтекста
Функция ПолучитьОбъектыДляПрикрепления(ОбъектыПечати)
Результат = Новый СписокЗначений;
МодульУправлениеДоступом = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
КонецЕсли;
Для Каждого ОбъектПечати Из ОбъектыПечати Цикл
Результат.Добавить(ОбъектПечати.Значение,,УправлениеДоступом.ИзменениеРазрешено(ОбъектПечати.Значение));
Результат.Добавить(ОбъектПечати.Значение,,?(МодульУправлениеДоступом <> Неопределено,
МодульУправлениеДоступом.ИзменениеРазрешено(ОбъектПечати.Значение), Истина));
КонецЦикла;
Возврат Результат;
КонецФункции
@@ -437,7 +437,7 @@
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЭлементСписка_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка, Отказ = Ложь)
Процедура Подключаемый_ЭлементСписка_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПутьКСписку = СтрЗаменить(Элемент.Имя, "Значение", "");
@@ -447,6 +447,20 @@
ПараметрыЗаполнения.Индекс = ПутьКДаннымЭлементов.ПоИмени[ПутьКСписку];
ПараметрыЗаполнения.Владелец = Элемент;
ТекущееЗначение = Элементы[ПутьКСписку].ТекущиеДанные.Значение;
Если ТекущееЗначение <> Неопределено Тогда
Сведения = ОтчетыКлиент.СведенияОЭлементеНастройки(Отчет.КомпоновщикНастроек, ПараметрыЗаполнения.Индекс);
ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
ПараметрыВыбора = ОтчетыКлиентСервер.ПараметрыВыбора(Сведения.Настройки, ПользовательскиеНастройки, Сведения.Элемент);
ПараметрыЗаполнения.Вставить("ПараметрыВыбора", ПараметрыВыбора);
ПараметрыЗаполнения.Вставить("ТекущаяСтрока", ТекущееЗначение);
СписокТипов = Новый СписокЗначений;
СписокТипов.Добавить(ТипЗнч(ТекущееЗначение));
ПродолжитьЗаполнениеСписка(СписокТипов[0], ПараметрыЗаполнения);
Возврат;
КонецЕсли;
НачатьЗаполнениеСписка(Элемент, ПараметрыЗаполнения);
КонецПроцедуры
@@ -60,6 +60,7 @@
ФормаПараметры.НачальныйКлючПредопределенногоВарианта = НастройкиОтчета.КлючПредопределенногоВарианта;
Если Параметры.СформироватьПриОткрытии Тогда
Параметры.СформироватьПриОткрытии = Ложь;
Элементы.ФормироватьСразу.Пометка = Истина;
НастройкиОтчета.ПрочитатьФлажокФормироватьСразуИзПользовательскихНастроек = Ложь;
КонецЕсли;
@@ -5254,10 +5255,15 @@
&НаСервере
Процедура ЗаполнитьПутьКФайлуВнешнегоОтчетаНаКлиенте(ОтчетОбъект)
Если НастройкиОтчета.ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный Тогда
Возврат;
КонецЕсли;
СтруктураОбъекта = Новый Структура("ИспользуемоеИмяФайла", Неопределено);
ЗаполнитьЗначенияСвойств(СтруктураОбъекта, ОтчетОбъект);
Если Не ЗначениеЗаполнено(СтруктураОбъекта.ИспользуемоеИмяФайла)
Или СтрНачинаетсяС(СтруктураОбъекта.ИспользуемоеИмяФайла, "e1cib/")
Или СтрНачинаетсяС(СтруктураОбъекта.ИспользуемоеИмяФайла, "e1cib\") Тогда
Возврат;
КонецЕсли;
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>КомуВыданСертификат</name>
<id>2</id>
@@ -216,127 +216,6 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Статус</name>
<id>29</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Статус</segments>
</dataPath>
<titleLocation>Left</titleLocation>
<extendedTooltip>
<name>СтатусРасширеннаяПодсказка</name>
<id>31</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СтатусКонтекстноеМеню</name>
<id>30</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ТребуетсяПроверка</name>
<id>57</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТребуетсяПроверка</segments>
</dataPath>
<titleLocation>Right</titleLocation>
<extendedTooltip>
<name>ТребуетсяПроверкаРасширеннаяПодсказка</name>
<id>59</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТребуетсяПроверкаКонтекстноеМеню</name>
<id>58</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:FormField">
<name>ДатаПроверкиПодписи</name>
<id>32</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДатаПроверкиПодписи</segments>
</dataPath>
<extendedTooltip>
<name>ДатаПроверкиПодписиРасширеннаяПодсказка</name>
<id>34</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДатаПроверкиПодписиКонтекстноеМеню</name>
<id>33</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</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>
<items xsi:type="form:FormField">
<name>СрокДействияПоследнейМеткиВремени</name>
<id>49</id>
@@ -422,6 +301,43 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ДекорацияСтатус</name>
<id>59</id>
<title>
<key>ru</key>
<value>Результат проверки подписи</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияСтатусРасширеннаяПодсказка</name>
<id>61</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияСтатусКонтекстноеМеню</name>
<id>60</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<backColor xsi:type="core:ColorRef">
<color>Style.ToolTipBackColor</color>
</backColor>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ТехническаяИнформация</name>
<id>41</id>
@@ -693,6 +609,33 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаОткрытьСертификатДляПроверкиПодписи</name>
<id>64</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОткрытьСертификатДляПроверкиПодписиРасширеннаяПодсказка</name>
<id>65</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОткрытьСертификатДляПроверкиПодписи</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
@@ -822,10 +765,6 @@
</attributes>
<attributes>
<name>ДатаПроверкиПодписи</name>
<title>
<key>ru</key>
<value>Дата проверки подписи</value>
</title>
<id>9</id>
<valueType>
<types>Date</types>
@@ -853,10 +792,6 @@
</attributes>
<attributes>
<name>Статус</name>
<title>
<key>ru</key>
<value>Статус</value>
</title>
<id>11</id>
<valueType>
<types>String</types>
@@ -989,10 +924,6 @@
</attributes>
<attributes>
<name>ТребуетсяПроверка</name>
<title>
<key>ru</key>
<value>Требуется проверка</value>
</title>
<id>18</id>
<valueType>
<types>Boolean</types>
@@ -1004,6 +935,87 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СертификатыДляПроверкиПодписи</name>
<id>20</id>
<valueType>
<types>ValueTable</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<columns>
<name>ДанныеСертификата</name>
<id>21</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>КомуВыдан</name>
<id>22</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>ЭтоСертификатПодписи</name>
<id>23</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>СвойстваПрочитаны</name>
<id>24</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ОшибкаЧтенияПодписи</name>
<id>25</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>СохранитьВФайл</name>
<title>
@@ -1066,6 +1078,28 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ОткрытьСертификатДляПроверкиПодписи</name>
<title>
<key>ru</key>
<value>Открыть сертификаты подписи...</value>
</title>
<id>4</id>
<toolTip>
<key>ru</key>
<value>Сертификаты для проверки подписи: сертификат подписанта, сертификаты меток времени.</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОткрытьСертификатДляПроверкиПодписи</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>СвойстваПодписи</name>
<valueType/>
@@ -37,6 +37,9 @@
АлгоритмХеширования = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмХеширования(
АдресПодписи, Истина);
Элементы.ДекорацияСтатус.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Статус на %1: %2'"), ДатаПроверкиПодписи, Статус);
ОбновитьДанныеФормы();
КонецПроцедуры
@@ -75,6 +78,19 @@
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьСертификатДляПроверкиПодписи(Команда)
Если Не СвойстваПрочитаны Или ЗначениеЗаполнено(ОшибкаЧтенияПодписи) Тогда
ЭлектроннаяПодписьКлиент.ПрочитатьСвойстваПодписи(
Новый ОписаниеОповещения("ПослеЧтенияСвойствПодписи", ЭтотОбъект), АдресПодписи);
Возврат;
Иначе
ОткрытьПрочитанныйСертификат();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПродлитьДействиеПодписи(Команда)
@@ -160,4 +176,90 @@
КонецПроцедуры
&НаКлиенте
Асинх Процедура ПослеЧтенияСвойствПодписи(Результат, ДополнительныеПараметры) Экспорт
СвойстваПрочитаны = Истина;
Если Результат.Успех = Истина Тогда
ОшибкаЧтенияПодписи = "";
ЕстьСертификатПодписи = Ложь;
Для Каждого ДанныеСертификата Из Результат.Сертификаты Цикл
НоваяСтрока = СертификатыДляПроверкиПодписи.Добавить();
СертификатКриптографии = Новый СертификатКриптографии;
Ждать СертификатКриптографии.ИнициализироватьАсинх(ДанныеСертификата);
СвойстваСертификата = ЭлектроннаяПодписьКлиент.СвойстваСертификата(СертификатКриптографии);
НоваяСтрока.КомуВыдан = СвойстваСертификата.Представление;
НоваяСтрока.ДанныеСертификата = ПоместитьВоВременноеХранилище(ДанныеСертификата, УникальныйИдентификатор);
Если ДанныеСертификата = Результат.Сертификат Тогда
НоваяСтрока.ЭтоСертификатПодписи = Истина;
ЕстьСертификатПодписи = Истина;
КонецЕсли;
КонецЦикла;
Если Не ЕстьСертификатПодписи И ЗначениеЗаполнено(Результат.Сертификат) Тогда
НоваяСтрока = СертификатыДляПроверкиПодписи.Добавить();
СертификатКриптографии = Новый СертификатКриптографии;
Ждать СертификатКриптографии.ИнициализироватьАсинх(Результат.Сертификат);
СвойстваСертификата = ЭлектроннаяПодписьКлиент.СвойстваСертификата(СертификатКриптографии);
НоваяСтрока.КомуВыдан = СвойстваСертификата.Представление;
НоваяСтрока.ДанныеСертификата = ПоместитьВоВременноеХранилище(Результат.Сертификат, УникальныйИдентификатор);
НоваяСтрока.ЭтоСертификатПодписи = Истина;
КонецЕсли;
ИначеЕсли Результат.Успех = Неопределено Тогда
ОшибкаЧтенияПодписи = НСтр("ru='Не удалось получить сертификаты из подписи, проверьте настройки программ электронной подписи.'");
Иначе
ОшибкаЧтенияПодписи = Результат.ТекстОшибки;
КонецЕсли;
СертификатыДляПроверкиПодписи.Сортировать("ЭтоСертификатПодписи Убыв");
ОткрытьПрочитанныйСертификат();
КонецПроцедуры
&НаКлиенте
Асинх Процедура ОткрытьПрочитанныйСертификат()
Если ЗначениеЗаполнено(ОшибкаЧтенияПодписи) Тогда
ПоказатьПредупреждение(, ОшибкаЧтенияПодписи);
Возврат;
КонецЕсли;
Количество = СертификатыДляПроверкиПодписи.Количество();
Если Количество > 1 Тогда
СписокЗначений = Новый СписокЗначений();
Для Каждого Строка Из СертификатыДляПроверкиПодписи Цикл
Если Строка.ЭтоСертификатПодписи Тогда
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Сертификат подписанта: %1'"), Строка.КомуВыдан);
Иначе
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Сертификат для проверки подписи: %1'"), Строка.КомуВыдан);
КонецЕсли;
СписокЗначений.Добавить(Строка.ДанныеСертификата, Представление);
КонецЦикла;
Выбрано = Ждать СписокЗначений.ВыбратьЭлементАсинх(НСтр("ru='Выберите сертификат'"));
Если Выбрано <> Неопределено Тогда
ЭлектроннаяПодписьКлиент.ОткрытьСертификат(Выбрано.Значение);
КонецЕсли;
ИначеЕсли Количество = 1 Тогда
ЭлектроннаяПодписьКлиент.ОткрытьСертификат(СертификатыДляПроверкиПодписи[0].ДанныеСертификата);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -521,7 +521,7 @@
| И Задачи.Выполнена = ЛОЖЬ");
Запрос.УстановитьПараметр("БизнесПроцессы", МассивБизнесПроцессов);
Возврат Запрос.Выполнить().Выбрать().Следующий().Количество;
Возврат Запрос.Выполнить().Выгрузить()[0].Количество;
КонецФункции
@@ -564,7 +564,7 @@
Процедура ПриПеренаправленииЗадачи(ЗадачаОбъект, НоваяЗадачаОбъект)
Если ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда
Если ЗадачаОбъект.БизнесПроцесс = Неопределено Или ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда
Возврат;
КонецЕсли;
@@ -885,7 +885,7 @@
ДатаПоследнегоУведомления, ДатаУведомления));
ЗадачиПоИсполнителям = ВыбратьНовыеЗадачиПоИсполнителям(ДатаПоследнегоУведомления, ДатаУведомления);
Получатели = ОбщегоНазначенияКлиентСервер.СвернутьМассив(ЗадачиПоИсполнителям.ВыгрузитьКолонку("Исполнитель"));
Получатели = ОбщегоНазначенияКлиентСервер.СвернутьМассив(ЗадачиПоИсполнителям.Строки.ВыгрузитьКолонку("Исполнитель"));
АдресаПолучателей = АдресаЭлектроннойПочты(Получатели);
Для Каждого СтрокаИсполнителя Из ЗадачиПоИсполнителям.Строки Цикл
ОтправитьУведомлениеОНовыхЗадачах(СтрокаИсполнителя.Исполнитель, СтрокаИсполнителя, АдресаПолучателей);
@@ -1077,6 +1077,28 @@
Обработчик.РежимВыполнения = "Оперативно";
Обработчик.Процедура = "БизнесПроцессыИЗадачиСервер.ЗаполнитьНаименованиеПредопределенногоЭлементаВсеОбъектыАдресации";
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "РегистрыСведений.ДанныеБизнесПроцессов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "3.1.9.99";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("5137a43e-75aa-4a68-ba2f-525a3a646de8");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.ДанныеБизнесПроцессов.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Комментарий = НСтр("ru = 'Заполнение реквизита Состояние в регистре Бизнес-процессы.'");
Обработчик.ИзменяемыеОбъекты = Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя();
Обработчик.БлокируемыеОбъекты = Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя();
Читаемые = Новый Массив;
ТипыБизнесПроцессов = Метаданные.ОпределяемыеТипы.БизнесПроцесс.Тип;
Если Не ТипыБизнесПроцессов.СодержитТип(Тип("Строка")) Тогда
Для каждого ТипБизнесПроцесса Из ТипыБизнесПроцессов.Типы() Цикл
Читаемые.Добавить(Метаданные.НайтиПоТипу(ТипБизнесПроцесса).ПолноеИмя());
КонецЦикла;
КонецЕсли;
Читаемые.Добавить(Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
КонецПроцедуры
// См. ИнтеграцияПодсистемБСП.ПриОпределенииГруппИсполнителей.
@@ -30,12 +30,14 @@
КонецЕсли;
НаборЗаписей = РегистрыСведений.ДанныеБизнесПроцессов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Значение = Источник.Ссылка;
НаборЗаписей.Отбор.Владелец.Использование = Истина;
НаборЗаписей.Отбор.Владелец.Установить(Источник.Ссылка);
Запись = НаборЗаписей.Добавить();
Запись.Владелец = Источник.Ссылка;
СписокПолей = "Номер,Дата,Завершен,Стартован,Автор,ДатаЗавершения,Наименование,ПометкаУдаления";
СписокПолей = "Номер,Дата,Завершен,Стартован,Автор,ДатаЗавершения,Наименование,ПометкаУдаления,Состояние";
ЗаполнитьЗначенияСвойств(Запись, Источник, СписокПолей);
Если Не ЗначениеЗаполнено(Запись.Состояние) Тогда
Запись.Состояние = Перечисления.СостоянияБизнесПроцессов.Активен;
КонецЕсли;
БизнесПроцессыИЗадачиПереопределяемый.ПриЗаписиСпискаБизнесПроцессов(Запись);
@@ -3024,6 +3024,7 @@
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецЕсли;
ТекущаяДатаСеанса = ТекущаяДатаСеанса();
УстановитьПривилегированныйРежим(Истина);
@@ -3042,16 +3043,22 @@
Запись.Статус = СтатусДлительнойОперации().Создано;
Запись.НомерПопытки = 0;
Запись.Наименование = Строка(КлючЗначение.Ключ);
Запись.ДатаСоздания = ТекущаяДатаСеанса();
Запись.ДатаСоздания = ТекущаяДатаСеанса;
Запись.ИмяПользователя = ИмяПользователя;
Запись.ПараметрыПотока = Новый ХранилищеЗначения(КлючЗначение.Значение);
КонецЦикла;
ИдентификаторПотока = ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор();
Если ОбновленныеПараметрыОперации = Неопределено Тогда
Запись = НаборЗаписей.Добавить();
Запись.ИдентификаторПроцесса = ИдентификаторПроцесса;
Запись.ИдентификаторПотока = ИдентификаторПотока;
Запись.НомерПопытки = 0;
Запись.ДатаСоздания = ТекущаяДатаСеанса;
Запись.ИмяПользователя = ИмяПользователя;
НаборЗаписей.Записать();
Иначе
ИдентификаторПотока = ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор();
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ДлительныеОперации");
ЭлементБлокировки.УстановитьЗначение("ИдентификаторПроцесса", ИдентификаторПроцесса);
@@ -3253,11 +3260,11 @@
Запись = НаборЗаписей[0];
Иначе
Запись = НаборЗаписей.Добавить();
Запись.ИдентификаторПроцесса = ИдентификаторПроцесса;
Запись.ИдентификаторПотока = ИдентификаторПотока;
Запись.НомерПопытки = 0;
Запись.ДатаСоздания = ТекущаяДатаСеанса();
Запись.ИмяПользователя = ИмяПользователя();
Запись.ИдентификаторПроцесса = ИдентификаторПроцесса;
КонецЕсли;
Запись.АдресРезультата = РезультатЗапуска.АдресРезультата;
Запись.ИдентификаторЗадания = РезультатЗапуска.ИдентификаторЗадания;
@@ -493,8 +493,10 @@
Для Каждого ЗначениеОтбора Из ЗначенияОтбора Цикл
Если ВРег(КлючСтруктурыОтбора) = ВРег("Пользователь") Тогда
Попытка
УстановитьПривилегированныйРежим(Истина);
НовоеЗначение.Добавить(ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
Новый УникальныйИдентификатор(ЗначениеОтбора)));
УстановитьПривилегированныйРежим(Ложь);
Исключение
НовоеЗначение.Добавить(ЗначениеОтбора);
КонецПопытки;
@@ -97,7 +97,13 @@
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииПараметровРаботыКлиентаПриЗапуске.
Процедура ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры) Экспорт
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат;
КонецЕсли;
Параметры.Вставить("ИнформацияПриЗапуске", Новый ФиксированнаяСтруктура(ГлобальныеНастройки()));
КонецПроцедуры
#КонецОбласти
@@ -446,7 +446,7 @@
//
// Возвращаемое значение:
// Структура:
// * ПроблемныйОбъект - ЛюбаяСсылка - ссылка на объект "Источник" проблем.
// * ПроблемныйОбъект - ЛюбаяСсылка - ссылка на объект-источник проблемы.
// * Проверка - СправочникСсылка.ПравилаПроверкиУчета - ссылка на выполненную проверку.
// Взято из переданной структуры ПараметрыПроверки.
// * ВидПроверки - СправочникСсылка.ВидыПроверок - ссылка на вид проверки, к которому относится
@@ -1114,6 +1114,7 @@
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.ОтображатьЗаголовок = Ложь;
Группа.Заголовок = НСтр("ru = 'Настройка напоминания'");
Группа.Отображение = ОтображениеОбычнойГруппы.Нет;
Если НастройкиНапоминания.ДобавлятьФлажок Тогда
Флажок = Форма.Элементы.Добавить(ИмяПоляНапоминатьОСобытии, Тип("ПолеФормы"), Группа);
@@ -38,9 +38,11 @@
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Валюты") Тогда
МодульРаботаСКурсамиВалютСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСКурсамиВалютСлужебный");
Элементы.ГруппаОбработкаЗагрузкаКурсовВалют.Видимость =
Не Форма.РазделениеВключено
И Не Форма.ЭтоАвтономноеРабочееМесто;
И Не Форма.ЭтоАвтономноеРабочееМесто
И МодульРаботаСКурсамиВалютСлужебный.ЕстьПравоИзмененияКурсовВалют();
Иначе
Элементы.ГруппаОбработкаЗагрузкаКурсовВалют.Видимость = Ложь;
КонецЕсли;
@@ -175,7 +175,8 @@
// - РегистрБухгалтерииНаборЗаписей
// - РегистрРасчетаНаборЗаписей
// - ЛюбаяСсылка
// - ДанныеФормыСтруктура - ссылка на объект, сам объект, набор записей или полное имя объекта
// - ДанныеФормыСтруктура
// - Строка - ссылка на объект, сам объект, набор записей или полное имя объекта
// метаданных, обработку которого необходимо проверить.
// Форма - ФормаКлиентскогоПриложения - если объект не обработан, то у переданной формы
// будет установлено свойство ТолькоПросмотр. Если форма не была
@@ -266,7 +267,8 @@
// - РегистрБухгалтерииНаборЗаписей
// - РегистрРасчетаНаборЗаписей
// - ЛюбаяСсылка
// - ДанныеФормыСтруктура - ссылка на объект, сам объект, набор записей или полное имя объекта метаданных,
// - ДанныеФормыСтруктура
// - Строка - ссылка на объект, сам объект, набор записей или полное имя объекта метаданных,
// блокировку которого необходимо проверить.
//
// Возвращаемое значение:
@@ -4241,8 +4243,7 @@
КонецПроцедуры
// Регистрирует проблему с данными, выявленную при выполнении обработчика обновления в подсистеме
// КонтрольВеденияУчета.
// Регистрирует проблему с данными, выявленную при выполнении обработчика обновления, в подсистеме КонтрольВеденияУчета.
//
// Параметры:
// ПроблемныйОбъект - ЛюбаяСсылка - объект, в котором обнаружена проблема.
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.9.89";
Описание.Версия = "3.1.9.104";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -204,7 +204,7 @@
Сообщения["[СообщениеВызовЗавершитьОбновление]"] = "ОбновлениеКонфигурации.ЗавершитьОбновление" + "({0}, {1}, {2})";
Сообщения["[СообщениеОтказПриВызовеЗавершитьОбновление]"] = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Исключение при вызове %1: {0}, {1}'"), "ОбновлениеКонфигурации.ЗавершитьОбновление");
Сообщения["[СообщениеРезультатОбновленияБазы]"] = НСтр("ru = 'Обновление информационной базы завершилась успешно'");
Сообщения["[СообщениеРезультатОбновленияБазы]"] = НСтр("ru = 'Обновление информационной базы завершилось успешно'");
Сообщения["[СообщениеОтказОбновленияБазы]"] = НСтр("ru = 'Непредвиденная ситуация при обновлении информационной базы'");
Сообщения["[СообщениеПараметрыБазы]"] = НСтр("ru = 'Параметры информационной базы: {0}.'");
Сообщения["[СообщениеОтказЛогирования]"] = НСтр("ru = 'Исключение при записи журнала: {0}, {1}'");
@@ -3852,20 +3852,9 @@
"ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами");
КонецЕсли;
// После начала исполнения файла команды отследить статус процесса будет невозможно,
// Потому удалять batch файл следует последней строкой команды в самом batch файле.
// Асинхронно удалять нельзя, иначе может наступить коллизия,
// когда идет попытка удаления, а запуск еще не состоялся.
ФайлКоманды = ПолучитьИмяВременногоФайла("runas.bat");
ЗаписьКоманды = Новый ЗаписьТекста(ФайлКоманды, КодировкаТекста.OEM);
ЗаписьКоманды.ЗаписатьСтроку(СтрокаКоманды);
ЗаписьКоманды.ЗаписатьСтроку("del /f /q """ + ФайлКоманды + """");
ЗаписьКоманды.Закрыть();
Оболочка = Новый COMОбъект("Shell.Application");
// Запуск с передачей глагола действия - повышения привилегий.
Оболочка.ShellExecute("cmd", "/c """ + ФайлКоманды + """",, "runas", 0);
Оболочка.ShellExecute("cmd", "/c """ + СтрокаКоманды + """",, "runas", 0);
Оболочка = Неопределено;
Иначе
@@ -46,7 +46,7 @@
ПараметрыЗапроса.Вставить("charset", "utf-8");
// отправка запроса
ТекстОтвета = ВыполнитьЗапрос("send.php", ПараметрыЗапроса);
ТекстОтвета = ВыполнитьЗапрос("send.php", ПараметрыЗапроса); // АПК:1425 Не является именем временнего исполняемого файла.
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
Результат.ОписаниеОшибки = Результат.ОписаниеОшибки + НСтр("ru = 'Соединение не установлено'");
Возврат Результат;
@@ -102,7 +102,7 @@
ПараметрыЗапроса.Вставить("fmt", 3);
// отправка запроса
ТекстОтвета = ВыполнитьЗапрос("status.php", ПараметрыЗапроса);
ТекстОтвета = ВыполнитьЗапрос("status.php", ПараметрыЗапроса); // АПК:1425 Не является именем временнего исполняемого файла.
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
Возврат "Ошибка";
КонецЕсли;
@@ -49,7 +49,7 @@
ПараметрыЗапроса.Вставить("source", ИмяОтправителя);
// отправка запроса
ТекстОтвета = ВыполнитьЗапрос("send.php", ПараметрыЗапроса);
ТекстОтвета = ВыполнитьЗапрос("send.php", ПараметрыЗапроса); // АПК:1425 Не является именем временнего исполняемого файла.
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
Результат.ОписаниеОшибки = Результат.ОписаниеОшибки + НСтр("ru = 'Соединение не установлено'");
Возврат Результат;
@@ -108,7 +108,7 @@
ПараметрыЗапроса.Вставить("smsid", ИдентификаторСообщения);
// отправка запроса
ТекстОтвета = ВыполнитьЗапрос("report.php", ПараметрыЗапроса);
ТекстОтвета = ВыполнитьЗапрос("report.php", ПараметрыЗапроса); // АПК:1425 Не является именем временнего исполняемого файла.
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
Возврат "Ошибка";
КонецЕсли;
@@ -6902,7 +6902,44 @@
Для Каждого Настройка Из ТаблицаНастроек Цикл
КлючОбъекта = Настройка.КлючОбъекта;
КлючНастроек = Настройка.КлючНастроек;
Попытка
Значение = МенеджерНастроек.Загрузить(КлючОбъекта, КлючНастроек, , ИмяПользователяИсточник);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При копировании настройки от пользователя ""%1""
|пользователю ""%2""
|с ключом объекта ""%3"" и
|ключом настроек ""%4""
|не удалось загрузить значение настройки по причине:
|%5'"),
ИмяПользователяИсточник,
ИмяПользователяПриемник,
КлючОбъекта,
КлючНастроек,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Пользователи.Копирование настроек'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
Комментарий);
ВозможноПродолжить = Истина;
Попытка
Справочники.Пользователи.НайтиПоНаименованию(Строка(Новый УникальныйИдентификатор()), Истина);
Исключение
ВозможноПродолжить = Ложь;
КонецПопытки;
Если ВозможноПродолжить Тогда
Продолжить;
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось скопировать настройку пользователю по причине:
|%1
|
|Подробности записаны в журнал регистрации.'"),
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ВызватьИсключение ТекстОшибки;
КонецПопытки;
ОписаниеНастроек = МенеджерНастроек.ПолучитьОписание(КлючОбъекта, КлючНастроек, ИмяПользователяИсточник);
МенеджерНастроек.Сохранить(КлючОбъекта, КлючНастроек, Значение,
ОписаниеНастроек, ИмяПользователяПриемник);
@@ -264,8 +264,12 @@
И ПравоДоступа("Изменение", Метаданные.Справочники.КлассификаторБанков) // Пользователь с необходимыми правами.
И Не РаботаСБанкамиСлужебный.КлассификаторАктуален()); // Классификатор уже обновлен.
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
ВключитьОповещение = Ложь;
Иначе
ВключитьОповещение = Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела");
РаботаСБанкамиПереопределяемый.ПриОпределенииНеобходимостиПоказаПредупрежденияОбУстаревшемКлассификатореБанков(ВключитьОповещение);
КонецЕсли;
Параметры.Вставить("Банки", Новый ФиксированнаяСтруктура("ВыводитьОповещениеОНеактуальности", (ВыводитьОповещениеОНеактуальности И ВключитьОповещение)));
@@ -165,7 +165,7 @@
МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер");
Если ОбщегоНазначения.РазделениеВключено() // В модели сервиса обновляется автоматически.
Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()
Или Не ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют)
Или Не РаботаСКурсамиВалютСлужебный.ЕстьПравоИзмененияКурсовВалют()
Или МодульТекущиеДелаСервер.ДелоОтключено("КлассификаторВалют") Тогда
Возврат;
КонецЕсли;
@@ -552,7 +552,7 @@
// В модели сервиса обновляются автоматически.
Если ОбщегоНазначения.РазделениеВключено() Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()
Или Не ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют) Тогда
Или Не РаботаСКурсамиВалютСлужебный.ЕстьПравоИзмененияКурсовВалют() Тогда
Возврат Ложь;
КонецЕсли;
@@ -242,6 +242,12 @@
КонецПроцедуры
Функция ЕстьПравоИзмененияКурсовВалют() Экспорт
Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют);
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1190,13 +1190,17 @@
Возврат;
КонецЕсли;
Свойства = Новый Структура("ДатаПроверкиПодписи, ПодписьВерна", Null, Null);
Свойства = Новый Структура("ДатаПроверкиПодписи, ПодписьВерна, ТребуетсяПроверка", Null, Null, Null);
ЗаполнитьЗначенияСвойств(Свойства, ПодписиВОбъекте[0]);
Если Свойства.ДатаПроверкиПодписи = Null
Или Свойства.ПодписьВерна = Null Тогда
Возврат; // Если в объекте нет реквизитов проверки, результаты проверки не переносятся.
КонецЕсли;
Если Свойства.ТребуетсяПроверка = Null Тогда
Свойства.Удалить("ТребуетсяПроверка");
КонецЕсли;
Для Каждого Строка Из ПодписиВФорме Цикл
СтрокаВОбъекте = ПодписиВОбъекте.Получить(ПодписиВФорме.Индекс(Строка));
Если Строка.ДатаПодписи <> СтрокаВОбъекте.ДатаПодписи
@@ -322,7 +322,6 @@
Если ТипЗнч(Файлы) <> Тип("Массив") Тогда
ПараметрыДанныхФайла = РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла();
ПараметрыДанныхФайла.ИдентификаторФормы = ИдентификаторФормы;
ПараметрыДанныхФайла.ПолучатьСсылкуНаДвоичныеДанные = Ложь;
Возврат ДанныеФайла(Файлы,,ПараметрыДанныхФайла);
КонецЕсли;
@@ -694,11 +694,13 @@
КонецПроцедуры
// Продолжение процедуры ПроверитьПодписи.
Процедура ПроверитьПодписиПослеПроверкиСтроки(Результат, ДополнительныеПараметры) Экспорт
Процедура ПроверитьПодписиПослеПроверкиСтроки(РезультатПроверкиПодписи, ДополнительныеПараметры) Экспорт
Результат = РезультатПроверкиПодписи.Результат;
СтрокаПодписи = ДополнительныеПараметры.СтрокаПодписи;
СтрокаПодписи.ДатаПроверкиПодписи = ОбщегоНазначенияКлиент.ДатаСеанса();
СтрокаПодписи.ПодписьВерна = (Результат = Истина);
СтрокаПодписи.ТребуетсяПроверка = РезультатПроверкиПодписи.ТребуетсяПроверка;
СтрокаПодписи.ОписаниеОшибки = ?(СтрокаПодписи.ПодписьВерна, "", Результат);
РаботаСФайламиСлужебныйКлиентСервер.ЗаполнитьСтатусПодписи(СтрокаПодписи, ОбщегоНазначенияКлиент.ДатаСеанса());
@@ -1191,12 +1193,15 @@
ДополнительныеПараметры.Форма.ЭлектронныеПодписи.НайтиПоИдентификатору(Элемент)));
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
ПараметрыПроверкиПодписи = МодульЭлектроннаяПодписьКлиент.ПараметрыПроверкиПодписи();
ПараметрыПроверкиПодписи.РезультатВВидеСтруктуры = Истина;
МодульЭлектроннаяПодписьКлиент.ПроверитьПодпись(
Новый ОписаниеОповещения("ПроверитьПодписиПослеПроверкиСтроки", ЭтотОбъект, ДополнительныеПараметры),
ДополнительныеПараметры.Данные,
ДополнительныеПараметры.СтрокаПодписи.АдресПодписи,
Неопределено,
ДополнительныеПараметры.СтрокаПодписи.ДатаПодписи);
ДополнительныеПараметры.СтрокаПодписи.ДатаПодписи, ПараметрыПроверкиПодписи);
КонецПроцедуры
@@ -313,6 +313,8 @@
СтрокаПодписи.Статус = НСтр("ru = 'Была верна на дату подписи'");
ИначеЕсли СтрокаПодписи.ПодписьВерна Тогда
СтрокаПодписи.Статус = НСтр("ru = 'Верна'");
ИначеЕсли СтрокаПодписи.ТребуетсяПроверка Тогда
СтрокаПодписи.Статус = НСтр("ru = 'Требуется проверка'");
Иначе
СтрокаПодписи.Статус = НСтр("ru = 'Неверна'");
КонецЕсли;
@@ -224,13 +224,21 @@
Если Отбор.ИдентификаторРегламентногоЗадания <> "" Тогда
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(
Новый УникальныйИдентификатор(Отбор.ИдентификаторРегламентногоЗадания));
ТекущийОтбор = Новый Структура("ИмяМетода", РегламентноеЗадание.Метаданные.ИмяМетода);
ВсеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(ТекущийОтбор);
ВсеФоновыеЗадания = Новый Массив;
ЗапущенныеАвтоматически = Новый Массив;
ТекущийОтбор = Новый Структура("Ключ", Отбор.ИдентификаторРегламентногоЗадания);
ЗапущенныеВручную = ФоновыеЗадания.ПолучитьФоновыеЗадания(ТекущийОтбор);
Если РегламентноеЗадание <> Неопределено Тогда
ПоследнееФоновоеЗадание = РегламентноеЗадание.ПоследнееЗадание;
ТекущийОтбор = Новый Структура("РегламентноеЗадание", РегламентноеЗадание);
ЗапущенныеАвтоматически = ФоновыеЗадания.ПолучитьФоновыеЗадания(ТекущийОтбор);
КонецЕсли;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВсеФоновыеЗадания, ЗапущенныеВручную);
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВсеФоновыеЗадания, ЗапущенныеАвтоматически);
Если ПолучитьПоследнее Тогда
ПоследнееФоновоеЗадание = РегламентныеЗаданияСервер.ПоследнееФоновоеЗаданиеВМассиве(ВсеФоновыеЗадания);
@@ -1505,7 +1505,8 @@
ТекущееСостояние = Значение.Получить();
Если ТипЗнч(ТекущееСостояние) = Тип("Структура") Тогда
Для Каждого КлючИЗначение Из ТекущееСостояние Цикл
Если ТипЗнч(Состояние[КлючИЗначение.Ключ]) = ТипЗнч(КлючИЗначение.Значение) Тогда
Если Состояние.Свойство(КлючИЗначение.Ключ)
И ТипЗнч(Состояние[КлючИЗначение.Ключ]) = ТипЗнч(КлючИЗначение.Значение) Тогда
Состояние[КлючИЗначение.Ключ] = КлючИЗначение.Значение;
КонецЕсли;
КонецЦикла;
@@ -2678,9 +2678,19 @@
И Не Параметры.ПолученныеПараметрыКлиента.Свойство("НеобходимоОбновлениеПараметровРаботыПрограммы")
И Не Параметры.Свойство("УпрощеннаяФормаОбновленияИБ") Тогда
Если РегистрыСведений.ПараметрыРаботыПрограммы.НеобходимоОбновление() Тогда
НастройкаПодчиненногоУзлаРИБ = Ложь;
Если РегистрыСведений.ПараметрыРаботыПрограммы.НеобходимоОбновление(НастройкаПодчиненногоУзлаРИБ) Тогда
// Будет выполнено предварительное обновление.
Параметры.Вставить("НеобходимоОбновлениеПараметровРаботыПрограммы");
Если НастройкаПодчиненногоУзлаРИБ
И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ШаблонОшибки =
НСтр("ru = 'Не удалось установить монопольный режим для настройки узла РИБ по причине:
|%1'");
УстановитьМонопольныйРежимПриЗапуске(Истина, ШаблонОшибки);
КонецЕсли;
Возврат Ложь;
КонецЕсли;
КонецЕсли;
@@ -2743,6 +2753,8 @@
Возврат Ложь;
КонецЕсли;
УстановитьМонопольныйРежимПриЗапуске(Ложь);
Возврат Истина;
КонецФункции
@@ -2861,6 +2873,47 @@
КонецПроцедуры
// Параметры:
// Установить - Булево
// ШаблонОшибки - Строка
//
Процедура УстановитьМонопольныйРежимПриЗапуске(Установить, ШаблонОшибки = "")
Если Установить И МонопольныйРежим() Тогда
Возврат;
КонецЕсли;
ИмяПараметра = "УстановленМонопольныйРежимПриЗапуске";
УстановитьПривилегированныйРежим(Истина);
Если Установить Тогда
Попытка
УстановитьМонопольныйРежим(Истина);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ВызватьИсключение ТекстОшибки;
КонецПопытки;
ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере);
ТекущиеПараметры.Вставить(ИмяПараметра, Истина);
ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСоответствие(ТекущиеПараметры);
ИначеЕсли ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить(ИмяПараметра) <> Неопределено Тогда
Если МонопольныйРежим() Тогда
УстановитьМонопольныйРежим(Ложь);
КонецЕсли;
ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере);
ТекущиеПараметры.Вставить(ИмяПараметра, Истина);
ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСоответствие(ТекущиеПараметры);
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
// Обработчик одноименного регламентного задания.
//
Процедура ОбработкаСервисовИнтеграции() Экспорт
@@ -4097,10 +4097,10 @@
Если СозданныйРеквизит = Неопределено Тогда
ОбъектКонтактнойИнформации.ИмяРеквизита = "КонтактнаяИнформацияПоле" + СтрЗаменить(ТекущийВид.УникальныйИдентификатор(), "-", "x")
+ ПорядковыйНомер;
+ Формат(ПорядковыйНомер, "ЧГ=0");
Если ЕстьПолеКомментарий Тогда
ОбъектКонтактнойИнформации.ИмяРеквизитаКомментарий = "КомментарийКонтактнаяИнформацияПоле" + СтрЗаменить(
ТекущийВид.УникальныйИдентификатор(), "-", "x") + ПорядковыйНомер;
ТекущийВид.УникальныйИдентификатор(), "-", "x") + Формат(ПорядковыйНомер, "ЧГ=0");
КонецЕсли;
Если Не ОтложеннаяИнициализация Тогда
@@ -4359,13 +4359,13 @@
ИмяРеквизита = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3",
"КонтактнаяИнформацияПоле",
СтрЗаменить(ДобавляемыйВид.УникальныйИдентификатор(), "-", "x"),
КоличествоСтрокВида + 1);
Формат(КоличествоСтрокВида + 1, "ЧГ=0"));
ИмяРеквизитаКомментарий = "";
Если ЕстьПолеКомментарий Тогда
ИмяРеквизитаКомментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3%4",
"Комментарий", "КонтактнаяИнформацияПоле",
СтрЗаменить(ДобавляемыйВид.УникальныйИдентификатор(), "-", "x"),
КоличествоСтрокВида + 1);
Формат(КоличествоСтрокВида + 1, "ЧГ=0"));
КонецЕсли;
НоваяСтрока.ИмяРеквизита = ИмяРеквизита;
НоваяСтрока.ИмяРеквизитаКомментарий = ИмяРеквизитаКомментарий;
@@ -4399,7 +4399,7 @@
// Отрисовка на форме
Если ОбщегоНазначения.ЭтоМобильныйКлиент() И ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда
ГруппаСтрокиЗаголовок = Группа("ГруппаЗаголовок" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, "ГруппаЗначенияКИ"+ИмяЭлементаДляРазмещения, 6);
ГруппаСтрокиЗаголовок = Группа("ГруппаЗаголовок" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения, 6);
ГруппаСтрокиЗаголовок.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ГруппаСтрокиЗаголовок.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
ГруппаСтрокиЗаголовокКартинка = Группа("ГруппаЗаголовокКартинка" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения, "ГруппаЗаголовок" + ИмяРеквизита);
@@ -4415,13 +4415,12 @@
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить("Заголовок" + ИмяРеквизита, 2, Ложь);
ИмяГруппыРодителя = "ГруппаЗаголовок" + ИмяРеквизита;
Иначе
ИмяГруппыРодителя = "ГруппаЗначенияКИ"+ИмяЭлементаДляРазмещения;
ИмяГруппыРодителя = "ГруппаЗначенияКИ" + ИмяЭлементаДляРазмещения;
КонецЕсли;
ГруппаСтроки = Группа("Группа" + ИмяРеквизита, Форма, ДобавляемыйВид.Наименование, ИмяЭлементаДляРазмещения,
ИмяГруппыРодителя);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() И НЕ ПараметрыКонтактнойИнформации.ОтображатьИконки Тогда
ГруппаСтроки.ОтображатьЗаголовок = Истина;
КонецЕсли;
@@ -4638,61 +4637,7 @@
Элемент.ВысотаЗаголовка = ?(ОбщегоНазначения.ЭтоМобильныйКлиент(), 1, 3);
Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 70;
ИначеЕсли ИнформацияОВидеКИ.ВидРедактирования = "Диалог" Тогда
Элемент.Ширина = 73;
Иначе
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 68;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
Или ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда
Элемент.Ширина = 40;
Иначе
Элемент.Ширина = 38;
КонецЕсли;
Если ИнформацияОВидеКИ.ВводитьНомерПоМаске Тогда
НомерТелефонаСоответствуетМаске = УправлениеКонтактнойИнформациейСлужебный.НомерТелефонаСоответствуетМаске(Форма[ИмяРеквизита], ИнформацияОВидеКИ.МаскаНомераТелефона);
Если ПустаяСтрока(Форма[ИмяРеквизита]) ИЛИ НомерТелефонаСоответствуетМаске Тогда
Элемент.Маска = ИнформацияОВидеКИ.МаскаНомераТелефона;
КонецЕсли;
ТаблицаКонтактнойИнформации = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеКонтактнойИнформацииНаФорме(Форма);
НайденныеСтроки = ТаблицаКонтактнойИнформации.НайтиСтроки(Новый Структура("ИмяРеквизита", ИмяРеквизита));
Если НайденныеСтроки.Количество() > 0 Тогда
НайденныеСтроки[0].Маска = ИнформацияОВидеКИ.МаскаНомераТелефона;
КонецЕсли;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
Если ИнформацияОВидеКИ.ВидПоляДругое = "МногострочноеШирокое" Тогда
Элемент.Высота = 3;
Элемент.Ширина = 72;
Элемент.МногострочныйРежим = Истина;
ИначеЕсли ИнформацияОВидеКИ.ВидПоляДругое = "ОднострочноеШирокое" Тогда
Элемент.Высота = 1;
Элемент.Ширина = 72;
Элемент.МногострочныйРежим = Ложь;
Иначе // ОднострочноеУзкое
Элемент.Высота = 1;
Элемент.Ширина = 35;
Элемент.МногострочныйРежим = Ложь;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
Если ОбработкаНавигационнойСсылки Тогда
Элемент.Ширина = 73;
Иначе
Элемент.Ширина = 40;
КонецЕсли;
Иначе
Элемент.Ширина = 40;
КонецЕсли;
УстановитьСвойстваПолейВвода(ИнформацияОВидеКИ, Элемент, Форма, ИмяРеквизита, ОбработкаНавигационнойСсылки);
Если Не ЭтоНовыйВидКИ Тогда
Элемент.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Право;
@@ -4796,6 +4741,24 @@
КонецЕсли;
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
ИмяКнопки = "Команда" + СтрокаКИ.ИмяРеквизита;
Если Форма.Элементы.Найти(ИмяКнопки) <> Неопределено Тогда
Кнопка = Форма.Элементы[ИмяКнопки];
Если Форма.Команды[Кнопка.ИмяКоманды].Действие = "Подключаемый_КонтактнаяИнформацияВыполнитьКоманду" Тогда
ОтображатьИсторию = СтрокаКИ.ХранитьИсториюИзменений И Не СтрокаКИ.ПометкаУдаления;
КомандыДляВывода = УправлениеКонтактнойИнформациейКлиентСервер.КомандыДляВыводаНаФорму(ПараметрыКонтактнойИнформации,
СтрокаКИ.Тип, СтрокаКИ.Вид, ОтображатьИсторию);
КоличествоКоманд = КомандыДляВывода.Количество();
Если КоличествоКоманд = 1 Тогда
Для Каждого КомандаВывода Из КомандыДляВывода Цикл
ЗаполнитьЗначенияСвойств(Кнопка, КомандаВывода.Значение, "Картинка");
КонецЦикла;
ИначеЕсли КоличествоКоманд > 1 Тогда
Кнопка.Картинка = БиблиотекаКартинок.МенюДополнительныеФункции;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Если Форма.Элементы.Найти(СтрокаКИ.ИмяРеквизита) <> Неопределено Тогда
@@ -4859,6 +4822,12 @@
ПолеКомментарий.МаксимальнаяШирина = ПараметрыКонтактнойИнформации.ШиринаПоляКомментарий;
ПолеКомментарий.Ширина = ПараметрыКонтактнойИнформации.ШиринаПоляКомментарий;
КонецЕсли;
Иначе
Если Форма.Элементы.Найти(СтрокаКИ.ИмяРеквизита) <> Неопределено Тогда
ПолеВвода = Форма.Элементы[СтрокаКИ.ИмяРеквизита];
ОбработкаНавигационнойСсылки = ПараметрыКонтактнойИнформации.ОбработкаНавигационнойСсылки;
УстановитьСвойстваПолейВвода(СтрокаКИ, ПолеВвода, Форма, СтрокаКИ.ИмяРеквизита, ОбработкаНавигационнойСсылки);
КонецЕсли;
КонецЕсли;
ИмяЭлементаКартинка = "Картинка" + СтрокаКИ.ИмяРеквизита;
@@ -4881,6 +4850,66 @@
КонецПроцедуры
Процедура УстановитьСвойстваПолейВвода(ИнформацияОВидеКИ, Элемент, Форма, ИмяРеквизита, ОбработкаНавигационнойСсылки)
Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 70;
ИначеЕсли ИнформацияОВидеКИ.ВидРедактирования = "Диалог" Тогда
Элемент.Ширина = 73;
Иначе
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 68;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
Или ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда
Элемент.Ширина = 40;
Иначе
Элемент.Ширина = 38;
КонецЕсли;
Если ИнформацияОВидеКИ.ВводитьНомерПоМаске Тогда
НомерТелефонаСоответствуетМаске = УправлениеКонтактнойИнформациейСлужебный.НомерТелефонаСоответствуетМаске(Форма[ИмяРеквизита], ИнформацияОВидеКИ.МаскаНомераТелефона);
Если ПустаяСтрока(Форма[ИмяРеквизита]) ИЛИ НомерТелефонаСоответствуетМаске Тогда
Элемент.Маска = ИнформацияОВидеКИ.МаскаНомераТелефона;
КонецЕсли;
ТаблицаКонтактнойИнформации = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеКонтактнойИнформацииНаФорме(Форма);
НайденныеСтроки = ТаблицаКонтактнойИнформации.НайтиСтроки(Новый Структура("ИмяРеквизита", ИмяРеквизита));
Если НайденныеСтроки.Количество() > 0 Тогда
НайденныеСтроки[0].Маска = ИнформацияОВидеКИ.МаскаНомераТелефона;
КонецЕсли;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
Если ИнформацияОВидеКИ.ВидПоляДругое = "МногострочноеШирокое" Тогда
Элемент.Высота = 3;
Элемент.Ширина = 72;
Элемент.МногострочныйРежим = Истина;
ИначеЕсли ИнформацияОВидеКИ.ВидПоляДругое = "ОднострочноеШирокое" Тогда
Элемент.Высота = 1;
Элемент.Ширина = 72;
Элемент.МногострочныйРежим = Ложь;
Иначе // ОднострочноеУзкое
Элемент.Высота = 1;
Элемент.Ширина = 35;
Элемент.МногострочныйРежим = Ложь;
КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
Если ОбработкаНавигационнойСсылки Тогда
Элемент.Ширина = 73;
Иначе
Элемент.Ширина = 40;
КонецЕсли;
Иначе
Элемент.Ширина = 40;
КонецЕсли;
КонецПроцедуры
Процедура ПунктКонтекстногоМенюПеремещения(ПредыдущийЭлемент, Форма, Направление, ИмяЭлементаДляРазмещения)
Если Направление > 0 Тогда
@@ -1733,7 +1733,7 @@
ДеревоДокумента = ?(СтруктураОбласти = Неопределено, СтруктураДокумента.ДеревоДокумента, СтруктураОбласти.ДеревоОбласти);
Если СобратьСтроки Тогда
СобратьСтрокиУсловныхОбластей(ДеревоДокумента, СтруктураДокумента.Гиперссылки);
ПодготовитьУзлыУсловныхОбластей(ДеревоДокумента, СтруктураДокумента.Гиперссылки);
КонецЕсли;
Если ЗаполнятьКолонтитулы Тогда
@@ -2043,7 +2043,8 @@
КонецЕсли;
КонецЕсли;
РезультатФормирования = Новый Структура("КоллекцияПечатныхФорм,ПараметрыФоновогоЗадания,ОфисныеДокументы,ОбъектыПечати,ПараметрыВывода,ПараметрыПечати");
РезультатФормирования = Новый Структура("КоллекцияПечатныхФорм,ПараметрыФоновогоЗадания,ОфисныеДокументы,
|ОбъектыПечати,ПараметрыВывода,ПараметрыПечати,Сообщения");
РезультатФормирования.КоллекцияПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(Результат);
РезультатФормирования.ПараметрыВывода = ПараметрыВывода;
РезультатФормирования.ПараметрыФоновогоЗадания = ПараметрыФоновойПечати;
@@ -2059,6 +2060,7 @@
КонецЦикла;
РезультатФормирования.ОфисныеДокументы = ОфисныеДокументы;
РезультатФормирования.ОбъектыПечати = ОбъектыПечати;
РезультатФормирования.Сообщения = ПолучитьСообщенияПользователю();
Возврат РезультатФормирования;
@@ -3075,7 +3077,7 @@
ИменаТабличныхЧастейОбъекта = ДанныеПечати.Получить("ИменаТабличныхЧастейОбъекта");
СобратьСтрокиУсловныхОбластей(СтруктураДокумента.ДеревоДокумента, СтруктураДокумента.Гиперссылки);
ПодготовитьУзлыУсловныхОбластей(СтруктураДокумента.ДеревоДокумента, СтруктураДокумента.Гиперссылки);
УправлениеПечатьюСлужебный.ПроиндексироватьУзлы(СтруктураДокумента.ДеревоДокумента);
УправлениеПечатьюСлужебный.НайтиОбласти(СтруктураДокумента, ИменаТабличныхЧастейОбъекта);
@@ -6745,7 +6747,7 @@
КонецФункции
Процедура СобратьСтрокиУсловныхОбластей(ДеревоXML, Гиперссылки)
Процедура ПодготовитьУзлыУсловныхОбластей(ДеревоXML, Гиперссылки)
ТаблицаСортировки = Новый ТаблицаЗначений();
ТаблицаСортировки.Колонки.Добавить("Ключ");
ТаблицаСортировки.Колонки.Добавить("Значение");
@@ -6755,32 +6757,72 @@
ИмяТега = ИмяТегаУсловие();
МассивФрагментовТекста = СтрРазделить(ПолныйТекст, "{",);
Для Каждого ФрагментТекста Из МассивФрагментовТекста Цикл
ФрагментыТекста = СтрРазделить(ПолныйТекст, "{", Ложь);
Для Каждого ФрагментТекста Из ФрагментыТекста Цикл
ПозицияИмениТега = СтрНайти(ФрагментТекста, ИмяТега);
Если ПозицияИмениТега И ПозицияИмениТега < 3 Тогда
МассивФрагментовСтрок = СтрРазделить(ФрагментТекста, "}");
ФрагментыСтрок = СтрРазделить(ФрагментТекста, "}", Ложь);
НоваяСтрока = ТаблицаСортировки.Добавить();
НоваяСтрока.Ключ = "{"+МассивФрагментовСтрок[0]+"}";
НоваяСтрока.Ключ = "{"+ФрагментыСтрок[0]+"}";
НоваяСтрока.Длина = НоваяСтрока.Ключ;
НоваяСтрока.Значение = НоваяСтрока.Ключ;
КонецЕсли;
КонецЦикла;
ТаблицаСортировки.Сортировать("Длина Убыв");
ВсеУзлыУсловий = Новый Массив;
УзлыУсловия = Новый Массив;
Для Каждого СоответствиеЗамены Из ТаблицаСортировки Цикл
МассивУзлов = Новый Массив;
УправлениеПечатьюСлужебный.НайтиУзлы(ДеревоXML, СоответствиеЗамены.Ключ, МассивУзлов);
УзлыУсловия.Очистить();
УправлениеПечатьюСлужебный.НайтиУзлы(ДеревоXML, СоответствиеЗамены.Ключ, УзлыУсловия);
Для Каждого Узел Из МассивУзлов Цикл
Для Каждого Узел Из УзлыУсловия Цикл
Если Узел.Строки.Количество() Тогда
СобратьСтроки(Узел);
УправлениеПечатьюСлужебный.ВосстановитьПолныйТекст(Узел, Гиперссылки);
КонецЕсли;
КонецЦикла;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВсеУзлыУсловий, УзлыУсловия, Истина);
КонецЦикла;
УправлениеПечатьюСлужебный.ВосстановитьПолныйТекст(ДеревоXML, Гиперссылки);
ФрагментыУзла = Новый Массив;
Для Каждого УзелУсловия Из ВсеУзлыУсловий Цикл
ФрагментыУзла.Очистить();
ФрагментыТекста = СтрРазделить(УзелУсловия.Текст, "{", Ложь);
Для Каждого ФрагментТекста Из ФрагментыТекста Цикл
ПозицияИмениТега = СтрНайти(ФрагментТекста, ИмяТега);
Если ПозицияИмениТега И ПозицияИмениТега < 3 Тогда
ФрагментыСтрок = СтрРазделить(ФрагментТекста, "}", Ложь);
ФрагментыУзла.Добавить("{"+ФрагментыСтрок[0]+"}");
Для ИндексФрагмента = 1 По ФрагментыСтрок.ВГраница() Цикл
ФрагментыУзла.Добавить(ФрагментыСтрок[ИндексФрагмента]);
КонецЦикла;
Иначе
ФрагментыУзла.Добавить(ФрагментТекста);
КонецЕсли;
КонецЦикла;
РазделитьПрогон(УзелУсловия, ФрагментыУзла, Гиперссылки);
КонецЦикла;
КонецПроцедуры
Процедура РазделитьПрогон(УзелУсловия, ФрагментыУзла, Гиперссылки)
РодительДобавления = УзелУсловия.Родитель;
ИндексДобавления = РодительДобавления.Строки.Индекс(УзелУсловия);
Для ИндексФрагментаУзла = 0 По ФрагментыУзла.ВГраница() Цикл
Если ИндексФрагментаУзла = 0 Тогда
УзелДляОбработки = УзелУсловия;
Иначе
УзелДляОбработки = УправлениеПечатьюСлужебный.СкопироватьУзел(РодительДобавления, ИндексДобавления, УзелУсловия);
КонецЕсли;
ИндексДобавления = ИндексДобавления + 1;
УзелДляОбработки.Текст = ФрагментыУзла[ИндексФрагментаУзла];
КонецЦикла;
УправлениеПечатьюСлужебный.ВосстановитьПолныйТекст(РодительДобавления, Гиперссылки);
КонецПроцедуры
Функция СобратьСтроки(Узел, УзелСборки = Неопределено, УзлыСборки = Неопределено, Открытых = 0)
@@ -1107,9 +1107,9 @@
ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
Если СтруктураРезультата.Свойство("Сообщения") Тогда
ПараметрыОткрытия.Вставить("Сообщения", СтруктураРезультата.Сообщения);
КонецЕсли;
СообщенияЗадания = Новый Массив(РезультатФоновойОперации.Сообщения);
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(СообщенияЗадания, СтруктураРезультата.Сообщения);
ПараметрыОткрытия.Вставить("Сообщения", СообщенияЗадания);
ВладелецФормы = ПараметрыОткрытия.ВладелецФормы;
ПараметрыОткрытия.Удалить("ВладелецФормы");
@@ -1363,6 +1363,7 @@
//
// Параметры:
// ОбъектыСоСвойствами - Массив - объекты, для которых нужно получить значения дополнительных свойств.
// Допустимо передавать объекты только одного типа.
// - ЛюбаяСсылка - ссылка на объект, например, СправочникСсылка.Номенклатура,
// ДокументСсылка.ЗаказПокупателя, ...
// ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты. По умолчанию Истина.
@@ -1401,12 +1402,27 @@
ВладелецСвойств = ОбъектыСоСвойствами;
КонецЕсли;
ИмяОбъектаСоСвойствами = ОбщегоНазначения.ИмяТаблицыПоСсылке(ВладелецСвойств);
ВсеРеквизиты = Новый Массив;
Если ПолучатьДопРеквизиты Тогда
ПолучатьДопРеквизиты = ИспользоватьДопРеквизиты(ВладелецСвойств);
Если ПолучатьДопРеквизиты И Свойства = Неопределено Тогда
РеквизитыОбъекта = УправлениеСвойствамиСлужебный.СписокСвойствДляВидаОбъектов(ИмяОбъектаСоСвойствами, "ДополнительныеРеквизиты");
Если РеквизитыОбъекта <> Неопределено Тогда
ВсеРеквизиты = РеквизитыОбъекта.ВыгрузитьКолонку("Свойство");
КонецЕсли;
КонецЕсли;
КонецЕсли;
ВсеСведения = Новый Массив;
Если ПолучатьДопСведения Тогда
ПолучатьДопСведения = ИспользоватьДопСведения(ВладелецСвойств);
Если ПолучатьДопСведения И Свойства = Неопределено Тогда
СведенияОбъекта = УправлениеСвойствамиСлужебный.СписокСвойствДляВидаОбъектов(ИмяОбъектаСоСвойствами, "ДополнительныеСведения");
Если СведенияОбъекта <> Неопределено Тогда
ВсеСведения = СведенияОбъекта.ВыгрузитьКолонку("Свойство");
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не ПолучатьДопРеквизиты И Не ПолучатьДопСведения Тогда
@@ -1414,11 +1430,10 @@
КонецЕсли;
Если Свойства = Неопределено Тогда
Свойства = СвойстваОбъекта(ВладелецСвойств, ПолучатьДопРеквизиты, ПолучатьДопСведения);
Свойства = ВсеРеквизиты;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Свойства, ВсеСведения);
КонецЕсли;
ИмяОбъектаСоСвойствами = ОбщегоНазначения.ИмяТаблицыПоСсылке(ВладелецСвойств);
ТекстЗапросаДопРеквизиты =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаСвойств.Свойство КАК Свойство,
@@ -74,7 +74,7 @@
// - Массив из Число
//
// Возвращаемое значение:
// Массив - массив из ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи
// Массив из см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи
//
Функция УстановленныеПодписи(Объект, ПорядковыйНомер = Неопределено) Экспорт
@@ -1829,7 +1829,13 @@
РезультатПроверкиСертификата = ЭлектроннаяПодписьСлужебный.ПроверитьСертификат(
МенеджерКриптографииДляПроверки, Сертификат, ОписаниеОшибки, ДатаДляПроверкиСертификатаПодписи, ДополнительныеПараметры);
СертификатОтозван = СертификатПодписиОтозван(ОписаниеОшибки, РезультатСтруктура);
Если Не СертификатОтозван Тогда
ЗаполнитьРезультатПроверкиПодписи(РезультатПроверкиСертификата, РезультатСтруктура, ТребуетсяПроверкаПодписи(ОписаниеОшибки, РезультатСтруктура));
Иначе
ЗаполнитьРезультатПроверкиПодписи(РезультатПроверкиСертификата, РезультатСтруктура, Ложь, Истина);
КонецЕсли;
Возврат РезультатПроверкиСертификата;
КонецФункции
@@ -2737,7 +2743,7 @@
КонецПроцедуры
Процедура ЗаполнитьРезультатПроверкиПодписи(
Результат, РезультатСтруктура = Неопределено, ТребуетсяПроверка = Неопределено)
Результат, РезультатСтруктура = Неопределено, ТребуетсяПроверка = Неопределено, СертификатОтозван = Ложь)
Если РезультатСтруктура <> Неопределено Тогда
@@ -2754,6 +2760,14 @@
КонецЕсли;
Если РезультатСтруктура.ТребуетсяПроверка = Ложь Тогда
Если СертификатОтозван Тогда
РезультатСтруктура.Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.ТекстОшибкиДляОтозванногоСертификатаПодписи(
РезультатСтруктура);
КонецЕсли;
РезультатСтруктура.СертификатОтозван = СертификатОтозван;
РезультатСтруктура.ТребуетсяПроверка = ТребуетсяПроверка;
РезультатСтруктура.ПодписьВерна = Ложь;
КонецЕсли;
@@ -2775,4 +2789,18 @@
КонецФункции
Функция СертификатПодписиОтозван(ОписаниеОшибки, РезультатСтруктура)
СертификатОтозван = Ложь;
Если ЗначениеЗаполнено(ОписаниеОшибки) И РезультатСтруктура <> Неопределено Тогда
ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ОписаниеОшибки, Истина);
Если ОшибкаПоКлассификатору <> Неопределено Тогда
СертификатОтозван = ОшибкаПоКлассификатору.СертификатОтозван;
КонецЕсли;
КонецЕсли;
Возврат СертификатОтозван;
КонецФункции
#КонецОбласти
@@ -429,7 +429,8 @@
// = Булево - Истина, если проверка выполнена успешно - если ПараметрыПроверки - Неопределено
// = Строка - описание ошибки проверки подписи.
// = Неопределено - не удалось получить менеджер криптографии (когда не указан).
// = см. РезультатПроверкиПодписи - если ПараметрыПроверки.РезультатВВидеСтруктуры - Истина.
// = см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи - если
// ПараметрыПроверки.РезультатВВидеСтруктуры - Истина.
// ИсходныеДанные - ДвоичныеДанные - двоичные данные, которые были подписаны.
// Математическая проверка выполняется на стороне клиента, даже когда
// администратор настроил проверку электронных подписей на сервере,
@@ -86,6 +86,7 @@
// - Строка - описание ошибки проверки подписи.
// - Неопределено - не удалось получить менеджер криптографии (когда не указан).
// * ПодписьВерна - Булево, Неопределено - результат последней проверки подписи.
// * СертификатОтозван - Булево - ошибка связана с тем, что сертификат отозван.
// * ТребуетсяПроверка - Булево - не удалось проверить подпись.
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии - не заполнен при проверке подписей конверта XML.
// * СрокДействияПоследнейМеткиВремени - Дата - срок действия сертификата, которым подписана
@@ -104,6 +105,7 @@
Структура = Новый Структура;
Структура.Вставить("Результат");
Структура.Вставить("ПодписьВерна");
Структура.Вставить("СертификатОтозван", Ложь);
Структура.Вставить("ТребуетсяПроверка");
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(
@@ -1557,6 +1557,11 @@
Результат = РезультатПроверки.ОбщееОписаниеОшибки;
Если Контекст.РезультатПроверки <> Неопределено Тогда
Если РезультатПроверки.СертификатОтозван Тогда
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.ТекстОшибкиДляОтозванногоСертификатаПодписи(
Контекст.РезультатПроверки);
КонецЕсли;
Контекст.РезультатПроверки.СертификатОтозван = РезультатПроверки.СертификатОтозван;
Контекст.РезультатПроверки.ТребуетсяПроверка = РезультатПроверки.ТребуетсяПроверка;
КонецЕсли;
@@ -1585,6 +1590,18 @@
// = Булево - Истина, если проверка выполнена успешно.
// = Строка - описание ошибки проверки сертификата.
// = Неопределено - не удалось получить менеджер криптографии (когда не указан).
// = Структура - в случае ошибки, если ДополнительныеПараметры.ДляПроверкиПодписи И ДополнительныеПараметры.ОбъединитьОшибкиДанныхСертификата
// # ОбщееОписаниеОшибки - Строка
// # СертификатОтозван - Булево - ошибка связана с тем, что сертификат отозван в удостоверяющем центре.
// # ТребуетсяПроверка - Булево - ошибка требует перепроверки подписи после дополнительных действий,
// например, установки корневого сертификата.
// = Структура - в случае ошибки, если ДополнительныеПараметры.ДляПроверкиПодписи И Не ДополнительныеПараметры.ОбъединитьОшибкиДанныхСертификата
// # ОписаниеОшибкиНаКлиенте - Строка
// # ОписаниеОшибкиНаСервере - Строка
// # ДополнительныеДанныеПроверкиНаСервере - см. ЭлектроннаяПодписьСлужебныйКлиентСервер.ПредупреждениеПриПроверкеУдостоверяющегоЦентраСертификата
// # ДополнительныеДанныеПроверкиНаКлиенте - см. ЭлектроннаяПодписьСлужебныйКлиентСервер.ПредупреждениеПриПроверкеУдостоверяющегоЦентраСертификата
// # СертификатОтозван - Булево - см. выше.
// # ТребуетсяПроверка - Булево - см. выше.
//
// Сертификат - СертификатКриптографии - сертификат.
// - ДвоичныеДанные - двоичные данные сертификата.
@@ -2192,7 +2209,18 @@
Структура.Вставить("ДополнительныеДанныеПроверкиНаСервере", Контекст.ДополнительныеДанныеПроверкиНаСервере);
Структура.Вставить("ДополнительныеДанныеПроверкиНаКлиенте", Контекст.ДополнительныеДанныеПроверкиНаКлиенте);
Если Контекст.ДляПроверкиПодписи Тогда
Структура.Вставить("СертификатОтозван", Контекст.СертификатОтозван);
Структура.Вставить("ТребуетсяПроверка", ОбщееОписаниеОшибки = Неопределено
Или (Контекст.ТребуетПроверкиНаСервере = Неопределено Или Контекст.ТребуетПроверкиНаСервере)
И (Контекст.ТребуетПроверкиНаКлиенте = Неопределено Или Контекст.ТребуетПроверкиНаКлиенте));
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Структура);
Иначе
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Структура);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -10532,8 +10560,11 @@
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.РезультатЧтенияСвойствПодписи();
ДвоичныеДанные = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДвоичныеДанныеИзДанных(Подпись,
"ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписиИзДвоичныхДанных");
Попытка
КонтейнерПодписи = Ждать МенеджерКриптографии.ПолучитьКонтейнерПодписейКриптографииАсинх(Подпись);
КонтейнерПодписи = Ждать МенеджерКриптографии.ПолучитьКонтейнерПодписейКриптографииАсинх(ДвоичныеДанные);
Исключение
Результат.Успех = Ложь;
Результат.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -692,6 +692,31 @@
КонецФункции
// Текст ошибки для отозванного сертификата подписи.
//
// Параметры:
// РезультатПроверкиПодписи - см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи
//
// Возвращаемое значение:
// Строка - текст ошибки для отозванного сертификата подписи
//
Функция ТекстОшибкиДляОтозванногоСертификатаПодписи(РезультатПроверкиПодписи) Экспорт
Если ЗначениеЗаполнено(РезультатПроверкиПодписи.ДатаПодписиИзМетки) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сертификат отозван. Подпись верна, если сертификат был отозван позднее %1. Чтобы принять решение о том, верна ли подпись, запросите в удостоверяющем центре, выдавшем сертификат, причину и дату отзыва.'"),
РезультатПроверкиПодписи.ДатаПодписиИзМетки);
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сертификат отозван. Подпись могла быть верна на дату подписания %1, если сертификат был отозван позднее. Чтобы узнать причину и дату отзыва, обратитесь в удостоверяющий центр, выдавший сертификат.'"),
РезультатПроверкиПодписи.НеподтвержденнаяДатаПодписи);
КонецЕсли;
Возврат ТекстОшибки;
КонецФункции
// Только для внутреннего использования.
//
// Параметры:
@@ -976,17 +1001,32 @@
// Для функции МенеджерКриптографииАлгоритмыУстановлены.
Функция ВыполненОбходНарушенияОбратнойСовместимостиВViPNetCSP_4_4(ОписаниеПрограммы, Менеджер)
Если Не ( ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/512 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 77)
И Не ( ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/1024 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 78) Тогда
Возврат Ложь;
КонецЕсли;
АлгоритмПодписи = Строка(ОписаниеПрограммы.АлгоритмПодписи);
АлгоритмХеширования = Строка(ОписаниеПрограммы.АлгоритмХеширования);
АлгоритмШифрования = Строка(ОписаниеПрограммы.АлгоритмШифрования);
#Если ВебКлиент Тогда
Если ИменаАлгоритмовПодписиГОСТ_34_10_2012_256().Найти(АлгоритмПодписи) <> Неопределено Тогда
АлгоритмПодписи = "1.2.643.7.1.1.1.1"; // ГОСТ 34.10-2012 256
ИначеЕсли ИменаАлгоритмовПодписиГОСТ_34_10_2012_512().Найти(АлгоритмПодписи) <> Неопределено Тогда
АлгоритмПодписи = "1.2.643.7.1.1.1.2"; // ГОСТ 34.10-2012 512
КонецЕсли;
Если ИменаАлгоритмовХешированияГОСТ_34_11_2012_256().Найти(АлгоритмХеширования) <> Неопределено Тогда
АлгоритмХеширования = "1.2.643.7.1.1.2.2"; // ГОСТ 34.11-2012 256
ИначеЕсли ИменаАлгоритмовХешированияГОСТ_34_11_2012_512().Найти(АлгоритмХеширования) <> Неопределено Тогда
АлгоритмХеширования = "1.2.643.7.1.1.2.3"; // ГОСТ 34.11-2012 512
КонецЕсли;
#Иначе
Если Не (ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/512 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 77) И Не (ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/1024 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 78) Тогда
Возврат Ложь;
КонецЕсли;
#КонецЕсли
АлгоритмыУстановлены = Истина;
Попытка
Менеджер.АлгоритмПодписи = АлгоритмПодписи;
@@ -2022,7 +2062,7 @@
СвойстваПодписи.Вставить("Сертификаты", Новый Массив);
ДвоичныеДанные = ДвоичныеДанныеИзДанных(Данные,
"ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписи");
"ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписиИзДвоичныхДанных");
АнализДанных = НовыйАнализДанных(ДвоичныеДанные);
+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="459361e6-b2dc-4300-95e2-1b437b5fbf7d">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f2e7929c-94b7-41cb-b33e-7a718b4e98f4">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1e54d671-b73c-4a6e-9f7d-126cd90a9846"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c79acd4b-9496-4454-8972-cbe6d131c195"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="59c41ef9-233b-4699-9f31-36e2befcc267"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="7a7fde59-c698-49ae-99f2-5401ae76ac29"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f5e217bb-5abb-48f9-8465-f82de35e5c98"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e8b6e58f-5a7f-427a-9096-2353acfae37c"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="441e6172-f948-4697-bfbf-d9ef30c8c48b"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="2c01e6bc-841d-4984-ab89-9fe7ab658e6c"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ff72aa6d-00d4-4485-b98b-af32877afc1e"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="3e238578-6fe1-4371-a22a-f39b84871dbb"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="0dd54760-8df8-4f28-8daf-44a8b9e590e5"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fa0323be-1563-4354-9fa9-319c570d0ad1"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="f1b0067f-5bb2-4ec8-97b8-3b5839f72f3b"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0813eadc-e1eb-4652-9ddd-be30e9100493"/>
<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.1.9.89</version>
<version>3.1.9.104</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,85dc679e-84d3-465a-a8d3-d6a117c92605,1,a2bccefd-ab20-46ff-8c44-1abcd1b3e3e3,"3.1.9.89","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7402,1,0,459361e6-b2dc-4300-95e2-1b437b5fbf7d,459361e6-b2dc-4300-95e2-1b437b5fbf7d,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,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,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-Line truncated
{6,1,1,e12c754a-1e7a-46d6-a644-54e4157cc9e9,1,f9be1418-3755-423e-adfe-0629ea4c3173,"3.1.9.104","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7403,1,0,f2e7929c-94b7-41cb-b33e-7a718b4e98f4,f2e7929c-94b7-41cb-b33e-7a718b4e98f4,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,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,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7Line truncated
@@ -52,7 +52,9 @@
ЗаполнитьЗначенияСвойств(СтруктураОбъекта, ОбработкаОбъект);
// Если поле ИспользуемоеИмяФайла есть - это внешняя обработка.
Если ЗначениеЗаполнено(СтруктураОбъекта.ИспользуемоеИмяФайла)
Если Не ЗначениеЗаполнено(ДополнительнаяОбработкаСсылка)
И ЗначениеЗаполнено(СтруктураОбъекта.ИспользуемоеИмяФайла)
И Не СтрНачинаетсяС(СтруктураОбъекта.ИспользуемоеИмяФайла, "e1cib/")
И Не СтрНачинаетсяС(СтруктураОбъекта.ИспользуемоеИмяФайла, "e1cib\") Тогда
ПутьКФайлуВнешнейОбработкиНаКлиенте = СтруктураОбъекта.ИспользуемоеИмяФайла;
КонецЕсли;
@@ -18,6 +18,10 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не ЗначениеЗаполнено(Параметры.СертификатСсылка) Тогда
ВыполнитьПроверкуПравДоступа("Добавление", Метаданные.Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования);
КонецЕсли;
УстановитьДоступностьВариантовЗаявления();
Если Не ПравоДоступа("Редактирование", Метаданные.РегистрыСведений.ЗаявленияНаВыпускСертификата) Тогда
@@ -129,7 +133,7 @@
ПрограммыАвто = Новый Соответствие;
Если ДанныеЗаявления.СостояниеЗаявления = ПредопределенноеЗначение("Перечисление.СостоянияЗаявленияНаВыпускСертификата.НеПодготовлено") Тогда
Если Не ТолькоПросмотрЗаявления И ДанныеЗаявления.СостояниеЗаявления = ПредопределенноеЗначение("Перечисление.СостоянияЗаявленияНаВыпускСертификата.НеПодготовлено") Тогда
ПодключитьОбработчикОжидания("ПриИзмененииСоставаИлиНастроекПрограмм", 0.1, Истина);
КонецЕсли;
@@ -923,7 +923,7 @@
// Запрос состояния обработки заявления.
Попытка
ВебСервис = ВебСервисУЦ();
ВебСервис = ВебСервисУЦ(20);
Ответ = ВебСервис.ReceivePacket(ДанныеЗаявления.ИдентификаторДокументооборота);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
@@ -25,16 +25,12 @@ TD {
<h3>Контактная информация</h3>
</a>
<ul><a name="СтандартныеПодсистемы.КонтактнаяИнформация"></a>
<li><a name="СтандартныеПодсистемы.КонтактнаяИнформация"></a><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a> - добавление и настройка видов контактной информации различных объектов программы, например, партнеров, контрагентов, сотрудников и т.д.</li></ul><h3>Дополнительные реквизиты и сведения</h3>
<ul><li><strong>Дополнительные реквизиты и сведения</strong> - включите флажок, для того чтобы использовать дополнительные свойства для справочников и документов.
</li>
<li><strong>Реквизиты и сведения с общим списком значений</strong> - включите флажок, для того чтобы разрешить добавление реквизитов, у которых общий список значений с другими реквизитами (команда <strong>Добавить - Из другого набора - Сделать копию по образцу</strong>).
</li>
<li><strong>Общие реквизиты и сведения</strong> - включите флажок, для того чтобы разрешить добавление реквизитов сразу к нескольким объектам программы одновременно (команда <strong>Добавить - Из другого набора - Сделать реквизит общим и добавить в набор</strong>).<a name="СтандартныеПодсистемы.Свойства">
</a></li>
<li><a name="СтандартныеПодсистемы.КонтактнаяИнформация"></a><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a> - добавление и настройка видов контактной информации различных объектов программы, например, партнеров, контрагентов, сотрудников и т.д.</li></ul><h3>Свойства</h3>
<ul><li><strong>Свойства</strong> - включите флажок, для того чтобы использовать дополнительные свойства для справочников и документов.</li>
<li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Дополнительные реквизиты</a> - настройка состава дополнительных реквизитов для справочников и документов.
</li>
<li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Дополнительные сведения</a> - настройка состава дополнительных сведений для справочников и документов.</li></ul><h3>История изменений</h3>
<li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Дополнительные сведения</a> - настройка состава дополнительных сведений для справочников и документов.</li>
<li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Метки</a> - настройка состава меток для справочников и документов.</li></ul><h3>История изменений</h3>
<p>Программа позволяет вести историю изменения списков, просматривать любую версию объекта или сравнивать любые версии объекта между собой.</p>
<ul><li><strong>Хранить историю изменений - </strong>Включите флажок для ведения истории изменения объектов программы. После этого становится доступной команда:
</li>
@@ -3109,6 +3109,38 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ЭлектронныеПодписиТребуетсяПроверка</name>
<id>300</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЭлектронныеПодписи.ТребуетсяПроверка</segments>
</dataPath>
<extendedTooltip>
<name>ЭлектронныеПодписиТребуетсяПроверкаРасширеннаяПодсказка</name>
<id>302</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЭлектронныеПодписиТребуетсяПроверкаКонтекстноеМеню</name>
<id>301</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<autoCommandBar>
<name>ЭлектронныеПодписиКоманднаяПанель</name>
<id>34</id>
@@ -4189,6 +4221,23 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>ТребуетсяПроверка</name>
<title>
<key>ru</key>
<value>Требуется проверка</value>
</title>
<id>22</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>СертификатыШифрования</name>
@@ -688,30 +688,16 @@
//
Функция ПредставлениеНаселенногоПункта(ОбъектАдреса) Экспорт
ЭтоМуниципальныйАдрес = РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(ОбъектАдреса.AddressType);
Если НЕ ОбъектАдреса.Свойство("AddressType") Тогда
СписокПолейАдреса = "Area,City";
ИначеЕсли ЭтоМуниципальныйАдрес Тогда
СписокПолейАдреса = "Area,MunDistrict,Settlement,CityDistrict,Locality,Territory";
Иначе
СписокПолейАдреса = "Area,District,City,CityDistrict,Locality,Territory";
КонецЕсли;
СписокПолей = СтрРазделить(СписокПолейАдреса, ",");
СписокПолей = РаботаСАдресамиКлиентСервер.ИменаУровнейАдресаПоАдресу(ОбъектАдреса, Ложь, Ложь);
Адрес = Новый Массив;
Для каждого ИмяПоля Из СписокПолей Цикл
Если ЭтоМуниципальныйАдрес
И СтрСравнить(ИмяПоля, "locality") = 0
И ПустаяСтрока(ОбъектАдреса["locality"]) Тогда
ИмяПоля = "city";
КонецЕсли;
Если ОбъектАдреса.Свойство(ИмяПоля) И ЗначениеЗаполнено(ОбъектАдреса[ИмяПоля]) Тогда
Если СтрСравнить(ИмяПоля, "MunDistrict") = 0 Тогда
Если СтрСравнить(ИмяПоля, "munDistrict") = 0 Тогда
НаименованиеУровня = РаботаСАдресамиКлиентСервер.КраткоеНаписаниеМуниципальныхРайонов(ОбъектАдреса[ИмяПоля], ОбъектАдреса[ИмяПоля + "Type"]);
ИначеЕсли СтрСравнить(ИмяПоля, "Settlement") = 0 Тогда
ИначеЕсли СтрСравнить(ИмяПоля, "settlement") = 0 Тогда
НаименованиеУровня = РаботаСАдресамиКлиентСервер.КраткоеНаписаниеПоселений(ОбъектАдреса[ИмяПоля], ОбъектАдреса[ИмяПоля + "Type"]);
Иначе
НаименованиеУровня = ОбъектАдреса[ИмяПоля];
@@ -5,22 +5,26 @@
<ul><li>В поле <strong>Сканер </strong>выберите используемый сканер из списка доступных устройств, подключенных к компьютеру (если сканер подключен один, то выбирается по умолчанию).</li></ul><h3>Основное</h3>
<p>Зависят от возможностей выбранного сканера, который подключен к программе. Некоторые из них могут быть недоступны.</p>
<ul><li>Выберите <strong>Разрешение </strong>сканирования (DPI). Список доступных разрешений зависит от выбранного сканера.
</li><li>Выберите <strong>Цветность </strong>изображений, которые будут получены со сканера (<strong>Монохромное</strong>, <strong>Градации Серого</strong>, <strong>Цветное</strong>). Зависит от возможностей сканера.
</li><li>Выберите один из вариантов <strong>Поворота</strong> изображения после сканирования. Для некоторых моделей сканеров это свойство недоступно.
</li><li>Выберите<strong> Размер бумаги</strong>, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно.
</li><li>Включите флажок <strong>Двустороннее сканирование</strong>. В этом случае будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно.</li></ul><h3>Диалог сканера</h3>
<ul><li><strong>Показывать диалог сканера перед сканированием - </strong>если флажок включен, перед сканированием будет показан диалог для расширенной настройки сканирования (например, выбор области сканирования на листе бумаги). По умолчанию флажок включен.</li></ul><h3>Возможность преобразования в PDF</h3>
<ul><li>Включите флажок, для того чтобы <strong>Использовать ImageMagick для преобразования в PDF</strong>. В этом случае отсканированные изображения можно преобразовать в формат PDF с помощью программы ImageMagick. На клиентском компьютере, к которому подключен сканер, должны быть установлены бесплатные программы <a href="http://www.imagemagick.org/script/binary-releases.php#windows">ImageMagick</a> (используйте вариант Win32 dynamic at 8 bits-per-pixel) и <a href="http://ghostscript.com/releases/gs901w32.exe">Ghostscript</a>.
</li><li>Укажите <strong>Путь к программе преобразования в PDF</strong> - путь к исполняемому файлу программы ImageMagick (по умолчанию "convert.exe"). Если это имя конфликтует с другими программами, с помощью кнопки <img src="StdPicture.InputFieldSelect"></img><strong>Выбрать </strong>нужно указать полный путь вида "C:\Program Files\ImageMagick-6.6.3-Q8\convert.exe".</li></ul><h3>Для одностраничных изображений</h3>
</li>
<li>Выберите <strong>Цветность </strong>изображений, которые будут получены со сканера (<strong>Монохромное</strong>, <strong>Градации Серого</strong>, <strong>Цветное</strong>). Зависит от возможностей сканера.
</li>
<li>Выберите один из вариантов <strong>Поворота</strong> изображения после сканирования. Для некоторых моделей сканеров это свойство недоступно.
</li>
<li>Выберите<strong> Размер бумаги</strong>, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно.
</li>
<li>Включите флажок <strong>Двустороннее сканирование</strong>. В этом случае будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно.</li></ul><h3>Диалог сканера</h3>
<ul><li><strong>Показывать диалог сканера перед сканированием - </strong>если флажок включен, перед сканированием будет показан диалог для расширенной настройки сканирования (например, выбор области сканирования на листе бумаги). По умолчанию флажок включен.</li></ul><h3>Для одностраничных изображений</h3>
<ul><li>
<div><strong>Формат</strong> - программа позволяет выбрать один из поддерживаемых форматов (<strong>BMP</strong>, <strong>JPG</strong>, <strong>GIF</strong>, <strong>PNG</strong>, <strong>TIF</strong>, <strong>PDF</strong>) для помещения файла в информационную базу. Если флажок <strong>Использовать ImageMagick для преобразования в PDF</strong> включен, то в списке становится доступным также формат <strong>PDF</strong> (в этом случае можно выбрать <strong>PDF</strong> для хранения, остальные форматы - для сканирования).</div>
<div><strong>Сохранить как</strong> - программа позволяет выбрать один из поддерживаемых форматов (<strong>BMP</strong>, <strong>JPG</strong>, <strong>GIF</strong>, <strong>PNG</strong>, <strong>TIF</strong>, <strong>PDF</strong>) для помещения файла в информационную базу. Если флажок<strong> Преобразовать в PDF</strong> включен, то в списке становится доступным также формат <strong>PDF</strong> (в этом случае можно выбрать <strong>PDF</strong> для хранения, остальные форматы - для сканирования).</div>
<ul><li><strong>Качество</strong> - если выбран формат <strong>JPG</strong>, то можно настроить его качество (100 - максимальное качество и максимальный размер, 1 - минимальное качество и минимальный размер). По умолчанию - 100.
</li><li><strong>Сжатие</strong> - если выбран формат <strong>TIF</strong>, можно настроить сжатие. Возможные варианты: <strong>LZW</strong>, <strong>RLE</strong>, <strong>CCITT3</strong>, <strong>CCITT4</strong>, <strong>Без сжатия</strong>. По умолчанию: <strong>Без сжатия</strong>.
</li><li><strong>Тип</strong> (для сканирования) - позволяет выбрать один из поддерживаемых форматов (<strong>BMP</strong>, <strong>JPG</strong>, <strong>GIF</strong>, <strong>PNG</strong>, <strong>TIF</strong>) для изображений, которые будут получены со сканера. Опция доступна, если выбран формат одностраничного изображения <strong>PDF</strong>. В этом случае формат <strong>PDF</strong> используется для хранения.</li></ul></li></ul><h3>Для многостраничных изображений</h3>
<p>Параметр становится доступным для изменения, если флажок <strong>Использовать ImageMagick для преобразования в PDF</strong> включен. По умолчанию выбран формат TIF.</p>
<ul><li><strong>Формат</strong> - программа позволяет выбрать один из поддерживаемых форматов (<strong>TIF</strong>, <strong>PDF</strong>) для помещения многостраничного файла в информационную базу. Применяется, когда при работе с <a href="DataProcessor.Сканирование.Form.РезультатСканирования/Help">Помощником сканирования</a> для нескольких отсканированных изображений выбрана команда <strong>Принять все как один файл</strong>.</li></ul><h3>Просмотр списка Номера отсканированных файлов</h3>
</li>
<li><strong>Сжатие</strong> - если выбран формат <strong>TIF</strong>, можно настроить сжатие. Возможные варианты: <strong>LZW</strong>, <strong>RLE</strong>, <strong>CCITT3</strong>, <strong>CCITT4</strong>, <strong>Без сжатия</strong>. По умолчанию: <strong>Без сжатия</strong>.</li></ul></li></ul><h3>Для многостраничных изображений</h3>
<ul><li><strong>Сохранить как</strong> - программа позволяет выбрать один из поддерживаемых форматов (<strong>TIF</strong>, <strong>PDF</strong>) для помещения многостраничного файла в информационную базу. Применяется, когда при работе с <a href="DataProcessor.Сканирование.Form.РезультатСканирования/Help">Помощником сканирования</a> для нескольких отсканированных изображений выбрана команда <strong>Принять все как один файл</strong>. </li></ul><h3>Возможность преобразования в PDF</h3>
<ul><li>Выберите с помощью переключателя <strong>Преобразовать в PDF встроенными средствами </strong> - позволяет поместить отсканированные изображения в PDF-файл. </li>
<li>Выберите <strong>Преобразовать в PDF с помощью ImageMagick </strong> - преобразование в данном случае может выполняться быстрее и формировать файлы изображений меньшего размера. При выборе этого способа на рабочем компьютере, к которому подключен сканер, должно быть установлено бесплатное приложение <a href="http://www.imagemagick.org/script/binary-releases.php#windows">ImageMagick</a>.  </li>
<li>Укажите <strong> Путь к программе преобразования в PDF</strong> - путь к исполняемому файлу программы ImageMagick (по умолчанию "convert.exe"). Если это имя конфликтует с другими приложениями, с помощью кнопки <img src="StdPicture.InputFieldSelect"></img><strong>Выбрать </strong>нужно указать полный путь вида "C:\Program Files\ImageMagick-6.6.3-Q8\convert.exe".</li></ul><h3>Просмотр списка Номера отсканированных файлов</h3>
<ul><li>
<div>Нажмите <strong>Открыть номера отсканированных файлов</strong>, для того чтобы просмотреть соответствующий <a href="InformationRegister.НомераОтсканированныхФайлов/Help">список</a>.</div></li></ul><table width="100%"><tbody><tr><td><img src="CommonPicture.Предупреждение32" width="32" height="32"></img></td>
<td>
<p>Примечание: при работе под управлением ОС <strong>Windows Server 2008</strong>для использования сканера в<span lang="RU">ам нужно установить компоненту <strong>Возможности рабочего стола</strong> (<strong>Desktop Experience</strong>).</span></p></td></tr></tbody></table><h3>См. также:</h3>
<p>Примечание: при работе под управлением ОС <strong>Windows Server 2008 </strong>для использования сканера в<span lang="RU">ам нужно установить компоненту <strong>Возможности рабочего стола</strong> (<strong>Desktop Experience</strong>).</span></p></td></tr></tbody></table><h3>См. также:</h3>
<ul><li><a href="Catalog.Файлы/Help"><u><font color="#0000ff">Общие сведения о файлах</font></u></a>.</li></ul></body></html>
@@ -40,7 +40,7 @@
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "УправлениеПечатью";
КомандаПечати.Идентификатор = "Документ.СогласиеНаОбработкуПерсональныхДанных.ПФ_DOC_СогласиеНаОбработкуПерсональныхДанных_ru";
КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в Office Open XML (на основе СКД)'");
КомандаПечати.Представление = НСтр("ru = 'Согласие на обработку ПДн (документ Office Open XML)'");
КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord;
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form" xmlns:schema="http://g5.1c.ru/v8/dt/data-composition-system/schema">
<title>
<key>ru</key>
<value>Мои бизнес-процессы</value>
@@ -480,7 +480,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Список.БизнесПроцесс.Состояние</segments>
<segments>Список.Состояние</segments>
</dataPath>
<extendedTooltip>
<name>БизнесПроцессСостояниеРасширеннаяПодсказка</name>
@@ -871,6 +871,10 @@
<event>NotificationProcessing</event>
<name>ОбработкаОповещения</name>
</handlers>
<handlers>
<event>OnLoadDataFromSettingsAtServer</event>
<name>ПриЗагрузкеДанныхИзНастроекНаСервере</name>
</handlers>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
@@ -922,12 +926,13 @@
РегистрСведенийДанныеБизнесПроцессов.ДатаЗавершения,
РегистрСведенийДанныеБизнесПроцессов.Наименование,
РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления,
РегистрСведенийДанныеБизнесПроцессов.Состояние,
ВЫБОР
КОГДА РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления
ТОГДА 6
КОГДА РегистрСведенийДанныеБизнесПроцессов.Завершен = ИСТИНА
ТОГДА 5
КОГДА РегистрСведенийДанныеБизнесПроцессов.Владелец.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Остановлен)
КОГДА РегистрСведенийДанныеБизнесПроцессов.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Остановлен)
ТОГДА 0
КОГДА РегистрСведенийДанныеБизнесПроцессов.Стартован = ИСТИНА
ТОГДА 3
@@ -955,6 +960,78 @@
<customQuery>true</customQuery>
<autoSaveUserSettings>true</autoSaveUserSettings>
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Состояние</dataPath>
<field>Состояние</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>БизнесПроцесс</dataPath>
<field>БизнесПроцесс</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Бизнес процесс</value>
</content>
</localValue>
</title>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Номер</dataPath>
<field>Номер</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Дата</dataPath>
<field>Дата</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Завершен</dataPath>
<field>Завершен</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Стартован</dataPath>
<field>Стартован</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Автор</dataPath>
<field>Автор</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ДатаЗавершения</dataPath>
<field>ДатаЗавершения</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Наименование</dataPath>
<field>Наименование</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ПометкаУдаления</dataPath>
<field>ПометкаУдаления</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>КартинкаСтроки</dataPath>
<field>КартинкаСтроки</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Картинка строки</value>
</content>
</localValue>
</title>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Отложен</dataPath>
<field>Отложен</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Отложен</value>
</content>
</localValue>
</title>
</fields>
</extInfo>
</attributes>
<attributes>
@@ -17,6 +17,10 @@
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Автор", Пользователи.ТекущийПользователь());
БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление);
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя(),
ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form" xmlns:schema="http://g5.1c.ru/v8/dt/data-composition-system/schema">
<items xsi:type="form:FormGroup">
<name>ГруппаПользовательскихНастроек</name>
<id>63</id>
@@ -890,6 +890,7 @@
РегистрСведенийДанныеБизнесПроцессов.ДатаЗавершения,
РегистрСведенийДанныеБизнесПроцессов.Наименование,
РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления,
РегистрСведенийДанныеБизнесПроцессов.Состояние,
ВЫБОР
КОГДА РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления
ТОГДА 6
@@ -921,6 +922,78 @@
<customQuery>true</customQuery>
<autoSaveUserSettings>true</autoSaveUserSettings>
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Состояние</dataPath>
<field>Состояние</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>БизнесПроцесс</dataPath>
<field>БизнесПроцесс</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Бизнес процесс</value>
</content>
</localValue>
</title>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Номер</dataPath>
<field>Номер</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Дата</dataPath>
<field>Дата</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Завершен</dataPath>
<field>Завершен</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Стартован</dataPath>
<field>Стартован</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Автор</dataPath>
<field>Автор</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ДатаЗавершения</dataPath>
<field>ДатаЗавершения</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Наименование</dataPath>
<field>Наименование</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ПометкаУдаления</dataPath>
<field>ПометкаУдаления</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>КартинкаСтроки</dataPath>
<field>КартинкаСтроки</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Картинка строки</value>
</content>
</localValue>
</title>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Отложен</dataPath>
<field>Отложен</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Отложен</value>
</content>
</localValue>
</title>
</fields>
</extInfo>
</attributes>
<formCommands>
@@ -14,6 +14,8 @@
УстановитьУсловноеОформление();
БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление);
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя(),
ЭтотОбъект);
КонецПроцедуры
@@ -33,7 +35,7 @@
СтандартнаяОбработка = Ложь;
Если Элементы.Список.ТекущиеДанные <> Неопределено Тогда
ПоказатьЗначение(,Элементы.Список.ТекущиеДанные.БизнесПроцесс);
ПоказатьЗначение(, Элементы.Список.ТекущиеДанные.БизнесПроцесс);
КонецЕсли;
КонецПроцедуры
@@ -8,9 +8,7 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
#Область СлужебныйПрограммныйИнтерфейс
// СтандартныеПодсистемы.УправлениеДоступом
@@ -28,7 +26,146 @@
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Обработчики обновления.
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПолноеИмяОбъекта = Метаданные.РегистрыСведений.ДанныеБизнесПроцессов.ПолноеИмя();
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаРегистров = ПолноеИмяОбъекта;
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиИзмеренияНезависимогоРегистраСведений();
БизнесПроцесс = "";
ОтработаныВсеЗаписиРегистра = Ложь;
Пока Не ОтработаныВсеЗаписиРегистра Цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1000
| ДанныеБизнесПроцессов.Владелец КАК Владелец
|ИЗ
| РегистрСведений.ДанныеБизнесПроцессов КАК ДанныеБизнесПроцессов
|ГДЕ
| ДанныеБизнесПроцессов.Владелец > &БизнесПроцесс
| И ДанныеБизнесПроцессов.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.ПустаяСсылка)";
Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцесс);
// @skip-check query-in-loop - Порционная обработка данных
ИзмеренияРегистра = Запрос.Выполнить().Выгрузить();
ДополнительныеПараметры = ОбновлениеИнформационнойБазы.ДополнительныеПараметрыОтметкиОбработки();
ДополнительныеПараметры.ЭтоНезависимыйРегистрСведений = Истина;
ДополнительныеПараметры.ПолноеИмяРегистра = ПолноеИмяОбъекта;
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, ИзмеренияРегистра, ДополнительныеПараметры);
КоличествоЗаписей = ИзмеренияРегистра.Количество();
Если КоличествоЗаписей < 1000 Тогда
ОтработаныВсеЗаписиРегистра = Истина;
КонецЕсли;
Если КоличествоЗаписей > 0 Тогда
БизнесПроцесс = ИзмеренияРегистра[КоличествоЗаписей-1].Владелец;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ВыбранныеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0;
ПлохиеДанные = Новый Соответствие;
СостоянияБизнесПроцессов = Новый Соответствие;
МетаданныеРегистра = Метаданные.РегистрыСведений.ДанныеБизнесПроцессов;
ПолноеИмяОбъекта = МетаданныеРегистра.ПолноеИмя();
Для Каждого Строка Из ВыбранныеДанные Цикл
ПредставлениеСсылки = Строка(Строка.Владелец);
НачатьТранзакцию();
Попытка
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Строка.Владелец.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Строка.Владелец);
ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировкиДанных.УстановитьЗначение("Владелец", Строка.Владелец);
БлокировкаДанных.Заблокировать();
ЕстьРеквизитСостояние = СостоянияБизнесПроцессов[Строка.Владелец.Метаданные().ПолноеИмя()];
Если ЕстьРеквизитСостояние = Неопределено Тогда
РеквизитСостояние = Строка.Владелец.Метаданные().Реквизиты.Найти("Состояние");
ЕстьРеквизитСостояние = РеквизитСостояние <> Неопределено
И РеквизитСостояние.Тип.СодержитТип(Тип("ПеречислениеСсылка.СостоянияБизнесПроцессов"));
СостоянияБизнесПроцессов[Строка.Владелец.Метаданные().ПолноеИмя()] = ЕстьРеквизитСостояние;
КонецЕсли;
НаборЗаписей = РегистрыСведений.ДанныеБизнесПроцессов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Установить(Строка.Владелец);
СостояниеБизнесПроцесса = ?(ЕстьРеквизитСостояние,
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Строка.Владелец, "Состояние"),
Перечисления.СостоянияБизнесПроцессов.Активен);
Если СостояниеБизнесПроцесса = Неопределено Тогда
ПлохиеДанные[Строка.Владелец] = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В регистре Бизнес-процессы имеются сведения о несуществующем бизнес-процессе ""%1"".'"),
Строка.Владелец);
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(НаборЗаписей);
ЗафиксироватьТранзакцию();
Продолжить;
КонецЕсли;
НаборЗаписей.Прочитать();
Для Каждого СведенияОБизнесПроцессе Из НаборЗаписей Цикл
СведенияОБизнесПроцессе.Состояние = СостояниеБизнесПроцесса;
КонецЦикла;
Если НаборЗаписей.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(НаборЗаписей);
КонецЕсли;
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать сведения о бизнес-процессе %1 по причине:
|%2'"),
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
МетаданныеРегистра, Строка.Владелец, ТекстСообщения);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Для Каждого НеобработанныйОбъект Из ПлохиеДанные Цикл
ОбновлениеИнформационнойБазы.ЗарегистрироватьПроблемуСДанными(НеобработанныйОбъект.Ключ, НеобработанныйОбъект.Значение);
КонецЦикла;
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать некоторые сведения о бизнес-процессах (пропущены): %1'"),
ПроблемныхОбъектов);
ВызватьИсключение ТекстСообщения;
Иначе
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
МетаданныеРегистра,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Обработана очередная порция сведений о бизнес-процессах: %1'"),
ОбъектовОбработано));
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -230,6 +230,21 @@
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</resources>
<resources uuid="3fbd3448-b23c-4a83-b2dd-7c193f4239da">
<name>Состояние</name>
<synonym>
<key>ru</key>
<value>Состояние</value>
</synonym>
<type>
<types>EnumRef.СостоянияБизнесПроцессов</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</resources>
<dimensions uuid="75dac536-b316-4b04-a57b-03656c678bec">
<name>Владелец</name>
<synonym>
@@ -335,14 +335,14 @@
КоллекцияЭлементов = ТекущиеДанные.ПолучитьЭлементы();
Если КоллекцияЭлементов.Количество() = 0 Или ЗначениеЗаполнено(КоллекцияЭлементов[0].Идентификатор) Тогда
Возврат;
Продолжить;
КонецЕсли;
КоллекцияЭлементов.Очистить();
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ТекущиеДанные.Идентификатор);
Если ОбъектМетаданных = Неопределено Тогда
Возврат;
Продолжить;
КонецЕсли;
ВывестиМакеты(ТекущиеДанные);
@@ -1344,6 +1344,18 @@
ОбъектыСКомандамиПечати.Добавить(ОбъектМетаданных.ПолноеИмя());
КонецЦикла;
ОбъектыСМакетами = Новый Соответствие;
Для Каждого ОписаниеМакета Из УправлениеПечатью.МакетыПечатныхФорм(Истина) Цикл
ОбъектыСМакетами.Вставить(ОписаниеМакета.Значение, Истина);
КонецЦикла;
ОбъектыМетаданных = Новый Массив;
Для Каждого Объект Из ОбъектыСМакетами Цикл
Если Объект.Ключ <> Метаданные.ОбщиеМакеты Тогда
ОбъектыСКомандамиПечати.Добавить(Объект.Ключ.ПолноеИмя());
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
@@ -1491,8 +1503,12 @@
Результат = Новый Массив;
Для Каждого Элемент Из ОбъектыСКомандамиПечати Цикл
Если Не ЗначениеЗаполнено(Элемент.Представление) Тогда
Если Элемент.Значение = "ОбщиеМакеты" Тогда
Результат.Добавить(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка());
Иначе
Результат.Добавить(ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Элемент.Значение));
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Результат;
@@ -1509,7 +1525,12 @@
Продолжить;
КонецЕсли;
Если Элемент.Значение = "ОбщиеМакеты" Тогда
Владелец = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка();
Иначе
Владелец = ИдентификаторыОбъектовМетаданных[Элемент.Значение];
КонецЕсли;
НайденныеМакеты = МакетыОбъектов.НайтиСтроки(Новый Структура("Владелец", Владелец));
МакетыОбъекта = МакетыОбъектов.Скопировать(НайденныеМакеты);
Элемент.Представление = ОбщегоНазначения.ЗначениеВСтрокуXML(МакетыОбъекта);
@@ -1522,12 +1543,9 @@
Для Каждого Элемент Из Ветка.ПолучитьЭлементы() Цикл
ЗагрузитьПодчиненныеЭлементы(Элемент.ПолучитьИдентификатор());
Для Каждого ПодчиненныйЭлемент Из Элемент.ПолучитьЭлементы() Цикл
ЗагрузитьВетку(ПодчиненныйЭлемент);
КонецЦикла;
ЗагрузитьВетку(Элемент);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
@@ -284,11 +284,9 @@
Процедура ДобавитьМакетыИзМетаданных(СписокМакетов, ИдентификаторыОбъектовМетаданных)
Если ИдентификаторыОбъектовМетаданных[0] = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда
ОбъектыМетаданныхПоИдентификаторам = Новый Соответствие;
ОбъектыМетаданныхПоИдентификаторам = ОбщегоНазначения.ОбъектыМетаданныхПоИдентификаторам(ИдентификаторыОбъектовМетаданных, Ложь);
Если ИдентификаторыОбъектовМетаданных.Найти(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()) <> Неопределено Тогда
ОбъектыМетаданныхПоИдентификаторам.Вставить(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(), Метаданные.ОбщиеМакеты);
Иначе
ОбъектыМетаданныхПоИдентификаторам = ОбщегоНазначения.ОбъектыМетаданныхПоИдентификаторам(ИдентификаторыОбъектовМетаданных);
КонецЕсли;
ОбъектыМетаданных = Новый Массив;
@@ -13,9 +13,6 @@
////////////////////////////////////////////////////////////////////////////////
// Обработчики обновления.
// Регистрирует на плане обмена ОбновлениеИнформационнойБазы объекты,
// для которых необходимо обновить записи в регистре.
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПараметрыВыборки = Параметры.ПараметрыВыборки;
@@ -58,12 +55,14 @@
КонецПроцедуры
// Обновить записи регистра.
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ВыбранныеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0;
ПлохиеДанные = Новый Соответствие;
МетаданныеРегистра = Метаданные.РегистрыСведений.СведенияОФайлах;
ПолноеИмяОбъекта = МетаданныеРегистра.ПолноеИмя();
Для Каждого Строка Из ВыбранныеДанные Цикл
ПредставлениеСсылки = Строка(Строка.Файл);
@@ -75,22 +74,34 @@
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Строка.Файл);
ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("РегистрСведений.СведенияОФайлах");
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировкиДанных.УстановитьЗначение("Файл", Строка.Файл);
БлокировкаДанных.Заблокировать();
ТипХраненияФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Строка.Файл, "ТипХраненияФайла");
НаборЗаписей = РегистрыСведений.СведенияОФайлах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Строка.Файл);
НаборЗаписей.Прочитать();
ТипХраненияФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Строка.Файл, "ТипХраненияФайла");
Если ТипХраненияФайла = Неопределено Тогда
ПлохиеДанные[Строка.Владелец] = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В регистре Сведения о файлах содержится ссылка на несуществующий файл ""%1"".'"),
Строка.Файл);
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(НаборЗаписей);
ЗафиксироватьТранзакцию();
Продолжить;
КонецЕсли;
НаборЗаписей.Прочитать();
Для Каждого СведенияОФайле Из НаборЗаписей Цикл
СведенияОФайле.ТипХраненияФайла = ТипХраненияФайла;
КонецЦикла;
Если НаборЗаписей.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(НаборЗаписей);
КонецЕсли;
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
@@ -102,12 +113,16 @@
|%2'"),
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Строка.Файл.Метаданные(), Строка.Файл, ТекстСообщения);
МетаданныеРегистра, Строка.Файл, ТекстСообщения);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "РегистрСведений.СведенияОФайлах");
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Для Каждого НеобработанныйОбъект Из ПлохиеДанные Цикл
ОбновлениеИнформационнойБазы.ЗарегистрироватьПроблемуСДанными(НеобработанныйОбъект.Ключ, НеобработанныйОбъект.Значение);
КонецЦикла;
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -1310,93 +1310,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ОбщиеВнешниеКомпоненты</name>
<right>
@@ -5693,6 +5606,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьСинхронизациюДанных</name>
<right>
@@ -664,33 +664,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ОбщиеВнешниеКомпоненты</name>
<right>
@@ -2826,6 +2799,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.НастройкиПользователей</name>
<right>
@@ -534,33 +534,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ОбщиеВнешниеКомпоненты</name>
<right>
@@ -2312,6 +2285,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ПоискИУдалениеДублей</name>
<right>
@@ -257,33 +257,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ИнтерактивноеИзменениеВыгрузки</name>
<right>
@@ -880,6 +853,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_2_1.Operation.GetContinuousOperationStatus</name>
<right>
@@ -72,33 +72,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПричиныИзмененияАдресныхСведений</name>
<right>
@@ -329,4 +302,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -26,33 +26,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СубъектыДляРасчетаСроковХранения</name>
<right>
@@ -173,4 +146,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -10,33 +10,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков</name>
<right>
@@ -87,4 +60,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -49,33 +49,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПользовательскиеНастройкиОтчетов</name>
<right>
@@ -206,4 +179,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -391,33 +391,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СостоянияКонтактовВзаимодействий</name>
<right>
@@ -1369,6 +1342,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Document.ЭлектронноеПисьмоВходящее</name>
<right>
@@ -3,33 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ВидыКонтактнойИнформации</name>
<right>
@@ -108,4 +81,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -17,33 +17,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ГруппыВнешнихПользователей.Command.ГруппыВнешнегоПользователя</name>
<right>
@@ -140,4 +113,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -65,6 +65,29 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.РучныеИзмененияГрафиковРаботы</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>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -92,27 +115,4 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.РучныеИзмененияГрафиковРаботы</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>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -29,33 +29,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаЗагрузкиДанных</name>
<right>
@@ -158,6 +131,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
@@ -18,33 +18,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Report.ДатыЗапретаИзменения</name>
<right>
@@ -162,6 +135,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
@@ -3,33 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам</name>
<right>
@@ -136,4 +109,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -81,33 +81,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеГиперссылки</name>
<right>
@@ -200,6 +173,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеДополнительныхСведений</name>
<right>
@@ -72,33 +72,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name>
<right>
@@ -231,6 +204,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДанныеБизнесПроцессов.Command.МоиБизнесПроцессы</name>
<right>
@@ -63,6 +63,20 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.СоздатьЗаметкуПоПредмету</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.МоиЗаметкиПоПредмету</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -90,20 +104,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.СоздатьЗаметкуПоПредмету</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.МоиЗаметкиПоПредмету</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Заметки.Command.ВсеЗаметки</name>
<right>
@@ -26,33 +26,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДанныеПроизводственногоКалендаря</name>
<right>
@@ -134,4 +107,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -72,33 +72,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПользовательскиеНастройкиОтчетов</name>
<right>
@@ -199,6 +172,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -158,33 +158,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.ОтправитьПисьмо</name>
<right>
@@ -221,6 +194,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -10,33 +10,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НапоминанияПользователя</name>
<right>
@@ -74,6 +47,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НапоминанияПользователя.Command.МоиНапоминания</name>
<right>
@@ -66,33 +66,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Document.Анкета</name>
<right>
@@ -189,4 +162,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -10,33 +10,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
@@ -248,6 +221,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -10,33 +10,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
@@ -248,6 +221,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -10,33 +10,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Пользователи</name>
<right>
@@ -133,4 +106,31 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
Loaded 100 of 143 files, more files were not shown because too many files have changed in this diff. Show more