This commit is contained in:
Компания 1С committed 2023-07-27 22:59:00 +03:00
1 parent 19fc64d123
commit cbb863d649
172 files changed
+27870 -2030

No files matched your search

@@ -210,7 +210,7 @@
Вариант = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
Пока Вариант.Следующий() Цикл
ПредставлениеСсылки = Строка(Вариант.Ссылка);
НачатьТранзакцию();
Попытка
@@ -268,7 +268,7 @@
|Техническая информация о проблеме: %2'");
КонецЕсли;
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонКомментария, Вариант.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ШаблонКомментария, ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
ОбъектМетаданных, Вариант.Ссылка, Комментарий);
@@ -586,6 +586,8 @@
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВидыКонтактнойИнформации");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВидКонтактнойИнформацииСсылка.Ссылка);
ПредставлениеСсылки = Строка(ВидКонтактнойИнформацииСсылка.Ссылка);
НачатьТранзакцию();
Попытка
@@ -641,7 +643,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вид контактной информации %1 по причине:
|%2'"),
ВидКонтактнойИнформацииСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.ВидыКонтактнойИнформации, ВидКонтактнойИнформацииСсылка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -3,19 +3,36 @@
<p>Открывается из списка <a href="Catalog.ВнешниеКомпоненты/Help">Внешние компоненты</a> по кнопке <strong>Добавить из файла</strong> или двойному щелчку мыши (также по команде <strong>Еще - Изменить</strong>).</p>
<p>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные поля в карточке внешней компоненты заполняются автоматически. Поля являются обязательными для заполнения:</p>
<ul><li><strong>Идентификатор</strong> - внутренний идентификатор объекта внешней компоненты;
</li><li><strong>Версия</strong> - номер версии, с его помощью впоследствии можно определить актуальность внешней компоненты;
</li><li><strong>Наименование</strong> - полное наименование внешней компоненты - выводится пользователям при установке внешней компоненты.
</li><li><strong>Обновлять с портала 1С:ИТС</strong> - включите флажок, для того чтобы внешняя компонента автоматически обновлялась с сайта 1С:ИТС.</li></ul><p>Если после автоматического заполнения остались незаполненными поля, которые являются обязательными для заполнения, карточка не запишется. В этом случае необходимо заполнить их вручную.</p>
</li>
<li><strong>Версия</strong> - номер версии, с его помощью впоследствии можно определить актуальность внешней компоненты;
</li>
<li><strong>Наименование</strong> - полное наименование внешней компоненты - выводится пользователям при установке внешней компоненты.
</li>
<li><strong>Обновлять с портала 1С:ИТС</strong> - включите флажок, для того чтобы внешняя компонента автоматически обновлялась с сайта 1С:ИТС.</li></ul><p>Если после автоматического заполнения остались незаполненными поля, которые являются обязательными для заполнения, карточка не запишется. В этом случае необходимо заполнить их вручную.</p>
<h3>Состояние внешней компоненты</h3>
<p>С помощью тумблера можно установить состояние внешней компоненты:</p>
<ul><li><strong>Используется</strong> - устанавливается по умолчанию при подключении внешней компоненты;
</li><li><strong>Отключена</strong> - если использование внешней компоненты в данный момент по каким-либо причинам не нужно (например, сначала ее необходимо протестировать, когда в программе не будет пользователей), можно не удалять ее, а выбрать это положение тумблера. В этом случае внешняя компоненты останется в программе, но не будет никому доступна.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3>
</li>
<li><strong>Отключена</strong> - если использование внешней компоненты в данный момент по каким-либо причинам не нужно (например, сначала ее необходимо протестировать, когда в программе не будет пользователей), можно не удалять ее, а выбрать это положение тумблера. В этом случае внешняя компоненты останется в программе, но не будет никому доступна.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3>
<ul><li>
<div>Нажмите кнопку <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img>, для того чтобы обновить внешнюю компоненту с портала 1С:ИТС. Доступно для внешних компонент, полученных на портале 1С:ИТС.</div></li></ul><h3>Обновление внешней компоненты</h3>
<ul><li>Нажмите кнопку <img src="CommonPicture.ОбновитьФайлИзФайлаНаДиске"></img> <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>.
</li><li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>.
</li><li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>.
</li><li>Информация в карточке внешней компоненты будет обновлена.</li></ul><h3>Сохранение на компьютер</h3>
<div>
<ul><li>Нажмите кнопку <img src="CommonPicture.ОбновитьФайлИзФайлаНаДиске"></img> <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>. </li>
<li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>. </li>
<li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>. </li>
<li>Информация в карточке внешней компоненты будет обновлена.</li></ul></div>
<div>
<h3>Поддерживаемые клиентские приложения</h3></div>
<div>
<p>Внешняя компонента платформозависима и сможет работать только в определенных операционных системах или браузерах.</p></div>
<ul><li>В приложении для ОС <b>Windows</b>, <b>Linux</b> и <b>macOS</b>.</li>
<li>В веб-браузерах <b>Google Chrome, Microsoft Internet Explorer, Mozilla Firefox, Safari</b> и <b>Яндекс Браузер</b>.</li>
<li>В мобильном приложении в <b>Android, iOS</b> и <b>Windows</b>.</li>
<li>Может быть <b>32-х </b>разрядная версия внешней компоненты и <b>64-х </b>разрядная.</li>
</ul><p>Для получения подробной информации о том, <a href="https://its.1c.ru/bmk/v83doc_extcomp">Как запустить
определенное клиентское приложение</a>, см. инструкцию по разработке на портале 1С:ИТС.</p>
<h3>Сохранение на компьютер</h3>
<ul><li>Сохраненную на компьютер внешнюю компоненту можно будет использовать в случае нештатных ситуаций.
</li><li>Нажмите <img src="CommonPicture.СохранитьФайлКак"></img> <strong>Сохранить как</strong>.Укажите путь к файлу на компьютере. Нажмите <strong>Сохранить</strong>.</li></ul><h3>См. также:</h3>
</li>
<li>Нажмите <img src="CommonPicture.СохранитьФайлКак"></img> <strong>Сохранить как</strong>. Укажите путь к файлу на компьютере. Нажмите <strong>Сохранить</strong>.</li></ul><h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -1,30 +1,76 @@
<!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 src="CommonPicture.ОбновлениеВнешнихКомпонентССайта" width="16" height="16"></img> флажками обозначаются внешние компоненты, которые обновляются с сайта 1С:ИТС.</p>
<h3>Подключение внешней компоненты</h3>
<ul><li>Нажмите <strong>Добавить из файла</strong>.
</li><li>Программа выводит <strong>Предупреждение безопасности</strong>. Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите <strong>Продолжить</strong>.
</li><li>Укажите путь к файлу на компьютере, нажмите <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>;
</li><li><strong>Отключенные</strong>.</li></ul><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 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>
@@ -185,7 +185,7 @@
Продолжить;
КонецЕсли;
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию();
Попытка
@@ -212,7 +212,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать компоненту %1 по причине:
|%2'"), Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения);
@@ -72,7 +72,7 @@
ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка
ЗаполнитьРеквизитСпособОтображенияПодсказки(Выборка);
@@ -85,7 +85,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вопрос шаблона анкеты %1 по причине:
|%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.ВопросыШаблонаАнкеты, Выборка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -163,8 +163,9 @@
Если ОбщегоНазначенияКлиент.РазделениеВключено()
И Объект.Ссылка = ГруппаДоступаАдминистраторы
И ПарольПользователяСервиса = Неопределено Тогда
И Не ПараметрыЗаписи.Свойство("ПослеЗапросаПароляДляАутентификацииВСервисе") Тогда
ПараметрыЗаписи.Вставить("ПослеЗапросаПароляДляАутентификацииВСервисе");
Отказ = Истина;
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("ПередЗаписьюПродолжение", ЭтотОбъект, ПараметрыЗаписи),
@@ -1262,7 +1262,7 @@
Для Каждого ГруппаДоступа Из Параметры.ГруппыДоступа Цикл
ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаДоступа);
ПредставлениеСсылки = Строка(ГруппаДоступа);
НачатьТранзакцию();
Попытка
ШаблонОшибки = ШаблонОшибкиОбработкиГруппыДоступа;
@@ -1285,7 +1285,7 @@
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
Строка(ГруппаДоступа),
ПредставлениеСсылки,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
@@ -41,6 +41,7 @@
Выборка.Сбросить();
Пока Выборка.Следующий() Цикл
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка);
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
@@ -55,7 +56,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать график работы ""%1"" по причине:
|%2'"),
Выборка.Ссылка,
ПредставлениеСсылки,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
@@ -113,12 +113,17 @@
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0;
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.МакетыПечатныхФорм");
Пока Выборка.Следующий() Цикл
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.МакетыПечатныхФорм");
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка);
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
@@ -128,16 +133,37 @@
СтрокаТаблицы.ИсточникДанных = Макет.ИсточникДанных;
Макет.ИсточникДанных = Неопределено;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Макет);
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать %1 по причине:
|%2'"),
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, Метаданные.Справочники.МакетыПечатныхФорм,
Выборка.Ссылка, ТекстСообщения);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "РегистрСведений.ПользовательскиеМакетыПечати");
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать некоторые макеты печати (пропущены): %1'"),
ПроблемныхОбъектов);
ВызватьИсключение ТекстСообщения;
Иначе
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация, Метаданные.РегистрыСведений.ПользовательскиеМакетыПечати,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Обработана очередная порция макетов печати: %1'"),
ОбъектовОбработано));
КонецЕсли;
КонецПроцедуры
Функция ЗаписатьМакет(ОписаниеМакета) Экспорт
@@ -112,7 +112,7 @@
ОбъектыДляОбработки = Запрос.Выполнить().Выбрать();
Пока ОбъектыДляОбработки.Следующий() Цикл
ПредставлениеСсылки = Строка(ОбъектыДляОбработки.Ссылка);
НачатьТранзакцию();
Попытка
@@ -152,7 +152,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать %1 %2 по причине:
|%3'"),
ПолноеИмяОбъекта, ОбъектыДляОбработки.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПолноеИмяОбъекта, ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение,
@@ -106,33 +106,6 @@
</edit>
<fillChecking>ShowError</fillChecking>
</attributes>
<attributes>
<name>ПарольПользователяСервиса</name>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>Пользователь</name>
<id>3</id>
<valueType>
<types>CatalogRef.Пользователи</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СтараяПочта</name>
<id>4</id>
@@ -176,19 +149,6 @@
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>ПарольПользователяСервиса</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>Пользователь</name>
<valueType>
<types>CatalogRef.Пользователи</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -11,8 +11,6 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Пользователь = Параметры.Пользователь;
ПарольПользователяСервиса = Параметры.ПарольПользователяСервиса;
СтараяПочта = Параметры.СтараяПочта;
КонецПроцедуры
@@ -28,15 +26,15 @@
Возврат;
КонецЕсли;
ТекстВопроса = "";
Если Не ЗначениеЗаполнено(СтараяПочта) Тогда
ТекстВопроса =
НСтр("ru = 'Адрес электронной почты пользователя сервиса изменен.
|Владельцы и администраторы абонента больше не смогут изменять параметры пользователя.'")
+ Символы.ПС
+ Символы.ПС;
НСтр("ru = 'Адрес электронной почты пользователя сервиса будет установлен.
|Владельцы и администраторы абонента больше не смогут изменять параметры пользователя.
|
|Выполнить установку адреса электронной почты?'");
Иначе
ТекстВопроса = НСтр("ru = 'Выполнить изменение адреса электронной почты?'");
КонецЕсли;
ТекстВопроса = ТекстВопроса + НСтр("ru = 'Выполнить изменение адреса электронной почты?'");
ПоказатьВопрос(
Новый ОписаниеОповещения("СменитьПочтуПродолжение", ЭтотОбъект),
@@ -49,50 +47,15 @@
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура СоздатьЗапросНаСменуПочты()
ИнтеграцияПодсистемБСП.ПриСозданииЗапросаНаСменуПочты(НоваяПочта,
Пользователь, ПарольПользователяСервиса);
КонецПроцедуры
&НаКлиенте
Процедура СменитьПочтуПродолжение(Ответ, Контекст) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
Попытка
СоздатьЗапросНаСменуПочты();
Исключение
ПарольПользователяСервиса = "";
ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.1, Истина);
ВызватьИсключение;
КонецПопытки;
ПоказатьПредупреждение(
Новый ОписаниеОповещения("СменитьПочтуЗавершение", ЭтотОбъект, Контекст),
НСтр("ru = 'На указанный адрес отправлено письмо с запросом на подтверждение.
|Почта будет изменена только после подтверждения запроса пользователем.'"));
Закрыть(НоваяПочта);
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
СменитьПочтуЗавершение(Контекст);
Закрыть(Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СменитьПочтуЗавершение(Контекст) Экспорт
Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ЗакрытьФорму()
Закрыть(ПарольПользователяСервиса);
КонецПроцедуры
#КонецОбласти
@@ -46,6 +46,7 @@
КонецЕсли;
Если ЗначениеЗаполнено(Объект.Ссылка)
И ЗначениеЗаполнено(Объект.ИдентификаторПользователяСервиса)
И Объект.Ссылка <> Пользователи.АвторизованныйПользователь() Тогда
Элементы.Отступ.Видимость = Ложь;
Элементы.НадписьНаличиеПароля.Видимость = Ложь;
@@ -407,8 +408,9 @@
// Запрос пароля должен быть последним, чтобы работала попытка / исключение.
Если ОбщегоНазначенияКлиент.РазделениеВключено()
И ТребуетсяСинхронизацияССервисом
И ПарольПользователяСервиса = Неопределено Тогда
И Не ПараметрыЗаписи.Свойство("ПослеЗапросаПароляДляАутентификацииВСервисе") Тогда
ПараметрыЗаписи.Вставить("ПослеЗапросаПароляДляАутентификацииВСервисе");
Отказ = Истина;
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("ПослеЗапросаПароляДляАутентификацииВСервисеПередЗаписью", ЭтотОбъект, ПараметрыЗаписи),
@@ -1058,28 +1060,6 @@
Возврат;
КонецЕсли;
Если ПарольПользователяСервиса = Неопределено Тогда
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("Подключаемый_EMailНачалоВыбораЗавершение", ЭтотОбъект),
ЭтотОбъект,
ПарольПользователяСервиса);
Иначе
Подключаемый_EMailНачалоВыбораЗавершение(Null, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_EMailНачалоВыбораЗавершение(НовыйПарольПользователяСервиса, Контекст) Экспорт
Если НовыйПарольПользователяСервиса = Неопределено Тогда
Возврат;
КонецЕсли;
Если НовыйПарольПользователяСервиса <> Null Тогда
ПарольПользователяСервиса = НовыйПарольПользователяСервиса;
КонецЕсли;
ТаблицаКИ = ЭтотОбъект.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов;
Отбор = Новый Структура("Вид", ВидКонтактнойИнформацииEmailПользователя());
@@ -1087,17 +1067,10 @@
СтрокаEMail = ТаблицаКИ.НайтиСтроки(Отбор)[0];
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ПарольПользователяСервиса", ПарольПользователяСервиса);
ПараметрыФормы.Вставить("СтараяПочта", ЭтотОбъект[СтрокаEMail.ИмяРеквизита]);
ПараметрыФормы.Вставить("Пользователь", Объект.Ссылка);
Попытка
ОткрытьФорму("Справочник.Пользователи.Форма.СменаПочты", ПараметрыФормы, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ПослеСменыПочты", ЭтотОбъект));
Исключение
ПарольПользователяСервиса = Неопределено;
ВызватьИсключение;
КонецПопытки;
ОткрытьФорму("Справочник.Пользователи.Форма.СменаПочты", ПараметрыФормы, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ПослеВыбораНовойПочты", ЭтотОбъект));
КонецПроцедуры
@@ -1674,12 +1647,47 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеСменыПочты(Результат, Контекст) Экспорт
Процедура ПослеВыбораНовойПочты(НоваяПочта, Контекст) Экспорт
Если Результат = "" Тогда
ПарольПользователяСервиса = Неопределено;
Если Не ЗначениеЗаполнено(НоваяПочта) Тогда
Возврат;
КонецЕсли;
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("СменитьПочтуПослеЗапросаПароляДляАутентификацииВСервисе", ЭтотОбъект, НоваяПочта),
ЭтотОбъект,
ПарольПользователяСервиса);
КонецПроцедуры
&НаКлиенте
Процедура СменитьПочтуПослеЗапросаПароляДляАутентификацииВСервисе(НовыйПарольПользователяСервиса, НоваяПочта) Экспорт
Если НовыйПарольПользователяСервиса = Неопределено Тогда
Возврат;
КонецЕсли;
ПарольПользователяСервиса = НовыйПарольПользователяСервиса;
Попытка
СоздатьЗапросНаСменуПочты(НоваяПочта, Объект.Ссылка, ПарольПользователяСервиса);
Исключение
ПарольПользователяСервиса = Неопределено;
ВызватьИсключение;
КонецПопытки;
ПоказатьПредупреждение(,
НСтр("ru = 'На указанный адрес отправлено письмо с запросом на подтверждение.
|Почта будет изменена только после подтверждения запроса пользователем.'"));
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СоздатьЗапросНаСменуПочты(Знач НоваяПочта, Знач Пользователь, Знач ПарольПользователяСервиса)
ИнтеграцияПодсистемБСП.ПриСозданииЗапросаНаСменуПочты(НоваяПочта,
Пользователь, ПарольПользователяСервиса);
КонецПроцедуры
// Продолжение процедуры СменитьПароль.
@@ -49,13 +49,12 @@
ОтключаемаяПроверка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
Пока ОтключаемаяПроверка.Следующий() Цикл
ОтключаемаяПроверкаСсылка = ОтключаемаяПроверка.Ссылка;
ПредставлениеСсылки = Строка(ОтключаемаяПроверкаСсылка);
НачатьТранзакцию();
Попытка
ОтключаемаяПроверкаСсылка = ОтключаемаяПроверка.Ссылка;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ОтключаемаяПроверкаСсылка);
@@ -79,7 +78,7 @@
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать правило проверки %1 по причине:
|%2'"),
ОтключаемаяПроверкаСсылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
@@ -240,6 +240,8 @@
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Справочник.ПрограммыЭлектроннойПодписиИШифрования");
ПредставлениеСсылки = Строка(Программа);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
@@ -279,7 +281,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обновить программу ""%1"" по причине:
|%2'"), Строка(Программа), ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, , , ТекстСообщения);
@@ -161,6 +161,8 @@
ЭлементБлокировки = Блокировка.Добавить("Справочник.РассылкиОтчетов");
ЭлементБлокировки.УстановитьЗначение("Ссылка", РассылкаОтчетовСсылка.Ссылка);
ПредставлениеСсылки = Строка(РассылкаОтчетовСсылка.Ссылка);
НачатьТранзакцию();
Попытка
@@ -215,7 +217,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать рассылку отчетов %1 по причине:
|%2'"),
РассылкаОтчетовСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.РассылкиОтчетов, РассылкаОтчетовСсылка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -164,6 +164,8 @@
Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию();
Попытка
@@ -231,7 +233,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать сертификат: %1 по причине:
|%2'"), Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения);
@@ -103,7 +103,7 @@
Порядок = 2;
Для Каждого СостояниеИзм Из СостояниеПорядок Цикл
ПредставлениеСсылки = Строка(СостояниеИзм.Ссылка);
Попытка
Если СостояниеИзм.Ссылка = Справочники.СостоянияОригиналовПервичныхДокументов.ФормаНапечатана Тогда
@@ -128,7 +128,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать %1 по причине:
|%2'"),
СостояниеИзм.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.СостоянияОригиналовПервичныхДокументов, СостояниеИзм.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -170,12 +170,6 @@
СостояниеОбъект = Выборка.Ссылка.ПолучитьОбъект();
// Если объект ранее был удален или обработан другими сеансами, пропускаем его.
Если СостояниеОбъект = Неопределено Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
// Обработка объекта.
СостояниеОбъект.РеквизитДопУпорядочивания = Порядок;
@@ -228,6 +228,7 @@
ОбъектовОбработано = 0;
Пока СтранаМираСсылка.Следующий() Цикл
ПредставлениеСсылки = Строка(СтранаМираСсылка.Ссылка);
Попытка
ДанныеКлассификатора = УправлениеКонтактнойИнформацией.ДанныеКлассификатораСтранМираПоКоду(СтранаМираСсылка.Ссылка.Код);
@@ -275,7 +276,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать страну %1 по причине:
|%2'"),
СтранаМираСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.СтраныМира, СтранаМираСсылка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -194,7 +194,7 @@
ПроблемныхОбъектов = 0;
Для Каждого Строка Из ВыбранныеДанные Цикл
ПредставлениеСсылки = Строка(Строка.Ссылка);
НачатьТранзакцию();
Попытка
@@ -248,7 +248,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать файл %1 по причине:
|%2'"),
Строка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Строка.Ссылка.Метаданные(), Строка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -285,7 +285,7 @@
#Область СлужебныеПроцедурыИФункции
&НаСервере
&НаСервереБезКонтекста
Функция ТипЗначенияВопроса(Вопрос)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вопрос,"ТипЗначения");
КонецФункции
@@ -618,25 +618,34 @@
Элементы.ОтветыКолонкиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок);
Элементы.ОтветыСтрокиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок);
УстановитьСвязиПараметровВыбораОтветовИВопросов();
УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда
Элементы.ОтветыСтрокиОтветыВСтроках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок);
УстановитьСвязиПараметровВыбораОтветовИВопросов();
УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
Элементы.ОтветыКолонкиОтветыВКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок);
УстановитьСвязиПараметровВыбораОтветовИВопросов();
УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
Иначе
УстановитьСвязиПараметровВыбораОтветовИВопросов = Ложь;
КонецЕсли;
Если УстановитьСвязиПараметровВыбораОтветовИВопросов Тогда
ПодключитьОбработчикОжидания("УстановитьСвязиПараметровВыбораОтветовИВопросов", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
&НаКлиенте
Процедура УстановитьСвязиПараметровВыбораОтветовИВопросов()
УстановитьСвязиПараметровВыбораОтветовИВопросовНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвязиПараметровВыбораОтветовИВопросовНаСервере()
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
@@ -693,7 +702,7 @@
&НаКлиенте
Процедура ОбработатьЭлементПодбораОтветовПослеДобавления(Элемент,ДобавленнаяСтрока)
УстановитьОтборы();
Элемент.Обновить();
УправлениеДоступностью();
@@ -613,23 +613,17 @@
&НаКлиенте
Функция ВыбранныеНастройкиФормата()
Результат = Неопределено;
Результат = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент");
Результат = МодульУправлениеПечатьюКлиент.НастройкиСохранения();
Для Каждого ВыбранныйФормат Из ВыбранныеФорматыСохранения Цикл
Если ВыбранныйФормат.Пометка Тогда
Результат.ФорматыСохранения.Добавить(ВыбранныйФормат.Значение);
КонецЕсли;
КонецЦикла;
Для Каждого ВыбранныйФормат Из ВыбранныеФорматыСохранения Цикл
Если ВыбранныйФормат.Пометка Тогда
Результат.ФорматыСохранения.Добавить(ВыбранныйФормат.Значение);
КонецЕсли;
КонецЦикла;
Результат.УпаковатьВАрхив = УпаковатьВАрхив;
Результат.ПереводитьИменаФайловВТранслит = ПереводитьИменаФайловВТранслит;
Результат.ПодписьИПечать = ПодписьИПечать;
Результат.Вставить("Подписать", Подписать);
КонецЕсли;
Результат.УпаковатьВАрхив = УпаковатьВАрхив;
Результат.ПереводитьИменаФайловВТранслит = ПереводитьИменаФайловВТранслит;
Результат.ПодписьИПечать = ПодписьИПечать;
Возврат Результат;
@@ -848,11 +848,10 @@
КонецЕсли;
КонецЦикла;
Результат = Новый Структура;
Результат.Вставить("УпаковатьВАрхив", Объект.УпаковатьВАрхив);
Результат.Вставить("ФорматыСохранения", ФорматыСохранения);
Результат.Вставить("Получатели", Новый Массив);
Результат.Вставить("ПереводитьИменаФайловВТранслит", Объект.ТранслитерироватьИменаФайлов);
Результат = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
Результат.УпаковатьВАрхив = Объект.УпаковатьВАрхив;
Результат.ФорматыСохранения = ФорматыСохранения;
Результат.ПереводитьИменаФайловВТранслит = Объект.ТранслитерироватьИменаФайлов;
Возврат Результат;
@@ -112,8 +112,6 @@
,
Истина);
УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса();
КонецПроцедуры
&НаКлиенте
@@ -124,6 +122,8 @@
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса();
КонецПроцедуры
#КонецОбласти
@@ -700,12 +700,12 @@
КонецПроцедуры
&НаСервере
&НаКлиентеНаСервереБезКонтекста
Функция ЗначениеПорогаДиапазонаПодсказокЧисловогоВопроса()
Возврат 9999999999999.99;
КонецФункции
&НаСервере
&НаКлиенте
Процедура УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса()
ТаблицаДиапазонов = Объект.ДиапазонПодсказокЧисловогоВопроса;
@@ -74,7 +74,7 @@
ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка
ЗаполнитьНовыеРеквизиты(Выборка.Ссылка);
@@ -85,7 +85,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вопрос для анкетирования %1 по причине:
|%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.ПланыВидовХарактеристик.ВопросыДляАнкетирования, Выборка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -882,7 +882,7 @@
ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию();
Попытка
// Блокируем объект от изменения другими сеансами.
@@ -938,7 +938,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать дополнительный реквизит (сведение) %1 по причине:
|%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения, Выборка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -141,10 +141,6 @@
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>OnClose</event>
<name>ПриЗакрытии</name>
</handlers>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
@@ -173,17 +169,6 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПарольПользователяСервиса</name>
<id>2</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОК</name>
<title>
@@ -17,16 +17,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
ОповеститьОВыборе(ПарольПользователяСервиса);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -34,26 +24,7 @@
&НаКлиенте
Процедура ОК(Команда)
ТекстОшибки = "";
Если ТипЗнч(ЭтотОбъект.ОписаниеОповещенияОЗакрытии) = Тип("ОписаниеОповещения") Тогда
ПарольПользователяСервиса = Пароль;
Попытка
ВыполнитьОбработкуОповещения(ЭтотОбъект.ОписаниеОповещенияОЗакрытии, ПарольПользователяСервиса);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписатьОшибкуВЖурнал(ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ТекстОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке) + Символы.ПС
+ НСтр("ru = 'Возможно пароль введен неверно, повторите ввод пароля.'");
КонецПопытки;
ЭтотОбъект.ОписаниеОповещенияОЗакрытии = Неопределено;
КонецЕсли;
Закрыть();
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ПоказатьПредупреждение(, ТекстОшибки);
КонецЕсли;
Закрыть(Пароль);
КонецПроцедуры
@@ -65,16 +36,3 @@
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервереБезКонтекста
Процедура ЗаписатьОшибкуВЖурнал(ТекстОшибки)
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПроцедуры
#КонецОбласти
@@ -13,11 +13,13 @@
// Загрузка переданных параметров.
ПереданныйМассивФорматов = Новый Массив;
Если Параметры.НастройкиФормата <> Неопределено Тогда
ПереданныйМассивФорматов = Параметры.НастройкиФормата.ФорматыСохранения;
УпаковатьВАрхив = Параметры.НастройкиФормата.УпаковатьВАрхив;
ПереводитьИменаФайловВТранслит = Параметры.НастройкиФормата.ПереводитьИменаФайловВТранслит;
Подписать = Параметры.НастройкиФормата.Подписать;
ПараметрыНастройкиФормата = Параметры.НастройкиФормата;
Если ПараметрыНастройкиФормата <> Неопределено Тогда
ПереданныйМассивФорматов = ПараметрыНастройкиФормата.ФорматыСохранения;
УпаковатьВАрхив = ПараметрыНастройкиФормата.УпаковатьВАрхив;
ПереводитьИменаФайловВТранслит = ПараметрыНастройкиФормата.ПереводитьИменаФайловВТранслит;
Элементы.Подписать.Видимость = ПараметрыНастройкиФормата.Подписать <> Неопределено;
Подписать = ПараметрыНастройкиФормата.Подписать;
КонецЕсли;
МассивОграниченийФорматовСохранения = СтрРазделить(Параметры.ОграничениеФорматовСохранения, ",", Ложь);
@@ -25,7 +27,7 @@
// заполнение списка форматов
Для Каждого ФорматСохранения Из СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента() Цикл
Пометка = Ложь;
Если Параметры.НастройкиФормата <> Неопределено Тогда
Если ПараметрыНастройкиФормата <> Неопределено Тогда
ПереданныйФормат = ПереданныйМассивФорматов.Найти(Строка(ФорматСохранения.ТипФайлаТабличногоДокумента));
Если ПереданныйФормат <> Неопределено Тогда
Пометка = Истина;
@@ -2071,7 +2071,7 @@
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
ИмяОткрываемойФормы = "ОбщаяФорма.ВыборФорматаВложений";
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия")
И СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ИспользоватьПочтовыйКлиент Тогда
@@ -1172,7 +1172,7 @@
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
ИмяОткрываемойФормы = "ОбщаяФорма.ВыборФорматаВложений";
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия")
И СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ИспользоватьПочтовыйКлиент Тогда
@@ -219,7 +219,7 @@
КонецЕсли;
КонецЦикла;
Результат = Новый Структура;
Результат = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
Результат.Вставить("УпаковатьВАрхив", УпаковатьВАрхив);
Результат.Вставить("ФорматыСохранения", ФорматыСохранения);
Результат.Вставить("Получатели", ВыбранныеПолучатели());
@@ -573,23 +573,22 @@
Отбор = Новый Структура("Роль", "ПолныеПрава");
Если ПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0 Тогда
Отбор = Новый Структура("Роль", "АдминистраторСистемы");
ЕстьРольАдминистраторСистемы = ПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0;
Отбор = Новый Структура("Роль", "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок");
ЕстьРольИнтерактивноеОткрытиеВнешнихОтчетовИОбработок = ПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0;
ИсходныеПрочитанныеРоли = ПрочитанныеРоли.Выгрузить(, "Роль");
ПрочитанныеРоли.Очистить();
ПрочитанныеРоли.Добавить().Роль = "ПолныеПрава";
Если ЕстьРольАдминистраторСистемы Тогда
ПрочитанныеРоли.Добавить().Роль = "АдминистраторСистемы";
КонецЕсли;
СтандартныеРолиРасширений = УправлениеДоступомСлужебныйПовтИсп.ОписаниеСтандартныхРолейРасширенийСеанса().РолиСеанса;
ВозможныеРолиАдминистратора = Новый Соответствие(СтандартныеРолиРасширений.ДополнительныеРолиАдминистратора);
ВозможныеРолиАдминистратора.Вставить("АдминистраторСистемы", Истина);
ВозможныеРолиАдминистратора.Вставить("ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок", Истина);
Если ЕстьРольИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Тогда
ПрочитанныеРоли.Добавить().Роль = "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок";
КонецЕсли;
Для Каждого ОписаниеРоли Из ВозможныеРолиАдминистратора Цикл
Отбор = Новый Структура("Роль", ОписаниеРоли.Ключ);
Если ИсходныеПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0 Тогда
ПрочитанныеРоли.Добавить().Роль = ОписаниеРоли.Ключ;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ОбработатьИнтерфейсРолей("ОбновитьДеревоРолей");
@@ -72,7 +72,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Метки.Свойство.Description</segments>
<segments>Метки.Наименование</segments>
</dataPath>
<extendedTooltip>
<name>МеткиНаименованиеРасширеннаяПодсказка</name>
@@ -521,6 +521,24 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>Наименование</name>
<title>
<key>ru</key>
<value>Наименование</value>
</title>
<id>11</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>ДоступныеНаборыСвойств</name>
@@ -697,6 +715,10 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ОписаниеОбъекта</name>
<valueType/>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -11,6 +11,10 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.ОписаниеОбъекта = Неопределено Тогда
Возврат;
КонецЕсли;
СсылкаНаОбъект = Параметры.ОписаниеОбъекта.Ссылка;
Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
Возврат;
@@ -148,12 +152,12 @@
Процедура ЗаполнитьМетки()
Метки.Очистить();
МеткиСсылки = УправлениеСвойствамиСлужебный.ЗначенияСвойств(
ЗначенияМеток = УправлениеСвойствамиСлужебный.ЗначенияСвойств(
СсылкаНаОбъект.ДополнительныеРеквизиты,
ДоступныеНаборыСвойств,
Перечисления.ВидыСвойств.Метки);
Для Каждого Метка Из МеткиСсылки Цикл
Для Каждого Метка Из ЗначенияМеток Цикл
Если Метка.Удалено Тогда
Продолжить;
КонецЕсли;
@@ -165,6 +169,7 @@
Иначе
НоваяСтрока.Значение = Истина;
КонецЕсли;
НоваяСтрока.Наименование = Метка.Наименование;
КонецЦикла;
КонецПроцедуры
@@ -1330,6 +1330,10 @@
ОкноНачальнойСтраницы = Неопределено;
ОкнаПрограммы = ПолучитьОкна();
Если ОкнаПрограммы = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого ОкноПрограммы Из ОкнаПрограммы Цикл
@@ -1543,8 +1547,8 @@
Если Результат = Неопределено Тогда
ПоказатьОшибкиФормирования(НСтр("ru = 'Формирование отчета прервано администратором'"));
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"), Окно.ПолучитьНавигационнуюСсылку(),
Заголовок);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"),
?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
ИначеЕсли Результат.Статус = "Выполнено" Тогда
@@ -1554,15 +1558,15 @@
НастройкиОтчета.СвойстваРезультата.ВремяФормирования = (ТекущаяУниверсальнаяДатаВМиллисекундах()
- ПараметрыФормирования.ВремяНачалаФормирования) / 1000;
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет сформирован'"), Окно.ПолучитьНавигационнуюСсылку(), Заголовок);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет сформирован'"),
?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
ИначеЕсли Результат.Статус = "Ошибка" Тогда
ПоказатьОшибкиФормирования(Результат.КраткоеПредставлениеОшибки);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"), Окно.ПолучитьНавигационнуюСсылку(),
Заголовок);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"),
?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
КонецЕсли;
ФормированиеПриОткрытии = Ложь;
@@ -4609,8 +4613,8 @@
Процедура СохранитьВариантОтчета(ПослеДобавленияНового = Ложь)
СохранитьВариантОтчетаНаСервере(ПослеДобавленияНового);
ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен'"), Окно.ПолучитьНавигационнуюСсылку(),
Заголовок);
ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен'"),
?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
КонецПроцедуры
@@ -1527,7 +1527,7 @@
ПросроченныеЗадачи = СписокПросроченныхЗадач();
Индекс = ПросроченныеЗадачи.Количество() - 1;
Пока Индекс > 0 Цикл
Пока Индекс >= 0 Цикл
ПросроченнаяЗадача = ПросроченныеЗадачи.Получить(Индекс);
Если НЕ ЗначениеЗаполнено(ПросроченнаяЗадача.Исполнитель) И БизнесПроцессыИЗадачиВызовСервера.ЭтоВедущаяЗадача(ПросроченнаяЗадача.Ссылка) Тогда
ПросроченныеЗадачи.Удалить(ПросроченнаяЗадача);
@@ -595,6 +595,9 @@
ПараметрыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
ЦветНеактивныхЗначений = ПараметрыКлиента.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет;
ВариантАвтор = Объект.Автор;
Если ТипЗнч(ЦветНеактивныхЗначений) = Тип("ХранилищеЗначения") Тогда
ЦветНеактивныхЗначений = ЦветНеактивныхЗначений.Получить();
КонецЕсли;
КоличествоПомеченных = 0;
Для Каждого Строка Из Форма.ПользователиВарианта Цикл
@@ -1836,6 +1836,10 @@
Возврат;
КонецЕсли;
Если СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат;
КонецЕсли;
Если ИндексПоля.НаправлениеСортировки = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда
СвойстваЗаголовка.СортироватьПоВозрастанию = Ложь;
@@ -34,7 +34,8 @@
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура")
Или ТипЗнч(СвойстваЗаголовка.Поле) <> Тип("ПолеКомпоновкиДанных")
Или СвойстваЗаголовка.ТипЗначения.Типы().Количество() = 0 Тогда
Или СвойстваЗаголовка.ТипЗначения.Типы().Количество() = 0
Или СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат;
КонецЕсли;
@@ -162,7 +163,7 @@
И ТипЗнч(Область.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных");
Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость = (ТипЗнч(СвойстваЗаголовка) = Тип("Структура"))
И ТипЗнч(СвойстваЗаголовка.Поле) = Тип("ПолеКомпоновкиДанных");
И ТипЗнч(СвойстваЗаголовка.Поле) = Тип("ПолеКомпоновкиДанных") И СвойстваЗаголовка.ПорядокРаздела = 1;
Элементы.КонтекстноеМенюОбластиДанных.Видимость = Не Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость
И ЭтоРасшифровка;
@@ -3018,7 +3019,8 @@
КонтекстноеМеню = Новый СписокЗначений;
КонтекстноеМеню.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение, НСтр("ru = 'Открыть'"));
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура") Тогда
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура")
Или СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат КонтекстноеМеню;
КонецЕсли;
@@ -793,15 +793,15 @@
// * Получатели - ТаблицаЗначений:
// ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * ПолучателиОтвета
// ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * ПолучателиСкрытыхКопий
// ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * Вложения - ТаблицаЗначений:
// ** Представление - Строка
// ** АдресВоВременномХранилище - Строка
@@ -827,21 +827,21 @@
Получатели = Новый ТаблицаЗначений;
Получатели.Колонки.Добавить("Адрес", ТипСтрока);
Получатели.Колонки.Добавить("Представление", ТипСтрока);
Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("Получатели", Получатели);
ПолучателиОтвета = Новый ТаблицаЗначений;
ПолучателиОтвета.Колонки.Добавить("Адрес", ТипСтрока);
ПолучателиОтвета.Колонки.Добавить("Представление", ТипСтрока);
ПолучателиОтвета.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
ПолучателиОтвета.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("ПолучателиОтвета", ПолучателиОтвета);
ПолучателиСкрытыхКопий = Новый ТаблицаЗначений;
ПолучателиСкрытыхКопий.Колонки.Добавить("Адрес", ТипСтрока);
ПолучателиСкрытыхКопий.Колонки.Добавить("Представление", ТипСтрока);
ПолучателиСкрытыхКопий.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
ПолучателиСкрытыхКопий.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("ПолучателиСкрытыхКопий", ПолучателиСкрытыхКопий);
@@ -228,15 +228,7 @@
//
Функция ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, Знач ПараметрыВыполнения, Знач НаборПараметровФункции = Неопределено) Экспорт
Если НаборПараметровФункции <> Неопределено
И ТипЗнч(НаборПараметровФункции) <> Тип("Соответствие")
И ТипЗнч(НаборПараметровФункции) <> Тип("Структура") Тогда
ВызватьИсключение НСтр("ru ='Передан неверный тип набора параметров'");
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено() И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение НСтр("ru ='Многопоточные длительные операции в неразделенном сеансе не поддерживаются.'");
КонецЕсли;
ПроверитьВозможностьЗапускаМногопоточнойДлительнойОперации(ПараметрыВыполнения, НаборПараметровФункции);
Если ПараметрыВыполнения.ОжидатьЗавершение = ОбщиеПараметрыВыполненияВФоне().ОжидатьЗавершение Тогда
ПараметрыВыполнения.ОжидатьЗавершение = 0;
@@ -281,6 +273,7 @@
КонецФункции
// Запускает выполнение процедуры в многопоточном фоновом задании, если это возможно.
// Вызываемая процедура может быть с произвольным числом параметров, но не более 7.
// Значения передаваемых параметров процедуры, а также возвращаемое значение должны быть сериализуемыми.
@@ -317,15 +310,7 @@
//
Функция ВыполнитьПроцедуруВНесколькоПотоков(ИмяПроцедуры, Знач ПараметрыВыполнения, Знач НаборПараметровПроцедуры = Неопределено) Экспорт
Если НаборПараметровПроцедуры <> Неопределено
И ТипЗнч(НаборПараметровПроцедуры) <> Тип("Соответствие")
И ТипЗнч(НаборПараметровПроцедуры) <> Тип("Структура") Тогда
ВызватьИсключение НСтр("ru ='Передан неверный тип набора параметров'");
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено() И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение НСтр("ru ='Многопоточные длительные операции в неразделенном сеансе не поддерживаются.'");
КонецЕсли;
ПроверитьВозможностьЗапускаМногопоточнойДлительнойОперации(ПараметрыВыполнения, НаборПараметровПроцедуры);
НовыеПараметрыВыполнения = ПараметрыВыполненияФункции(Неопределено);
ЗаполнитьЗначенияСвойств(НовыеПараметрыВыполнения, ПараметрыВыполнения);
@@ -2345,6 +2330,9 @@
Результаты = Новый Соответствие();
Для Каждого Поток Из ПотокиПроцесса Цикл
Если Поток.Статус = СтатусДлительнойОперации().Создано Тогда
Продолжить;
КонецЕсли;
Ключ = Поток.КлючПотока.Получить();
Результаты.Вставить(Ключ, Новый Структура(Новый ФиксированнаяСтруктура(РезультатДлительнойОперации)));
@@ -2737,6 +2725,7 @@
КонецЕсли;
ОбновитьСведенияОбПотоке(Поток);
ЭтоПотокТекущегоПроцесса = (Поток.ИдентификаторПроцесса = ИдентификаторПроцесса);
Потоки.Удалить(Поток);
ЕстьЗавершенныеПотоки = Истина;
@@ -2749,7 +2738,7 @@
КонецЕсли;
Если ЗавершитьДосрочноЕслиОшибка = Истина
И Поток.ИдентификаторПроцесса = ИдентификаторПроцесса Тогда
И ЭтоПотокТекущегоПроцесса Тогда
Возврат Неопределено;
КонецЕсли;
@@ -3095,6 +3084,20 @@
КонецПроцедуры
Процедура ПроверитьВозможностьЗапускаМногопоточнойДлительнойОперации(ПараметрыВыполнения, НаборПараметров)
Если НаборПараметров <> Неопределено
И ТипЗнч(НаборПараметров) <> Тип("Соответствие")
И ТипЗнч(НаборПараметров) <> Тип("Структура") Тогда
ВызватьИсключение НСтр("ru ='Передан неверный тип набора параметров'");
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено() И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение НСтр("ru ='Многопоточные длительные операции в неразделенном сеансе не поддерживаются.'");
КонецЕсли;
КонецПроцедуры
// Возвращаемое значение:
// Структура:
// * Создано - Строка
@@ -38,8 +38,9 @@
Параметры.Форма = Неопределено;
Если Параметры.ОбработкаПродолжения <> Неопределено Тогда
ОбработкаПродолжения = Параметры.ОбработкаПродолжения;
Параметры.ОбработкаПродолжения = Неопределено;
ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Результат);
ВыполнитьОбработкуОповещения(ОбработкаПродолжения, Результат);
КонецЕсли;
КонецПроцедуры
@@ -1810,6 +1810,20 @@
КонецФункции
// См. ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектовДоступныхПоФункциональнымОпциям
Функция ТипыСубъектовДоступныхПоФункциональнымОпциям() Экспорт
Возврат ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектовДоступныхПоФункциональнымОпциям();
КонецФункции
// См. ЗащитаПерсональныхДанныхПовтИсп.СубъектДоступенПоФункциональнымОпциям
Функция СубъектДоступенПоФункциональнымОпциям(ИмяОбъекта) Экспорт
Возврат ЗащитаПерсональныхДанныхПовтИсп.СубъектДоступенПоФункциональнымОпциям(ИмяОбъекта);
КонецФункции
// См. ЗащитаПерсональныхДанныхПовтИсп.ИменаМетаданныхПоТипамСубъекта
Функция ИменаМетаданныхПоТипамСубъекта() Экспорт
@@ -1957,6 +1971,40 @@
КонецФункции
// Устанавливает значение реквизита и свойства поля ТипСубъекта в формах документов.
//
// Параметры:
// ЭлементыФормы - ЭлементыФормы
// Субъект - ОпределяемыйТип.СубъектПерсональныхДанных
// ТипСубъекта - Тип
//
Процедура УстановитьСвойстваТипаСубъекта(ЭлементыФормы, Субъект, ТипСубъекта) Экспорт
СписокВыбора = Новый СписокЗначений();
ТипыСубъектов = ТипыСубъектовДоступныхПоФункциональнымОпциям();
Для Каждого Тип Из ТипыСубъектов Цикл
МетаданныеСубъекта = Метаданные.НайтиПоТипу(Тип);
ОписаниеТипов = Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип));
СписокВыбора.Добавить(ОписаниеТипов, МетаданныеСубъекта.ПредставлениеОбъекта);
КонецЦикла;
Если Субъект = Неопределено Тогда
ТипСубъекта = СписокВыбора.Получить(0).Значение;
Иначе
ТипСубъекта = Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ТипЗнч(Субъект)));
КонецЕсли;
ЭлементФормыТипСубъекта = ЭлементыФормы.Найти("ТипСубъекта");
Если ЭлементФормыТипСубъекта = Неопределено Тогда
Возврат;
КонецЕсли;
ЭлементФормыТипСубъекта.СписокВыбора.ЗагрузитьЗначения(СписокВыбора.ВыгрузитьЗначения());
ЭлементФормыТипСубъекта.Видимость = СписокВыбора.Количество() > 1;
КонецПроцедуры
Процедура ПроверитьВозможностьПолученияЭлементаДанных(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель)
УзлыРИБ = СтандартныеПодсистемыПовтИсп.УзлыРИБ();
@@ -71,6 +71,13 @@
КонецФункции
// См. ЗащитаПерсональныхДанныхСлужебный.ТипыСубъектовДоступныхПоФункциональнымОпциям
Функция ТипыСубъектовДоступныхПоФункциональнымОпциям() Экспорт
Возврат ЗащитаПерсональныхДанныхСлужебный.ТипыСубъектовДоступныхПоФункциональнымОпциям();
КонецФункции
// см. ЗащитаПерсональныхДанныхСлужебный.ИменаМетаданныхПоТипамСубъекта
Функция ИменаМетаданныхПоТипамСубъекта() Экспорт
@@ -85,4 +92,11 @@
КонецФункции
// См. ЗащитаПерсональныхДанныхСлужебный.СубъектДоступенПоФункциональнымОпциям
Функция СубъектДоступенПоФункциональнымОпциям(ИмяОбъекта) Экспорт
Возврат ЗащитаПерсональныхДанныхСлужебный.СубъектДоступенПоФункциональнымОпциям(ИмяОбъекта);
КонецФункции
#КонецОбласти
@@ -434,6 +434,23 @@
КонецФункции
Функция ТипыСубъектовДоступныхПоФункциональнымОпциям() Экспорт
Результат = Новый Массив;
ТипыСубъектов = ЗащитаПерсональныхДанных.ТипыСубъектов();
Для Каждого ТипСубъекта Из ТипыСубъектов Цикл
ИмяМетаданных = Метаданные.НайтиПоТипу(ТипСубъекта).ПолноеИмя();
Если ЗащитаПерсональныхДанных.СубъектДоступенПоФункциональнымОпциям(ИмяМетаданных) Тогда
Результат.Добавить(ТипСубъекта);
КонецЕсли;
КонецЦикла;
Возврат Новый ФиксированныйМассив(Результат);
КонецФункции
// Возвращаемое значение:
// ФиксированныйМассив из Строка - полные имена объектов метаданных
//
@@ -519,4 +536,35 @@
КонецФункции
// Определяет доступен ли объект по функциональным опциям.
//
// Параметры:
// ИмяСубъекта - Строка - полное имя объекта метаданных субъекта
//
// Возвращаемое значение:
// Булево
//
Функция СубъектДоступенПоФункциональнымОпциям(ИмяСубъекта) Экспорт
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяСубъекта);
ОбъектВходитВСоставФункциональныхОпций = Ложь;
Для Каждого ФункциональнаяОпция Из Метаданные.ФункциональныеОпции Цикл
Если Не ФункциональнаяОпция.Состав.Содержит(ОбъектМетаданных) Тогда
Продолжить;
КонецЕсли;
ОбъектВходитВСоставФункциональныхОпций = Истина;
Если ПолучитьФункциональнуюОпцию(ФункциональнаяОпция.Имя) = Истина Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Если Не ОбъектВходитВСоставФункциональныхОпций Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
#КонецОбласти
@@ -98,11 +98,6 @@
ПроверкиПоКонтексту = КонтрольВеденияУчетаСлужебный.ПроверкиПоКонтексту(КонтекстПроверокВеденияУчета);
ИдентификаторФормы = Новый УникальныйИдентификатор;
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Контроль ведения учета'");
ПараметрыМетода = Новый Соответствие;
ВерхняяГраницаПроверок = ПроверкиПоКонтексту.ВГраница();
@@ -115,17 +110,49 @@
ИмяПроцедуры = "КонтрольВеденияУчета.ВыполнитьПроверку";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(Новый УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Контроль ведения учета'");
ПараметрыВыполнения.ОжидатьЗавершение = Неопределено;
РезультатВыполнения = ДлительныеОперации.ВыполнитьПроцедуруВНесколькоПотоков(
ИмяПроцедуры,
ПараметрыВыполнения,
ПараметрыМетода);
СтатусВыполняется = "Выполняется";
ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
Если РезультатВыполнения.Статус <> "Выполнено" Тогда
Если РезультатВыполнения.Статус = "Ошибка" Тогда
ТекстОшибки = РезультатВыполнения.ПодробноеПредставлениеОшибки;
ИначеЕсли РезультатВыполнения.Статус = "Отменено" Тогда
ТекстОшибки = НСтр("ru = 'Фоновое задание отменено'");
Иначе
ТекстОшибки = НСтр("ru = 'Ошибка выполнения фонового задания'");
КонецЕсли;
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если (РезультатВыполнения.Статус = СтатусВыполняется) И (Не ПустаяСтрока(ИдентификаторЗадания)) Тогда
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
ФоновоеЗадание = ФоновоеЗадание.ОжидатьЗавершенияВыполнения();
Результаты = ПолучитьИзВременногоХранилища(РезультатВыполнения.АдресРезультата); // Соответствие
Если ТипЗнч(Результаты) <> Тип("Соответствие") Тогда
ТекстОшибки = НСтр("ru = 'Фоновое задание не вернуло результат'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Для Каждого ОписаниеРезультата Из Результаты Цикл
Результат = ОписаниеРезультата.Значение; // см. ДлительныеОперации.ВыполнитьПроцедуру
Если Результат.Статус <> "Выполнено" Тогда
Если Результат.Статус = "Ошибка" Тогда
ТекстОшибки = Результат.ПодробноеПредставлениеОшибки;
ИначеЕсли Результат.Статус = "Отменено" Тогда
ТекстОшибки = НСтр("ru = 'Фоновое задание отменено'");
Иначе
ТекстОшибки = НСтр("ru = 'Ошибка выполнения фонового задания'");
КонецЕсли;
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЦикла;
Если ПараметрыМетода.Количество() <> Результаты.Количество() Тогда
ТекстОшибки = НСтр("ru = 'Не все проверки были выполнены'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецПроцедуры
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.9.74";
Описание.Версия = "3.1.9.89";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -7077,6 +7077,8 @@
Продолжить;
КонецЕсли;
ПредставлениеСсылки = Строка(СсылкиНаОбъекты.Ссылка);
НачатьТранзакцию();
Попытка
@@ -7128,7 +7130,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось заполнить элемент: %1 по причине: %2'"),
СсылкиНаОбъекты.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
МетаданныеОбъекта, СсылкиНаОбъекты.Ссылка, ТекстСообщения);
@@ -9043,6 +9045,8 @@
Процедура УстановитьПорядокОтложенногоОбновления() Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса);
Если Не ОбщегоНазначения.РазделениеВключено()
Или ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
// Регламентное задание предназначено для запуска только в неразделенном режиме работы.
@@ -9054,8 +9058,6 @@
Возврат;
КонецЕсли;
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса);
ПрогрессОбновления = ОбновлениеИнформационнойБазы.ПрогрессОбновленияОбластейДанных("Отложенное");
ОбластиДляПроверки = ПрогрессОбновления.ОбластиВыполняется;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбластиДляПроверки, ПрогрессОбновления.ОбластиСПроблемами, Истина);
@@ -743,8 +743,16 @@
Если ЗначениеЗаполнено(НовыеИсправления) Тогда
НовыеИсправленияМассив = СтрРазделить(НовыеИсправления, Символы.ПС);
Для Каждого Исправление Из НовыеИсправленияМассив Цикл
ДанныеИсправления = Новый ДвоичныеДанные(Исправление);
УстанавливаемыеИсправления.Добавить(ПоместитьВоВременноеХранилище(ДанныеИсправления));
Попытка
ДанныеИсправления = Новый ДвоичныеДанные(Исправление);
УстанавливаемыеИсправления.Добавить(ПоместитьВоВременноеХранилище(ДанныеИсправления));
Исключение
ТекстОшибки = НСтр("ru = 'Не удалось получить двоичные данные патча по причине:
|%1'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
КонецПопытки
КонецЦикла;
КонецЕсли;
@@ -6234,8 +6234,6 @@
УстановитьПривилегированныйРежим(Истина);
Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений();
Если РегистрыСведений.ПараметрыРаботыПрограммы.НеобходимоОбновление() Тогда
Текст = НСтр("ru = 'Вход в программу временно невозможен в связи с обновлением на новую версию.
|Рекомендуется запрещать выполнение регламентных заданий на время обновления.'");
@@ -6283,6 +6281,8 @@
ВызватьИсключение Текст;
КонецЕсли;
Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений();
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ПриУспешномНачалеВыполненияРегламентногоЗадания();
КонецПроцедуры
@@ -1283,7 +1283,6 @@
КонецПроцедуры
#КонецОбласти
#Область УстаревшиеПроцедурыИФункции
// Устарела. Следует использовать:
@@ -609,6 +609,36 @@
КонецПроцедуры
#Область Прочее
// Конструктор параметров для открытия формы выбора формата печатных форм.
//
// Возвращаемое значение:
// Структура - настройки формата печатной формы:
// * УпаковатьВАрхив - Булево - признак необходимости упаковки вложений в архив;
// * ФорматыСохранения - Массив из см. СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента
// * Получатели - Массив из Структура:
// * ИсточникКонтактнойИнформации - СправочникСсылка - владелец контактной информации.
// * Адрес - Строка - почтовый адрес получателя сообщения.
// * Представление - Строка - представление адресата.
// * ПереводитьИменаФайловВТранслит - Булево - преобразовывать кириллические символы в латиницу;
// * Подписать - Неопределено,
// - Булево - признак необходимости подписания печатных форм электронной подписью, если Неопределено, то флажок не отображается в форме выбора формата.
// * ПодписьИПечать - Булево - признак использования факсимиле подписи и печати.
//
Функция НастройкиФорматаПечатнойФормы() Экспорт
Результат = Новый Структура;
Результат.Вставить("УпаковатьВАрхив", Ложь);
Результат.Вставить("ФорматыСохранения", Новый Массив);
Результат.Вставить("Получатели", Новый Массив);
Результат.Вставить("ПереводитьИменаФайловВТранслит", Ложь);
Результат.Вставить("Подписать", Неопределено);
Результат.Вставить("ПодписьИПечать", Ложь);
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1151,6 +1181,10 @@
Возврат ОшибкаПодключенияКомпоненты(ТекстОшибки);
КонецПопытки;
#Если ВебКлиент Тогда
ПаузаАсинх(2);
#КонецЕсли
Если Контекст.Кэшировать Тогда
ЗаписатьОбъектКомпонентыВКэш(ИсходноеМестоположение, ПодключаемыйМодуль)
КонецЕсли;
@@ -1200,6 +1234,17 @@
КонецФункции
Асинх Функция ПаузаАсинх(ВремяВСекундах)
ДатаОкончания = ТекущаяДата() + ВремяВСекундах; // АПК:143 Дата сеанса не используется для проверки интервалов времени
Пока ТекущаяДата() < ДатаОкончания Цикл // АПК:143 Дата сеанса не используется для проверки интервалов времени
Ждать 1;
КонецЦикла;
Возврат Неопределено;
КонецФункции
Функция ЭтоМакет(Местоположение)
Если СтрНайти(Местоположение, "/") > 0 Тогда
@@ -929,7 +929,7 @@
Если ОценкаПроизводительностиСлужебный.ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульОбщегоНазначения = ОценкаПроизводительностиСлужебный.ОбщийМодуль("ОбщегоНазначения");
МодульОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(
Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности);
Метаданные.РегламентныеЗадания.ОчисткаЗамеровВремени);
КонецЕсли;
ГраницаУдаления = НачалоДня(ТекущаяУниверсальнаяДата() - 86400 * Константы.ПериодХраненияЗамеров.Получить());
@@ -68,6 +68,11 @@
Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
Зависимость = Настройки.Добавить();
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности;
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ВыполнятьЗамерыПроизводительности;
Зависимость.РаботаетСВнешнимиРесурсами = Истина;
Зависимость = Настройки.Добавить();
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ОчисткаЗамеровВремени;
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ВыполнятьЗамерыПроизводительности;
Зависимость.РаботаетСВнешнимиРесурсами = Истина;
КонецПроцедуры
@@ -852,7 +852,7 @@
Если Команда.ТолькоВоВсехДействиях = Истина Тогда
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
ИначеЕсли Команда.ТолькоВоВсехДействиях = Ложь Тогда
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанели;
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанелиИВДополнительномПодменю;
Иначе
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.Авто;
КонецЕсли;
@@ -5092,7 +5092,7 @@
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ПочтаДляВосстановленияПароля = "";
ПредставлениеСсылки = Строка(ПользовательСсылка);
НачатьТранзакцию();
Попытка
@@ -5147,7 +5147,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать пользователя %1 по причине: %2'"),
ПользовательСсылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.Пользователи, ПользовательСсылка, ТекстСообщения);
@@ -7387,6 +7387,10 @@
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
Если СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
Возврат Ложь;
КонецЕсли;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("УчитыватьСвойствоЗапрещеноИзменятьПароль");
ДополнительныеПараметры.Вставить("УчитыватьСвойствоАутентификацияСтандартная");
@@ -21,4 +21,12 @@
КонецПроцедуры
Процедура ЗаписатьОшибкуВЖурнал(ТекстОшибки) Экспорт
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПроцедуры
#КонецОбласти
@@ -17,12 +17,59 @@
//
Процедура ЗапроситьПарольДляАутентификацииВСервисе(ОбработкаПродолжения, ФормаВладелец, ПарольПользователяСервиса) Экспорт
Контекст = Новый Структура;
Контекст.Вставить("ОбработкаПродолжения", ОбработкаПродолжения);
Контекст.Вставить("ФормаВладелец", ФормаВладелец);
Контекст.Вставить("ПарольПользователяСервиса", ПарольПользователяСервиса);
Если ПарольПользователяСервиса = Неопределено Тогда
ОткрытьФорму("ОбщаяФорма.АутентификацияВСервисе", , ФормаВладелец, , , , ОбработкаПродолжения);
Оповещение = Новый ОписаниеОповещения("ПослеЗапросаПароляДляАутентификацииВСервисе", ЭтотОбъект, Контекст);
ОткрытьФорму("ОбщаяФорма.АутентификацияВСервисе", , ФормаВладелец, , , , Оповещение);
Иначе
ВыполнитьОбработкуОповещения(ОбработкаПродолжения, ПарольПользователяСервиса);
ПослеЗапросаПароляДляАутентификацииВСервисе(ПарольПользователяСервиса, Контекст)
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПослеЗапросаПароляДляАутентификацииВСервисе(ПарольПользователяСервиса, Контекст) Экспорт
Контекст.ПарольПользователяСервиса = ПарольПользователяСервиса;
Поток = Новый ПотокВПамяти;
Поток.НачатьПолучениеРазмера(Новый ОписаниеОповещения(
"ПослеЗапросаПароляДляАутентификацииВСервисеПродолжение", ЭтотОбъект, Контекст));
КонецПроцедуры
Процедура ПослеЗапросаПароляДляАутентификацииВСервисеПродолжение(Результат, Контекст) Экспорт
ТекстОшибки = "";
Попытка
ВыполнитьОбработкуОповещения(Контекст.ОбработкаПродолжения, Контекст.ПарольПользователяСервиса);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПользователиСлужебныйВМоделиСервисаВызовСервера.ЗаписатьОшибкуВЖурнал(
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ТекстОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке) + Символы.ПС
+ НСтр("ru = 'Возможно пароль введен неверно, повторите ввод пароля.'");
КонецПопытки;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
Оповещение = Новый ОписаниеОповещения("ПослеЗапросаПароляДляАутентификацииВСервисеИПредупрежденияОбОшибке", ЭтотОбъект, Контекст);
ПоказатьПредупреждение(Оповещение, ТекстОшибки);
КонецЕсли;
КонецПроцедуры
Процедура ПослеЗапросаПароляДляАутентификацииВСервисеИПредупрежденияОбОшибке(Контекст) Экспорт
ЗапроситьПарольДляАутентификацииВСервисе(Контекст.ОбработкаПродолжения,
Контекст.ФормаВладелец, Неопределено);
КонецПроцедуры
#КонецОбласти
@@ -330,8 +330,6 @@
Процедура ЗагрузитьАктуальныйКурс(ПараметрыЗагрузки = Неопределено, АдресРезультата = Неопределено) Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ЗагрузкаКурсовВалют);
Если Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено Тогда
Обработки["ЗагрузкаКурсовВалют"].ЗагрузитьАктуальныйКурс(ПараметрыЗагрузки, АдресРезультата);
КонецЕсли;
@@ -2395,14 +2395,14 @@
// Сообщение пользователю.
ТекстДляПользователя = СокрЛП(ТекстДляПользователя);
Если (УровеньЖурнала = УровеньЖурналаРегистрации.Ошибка) Или (УровеньЖурнала = УровеньЖурналаРегистрации.Предупреждение) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстДляПользователя;
Сообщение.УстановитьДанные(ПараметрыЖурнала.Данные);
Если ПараметрыЖурнала.Свойство("МассивОшибок") И ТипЗнч(ПараметрыЖурнала.МассивОшибок) = Тип("Массив") Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстДляПользователя;
Сообщение.УстановитьДанные(ПараметрыЖурнала.Данные);
МассивОшибок = ПараметрыЖурнала.МассивОшибок; // Массив из СообщениеПользователю
МассивОшибок.Добавить(Сообщение);
Иначе
Сообщение.Сообщить();
ОбщегоНазначения.СообщитьПользователю(ТекстДляПользователя,,,ПараметрыЖурнала.Данные);
КонецЕсли;
КонецЕсли;
@@ -4699,11 +4699,6 @@
Функция ВыполнитьФормированиеОтчетовВНесколькоПотоков(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала)
ИдентификаторЗадания = Новый УникальныйИдентификатор();
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторЗадания);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Рассылка отчетов'");
ПерсонализированныеОтчеты = Новый Соответствие;
НеПерсонализированныеОтчеты = Новый Массив;
@@ -4798,6 +4793,10 @@
КонецЕсли;
КонецЦикла;
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(Новый УникальныйИдентификатор());
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Рассылка отчетов'");
ПараметрыВыполнения.ОжидатьЗавершение = Неопределено;
АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор());
ПараметрыВыполнения.Вставить("АдресРезультата", АдресРезультата);
@@ -4806,14 +4805,6 @@
ПараметрыВыполнения,
ПараметрыМетода);
СтатусВыполняется = "Выполняется";
ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
Если (РезультатВыполнения.Статус = СтатусВыполняется) И (Не ПустаяСтрока(ИдентификаторЗадания)) Тогда
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
ФоновоеЗадание = ФоновоеЗадание.ОжидатьЗавершенияВыполнения();
КонецЕсли;
ДеревоОтчетов = СоздатьДеревоОтчетов();
// Строка дерева общих (не персонализированных по получателям) отчетов.
@@ -247,7 +247,7 @@
// Установить блокировку сеансов области данных.
//
// Параметры:
// Параметры - см. НовыеПараметрыБлокировкиСоединений.
// Параметры - см. НовыеПараметрыБлокировкиСоединений
// ПоМестномуВремени - Булево - время начала и окончания блокировки указаны в местном времени сеанса.
// Если Ложь, то в универсальном времени.
// ОбластьДанных - Число - номер области данных, для которой устанавливается блокировка.
@@ -255,17 +255,18 @@
// совпадающее со значением разделителя в сеансе (или опущено).
// При вызове из сеанса, в котором не заданы значения разделителей, значение параметра не может быть опущено.
//
Процедура УстановитьБлокировкуСеансовОбластиДанных(Параметры, Знач ПоМестномуВремени = Истина, Знач ОбластьДанных = -1) Экспорт
Процедура УстановитьБлокировкуСеансовОбластиДанных(Знач Параметры, Знач ПоМестномуВремени = Истина, Знач ОбластьДанных = -1) Экспорт
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции'");
КонецЕсли;
Эксклюзивная = Ложь;
Если Не Параметры.Свойство("Эксклюзивная", Эксклюзивная) Тогда
Эксклюзивная = Ложь;
КонецЕсли;
Если Эксклюзивная И Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
// Для обратной совместимости.
ПараметрыБлокировкиСоединений = НовыеПараметрыБлокировкиСоединений();
ЗаполнитьЗначенияСвойств(ПараметрыБлокировкиСоединений, Параметры);
Параметры = ПараметрыБлокировкиСоединений;
Если Параметры.Эксклюзивная И Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции'");
КонецЕсли;
@@ -280,22 +281,11 @@
ВызватьИсключение НСтр("ru = 'Из сеанса с используемыми значениями разделителей нельзя установить блокировку сеансов области данных, отличной от используемой в сеансе.'");
КонецЕсли;
Иначе
Если ОбластьДанных = -1 Тогда
ВызватьИсключение НСтр("ru = 'Невозможно установить блокировку сеансов области данных - не указана область данных.'");
КонецЕсли;
КонецЕсли;
СтруктураНастроек = Параметры;
Если ТипЗнч(Параметры) = Тип("БлокировкаСеансов") Тогда
СтруктураНастроек = НовыеПараметрыБлокировкиСоединений();
ЗаполнитьЗначенияСвойств(СтруктураНастроек, Параметры);
ИначеЕсли ОбластьДанных = -1 Тогда
ВызватьИсключение НСтр("ru = 'Невозможно установить блокировку сеансов области данных - не указана область данных.'");
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
НачатьТранзакцию();
Попытка
@@ -311,12 +301,12 @@
Если Параметры.Установлена Тогда
Блокировка = НаборБлокировок.Добавить();
Блокировка.ОбластьДанныхВспомогательныеДанные = ОбластьДанных;
Блокировка.НачалоБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(СтруктураНастроек.Начало),
УниверсальноеВремя(СтруктураНастроек.Начало), СтруктураНастроек.Начало);
Блокировка.КонецБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(СтруктураНастроек.Конец),
УниверсальноеВремя(СтруктураНастроек.Конец), СтруктураНастроек.Конец);
Блокировка.СообщениеБлокировки = СтруктураНастроек.Сообщение;
Блокировка.Эксклюзивная = СтруктураНастроек.Эксклюзивная;
Блокировка.НачалоБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(Параметры.Начало),
УниверсальноеВремя(Параметры.Начало), Параметры.Начало);
Блокировка.КонецБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(Параметры.Конец),
УниверсальноеВремя(Параметры.Конец), Параметры.Конец);
Блокировка.СообщениеБлокировки = Параметры.Сообщение;
Блокировка.Эксклюзивная = Параметры.Эксклюзивная;
КонецЕсли;
НаборБлокировок.Записать();
@@ -749,8 +749,7 @@
//
// Параметры:
// ЗначениеПараметраЗапуска - Строка - главный параметр запуска.
// ПараметрыЗапуска - Массив - дополнительные параметры запуска, разделенные
// символом ";".
// ПараметрыЗапуска - Массив из Строка - дополнительные параметры запуска, разделенные символом ";".
//
// Возвращаемое значение:
// Булево - Истина, если требуется прекратить выполнение запуска системы.
@@ -2047,6 +2047,7 @@
МодульВыгрузкаЗагрузкаДанных.ДополнитьТипомИсключаемымИзВыгрузкиЗагрузки(Типы,
Метаданные.Справочники.ИдентификаторыОбъектовРасширений,
МодульВыгрузкаЗагрузкаДанных.ДействиеСоСсылкамиНеИзменять());
Типы.Добавить(Метаданные.РегистрыСведений.БезопасноеХранилищеДанныхОбластейДанных);
Типы.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений);
Типы.Добавить(Метаданные.РегистрыСведений.ПараметрыРаботыВерсийРасширений);
@@ -4489,7 +4490,7 @@
И ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.ДанныеОбработанныеВЦентральномУзлеРИБ") Тогда
Индекс = ЭлементДанных.Количество() - 1;
Пока Индекс > 0 Цикл
Пока Индекс >= 0 Цикл
СтрокаНабора = ЭлементДанных[Индекс];
Если СтрокаНабора.УзелПланаОбмена <> Получатель Тогда
ЭлементДанных.Удалить(СтрокаНабора);
@@ -49,10 +49,7 @@
// Постобработка результата.
ПреобразоватьТаблицуТекущихДел(ТекущиеДела, НастройкиОтображения);
Если НастройкиОтображения <> Неопределено Тогда
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения);
КонецЕсли;
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения);
ПоместитьВоВременноеХранилище(ТекущиеДела, АдресРезультата);
КонецПроцедуры
@@ -64,6 +61,8 @@
// Структура:
// * ВидимостьДел - Соответствие
// * ВидимостьРазделов - Соответствие
// * ОтключенныеОбъекты - Соответствие
// * СвернутыеРазделы - Соответствие
// * ДеревоДел - ДеревоЗначений:
// ** Представление - Строка
// ** ЭтоРаздел - Булево
@@ -76,22 +75,24 @@
//
Функция СохраненныеНастройкиОтображения() Экспорт
Результат = Новый Структура;
Результат.Вставить("ВидимостьДел", Новый Соответствие);
Результат.Вставить("ВидимостьРазделов", Новый Соответствие);
Результат.Вставить("ОтключенныеОбъекты", Новый Соответствие);
Результат.Вставить("СвернутыеРазделы", Новый Соответствие);
Результат.Вставить("ДеревоДел", Новый ДеревоЗначений);
НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения");
Если НастройкиОтображения = Неопределено Тогда
Возврат Неопределено;
Возврат Результат;
КонецЕсли;
Если ТипЗнч(НастройкиОтображения) <> Тип("Структура") Тогда
Возврат Неопределено;
Возврат Результат;
КонецЕсли;
Если НастройкиОтображения.Свойство("ДеревоДел")
И НастройкиОтображения.Свойство("ВидимостьРазделов")
И НастройкиОтображения.Свойство("ВидимостьДел") Тогда
Возврат НастройкиОтображения;
КонецЕсли;
Возврат Неопределено;
ЗаполнитьЗначенияСвойств(Результат, НастройкиОтображения);
Возврат Результат;
КонецФункции
@@ -236,14 +237,7 @@
ТекущиеДела.Колонки.Добавить("ЭтоРаздел", Новый ОписаниеТипов("Булево"));
ТекущиеДела.Колонки.Добавить("ПредставлениеРаздела", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250)));
Если ТипЗнч(НастройкиОтображения) = Тип("Структура")
И НастройкиОтображения.Свойство("ОтключенныеОбъекты")
И ТипЗнч(НастройкиОтображения.ОтключенныеОбъекты) = Тип("Соответствие") Тогда
ОтключенныеОбъекты = НастройкиОтображения.ОтключенныеОбъекты;
Иначе
ОтключенныеОбъекты = Новый Соответствие;
КонецЕсли;
ОтключенныеОбъекты = НастройкиОтображения.ОтключенныеОбъекты;
НедопустимыеСимволы = """'`/\-[]{}:;|=?*<>,.()+#№@!%^&~ ";
УдаляемыеДела = Новый Массив;
Для Каждого Дело Из ТекущиеДела Цикл
@@ -289,15 +283,12 @@
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Дело.ОбъектВладелецДел)
И Дело.ЭтоРаздел
И ТипЗнч(НастройкиОтображения) = Тип("Структура")
И НастройкиОтображения.Свойство("ВидимостьДел") Тогда
Если ЗначениеЗаполнено(Дело.ОбъектВладелецДел) И Дело.ЭтоРаздел Тогда
Если ОтключенныеОбъекты[Дело.ОбъектВладелецДел] = Неопределено Тогда
ОтключенныеОбъекты.Вставить(Дело.ОбъектВладелецДел, Новый Массив);
ОтключенныеОбъекты[Дело.ОбъектВладелецДел].Добавить(Дело.Идентификатор);
Иначе
ОтключенныеДела = ОтключенныеОбъекты[Дело.ОбъектВладелецДел]; // Массив.
ОтключенныеДела = ОтключенныеОбъекты[Дело.ОбъектВладелецДел]; // Массив
ОтключенныеДела.Добавить(Дело.Идентификатор);
КонецЕсли;
КонецЕсли;
@@ -376,30 +367,28 @@
КонецПроцедуры
Функция ПолучатьДелаПоОбъекту(Обработчик, НастройкиОтображения)
Если ТипЗнч(Обработчик) <> Тип("ОбщийМодуль")
И НастройкиОтображения <> Неопределено
И ТипЗнч(НастройкиОтображения) = Тип("Структура")
И НастройкиОтображения.Свойство("ОтключенныеОбъекты")
И ТипЗнч(НастройкиОтображения.ОтключенныеОбъекты) = Тип("Соответствие") Тогда
ОбъектВладелецДел = Метаданные.НайтиПоТипу(ТипЗнч(Обработчик)).ПолноеИмя();
ПроверяемыеДела = НастройкиОтображения.ОтключенныеОбъекты[ОбъектВладелецДел];
Если ТипЗнч(ПроверяемыеДела) = Тип("Массив") Тогда
ПолучатьДела = Ложь;
Для Каждого ПроверяемоеДело Из ПроверяемыеДела Цикл
Значение = НастройкиОтображения.ВидимостьДел[ПроверяемоеДело];
Если Значение <> Ложь Тогда
ПолучатьДела = Истина;
КонецЕсли;
КонецЦикла;
Если Не ПолучатьДела Тогда
Возврат Ложь;
Иначе
НастройкиОтображения.ОтключенныеОбъекты.Удалить(ОбъектВладелецДел);
КонецЕсли;
КонецЕсли;
Если ТипЗнч(Обработчик) = Тип("ОбщийМодуль") Тогда
Возврат Истина;
КонецЕсли;
ПолучатьДела = Истина;
ОбъектВладелецДел = Метаданные.НайтиПоТипу(ТипЗнч(Обработчик)).ПолноеИмя();
ПроверяемыеДела = НастройкиОтображения.ОтключенныеОбъекты[ОбъектВладелецДел];
Если ТипЗнч(ПроверяемыеДела) = Тип("Массив") Тогда
ПолучатьДела = Ложь;
Для Каждого ПроверяемоеДело Из ПроверяемыеДела Цикл
Значение = НастройкиОтображения.ВидимостьДел[ПроверяемоеДело];
Если Значение <> Ложь Тогда
ПолучатьДела = Истина;
КонецЕсли;
КонецЦикла;
Если Не ПолучатьДела Тогда
Возврат Ложь;
КонецЕсли;
НастройкиОтображения.ОтключенныеОбъекты.Удалить(ОбъектВладелецДел);
КонецЕсли;
Возврат ПолучатьДела;
Возврат Истина;
КонецФункции
#КонецОбласти
@@ -68,7 +68,7 @@
// См. УдалениеПомеченныхОбъектов.ЗначениеФлажкаУдалятьПоРасписанию
Функция ЗначениеФлажкаУдалятьПоРасписанию() Экспорт
Возврат УдалениеПомеченныхОбъектов.ЗначениеФлажкаУдалятьПоРасписанию();
Возврат РежимУдалятьПоРасписанию().Использование;
КонецФункции
Процедура СохранитьНастройкуОтображенияПомеченныхНаУдаления(ИмяФормы, ИмяСписка, ЗначениеПометки) Экспорт
@@ -82,8 +82,8 @@
Для каждого Строка Из СтрокиНаборовЧтения Цикл
НомераНаборов.Вставить(Строка.НомерНабора, Истина);
КонецЦикла;
Индекс = НаборыЗначенийДоступа.Количество()-1;
Пока Индекс > 0 Цикл
Индекс = НаборыЗначенийДоступа.Количество() - 1;
Пока Индекс >= 0 Цикл
Если НомераНаборов[НаборыЗначенийДоступа[Индекс].НомерНабора] = Неопределено Тогда
НаборыЗначенийДоступа.Удалить(Индекс);
КонецЕсли;
@@ -30955,9 +30955,7 @@
КоличествоТаблиц = УзелПоле.ТаблицыСледующегоПоля[0].Количество();
Если КоличествоТаблиц >= 70 // Ограничение платформы.
Или КоличествоТаблиц > 0.7 * УзелПоле.ТипыПоля[0].Типы().Количество() Тогда
Если КоличествоТаблиц >= 70 Тогда // Ограничение платформы.
Возврат Псевдоним + "." + УзелПоле.Имя;
КонецЕсли;
@@ -6,25 +6,6 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
// Печать с использованием макетов в формате Microsoft Word (doc) на клиенте. Для обратной совместимости.
//
// Описание структур данных:
//
// Handler - Структура - данные для связи с COM-объектами:
// * COMСоединение - COMОбъект
// * Тип - строка - либо "DOC" либо "odt".
// * ИмяФайла - строка - имя файла шаблона (заполняется только для шаблона).
// * ТипПоследнегоВывода - тип последней выводимой области
// * см. ТипОбласти.
//
// Область в документе - Структура:
// * COMСоединение - COMОбъект
// * Тип - строка - либо "DOC" либо "odt".
// * Start - позиция начала области.
// * End - позиция окончания области.
//
#Область СлужебныеПроцедурыИФункции
// Создает COM соединение с COM объектом Word.Application, создает в нем
@@ -120,6 +120,7 @@
ЗаполнитьДополнительныеРеквизитыВФорме(Форма, ОписаниеОбъекта, , Контекст.СкрытьУдаленные);
КонецЕсли;
УстановитьВидимостьМеток(Форма, Контекст.ПараметрыОтображенияМеток.ИмяЭлементаДляРазмещенияМеток);
ЗаполнитьМеткиОбъекта(Форма, ОписаниеОбъекта, Контекст.ПроизвольныйОбъект);
Если Контекст.ПроизвольныйОбъект Тогда
ЗаполнитьЛегендуМеток(Форма, ОписаниеОбъекта);
@@ -1817,6 +1818,11 @@
Возврат;
КонецЕсли;
ИмяЭлементаДляРазмещенияМеток = Форма.Свойства_ИмяЭлементаДляРазмещенияМеток;
Если Не ЗначениеЗаполнено(ИмяЭлементаДляРазмещенияМеток) Тогда
Возврат;
КонецЕсли;
Если Объект = Неопределено Тогда
Если ПроизвольныйОбъект Тогда
Возврат;
@@ -1826,11 +1832,6 @@
ОписаниеОбъекта = Объект;
КонецЕсли;
ИмяЭлементаДляРазмещенияМеток = Форма.Свойства_ИмяЭлементаДляРазмещенияМеток;
Если Не ЗначениеЗаполнено(ИмяЭлементаДляРазмещенияМеток) Тогда
Возврат;
КонецЕсли;
Если Форма.Элементы.Найти("РедактироватьМетки") = Неопределено Тогда
НовыйЭлемент = Форма.Элементы.Добавить("РедактироватьМетки", Тип("ДекорацияФормы"),
Форма.Элементы[ИмяЭлементаДляРазмещенияМеток]);
@@ -2007,6 +2008,22 @@
КонецФункции
// Возвращает признак наличия владельцев меток.
//
// Возвращаемое значение:
// Булево - признак наличия владельцев меток.
//
Функция ЕстьВладельцыМеток() Экспорт
ВладельцыМеток = Метаданные.ОпределяемыеТипы.ВладелецМеток.Тип.Типы();
Если ВладельцыМеток.Количество() = 1 И ВладельцыМеток[0] = Тип("Строка") Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы.
@@ -2990,6 +3007,23 @@
КонецФункции
Процедура УстановитьВидимостьМеток(Форма, ИмяЭлементаДляРазмещенияМеток)
Если Не ЗначениеЗаполнено(ИмяЭлементаДляРазмещенияМеток) Тогда
Возврат;
КонецЕсли;
Если НЕ Форма.Свойства_ИспользоватьСвойства
ИЛИ НЕ Форма.Свойства_ИспользоватьДопРеквизиты Тогда
ВидимостьМеток = Ложь;
Иначе
ВидимостьМеток = Истина;
КонецЕсли;
Форма.Элементы[ИмяЭлементаДляРазмещенияМеток].Видимость = ВидимостьМеток;
КонецПроцедуры
Функция КартинкаМеткиПоЦвету(ЦветСвойств)
Если ЦветСвойств = Перечисления.ЦветаСвойств.Голубой Тогда
@@ -1143,11 +1143,16 @@
СуффиксТекущегоЯзыка = ОбщегоНазначения.СуффиксЯзыкаТекущегоПользователя();
Если СуффиксТекущегоЯзыка = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "УПОРЯДОЧИТЬ ПО",
" ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
Запрос.Текст = СтрЗаменить(Запрос.Текст,
" ВсеСвойства КАК ВсеСвойства
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
| ПО ВсеСвойства.Свойство = ДополнительныеРеквизитыИСведения.Ссылка",
" ВсеСвойства КАК ВсеСвойства
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
| ПО ВсеСвойства.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
| ПО (СвойстваПредставления.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка)
| И (СвойстваПредставления.КодЯзыка = &КодЯзыка)
|УПОРЯДОЧИТЬ ПО");
| И (СвойстваПредставления.КодЯзыка = &КодЯзыка)");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДополнительныеРеквизитыИСведения.Заголовок КАК Наименование",
"ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, ДополнительныеРеквизитыИСведения.Заголовок) КАК СТРОКА(150)) КАК Наименование");
@@ -10333,7 +10333,7 @@
Если НЕ Результат.Свойство("ФизическиеЛица") Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ФизическиеЛица = Результат.ФизическиеЛица.Получить(КомуВыдан);
+10 -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="93f6bcc5-dcd2-4f44-bb2e-4e8fec07e3e2">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="459361e6-b2dc-4300-95e2-1b437b5fbf7d">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="9063c0a7-4454-4ba2-905e-6d835901c28e"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f33e818f-efe4-48ae-af98-eb7f5f071ef8"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="df3a9061-d363-4395-bc89-3c7587b5518d"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f744a06e-49d9-4431-8707-c4320679aed7"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ef35238b-a426-486a-8b7c-cb3abdc79818"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="7a7950af-4940-4ae0-95b5-9141c2af7156"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fe0a2e16-ea74-4c99-993d-c54906f71f22"/>
<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"/>
<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.74</version>
<version>3.1.9.89</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1547,6 +1547,7 @@
<settingsStorages>SettingsStorage.ХранилищеВариантовОтчетов</settingsStorages>
<functionalOptions>FunctionalOption.АктуальнаяДатаОбновленияПовторноИспользуемыхЗначенийМРО</functionalOptions>
<functionalOptions>FunctionalOption.ВариантыВерсионированияОбъектов</functionalOptions>
<functionalOptions>FunctionalOption.ВыполнятьЗамерыПроизводительности</functionalOptions>
<functionalOptions>FunctionalOption.ЗарегистрированыИзмененияДанных</functionalOptions>
<functionalOptions>FunctionalOption.ИзменятьЗаданияЗаднимЧислом</functionalOptions>
<functionalOptions>FunctionalOption.ИспользоватьАвтономнуюРаботуВЛокальномРежиме</functionalOptions>
@@ -1 +1 @@
{6,1,1,1c9f7f0c-4d81-4c59-a891-ea89377e809c,1,9d3a9e87-ddc6-4d2a-865a-df20450c1146,"3.1.9.74","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7401,1,0,93f6bcc5-dcd2-4f44-bb2e-4e8fec07e3e2,93f6bcc5-dcd2-4f44-bb2e-4e8fec07e3e2,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,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
@@ -1805,6 +1805,17 @@
КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновщика);
КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы.Очистить();
УдаляемыеЭлементы = Новый Массив;
Для Каждого Элемент Из КомпоновщикНастроек.Настройки.Порядок.Элементы Цикл
ДоступноеПоле = КомпоновщикНастроек.Настройки.Порядок.ДоступныеПоляПорядка.НайтиПоле(Элемент.Поле);
Если ДоступноеПоле = Неопределено Тогда
УдаляемыеЭлементы.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Для Каждого Элемент Из УдаляемыеЭлементы Цикл
КомпоновщикНастроек.Настройки.Порядок.Элементы.Удалить(Элемент);
КонецЦикла;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Попытка
КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки,,,
@@ -111,6 +111,8 @@
//
Процедура ЗагрузитьАктуальныйКурс(ПараметрыЗагрузки = Неопределено, АдресРезультата = Неопределено) Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ЗагрузкаКурсовВалют);
ИмяСобытия = ИмяСобытияЖурналаРегистрации();
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Информация, , ,
@@ -160,7 +160,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Список.СтандартнаяКартинка</segments>
<segments>Список.DefaultPicture</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
@@ -1954,42 +1954,16 @@
</notDefaultUseAlwaysAttributes>
<extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ
NULL КАК Ссылка,
NULL КАК Владелец,
NULL КАК Код,
ЛОЖЬ КАК ПометкаУдаления,
ЛОЖЬ КАК ЭтоГруппа,
NULL КАК СтандартнаяКартинка
</queryText>
ЛОЖЬ КАК ЭтоГруппа
ИЗ
Справочник.Пользователи КАК ПользователиПереопределяемый</queryText>
<mainTable>Catalog.Пользователи</mainTable>
<autoFillAvailableFields>true</autoFillAvailableFields>
<customQuery>true</customQuery>
<autoSaveUserSettings>true</autoSaveUserSettings>
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
<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>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Код</dataPath>
<field>Код</field>
@@ -2002,18 +1976,6 @@
</localValue>
</title>
</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>
@@ -2027,17 +1989,85 @@
</title>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>СтандартнаяКартинка</dataPath>
<field>СтандартнаяКартинка</field>
<dataPath>Владелец</dataPath>
<field>Владелец</field>
<title>
<localValue>
<content>
<key>ru</key>
<value>Стандартная картинка</value>
<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>
</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>
</extInfo>
</attributes>
<attributes>
@@ -896,7 +896,7 @@
КонецЦикла;
Индекс = МестаИспользования.Количество() - 1;
Пока Индекс > 0 Цикл
Пока Индекс >= 0 Цикл
Ссылка = МестаИспользования[Индекс].Ссылка;
Если Ссылка <> ОсновнойЭлемент И Неудачные[Ссылка] = Неопределено Тогда
МестаИспользования.Удалить(Индекс);
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 55;
Возврат 56;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.9.67";
Возврат "3.1.9.80";
КонецФункции
@@ -682,7 +682,8 @@
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20230628" SwapDate=""/>
<Item Calendar="16" Year="2023" DayType="Предпраздничный" Date="20230829" SwapDate=""/>
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20230830" SwapDate=""/>
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20231106" SwapDate="20231104"/>
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20231104" SwapDate=""/>
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20231106" SwapDate=""/>
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240106" SwapDate="20240502"/>
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240107" SwapDate="20240503"/>
<Item Calendar="16" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/>
@@ -1167,10 +1168,12 @@
<Item Calendar="92" Year="2024" DayType="Предпраздничный" Date="20240613" SwapDate=""/>
<Item Calendar="92" Year="2024" DayType="Праздник" Date="20240614" SwapDate=""/>
<Item Calendar="92" Year="2024" DayType="Предпраздничный" Date="20241231" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230417" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230416" SwapDate="20230417"/>
<Item Calendar="93" Year="2023" DayType="Воскресенье" Date="20230417" SwapDate="20230416"/>
<Item Calendar="93" Year="2023" DayType="Предпраздничный" Date="20230510" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230511" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230605" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230604" SwapDate="20230605"/>
<Item Calendar="93" Year="2023" DayType="Воскресенье" Date="20230605" SwapDate="20230604"/>
<Item Calendar="93" Year="2023" DayType="Предпраздничный" Date="20230929" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="93" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
@@ -1185,10 +1188,12 @@
<Item Calendar="93" Year="2024" DayType="Суббота" Date="20240513" SwapDate="20240511"/>
<Item Calendar="93" Year="2024" DayType="Праздник" Date="20240930" SwapDate=""/>
<Item Calendar="93" Year="2024" DayType="Предпраздничный" Date="20241231" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230417" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230416" SwapDate="20230417"/>
<Item Calendar="94" Year="2023" DayType="Воскресенье" Date="20230417" SwapDate="20230416"/>
<Item Calendar="94" Year="2023" DayType="Предпраздничный" Date="20230511" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230512" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230605" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230604" SwapDate="20230605"/>
<Item Calendar="94" Year="2023" DayType="Воскресенье" Date="20230605" SwapDate="20230604"/>
<Item Calendar="94" Year="2023" DayType="Предпраздничный" Date="20230929" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="94" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
@@ -56,6 +56,11 @@
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
Элементы.ГруппаСвойства.Видимость = Ложь;
Иначе
МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
Если Не МодульУправлениеСвойствами.ЕстьВладельцыМеток() Тогда
Элементы.ГруппаМетки.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
@@ -680,6 +680,8 @@
<key>ru</key>
<value>Отчеты и универсальный отчет</value>
</title>
<width>43</width>
<horizontalStretch>false</horizontalStretch>
<extendedTooltip>
<name>ГруппаОтчетыУниверсальныйОтчетРасширеннаяПодсказка</name>
<id>1741</id>
@@ -58,7 +58,6 @@
<choiceButton>true</choiceButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
@@ -1012,7 +1011,7 @@ TIF - Не все браузеры отображают этот формат.</
<title>
<key>ru</key>
<value>
Преобразование с помощью &lt;link https://imagemagick.org/>ImageMagick&lt;/> может выполняться быстрее и формировать файлы изображений меньшего размера, чем встроенными средствами. Также при работе в клиент-серверном варианте, это не требует дополнительной передачи изображений на сервер 1С:Предприятие. При выборе этого способа на рабочем компьютере должно быть предварительно установлена бесплатное приложение ImageMagick.
Преобразование с помощью &lt;link https://imagemagick.org/>ImageMagick&lt;/> может выполняться быстрее и формировать файлы изображений меньшего размера, чем встроенными средствами. Также при работе в клиент-серверном варианте, это не требует дополнительной передачи изображений на сервер 1С:Предприятие. При выборе этого способа на рабочем компьютере должно быть предварительно установлено бесплатное приложение ImageMagick.
</value>
@@ -188,18 +188,10 @@
Процедура ЗаполнитьДеревоДел(НастройкиОтображения)
ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела);
СтарыеНастройкиОтображения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ТекущиеДела", "НастройкиОтображения");
Если СтарыеНастройкиОтображения = Неопределено
Или ТипЗнч(СтарыеНастройкиОтображения) <> Тип("Структура")
Или Не СтарыеНастройкиОтображения.Свойство("ДеревоДел") Тогда
СохраненноеДеревоДел = Неопределено;
Иначе
СохраненноеДеревоДел = СтарыеНастройкиОтображения.ДеревоДел; // ДеревоЗначений
КонецЕсли;
Если СохраненноеДеревоДел = Неопределено Тогда
Если НастройкиОтображения.ДеревоДел.Колонки.Количество() = 0 Тогда
ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел");
Иначе
ДеревоДел = СохраненноеДеревоДел;
ДеревоДел = НастройкиОтображения.ДеревоДел;
КонецЕсли;
ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево"));
Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда
@@ -216,7 +208,7 @@
ИндексДела = 0;
СтрокаДерева = Неопределено;
Если НастройкиОтображения = Неопределено Тогда
Если НастройкиОтображения.ВидимостьРазделов.Количество() = 0 Тогда
ТекущиеДелаСлужебный.УстановитьНачальныйПорядокРазделов(ТекущиеДела);
КонецЕсли;
@@ -318,42 +310,17 @@
&НаСервере
Процедура СохранитьНастройки()
СтарыеНастройкиОтображения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ТекущиеДела", "НастройкиОтображения");
СвернутыеРазделы = Неопределено;
ОтключенныеОбъекты = Новый Соответствие;
Если ТипЗнч(СтарыеНастройкиОтображения) = Тип("Структура") Тогда
СтарыеНастройкиОтображения.Свойство("СвернутыеРазделы", СвернутыеРазделы);
СтарыеНастройкиОтображения.Свойство("ОтключенныеОбъекты", ОтключенныеОбъекты);
КонецЕсли;
Если ОтключенныеОбъекты = Неопределено Тогда
ОтключенныеОбъекты = Новый Соответствие;
КонецЕсли;
Если СвернутыеРазделы = Неопределено Тогда
СвернутыеРазделы = Новый Соответствие;
КонецЕсли;
// Сохранение положения и видимости разделов.
ВидимостьРазделов = Новый Соответствие;
ВидимостьДел = Новый Соответствие;
НастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения();
ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел");
Для Каждого Раздел Из ДеревоДел.Строки Цикл
ВидимостьРазделов.Вставить(Раздел.Идентификатор, Раздел.Пометка);
НастройкиОтображения.ВидимостьРазделов.Вставить(Раздел.Идентификатор, Раздел.Пометка);
Для Каждого Дело Из Раздел.Строки Цикл
ВидимостьДел.Вставить(Дело.Идентификатор, Дело.Пометка);
НастройкиОтображения.ВидимостьДел.Вставить(Дело.Идентификатор, Дело.Пометка);
КонецЦикла;
КонецЦикла;
Результат = Новый Структура;
Результат.Вставить("ДеревоДел", ДеревоДел);
Результат.Вставить("ВидимостьРазделов", ВидимостьРазделов);
Результат.Вставить("ВидимостьДел", ВидимостьДел);
Результат.Вставить("СвернутыеРазделы", СвернутыеРазделы);
Результат.Вставить("ОтключенныеОбъекты", ОтключенныеОбъекты);
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", Результат);
НастройкиОтображения.ДеревоДел = ДеревоДел;
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения);
// Сохранение настроек автообновления.
НастройкиАвтообновления = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ТекущиеДела", "НастройкиАвтообновления");
@@ -378,13 +345,13 @@
&НаСервере
Процедура УстановитьПорядокРазделов(НастройкиОтображения)
Если НастройкиОтображения = Неопределено Тогда
СохраненноеДеревоДел = НастройкиОтображения.ДеревоДел;
Если СохраненноеДеревоДел.Строки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел");
Разделы = ДеревоДел.Строки;
СохраненноеДеревоДел = НастройкиОтображения.ДеревоДел;
Для Каждого СтрокаРаздела Из Разделы Цикл
СохраненныйРаздел = СохраненноеДеревоДел.Строки.Найти(СтрокаРаздела.Идентификатор, "Идентификатор");
Если СохраненныйРаздел = Неопределено Тогда
@@ -149,24 +149,15 @@
ЭтоМобильныйКлиент = ОбщегоНазначения.ЭтоМобильныйКлиент();
ПараметрыДел.Очистить();
РазделыСВажнымиДелами = Новый Структура;
СохраненныеНастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения();
Если СохраненныеНастройкиОтображения = Неопределено Тогда
ЗаданнаяВидимостьРазделов = Новый Соответствие;
ЗаданнаяВидимостьДел = Новый Соответствие;
Иначе
СохраненныеНастройкиОтображения.Свойство("ВидимостьРазделов", ЗаданнаяВидимостьРазделов);
СохраненныеНастройкиОтображения.Свойство("ВидимостьДел", ЗаданнаяВидимостьДел);
КонецЕсли;
НастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения();
СвернутыеРазделы = СвернутыеРазделы();
ТекущиеДела.Сортировать("ЭтоРаздел Убыв, ПредставлениеРаздела Возр, Важное Убыв, Представление");
ПоместитьВоВременноеХранилище(ТекущиеДела, ТекущиеДелаВХранилище);
// Если пользователь не настраивал положение разделов в списке дел, то
// они сортируются согласно порядку, определенному в процедуре ПриОпределенииПорядкаРазделовКомандногоИнтерфейса.
Если СохраненныеНастройкиОтображения = Неопределено Тогда
Если НастройкиОтображения.ВидимостьРазделов.Количество() = 0 Тогда
ТекущиеДелаСлужебный.УстановитьНачальныйПорядокРазделов(ТекущиеДела);
КонецЕсли;
@@ -182,8 +173,7 @@
РазделСвернут = СвернутыеРазделы[Дело.ИдентификаторВладельца];
Если РазделСвернут = Неопределено Тогда
Если СохраненныеНастройкиОтображения = Неопределено
И ТекущаяОбщаяГруппа <> "" Тогда
Если НастройкиОтображения.ВидимостьРазделов.Количество() = 0 И ТекущаяОбщаяГруппа <> "" Тогда
// Первая группа не сворачивается.
СвернутыеРазделы.Вставить(Дело.ИдентификаторВладельца, Истина);
РазделСвернут = Истина;
@@ -193,7 +183,7 @@
КонецЕсли;
ВключенаВидимостьРаздела = ЗаданнаяВидимостьРазделов[Дело.ИдентификаторВладельца];
ВключенаВидимостьРаздела = НастройкиОтображения.ВидимостьРазделов[Дело.ИдентификаторВладельца];
Если ВключенаВидимостьРаздела = Неопределено Тогда
ВключенаВидимостьРаздела = Истина;
КонецЕсли;
@@ -227,7 +217,7 @@
КонецЕсли;
КонецЕсли;
ВключенаВидимостьДела = ЗаданнаяВидимостьДел[Дело.Идентификатор];
ВключенаВидимостьДела = НастройкиОтображения.ВидимостьДел[Дело.Идентификатор];
Если ВключенаВидимостьДела = Неопределено Тогда
ВключенаВидимостьДела = Истина;
КонецЕсли;
@@ -255,8 +245,7 @@
КонецЦикла;
ДобавитьДелаСОповещением(СохраненныеНастройкиОтображения, ТекущиеДела);
ДобавитьДелаСОповещением(НастройкиОтображения, ТекущиеДела);
СохранитьСвернутыеРазделы(СвернутыеРазделы);
КонецПроцедуры
@@ -778,16 +767,15 @@
КонецПроцедуры
&НаСервере
Процедура ДобавитьДелаСОповещением(СохраненныеНастройкиОтображения, ТекущиеДела)
Процедура ДобавитьДелаСОповещением(НастройкиОтображения, ТекущиеДела)
ДелаСОповещением.Очистить();
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ВыводитьВОповещениях", Истина);
Если СохраненныеНастройкиОтображения <> Неопределено
И СохраненныеНастройкиОтображения.ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденныеСтроки = СохраненныеНастройкиОтображения.ДеревоДел.Строки.НайтиСтроки(ПараметрыОтбора, Истина);
Если НастройкиОтображения.ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденныеСтроки = НастройкиОтображения.ДеревоДел.Строки.НайтиСтроки(ПараметрыОтбора, Истина);
Для Каждого Строка Из НайденныеСтроки Цикл
Дело = ТекущиеДела.Найти(Строка.Идентификатор, "Идентификатор");
@@ -799,7 +787,7 @@
Продолжить;
КонецЕсли;
Если СохраненныеНастройкиОтображения.ВидимостьДел[Строка.Идентификатор] = Ложь Тогда
Если НастройкиОтображения.ВидимостьДел[Строка.Идентификатор] = Ложь Тогда
Продолжить;
КонецЕсли;
@@ -817,8 +805,7 @@
НайденныеСтроки = ТекущиеДела.НайтиСтроки(ПараметрыОтбора);
Для Каждого Строка Из НайденныеСтроки Цикл
Если СохраненныеНастройкиОтображения <> Неопределено
И СохраненныеНастройкиОтображения.ВидимостьДел[Строка.Идентификатор] <> Неопределено Тогда
Если НастройкиОтображения.ВидимостьДел[Строка.Идентификатор] <> Неопределено Тогда
Продолжить;
КонецЕсли;
@@ -256,6 +256,33 @@
<items xsi:type="form:FormGroup">
<name>КоманднаяПанельФорма</name>
<id>241</id>
<items xsi:type="form:Button">
<name>Справка</name>
<id>320</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СправкаРасширеннаяПодсказка</name>
<id>321</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Help</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -0,0 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначена для уничтожения персональных данных. 
<div><br></div>
<div>В соответствии с требованиями, утвержденными Роскомнадзором, оператор персональных данных обязан уничтожать данные в случаях:</div>
<div>
<ul><li>истечение срока действия согласия субъекта или его отсутствие;</li>
<li>незаконного получения персональных данных или отсутствие необходимости в этих данных;</li>
<li>неправомерная обработка персональных данных;</li>
<li>достижение цели обработки персональных данных;</li>
<li>отзыв субъектом персональных данных согласия на обработку.</li></ul><div><br></div>
<div>
<p>Для того чтобы была возможность <b>Уничтожать персональные данные</b>, в разделе <b>Администрирование</b> - <b>Настройки пользователей и прав</b> - <b>Защита персональных данных</b> нужно установить флажок <b>Уничтожать персональные данные</b>. </p>
<p>В верхней части панели указаны субъекты, у которых истек или истекает <b>Срок хранения</b> и требуется провести их дальнейшее уничтожение. </p>
<p>С помощью флажка <b>Показывать только с истекшим сроком хранения</b> отобразятся те персональные данные,  у которых срок хранения уже истек. </p>
<p>В поле <b>Комментарий</b> можно увидеть причину, по которой необходимо составить <b><a href="Document.АктОбУничтоженииПерсональныхДанных/Help">Акт об уничтожении персональных данных</a></b> субъекта, например <b>Отозвано согласие на обработку персональных данных</b>. С помощью кнопки <b>Создать акт</b> можно составить <b><a href="Document.АктОбУничтоженииПерсональныхДанных/Help">Акт об уничтожении персональных данных</a></b>.</p>
<p><br></p>
<h3 style="font-size: 13.4399995803833px;">См. также:</h3>
<ul><li><a href="Document.АктОбУничтоженииПерсональныхДанных/Help">Акт об уничтожении персональных данных</a>;</li>
<li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></div></div></body></html>
@@ -11,6 +11,11 @@
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.УничтожениеПерсональныхДанных.Form.Форма</defaultForm>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<forms uuid="942b3e77-2a66-4879-972d-b5d25a706f9a">
<name>Форма</name>
<synonym>
@@ -2239,7 +2239,7 @@
| Документ.ТелефонныйЗвонок КАК ДокументВзаимодействий
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
| ПО ДокументВзаимодействий.Ссылка = ПредметыПапкиВзаимодействий.Взаимодействие
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СообщениеSMS.ДополнительныеРеквизиты КАК ДокументВзаимодействийДополнительныеРеквизиты
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок.ДополнительныеРеквизиты КАК ДокументВзаимодействийДополнительныеРеквизиты
| ПО (ДокументВзаимодействийДополнительныеРеквизиты.Ссылка = ДокументВзаимодействий.Ссылка)
| И (ДокументВзаимодействийДополнительныеРеквизиты.Свойство = &Свойство)
| И &ТекстУсловия
@@ -116,6 +116,33 @@
<items xsi:type="form:FormGroup">
<name>КоманднаяПанельФормы</name>
<id>243</id>
<items xsi:type="form:Button">
<name>Справка</name>
<id>247</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СправкаРасширеннаяПодсказка</name>
<id>248</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Help</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаПровестиИЗакрыть</name>
<id>233</id>
@@ -822,24 +849,119 @@
<items xsi:type="form:FormGroup">
<name>СубъектГруппа</name>
<id>183</id>
<items xsi:type="form:FormField">
<name>Субъект</name>
<id>142</id>
<items xsi:type="form:FormGroup">
<name>СубъектТипСубъектаГруппа</name>
<id>252</id>
<items xsi:type="form:FormField">
<name>ТипСубъекта</name>
<id>249</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТипСубъекта</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ТипСубъектаПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ТипСубъектаРасширеннаяПодсказка</name>
<id>251</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТипСубъектаКонтекстноеМеню</name>
<id>250</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>Clearing</event>
<name>ТипСубъектаОчистка</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<listChoiceMode>true</listChoiceMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Субъект</name>
<id>142</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name>
<id>144</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СубъектКонтекстноеМеню</name>
<id>143</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<dropListButton>false</dropListButton>
<choiceButton>true</choiceButton>
<choiceButtonRepresentation>ShowInInputField</choiceButtonRepresentation>
<quickChoice>false</quickChoice>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<choiceHistoryOnInput>DontUse</choiceHistoryOnInput>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name>
<id>144</id>
<name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>253</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -847,24 +969,14 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СубъектКонтекстноеМеню</name>
<id>143</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
@@ -872,7 +984,7 @@
<id>145</id>
<title>
<key>ru</key>
<value>ФИО</value>
<value>ФИО субъекта</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -1650,6 +1762,23 @@
</edit>
</columns>
</attributes>
<attributes>
<name>ТипСубъекта</name>
<title>
<key>ru</key>
<value>Тип субъекта</value>
</title>
<id>4</id>
<valueType>
<types>TypeDescription</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ЗаполнитьКатегорииДанных</name>
<title>
@@ -38,6 +38,7 @@
Если Не Параметры.Свойство("Организация", Объект.Организация) Тогда
ЗащитаПерсональныхДанных.ЗаполнитьРеквизитОрганизациейПоУмолчанию(Объект.Организация);
КонецЕсли;
КонецЕсли;
УстановитьСвойстваЭлементов();
@@ -176,27 +177,8 @@
&НаКлиенте
Процедура СубъектПриИзменении(Элемент)
Объект.КатегорииДанных.Очистить();
Объект.ОбъектыСУничтожаемымиДанными.Очистить();
Если ЗначениеЗаполнено(Объект.Субъект) Тогда
ДлительнаяОперация = ОбновитьСрокХраненияПерсональныхДанныхСубъекта(Объект.Субъект);
Оповещение = Новый ОписаниеОповещения("ПриОкончанииОбновленияСрокаХранения", ЭтотОбъект, ТолькоПросмотр);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
Если ДлительнаяОперация.Статус = "Выполняется" Тогда
ТолькоПросмотр = Истина;
КонецЕсли;
КонецЕсли;
ЗаполнитьДанныеСубъекта();
ПриИзмененииСубъекта();
КонецПроцедуры
&НаКлиенте
@@ -213,6 +195,21 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
УстановитьСвойстваСубъекта();
ПриИзмененииСубъекта();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -296,11 +293,30 @@
Элементы.СпособУничтожения.СписокВыбора.ЗагрузитьЗначения(
ОбщегоНазначения.ВыгрузитьКолонку(Документы.АктОбУничтоженииПерсональныхДанных.СпособыУничтожения(), "Значение"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ТипСубъекта", "ТолькоПросмотр", Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Субъект", "ТолькоПросмотр", Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФИОСубъекта", "ТолькоПросмотр",
Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КатегорииДанныхЗаполнитьКатегорииДанных",
"Доступность", Не Объект.Проведен);
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры
@@ -328,6 +344,29 @@
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииСубъекта()
Объект.КатегорииДанных.Очистить();
Объект.ОбъектыСУничтожаемымиДанными.Очистить();
Если ЗначениеЗаполнено(Объект.Субъект) Тогда
ТолькоПросмотр = Истина;
ДлительнаяОперация = ОбновитьСрокХраненияПерсональныхДанныхСубъекта(Объект.Субъект);
Оповещение = Новый ОписаниеОповещения("ПриОкончанииОбновленияСрокаХранения", ЭтотОбъект);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
КонецЕсли;
ЗаполнитьДанныеСубъекта();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьДанныеСубъекта()
@@ -458,7 +497,7 @@
&НаКлиенте
Процедура ПриОкончанииОбновленияСрокаХранения(Результат, ДополнительныеПараметры) Экспорт
ТолькоПросмотр = ДополнительныеПараметры;
ТолькоПросмотр = Ложь;
Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
@@ -0,0 +1,40 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначены для подтверждения факта уничтожения персональных данных.
<div><br></div>
<div><b>Акт об уничтожении персональных данных</b> представляет собой документ, который фиксирует факт безвозвратного удаления персональных данных.</div>
<div><br></div>
<div>
<p>Для того чтобы создать <b>Акт об уничтожении персональных данных</b>,<b> </b>выберите из списка<b> Уничтожение персональных данных </b>один или несколько субъектов и нажмите на кнопку<b> Создать акты</b>. В форме создания акта, с помощью выпадающего списка укажите:</p>
<ul><li>наименование <b>Организации</b> или <b>ФИО</b> предпринимателя;</li>
<li>причину уничтожения персональных данных, например <b>По заявлению физического лица</b>; <a name="СтандартныеПодсистемы.Пользователи"></a></li>
<li>способ уничтожения персональных данных, например <b>Уничтожение носителя информации.</b></li></ul><h3>
</h3><p style="font-size: 11.199999809265137px; font-weight: normal;">Данная операция является необратимой, персональные данные не смогут быть восстановлены!</p>
<h3 style="font-size: 13.4399995803833px;">Оператор персональных данных</h3>
<ul><li><b>Организация</b> или <b>ФИО</b> предпринимателя;</li>
<li><b>Наименование для печати</b> - используется для размещения полного официального наименования организации для вывода в печатные формы документов; </li>
<li><b>Адрес</b> - юридический адрес организации, используемый в официальных документах;</li>
<li><b>Ответственный за обработку ПДн</b> - ответственный за обработку персональных данных в организации;</li>
<li><b>ФИО ответственного для печати </b>- фамилия, имя и отчество ответственного за обработку ПДн.</li></ul><h3 style="font-size: 13.4399995803833px;">Субъект персональных данных </h3>
<h3 style="font-size: 13.4399995803833px;">
<ul style="font-size: 11.199999809265137px;"><li>Субъект<span style="font-weight: normal;"> - субъект, предоставляющий согласие на обработку персональных данных; </span></li>
<li><b>ФИО </b><span style="font-weight: normal;">- ф</span><span style="font-weight: normal;">амилия, имя и отчество субъекта персональных данных;</span></li>
<li>Дата уничтожения<span style="font-weight: normal;"> - дата уничтожения персональных данных;</span></li>
<li>Причина уничтожения<span style="font-weight: normal;"> - причина уничтожения персональных данных, например </span>Окончание срока хранения<span style="font-weight: normal;">;</span></li>
<li>Наименование информационной системы <span style="font-weight: normal;">- наименование информационной системы, где были уничтожены персональные данные. </span></li></ul></h3>
<h3 style="font-size: 13.4399995803833px;">Категории персональных данных </h3>
<ul><li><b>Фамилия, имя, отчество;</b></li>
<li><b>Дата и место рождения;</b></li>
<li><b>Сведения о постановке на налоговый учет (ИНН);</b></li>
<li><b>Сведения о регистрации в Пенсионном фонде (номер страхового свидетельства);</b></li>
<li><b>Фотография;</b></li>
<li><b>Паспортные данные;</b></li>
<li><b>Сведения о месте регистрации и месте проживания;</b></li>
<li><b>Контактная информация.</b></li></ul><h3 style="font-size: 13.4399995803833px;">Дополнительно</h3>
<ul><li><b>Заметки</b> - можно дополнительно оставить заметку с произвольной текстовой информацией;</li>
<li><b>Комментарии </b>- можно дополнительно оставить комментарий по данному акту;</li>
<li><b>Ответственный</b> - пользователь, который оформил <b>Акт об уничтожении персональных данных</b>.</li></ul><h3 style="font-size: 13.4399995803833px;">Печать</h3>
<ul><li>С помощью кнопки <strong>Печать</strong> можно распечатать <b>Акт об уничтожении персональных данных</b>. Наряду с актом об уничтожении персональных данных необходимо напечатать и <b>Выгрузку из журнала</b>. Печать возможна в виде табличных документов формата MXL (для печати в этом формате не требуется специальных программ); </li>
<li>В виде офисных документов в форматах Microsoft Word и OpenOffice.org, для этого требуются соответствующие программы, установленные на компьютере.</li></ul><h3 style="font-size: 13.4399995803833px;">Проведение документа</h3>
<ul><li>Нажмите кнопку <strong>Провести и закрыть</strong>, для того чтобы уничтожить в программе персональные данные субъекта. </li></ul><h3 style="font-size: 13.4399995803833px;"><span style="font-size: 11.199999809265137px;">Акт об уничтожении персональных данных</span><span style="font-size: 11.199999809265137px; font-weight: normal;"> и </span><span style="font-size: 11.199999809265137px;">Выгрузка из журнала</span><span style="font-size: 11.199999809265137px; font-weight: normal;"> подлежат хранению в течение 3 лет с момента уничтожения персональных данных. </span></h3>
<h3 style="font-size: 13.4399995803833px;">См. также:</h3>
<ul><li><a href="DataProcessor.УничтожениеПерсональныхДанных/Help">Уничтожение персональных данных</a>;</li>
<li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></div></body></html>
@@ -89,6 +89,11 @@
<valueField>InformationRegister.ДополнительныеСведения.Resource.Значение</valueField>
</characteristics>
<createOnInput>Use</createOnInput>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<listPresentation>
@@ -76,7 +76,7 @@
ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка
ЗаполнитьРеквизитРежимАнкетирования(Выборка);
@@ -89,7 +89,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать анкету %1 по причине:
|%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Документы.Анкета, Выборка.Ссылка, ТекстСообщения);
КонецПопытки;
@@ -181,7 +181,6 @@
#Область ОбработчикиКомандФормы
// Открывает форму подбора респондентов.
&НаКлиенте
Процедура ПодборРеспондентов(Команда)
@@ -197,15 +196,15 @@
#Область СлужебныеПроцедурыИФункции
// Обрабатывает изменение типа респондента.
&НаКлиенте
Процедура ОбработатьИзменениеТипаРеспондента()
Элементы.РеспондентыРеспондент.ОграничениеТипа = ТипРеспондентов;
Элементы.РеспондентыРеспондент.ДоступныеТипы = ТипРеспондентов;
Если Объект.ТипРеспондентов <> Неопределено Тогда
Объект.ТипРеспондентов = Новый(ТипРеспондентов.Типы()[0]);
НовыйТипРеспондентов = Новый(ТипРеспондентов.Типы()[0]);
Если Объект.ТипРеспондентов <> НовыйТипРеспондентов Тогда
Объект.ТипРеспондентов = НовыйТипРеспондентов;
КонецЕсли;
Для каждого СтрокаРеспонденты Из Объект.Респонденты Цикл
@@ -221,7 +220,6 @@
КонецПроцедуры
// Управляет доступностью элементов формы.
&НаКлиенте
Процедура УправлениеДоступностью()
@@ -396,8 +396,60 @@
<name>СубъектГруппа</name>
<id>57</id>
<items xsi:type="form:FormGroup">
<name>СубъектФИОГруппа</name>
<name>СубъектТипСубъектаГруппа</name>
<id>73</id>
<items xsi:type="form:FormField">
<name>ТипСубъекта</name>
<id>98</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТипСубъекта</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ТипСубъектаПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ТипСубъектаРасширеннаяПодсказка</name>
<id>100</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТипСубъектаКонтекстноеМеню</name>
<id>99</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>Clearing</event>
<name>ТипСубъектаОчистка</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<listChoiceMode>true</listChoiceMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Субъект</name>
<id>16</id>
@@ -409,6 +461,7 @@
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
@@ -436,9 +489,9 @@
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<chooseType>true</chooseType>
<choiceButton>true</choiceButton>
<choiceButtonRepresentation>ShowInInputField</choiceButtonRepresentation>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
@@ -451,10 +504,10 @@
</userVisible>
<title>
<key>ru</key>
<value>Субъект и ФИО</value>
<value>Субъект и тип субъекта</value>
</title>
<extendedTooltip>
<name>СубъектФИОГруппаРасширеннаяПодсказка</name>
<name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>74</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -465,7 +518,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<group>AlwaysHorizontal</group>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
@@ -891,6 +944,23 @@
<main>true</main>
<savedData>true</savedData>
</attributes>
<attributes>
<name>ТипСубъекта</name>
<title>
<key>ru</key>
<value>Тип субъекта</value>
</title>
<id>2</id>
<valueType>
<types>TypeDescription</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -40,6 +40,9 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры
&НаСервере
@@ -177,6 +180,20 @@
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
ТипСубъектаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -226,6 +243,29 @@
КонецПроцедуры
&НаСервере
Процедура ТипСубъектаПриИзмененииНаСервере()
УстановитьСвойстваСубъекта();
СубъектПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры
&НаСервере
Процедура ДатаОтзываПриИзмененииНаСервере()
@@ -475,24 +475,120 @@
<items xsi:type="form:FormGroup">
<name>СубъектФИОГруппа</name>
<id>73</id>
<items xsi:type="form:FormField">
<name>Субъект</name>
<id>16</id>
<items xsi:type="form:FormGroup">
<name>СубъектТипСубъектаГруппа</name>
<id>108</id>
<items xsi:type="form:FormField">
<name>ТипСубъекта</name>
<id>105</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТипСубъекта</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ТипСубъектаПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ТипСубъектаРасширеннаяПодсказка</name>
<id>107</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТипСубъектаКонтекстноеМеню</name>
<id>106</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>Clearing</event>
<name>ТипСубъектаОчистка</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<listChoiceMode>true</listChoiceMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Субъект</name>
<id>16</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name>
<id>18</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СубъектКонтекстноеМеню</name>
<id>17</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<choiceButtonRepresentation>ShowInInputField</choiceButtonRepresentation>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<title>
<key>ru</key>
<value>Субъект и тип субъекта</value>
</title>
<extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name>
<id>18</id>
<name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>109</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -500,24 +596,14 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СубъектКонтекстноеМеню</name>
<id>17</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
@@ -1252,6 +1338,23 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ТипСубъекта</name>
<title>
<key>ru</key>
<value>Тип субъекта</value>
</title>
<id>3</id>
<valueType>
<types>TypeDescription</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -40,6 +40,9 @@
МодульУправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры
@@ -191,6 +194,20 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
ТипСубъектаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -263,6 +280,29 @@
КонецПроцедуры
&НаСервере
Процедура ТипСубъектаПриИзмененииНаСервере()
УстановитьСвойстваСубъекта();
СубъектПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры
&НаСервере
Процедура ДатаПолученияПриИзмененииНаСервере()
@@ -287,6 +327,9 @@
Процедура ЗаполнитьДанныеСубъекта()
Если Не ЗначениеЗаполнено(Объект.Субъект) Тогда
Объект.ФИОСубъекта = "";
Объект.АдресСубъекта = "";
Объект.ПаспортныеДанные = "";
Возврат;
КонецЕсли;
Loaded 100 of 172 files, more files were not shown because too many files have changed in this diff. Show more