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

No files matched your search

@@ -210,7 +210,7 @@
Вариант = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта); Вариант = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
Пока Вариант.Следующий() Цикл Пока Вариант.Следующий() Цикл
ПредставлениеСсылки = Строка(Вариант.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -268,7 +268,7 @@
|Техническая информация о проблеме: %2'"); |Техническая информация о проблеме: %2'");
КонецЕсли; КонецЕсли;
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонКомментария, Вариант.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ШаблонКомментария, ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
ОбъектМетаданных, Вариант.Ссылка, Комментарий); ОбъектМетаданных, Вариант.Ссылка, Комментарий);
@@ -586,6 +586,8 @@
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВидыКонтактнойИнформации"); ЭлементБлокировки = Блокировка.Добавить("Справочник.ВидыКонтактнойИнформации");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВидКонтактнойИнформацииСсылка.Ссылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", ВидКонтактнойИнформацииСсылка.Ссылка);
ПредставлениеСсылки = Строка(ВидКонтактнойИнформацииСсылка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -641,7 +643,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вид контактной информации %1 по причине: НСтр("ru = 'Не удалось обработать вид контактной информации %1 по причине:
|%2'"), |%2'"),
ВидКонтактнойИнформацииСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.ВидыКонтактнойИнформации, ВидКонтактнойИнформацииСсылка.Ссылка, ТекстСообщения); Метаданные.Справочники.ВидыКонтактнойИнформации, ВидКонтактнойИнформацииСсылка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -3,19 +3,36 @@
<p>Открывается из списка <a href="Catalog.ВнешниеКомпоненты/Help">Внешние компоненты</a> по кнопке <strong>Добавить из файла</strong> или двойному щелчку мыши (также по команде <strong>Еще - Изменить</strong>).</p> <p>Открывается из списка <a href="Catalog.ВнешниеКомпоненты/Help">Внешние компоненты</a> по кнопке <strong>Добавить из файла</strong> или двойному щелчку мыши (также по команде <strong>Еще - Изменить</strong>).</p>
<p>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные поля в карточке внешней компоненты заполняются автоматически. Поля являются обязательными для заполнения:</p> <p>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные поля в карточке внешней компоненты заполняются автоматически. Поля являются обязательными для заполнения:</p>
<ul><li><strong>Идентификатор</strong> - внутренний идентификатор объекта внешней компоненты; <ul><li><strong>Идентификатор</strong> - внутренний идентификатор объекта внешней компоненты;
</li><li><strong>Версия</strong> - номер версии, с его помощью впоследствии можно определить актуальность внешней компоненты; </li>
</li><li><strong>Наименование</strong> - полное наименование внешней компоненты - выводится пользователям при установке внешней компоненты. <li><strong>Версия</strong> - номер версии, с его помощью впоследствии можно определить актуальность внешней компоненты;
</li><li><strong>Обновлять с портала 1С:ИТС</strong> - включите флажок, для того чтобы внешняя компонента автоматически обновлялась с сайта 1С:ИТС.</li></ul><p>Если после автоматического заполнения остались незаполненными поля, которые являются обязательными для заполнения, карточка не запишется. В этом случае необходимо заполнить их вручную.</p> </li>
<li><strong>Наименование</strong> - полное наименование внешней компоненты - выводится пользователям при установке внешней компоненты.
</li>
<li><strong>Обновлять с портала 1С:ИТС</strong> - включите флажок, для того чтобы внешняя компонента автоматически обновлялась с сайта 1С:ИТС.</li></ul><p>Если после автоматического заполнения остались незаполненными поля, которые являются обязательными для заполнения, карточка не запишется. В этом случае необходимо заполнить их вручную.</p>
<h3>Состояние внешней компоненты</h3> <h3>Состояние внешней компоненты</h3>
<p>С помощью тумблера можно установить состояние внешней компоненты:</p> <p>С помощью тумблера можно установить состояние внешней компоненты:</p>
<ul><li><strong>Используется</strong> - устанавливается по умолчанию при подключении внешней компоненты; <ul><li><strong>Используется</strong> - устанавливается по умолчанию при подключении внешней компоненты;
</li><li><strong>Отключена</strong> - если использование внешней компоненты в данный момент по каким-либо причинам не нужно (например, сначала ее необходимо протестировать, когда в программе не будет пользователей), можно не удалять ее, а выбрать это положение тумблера. В этом случае внешняя компоненты останется в программе, но не будет никому доступна.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3> </li>
<li><strong>Отключена</strong> - если использование внешней компоненты в данный момент по каким-либо причинам не нужно (например, сначала ее необходимо протестировать, когда в программе не будет пользователей), можно не удалять ее, а выбрать это положение тумблера. В этом случае внешняя компоненты останется в программе, но не будет никому доступна.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3>
<ul><li> <ul><li>
<div>Нажмите кнопку <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img>, для того чтобы обновить внешнюю компоненту с портала 1С:ИТС. Доступно для внешних компонент, полученных на портале 1С:ИТС.</div></li></ul><h3>Обновление внешней компоненты</h3> <div>Нажмите кнопку <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img>, для того чтобы обновить внешнюю компоненту с портала 1С:ИТС. Доступно для внешних компонент, полученных на портале 1С:ИТС.</div></li></ul><h3>Обновление внешней компоненты</h3>
<ul><li>Нажмите кнопку <img src="CommonPicture.ОбновитьФайлИзФайлаНаДиске"></img> <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>. <div>
</li><li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>. <ul><li>Нажмите кнопку <img src="CommonPicture.ОбновитьФайлИзФайлаНаДиске"></img> <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>. </li>
</li><li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>. <li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>. </li>
</li><li>Информация в карточке внешней компоненты будет обновлена.</li></ul><h3>Сохранение на компьютер</h3> <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>Сохраненную на компьютер внешнюю компоненту можно будет использовать в случае нештатных ситуаций. <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> <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> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
<p>Предназначен для управления внешними компонентами.</p> <p>Предназначен для управления внешними компонентами.</p>
<p>Внешние компоненты - специальные программы, которые могут обеспечивать:</p> <p>Внешние компоненты - специальные программы, которые могут обеспечивать:</p>
<ul><li>Работу с подключаемым оборудованием; <ul><li>Работу с подключаемым оборудованием;
</li><li>Обмены с банком и документооборот; </li>
</li><li>Работа с буфером обмена, сканирование и т.п.; <li>Обмены с банком и документооборот;
</li><li>Печать штрихкодов, извлечение текстов, компонента склонения и т.д.</li></ul><p>Внешние компоненты можно подключить к программе из файла на компьютере. При необходимости, одновременно могут быть подключены сразу несколько версий одной внешней компоненты. Например, это полезно, когда на разных клиентских компьютерах используются разные драйверы или оборудование.</p> </li>
<p>Программа предоставляет администратору возможность контролировать список внешних компонент, используемых на клиентских рабочих местах. Без контроля администратора пользователи не могут подключать к программе какие-либо сторонние внешние компоненты.</p> <li>Работа с буфером обмена, сканирование и т.п.;
<p>В списке отражаются все установленные в программе внешние компоненты. В колонке <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта" width="16" height="16"></img> флажками обозначаются внешние компоненты, которые обновляются с сайта 1С:ИТС.</p> </li>
<h3>Подключение внешней компоненты</h3> <li>Печать штрихкодов, извлечение текстов и т.д.</li>
<ul><li>Нажмите <strong>Добавить из файла</strong>. </ul><p>Внешние компоненты можно подключить к программе из файла на компьютере. При необходимости, одновременно могут
</li><li>Программа выводит <strong>Предупреждение безопасности</strong>. Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите <strong>Продолжить</strong>. быть подключены сразу несколько версий одной внешней компоненты. Например, это полезно, когда на разных
</li><li>Укажите путь к файлу на компьютере, нажмите <strong>Открыть</strong>. клиентских компьютерах используются разные драйверы или оборудование.</p>
</li><li>Разработчик размещает в файле внешней компоненты необходимую информацию для ее установки, поэтому основные поля в <a href="Catalog.ВнешниеКомпоненты.Form.ФормаЭлемента/Help">карточке внешней компоненты</a> заполняются автоматически.</li></ul><h3>Обновление внешней компоненты с портала 1С:ИТС</h3> <p>Программа предоставляет администратору возможность контролировать список внешних компонент, используемых на
<ul><li> клиентских рабочих местах. Без контроля администратора пользователи не могут подключать к программе какие-либо
<div>С помощью кнопки <img src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img> можно обновить внешнюю компоненту с сайта 1С:ИТС. </div> сторонние внешние компоненты.</p>
</li><li> <p>В списке отражаются все установленные в программе внешние компоненты. В колонке <img width="16" height="16" src="CommonPicture.ОбновлениеВнешнихКомпонентССайта"></img> флажками обозначаются
<div>Доступно для внешних компонент, которые были получены на портале 1С:ИТС. Для обновления нужно зарегистрироваться на портале 1С:ИТС.</div></li></ul><h3>Обновление внешней компоненты из файла</h3> внешние компоненты, которые обновляются с сайта 1С:ИТС.</p>
<ul><li>Нажмите кнопку <strong>Обновить из файла</strong>. Программа выводит <strong>Предупреждение безопасности</strong>. <h3>Подключение внешней компоненты</h3>
</li><li>Если внешняя компонента получена из надежного источника и не может содержать вирусы, нажмите кнопку <strong>Продолжить</strong>. <p></p>
</li><li>Укажите путь к файлу на компьютере, нажмите кнопку <strong>Открыть</strong>. <ul><li>
</li><li>Информация в карточке внешней компоненты будет обновлена.</li></ul><h3>Сохранение внешних компонент на компьютер</h3> Нажмите кнопку <b>Добавить</b>. Из выпадающего списка выберите способ
<ul><li>Сохраненную на компьютер внешнюю компоненту можно будет использовать в случае нештатных ситуаций. добавления компоненты:
</li><li>Выполните команду <strong>Сохранить как</strong> контекстного меню по правой кнопке мыши или меню <strong>Еще</strong>. <ul><li><b>Из сервиса</b>. Загрузите обновление через интернет или из файла на компьютере, полученного на
</li><li>Укажите путь к файлу на компьютере. Нажмите <strong>Сохранить</strong>.</li></ul><h3>Отборы в списке</h3> портале
<p>С помощью поля <strong>Показывать</strong> в списке можно отобрать внешние компоненты по следующим признакам:</p> 1С:ИТС. Предварительно нужно зарегистрироваться на портале 1С:ИТС; </li>
<ul><li><strong>Все</strong>; <li><b>Из файлов</b>. Укажите путь к файлу или к нескольким файлам на компьютере;</li>
</li><li><strong>Используемые</strong>; <li><b>Из каталога</b>. Выберите каталог с файлами внешних компонент на компьютере. </li>
</li><li><strong>Отключенные</strong>.</li></ul><h3>См. также:</h3> </ul></li>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> <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 по причине: НСтр("ru = 'Не удалось обработать компоненту %1 по причине:
|%2'"), Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); |%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения); УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения);
@@ -72,7 +72,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка Попытка
ЗаполнитьРеквизитСпособОтображенияПодсказки(Выборка); ЗаполнитьРеквизитСпособОтображенияПодсказки(Выборка);
@@ -85,7 +85,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вопрос шаблона анкеты %1 по причине: НСтр("ru = 'Не удалось обработать вопрос шаблона анкеты %1 по причине:
|%2'"), |%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.ВопросыШаблонаАнкеты, Выборка.Ссылка, ТекстСообщения); Метаданные.Справочники.ВопросыШаблонаАнкеты, Выборка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -163,8 +163,9 @@
Если ОбщегоНазначенияКлиент.РазделениеВключено() Если ОбщегоНазначенияКлиент.РазделениеВключено()
И Объект.Ссылка = ГруппаДоступаАдминистраторы И Объект.Ссылка = ГруппаДоступаАдминистраторы
И ПарольПользователяСервиса = Неопределено Тогда И Не ПараметрыЗаписи.Свойство("ПослеЗапросаПароляДляАутентификацииВСервисе") Тогда
ПараметрыЗаписи.Вставить("ПослеЗапросаПароляДляАутентификацииВСервисе");
Отказ = Истина; Отказ = Истина;
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе( ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("ПередЗаписьюПродолжение", ЭтотОбъект, ПараметрыЗаписи), Новый ОписаниеОповещения("ПередЗаписьюПродолжение", ЭтотОбъект, ПараметрыЗаписи),
@@ -1262,7 +1262,7 @@
Для Каждого ГруппаДоступа Из Параметры.ГруппыДоступа Цикл Для Каждого ГруппаДоступа Из Параметры.ГруппыДоступа Цикл
ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаДоступа); ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаДоступа);
ПредставлениеСсылки = Строка(ГруппаДоступа);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
ШаблонОшибки = ШаблонОшибкиОбработкиГруппыДоступа; ШаблонОшибки = ШаблонОшибкиОбработкиГруппыДоступа;
@@ -1285,7 +1285,7 @@
КонецЕсли; КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
Строка(ГруппаДоступа), ПредставлениеСсылки,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
@@ -41,6 +41,7 @@
Выборка.Сбросить(); Выборка.Сбросить();
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка);
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
Блокировка.Заблокировать(); Блокировка.Заблокировать();
@@ -55,7 +56,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать график работы ""%1"" по причине: НСтр("ru = 'Не удалось обработать график работы ""%1"" по причине:
|%2'"), |%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 по причине: НСтр("ru = 'Не удалось обработать %1 %2 по причине:
|%3'"), |%3'"),
ПолноеИмяОбъекта, ОбъектыДляОбработки.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПолноеИмяОбъекта, ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, УровеньЖурналаРегистрации.Предупреждение,
@@ -106,33 +106,6 @@
</edit> </edit>
<fillChecking>ShowError</fillChecking> <fillChecking>ShowError</fillChecking>
</attributes> </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> <attributes>
<name>СтараяПочта</name> <name>СтараяПочта</name>
<id>4</id> <id>4</id>
@@ -176,19 +149,6 @@
<stringQualifiers/> <stringQualifiers/>
</valueType> </valueType>
</parameters> </parameters>
<parameters>
<name>ПарольПользователяСервиса</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>Пользователь</name>
<valueType>
<types>CatalogRef.Пользователи</types>
</valueType>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <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Пользователя()); Отбор = Новый Структура("Вид", ВидКонтактнойИнформацииEmailПользователя());
@@ -1087,17 +1067,10 @@
СтрокаEMail = ТаблицаКИ.НайтиСтроки(Отбор)[0]; СтрокаEMail = ТаблицаКИ.НайтиСтроки(Отбор)[0];
ПараметрыФормы = Новый Структура; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ПарольПользователяСервиса", ПарольПользователяСервиса);
ПараметрыФормы.Вставить("СтараяПочта", ЭтотОбъект[СтрокаEMail.ИмяРеквизита]); ПараметрыФормы.Вставить("СтараяПочта", ЭтотОбъект[СтрокаEMail.ИмяРеквизита]);
ПараметрыФормы.Вставить("Пользователь", Объект.Ссылка);
Попытка ОткрытьФорму("Справочник.Пользователи.Форма.СменаПочты", ПараметрыФормы, ЭтотОбъект,,,,
ОткрытьФорму("Справочник.Пользователи.Форма.СменаПочты", ПараметрыФормы, ЭтотОбъект,,,, Новый ОписаниеОповещения("ПослеВыбораНовойПочты", ЭтотОбъект));
Новый ОписаниеОповещения("ПослеСменыПочты", ЭтотОбъект));
Исключение
ПарольПользователяСервиса = Неопределено;
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры КонецПроцедуры
@@ -1674,12 +1647,47 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПослеСменыПочты(Результат, Контекст) Экспорт Процедура ПослеВыбораНовойПочты(НоваяПочта, Контекст) Экспорт
Если Результат = "" Тогда Если Не ЗначениеЗаполнено(НоваяПочта) Тогда
ПарольПользователяСервиса = Неопределено; Возврат;
КонецЕсли; КонецЕсли;
ПользователиСлужебныйКлиент.ЗапроситьПарольДляАутентификацииВСервисе(
Новый ОписаниеОповещения("СменитьПочтуПослеЗапросаПароляДляАутентификацииВСервисе", ЭтотОбъект, НоваяПочта),
ЭтотОбъект,
ПарольПользователяСервиса);
КонецПроцедуры
&НаКлиенте
Процедура СменитьПочтуПослеЗапросаПароляДляАутентификацииВСервисе(НовыйПарольПользователяСервиса, НоваяПочта) Экспорт
Если НовыйПарольПользователяСервиса = Неопределено Тогда
Возврат;
КонецЕсли;
ПарольПользователяСервиса = НовыйПарольПользователяСервиса;
Попытка
СоздатьЗапросНаСменуПочты(НоваяПочта, Объект.Ссылка, ПарольПользователяСервиса);
Исключение
ПарольПользователяСервиса = Неопределено;
ВызватьИсключение;
КонецПопытки;
ПоказатьПредупреждение(,
НСтр("ru = 'На указанный адрес отправлено письмо с запросом на подтверждение.
|Почта будет изменена только после подтверждения запроса пользователем.'"));
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СоздатьЗапросНаСменуПочты(Знач НоваяПочта, Знач Пользователь, Знач ПарольПользователяСервиса)
ИнтеграцияПодсистемБСП.ПриСозданииЗапросаНаСменуПочты(НоваяПочта,
Пользователь, ПарольПользователяСервиса);
КонецПроцедуры КонецПроцедуры
// Продолжение процедуры СменитьПароль. // Продолжение процедуры СменитьПароль.
@@ -49,13 +49,12 @@
ОтключаемаяПроверка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта); ОтключаемаяПроверка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
Пока ОтключаемаяПроверка.Следующий() Цикл Пока ОтключаемаяПроверка.Следующий() Цикл
ОтключаемаяПроверкаСсылка = ОтключаемаяПроверка.Ссылка;
ПредставлениеСсылки = Строка(ОтключаемаяПроверкаСсылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
ОтключаемаяПроверкаСсылка = ОтключаемаяПроверка.Ссылка;
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта); ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ОтключаемаяПроверкаСсылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", ОтключаемаяПроверкаСсылка);
@@ -79,7 +78,7 @@
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать правило проверки %1 по причине: НСтр("ru = 'Не удалось обработать правило проверки %1 по причине:
|%2'"), |%2'"),
ОтключаемаяПроверкаСсылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации( ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
@@ -240,6 +240,8 @@
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Справочник.ПрограммыЭлектроннойПодписиИШифрования"); Блокировка.Добавить("Справочник.ПрограммыЭлектроннойПодписиИШифрования");
ПредставлениеСсылки = Строка(Программа);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
Блокировка.Заблокировать(); Блокировка.Заблокировать();
@@ -279,7 +281,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обновить программу ""%1"" по причине: НСтр("ru = 'Не удалось обновить программу ""%1"" по причине:
|%2'"), Строка(Программа), ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); |%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, , , ТекстСообщения); УровеньЖурналаРегистрации.Предупреждение, , , ТекстСообщения);
@@ -161,6 +161,8 @@
ЭлементБлокировки = Блокировка.Добавить("Справочник.РассылкиОтчетов"); ЭлементБлокировки = Блокировка.Добавить("Справочник.РассылкиОтчетов");
ЭлементБлокировки.УстановитьЗначение("Ссылка", РассылкаОтчетовСсылка.Ссылка); ЭлементБлокировки.УстановитьЗначение("Ссылка", РассылкаОтчетовСсылка.Ссылка);
ПредставлениеСсылки = Строка(РассылкаОтчетовСсылка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -215,7 +217,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать рассылку отчетов %1 по причине: НСтр("ru = 'Не удалось обработать рассылку отчетов %1 по причине:
|%2'"), |%2'"),
РассылкаОтчетовСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.РассылкиОтчетов, РассылкаОтчетовСсылка.Ссылка, ТекстСообщения); Метаданные.Справочники.РассылкиОтчетов, РассылкаОтчетовСсылка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -164,6 +164,8 @@
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -231,7 +233,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать сертификат: %1 по причине: НСтр("ru = 'Не удалось обработать сертификат: %1 по причине:
|%2'"), Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); |%2'"), ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения); УровеньЖурналаРегистрации.Предупреждение, Выборка.Ссылка.Метаданные(), Выборка.Ссылка, ТекстСообщения);
@@ -103,7 +103,7 @@
Порядок = 2; Порядок = 2;
Для Каждого СостояниеИзм Из СостояниеПорядок Цикл Для Каждого СостояниеИзм Из СостояниеПорядок Цикл
ПредставлениеСсылки = Строка(СостояниеИзм.Ссылка);
Попытка Попытка
Если СостояниеИзм.Ссылка = Справочники.СостоянияОригиналовПервичныхДокументов.ФормаНапечатана Тогда Если СостояниеИзм.Ссылка = Справочники.СостоянияОригиналовПервичныхДокументов.ФормаНапечатана Тогда
@@ -128,7 +128,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать %1 по причине: НСтр("ru = 'Не удалось обработать %1 по причине:
|%2'"), |%2'"),
СостояниеИзм.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.СостоянияОригиналовПервичныхДокументов, СостояниеИзм.Ссылка, ТекстСообщения); Метаданные.Справочники.СостоянияОригиналовПервичныхДокументов, СостояниеИзм.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -170,12 +170,6 @@
СостояниеОбъект = Выборка.Ссылка.ПолучитьОбъект(); СостояниеОбъект = Выборка.Ссылка.ПолучитьОбъект();
// Если объект ранее был удален или обработан другими сеансами, пропускаем его.
Если СостояниеОбъект = Неопределено Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
// Обработка объекта. // Обработка объекта.
СостояниеОбъект.РеквизитДопУпорядочивания = Порядок; СостояниеОбъект.РеквизитДопУпорядочивания = Порядок;
@@ -228,6 +228,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока СтранаМираСсылка.Следующий() Цикл Пока СтранаМираСсылка.Следующий() Цикл
ПредставлениеСсылки = Строка(СтранаМираСсылка.Ссылка);
Попытка Попытка
ДанныеКлассификатора = УправлениеКонтактнойИнформацией.ДанныеКлассификатораСтранМираПоКоду(СтранаМираСсылка.Ссылка.Код); ДанныеКлассификатора = УправлениеКонтактнойИнформацией.ДанныеКлассификатораСтранМираПоКоду(СтранаМираСсылка.Ссылка.Код);
@@ -275,7 +276,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать страну %1 по причине: НСтр("ru = 'Не удалось обработать страну %1 по причине:
|%2'"), |%2'"),
СтранаМираСсылка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.СтраныМира, СтранаМираСсылка.Ссылка, ТекстСообщения); Метаданные.Справочники.СтраныМира, СтранаМираСсылка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -194,7 +194,7 @@
ПроблемныхОбъектов = 0; ПроблемныхОбъектов = 0;
Для Каждого Строка Из ВыбранныеДанные Цикл Для Каждого Строка Из ВыбранныеДанные Цикл
ПредставлениеСсылки = Строка(Строка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -248,7 +248,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать файл %1 по причине: НСтр("ru = 'Не удалось обработать файл %1 по причине:
|%2'"), |%2'"),
Строка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Строка.Ссылка.Метаданные(), Строка.Ссылка, ТекстСообщения); Строка.Ссылка.Метаданные(), Строка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -285,7 +285,7 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
&НаСервере &НаСервереБезКонтекста
Функция ТипЗначенияВопроса(Вопрос) Функция ТипЗначенияВопроса(Вопрос)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вопрос,"ТипЗначения"); Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вопрос,"ТипЗначения");
КонецФункции КонецФункции
@@ -618,25 +618,34 @@
Элементы.ОтветыКолонкиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок); Элементы.ОтветыКолонкиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок);
Элементы.ОтветыСтрокиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок); Элементы.ОтветыСтрокиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок);
УстановитьСвязиПараметровВыбораОтветовИВопросов(); УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда
Элементы.ОтветыСтрокиОтветыВСтроках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок); Элементы.ОтветыСтрокиОтветыВСтроках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок);
УстановитьСвязиПараметровВыбораОтветовИВопросов(); УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
Элементы.ОтветыКолонкиОтветыВКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок); Элементы.ОтветыКолонкиОтветыВКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок);
УстановитьСвязиПараметровВыбораОтветовИВопросов(); УстановитьСвязиПараметровВыбораОтветовИВопросов = Истина;
Иначе
УстановитьСвязиПараметровВыбораОтветовИВопросов = Ложь;
КонецЕсли; КонецЕсли;
Если УстановитьСвязиПараметровВыбораОтветовИВопросов Тогда
ПодключитьОбработчикОжидания("УстановитьСвязиПараметровВыбораОтветовИВопросов", 0.1, Истина);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаКлиенте
Процедура УстановитьСвязиПараметровВыбораОтветовИВопросов() Процедура УстановитьСвязиПараметровВыбораОтветовИВопросов()
УстановитьСвязиПараметровВыбораОтветовИВопросовНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвязиПараметровВыбораОтветовИВопросовНаСервере()
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
@@ -613,23 +613,17 @@
&НаКлиенте &НаКлиенте
Функция ВыбранныеНастройкиФормата() Функция ВыбранныеНастройкиФормата()
Результат = Неопределено; Результат = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда Для Каждого ВыбранныйФормат Из ВыбранныеФорматыСохранения Цикл
МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент"); Если ВыбранныйФормат.Пометка Тогда
Результат = МодульУправлениеПечатьюКлиент.НастройкиСохранения(); Результат.ФорматыСохранения.Добавить(ВыбранныйФормат.Значение);
КонецЕсли;
КонецЦикла;
Для Каждого ВыбранныйФормат Из ВыбранныеФорматыСохранения Цикл Результат.УпаковатьВАрхив = УпаковатьВАрхив;
Если ВыбранныйФормат.Пометка Тогда Результат.ПереводитьИменаФайловВТранслит = ПереводитьИменаФайловВТранслит;
Результат.ФорматыСохранения.Добавить(ВыбранныйФормат.Значение); Результат.ПодписьИПечать = ПодписьИПечать;
КонецЕсли;
КонецЦикла;
Результат.УпаковатьВАрхив = УпаковатьВАрхив;
Результат.ПереводитьИменаФайловВТранслит = ПереводитьИменаФайловВТранслит;
Результат.ПодписьИПечать = ПодписьИПечать;
Результат.Вставить("Подписать", Подписать);
КонецЕсли;
Возврат Результат; Возврат Результат;
@@ -848,11 +848,10 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Результат = Новый Структура; Результат = ОбщегоНазначенияСлужебныйКлиент.НастройкиФорматаПечатнойФормы();
Результат.Вставить("УпаковатьВАрхив", Объект.УпаковатьВАрхив); Результат.УпаковатьВАрхив = Объект.УпаковатьВАрхив;
Результат.Вставить("ФорматыСохранения", ФорматыСохранения); Результат.ФорматыСохранения = ФорматыСохранения;
Результат.Вставить("Получатели", Новый Массив); Результат.ПереводитьИменаФайловВТранслит = Объект.ТранслитерироватьИменаФайлов;
Результат.Вставить("ПереводитьИменаФайловВТранслит", Объект.ТранслитерироватьИменаФайлов);
Возврат Результат; Возврат Результат;
@@ -112,8 +112,6 @@
, ,
Истина); Истина);
УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -124,6 +122,8 @@
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи); МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли; КонецЕсли;
УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса();
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -700,12 +700,12 @@
КонецПроцедуры КонецПроцедуры
&НаСервере &НаКлиентеНаСервереБезКонтекста
Функция ЗначениеПорогаДиапазонаПодсказокЧисловогоВопроса() Функция ЗначениеПорогаДиапазонаПодсказокЧисловогоВопроса()
Возврат 9999999999999.99; Возврат 9999999999999.99;
КонецФункции КонецФункции
&НаСервере &НаКлиенте
Процедура УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса() Процедура УстановитьПредставлениеДиапазонаПодсказокЧисловогоВопроса()
ТаблицаДиапазонов = Объект.ДиапазонПодсказокЧисловогоВопроса; ТаблицаДиапазонов = Объект.ДиапазонПодсказокЧисловогоВопроса;
@@ -74,7 +74,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка Попытка
ЗаполнитьНовыеРеквизиты(Выборка.Ссылка); ЗаполнитьНовыеРеквизиты(Выборка.Ссылка);
@@ -85,7 +85,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вопрос для анкетирования %1 по причине: НСтр("ru = 'Не удалось обработать вопрос для анкетирования %1 по причине:
|%2'"), |%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.ПланыВидовХарактеристик.ВопросыДляАнкетирования, Выборка.Ссылка, ТекстСообщения); Метаданные.ПланыВидовХарактеристик.ВопросыДляАнкетирования, Выборка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -882,7 +882,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
// Блокируем объект от изменения другими сеансами. // Блокируем объект от изменения другими сеансами.
@@ -938,7 +938,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать дополнительный реквизит (сведение) %1 по причине: НСтр("ru = 'Не удалось обработать дополнительный реквизит (сведение) %1 по причине:
|%2'"), |%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения, Выборка.Ссылка, ТекстСообщения); Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения, Выборка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -141,10 +141,6 @@
<event>OnOpen</event> <event>OnOpen</event>
<name>ПриОткрытии</name> <name>ПриОткрытии</name>
</handlers> </handlers>
<handlers>
<event>OnClose</event>
<name>ПриЗакрытии</name>
</handlers>
<windowOpeningMode>LockOwner</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
@@ -173,17 +169,6 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПарольПользователяСервиса</name>
<id>2</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ОК</name> <name>ОК</name>
<title> <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;
ПрочитанныеРоли.Очистить(); ПрочитанныеРоли.Очистить();
ПрочитанныеРоли.Добавить().Роль = "ПолныеПрава"; ПрочитанныеРоли.Добавить().Роль = "ПолныеПрава";
Если ЕстьРольАдминистраторСистемы Тогда СтандартныеРолиРасширений = УправлениеДоступомСлужебныйПовтИсп.ОписаниеСтандартныхРолейРасширенийСеанса().РолиСеанса;
ПрочитанныеРоли.Добавить().Роль = "АдминистраторСистемы"; ВозможныеРолиАдминистратора = Новый Соответствие(СтандартныеРолиРасширений.ДополнительныеРолиАдминистратора);
КонецЕсли; ВозможныеРолиАдминистратора.Вставить("АдминистраторСистемы", Истина);
ВозможныеРолиАдминистратора.Вставить("ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок", Истина);
Если ЕстьРольИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Тогда Для Каждого ОписаниеРоли Из ВозможныеРолиАдминистратора Цикл
ПрочитанныеРоли.Добавить().Роль = "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок"; Отбор = Новый Структура("Роль", ОписаниеРоли.Ключ);
КонецЕсли; Если ИсходныеПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0 Тогда
ПрочитанныеРоли.Добавить().Роль = ОписаниеРоли.Ключ;
КонецЕсли;
КонецЦикла;
КонецЕсли; КонецЕсли;
ОбработатьИнтерфейсРолей("ОбновитьДеревоРолей"); ОбработатьИнтерфейсРолей("ОбновитьДеревоРолей");
@@ -72,7 +72,7 @@
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Метки.Свойство.Description</segments> <segments>Метки.Наименование</segments>
</dataPath> </dataPath>
<extendedTooltip> <extendedTooltip>
<name>МеткиНаименованиеРасширеннаяПодсказка</name> <name>МеткиНаименованиеРасширеннаяПодсказка</name>
@@ -521,6 +521,24 @@
<common>true</common> <common>true</common>
</edit> </edit>
</columns> </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>
<attributes> <attributes>
<name>ДоступныеНаборыСвойств</name> <name>ДоступныеНаборыСвойств</name>
@@ -697,6 +715,10 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<parameters>
<name>ОписаниеОбъекта</name>
<valueType/>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -11,6 +11,10 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.ОписаниеОбъекта = Неопределено Тогда
Возврат;
КонецЕсли;
СсылкаНаОбъект = Параметры.ОписаниеОбъекта.Ссылка; СсылкаНаОбъект = Параметры.ОписаниеОбъекта.Ссылка;
Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
Возврат; Возврат;
@@ -148,12 +152,12 @@
Процедура ЗаполнитьМетки() Процедура ЗаполнитьМетки()
Метки.Очистить(); Метки.Очистить();
МеткиСсылки = УправлениеСвойствамиСлужебный.ЗначенияСвойств( ЗначенияМеток = УправлениеСвойствамиСлужебный.ЗначенияСвойств(
СсылкаНаОбъект.ДополнительныеРеквизиты, СсылкаНаОбъект.ДополнительныеРеквизиты,
ДоступныеНаборыСвойств, ДоступныеНаборыСвойств,
Перечисления.ВидыСвойств.Метки); Перечисления.ВидыСвойств.Метки);
Для Каждого Метка Из МеткиСсылки Цикл Для Каждого Метка Из ЗначенияМеток Цикл
Если Метка.Удалено Тогда Если Метка.Удалено Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -165,6 +169,7 @@
Иначе Иначе
НоваяСтрока.Значение = Истина; НоваяСтрока.Значение = Истина;
КонецЕсли; КонецЕсли;
НоваяСтрока.Наименование = Метка.Наименование;
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -1331,6 +1331,10 @@
ОкнаПрограммы = ПолучитьОкна(); ОкнаПрограммы = ПолучитьОкна();
Если ОкнаПрограммы = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого ОкноПрограммы Из ОкнаПрограммы Цикл Для Каждого ОкноПрограммы Из ОкнаПрограммы Цикл
Если ОкноПрограммы.НачальнаяСтраница Тогда Если ОкноПрограммы.НачальнаяСтраница Тогда
@@ -1543,8 +1547,8 @@
Если Результат = Неопределено Тогда Если Результат = Неопределено Тогда
ПоказатьОшибкиФормирования(НСтр("ru = 'Формирование отчета прервано администратором'")); ПоказатьОшибкиФормирования(НСтр("ru = 'Формирование отчета прервано администратором'"));
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"), Окно.ПолучитьНавигационнуюСсылку(), ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"),
Заголовок); ?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
ИначеЕсли Результат.Статус = "Выполнено" Тогда ИначеЕсли Результат.Статус = "Выполнено" Тогда
@@ -1555,14 +1559,14 @@
НастройкиОтчета.СвойстваРезультата.ВремяФормирования = (ТекущаяУниверсальнаяДатаВМиллисекундах() НастройкиОтчета.СвойстваРезультата.ВремяФормирования = (ТекущаяУниверсальнаяДатаВМиллисекундах()
- ПараметрыФормирования.ВремяНачалаФормирования) / 1000; - ПараметрыФормирования.ВремяНачалаФормирования) / 1000;
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет сформирован'"), Окно.ПолучитьНавигационнуюСсылку(), Заголовок); ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет сформирован'"),
?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
ИначеЕсли Результат.Статус = "Ошибка" Тогда ИначеЕсли Результат.Статус = "Ошибка" Тогда
ПоказатьОшибкиФормирования(Результат.КраткоеПредставлениеОшибки); ПоказатьОшибкиФормирования(Результат.КраткоеПредставлениеОшибки);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"), Окно.ПолучитьНавигационнуюСсылку(), ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет не сформирован'"),
Заголовок); ?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
КонецЕсли; КонецЕсли;
ФормированиеПриОткрытии = Ложь; ФормированиеПриОткрытии = Ложь;
@@ -4609,8 +4613,8 @@
Процедура СохранитьВариантОтчета(ПослеДобавленияНового = Ложь) Процедура СохранитьВариантОтчета(ПослеДобавленияНового = Ложь)
СохранитьВариантОтчетаНаСервере(ПослеДобавленияНового); СохранитьВариантОтчетаНаСервере(ПослеДобавленияНового);
ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен'"), Окно.ПолучитьНавигационнуюСсылку(), ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен'"),
Заголовок); ?(Окно <> Неопределено, Окно.ПолучитьНавигационнуюСсылку(), Неопределено), Заголовок);
КонецПроцедуры КонецПроцедуры
@@ -1527,7 +1527,7 @@
ПросроченныеЗадачи = СписокПросроченныхЗадач(); ПросроченныеЗадачи = СписокПросроченныхЗадач();
Индекс = ПросроченныеЗадачи.Количество() - 1; Индекс = ПросроченныеЗадачи.Количество() - 1;
Пока Индекс > 0 Цикл Пока Индекс >= 0 Цикл
ПросроченнаяЗадача = ПросроченныеЗадачи.Получить(Индекс); ПросроченнаяЗадача = ПросроченныеЗадачи.Получить(Индекс);
Если НЕ ЗначениеЗаполнено(ПросроченнаяЗадача.Исполнитель) И БизнесПроцессыИЗадачиВызовСервера.ЭтоВедущаяЗадача(ПросроченнаяЗадача.Ссылка) Тогда Если НЕ ЗначениеЗаполнено(ПросроченнаяЗадача.Исполнитель) И БизнесПроцессыИЗадачиВызовСервера.ЭтоВедущаяЗадача(ПросроченнаяЗадача.Ссылка) Тогда
ПросроченныеЗадачи.Удалить(ПросроченнаяЗадача); ПросроченныеЗадачи.Удалить(ПросроченнаяЗадача);
@@ -595,6 +595,9 @@
ПараметрыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента(); ПараметрыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
ЦветНеактивныхЗначений = ПараметрыКлиента.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет; ЦветНеактивныхЗначений = ПараметрыКлиента.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет;
ВариантАвтор = Объект.Автор; ВариантАвтор = Объект.Автор;
Если ТипЗнч(ЦветНеактивныхЗначений) = Тип("ХранилищеЗначения") Тогда
ЦветНеактивныхЗначений = ЦветНеактивныхЗначений.Получить();
КонецЕсли;
КоличествоПомеченных = 0; КоличествоПомеченных = 0;
Для Каждого Строка Из Форма.ПользователиВарианта Цикл Для Каждого Строка Из Форма.ПользователиВарианта Цикл
@@ -1836,6 +1836,10 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат;
КонецЕсли;
Если ИндексПоля.НаправлениеСортировки = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда Если ИндексПоля.НаправлениеСортировки = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда
СвойстваЗаголовка.СортироватьПоВозрастанию = Ложь; СвойстваЗаголовка.СортироватьПоВозрастанию = Ложь;
@@ -34,7 +34,8 @@
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура") Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура")
Или ТипЗнч(СвойстваЗаголовка.Поле) <> Тип("ПолеКомпоновкиДанных") Или ТипЗнч(СвойстваЗаголовка.Поле) <> Тип("ПолеКомпоновкиДанных")
Или СвойстваЗаголовка.ТипЗначения.Типы().Количество() = 0 Тогда Или СвойстваЗаголовка.ТипЗначения.Типы().Количество() = 0
Или СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -162,7 +163,7 @@
И ТипЗнч(Область.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных"); И ТипЗнч(Область.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных");
Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость = (ТипЗнч(СвойстваЗаголовка) = Тип("Структура")) Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость = (ТипЗнч(СвойстваЗаголовка) = Тип("Структура"))
И ТипЗнч(СвойстваЗаголовка.Поле) = Тип("ПолеКомпоновкиДанных"); И ТипЗнч(СвойстваЗаголовка.Поле) = Тип("ПолеКомпоновкиДанных") И СвойстваЗаголовка.ПорядокРаздела = 1;
Элементы.КонтекстноеМенюОбластиДанных.Видимость = Не Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость Элементы.КонтекстноеМенюОбластиДанных.Видимость = Не Элементы.КонтекстноеМенюОбластиЗаголовка.Видимость
И ЭтоРасшифровка; И ЭтоРасшифровка;
@@ -3018,7 +3019,8 @@
КонтекстноеМеню = Новый СписокЗначений; КонтекстноеМеню = Новый СписокЗначений;
КонтекстноеМеню.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение, НСтр("ru = 'Открыть'")); КонтекстноеМеню.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение, НСтр("ru = 'Открыть'"));
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура") Тогда Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура")
Или СвойстваЗаголовка.ПорядокРаздела <> 1 Тогда
Возврат КонтекстноеМеню; Возврат КонтекстноеМеню;
КонецЕсли; КонецЕсли;
@@ -793,15 +793,15 @@
// * Получатели - ТаблицаЗначений: // * Получатели - ТаблицаЗначений:
// ** Представление - Строка // ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище // ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации // ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * ПолучателиОтвета // * ПолучателиОтвета
// ** Представление - Строка // ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище // ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации // ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * ПолучателиСкрытыхКопий // * ПолучателиСкрытыхКопий
// ** Представление - Строка // ** Представление - Строка
// ** Адрес - Строка - адрес во временном хранилище // ** Адрес - Строка - адрес во временном хранилище
// ** ИсточникКонтактнойИнформации - ОпределяемыйТип.ВладелецКонтактнойИнформации // ** ИсточникКонтактнойИнформации - ОпределяемыйТип.КонтактВзаимодействия
// * Вложения - ТаблицаЗначений: // * Вложения - ТаблицаЗначений:
// ** Представление - Строка // ** Представление - Строка
// ** АдресВоВременномХранилище - Строка // ** АдресВоВременномХранилище - Строка
@@ -827,21 +827,21 @@
Получатели = Новый ТаблицаЗначений; Получатели = Новый ТаблицаЗначений;
Получатели.Колонки.Добавить("Адрес", ТипСтрока); Получатели.Колонки.Добавить("Адрес", ТипСтрока);
Получатели.Колонки.Добавить("Представление", ТипСтрока); Получатели.Колонки.Добавить("Представление", ТипСтрока);
Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип); Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("Получатели", Получатели); Сообщение.Вставить("Получатели", Получатели);
ПолучателиОтвета = Новый ТаблицаЗначений; ПолучателиОтвета = Новый ТаблицаЗначений;
ПолучателиОтвета.Колонки.Добавить("Адрес", ТипСтрока); ПолучателиОтвета.Колонки.Добавить("Адрес", ТипСтрока);
ПолучателиОтвета.Колонки.Добавить("Представление", ТипСтрока); ПолучателиОтвета.Колонки.Добавить("Представление", ТипСтрока);
ПолучателиОтвета.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип); ПолучателиОтвета.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("ПолучателиОтвета", ПолучателиОтвета); Сообщение.Вставить("ПолучателиОтвета", ПолучателиОтвета);
ПолучателиСкрытыхКопий = Новый ТаблицаЗначений; ПолучателиСкрытыхКопий = Новый ТаблицаЗначений;
ПолучателиСкрытыхКопий.Колонки.Добавить("Адрес", ТипСтрока); ПолучателиСкрытыхКопий.Колонки.Добавить("Адрес", ТипСтрока);
ПолучателиСкрытыхКопий.Колонки.Добавить("Представление", ТипСтрока); ПолучателиСкрытыхКопий.Колонки.Добавить("Представление", ТипСтрока);
ПолучателиСкрытыхКопий.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип); ПолучателиСкрытыхКопий.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.КонтактВзаимодействия.Тип);
Сообщение.Вставить("ПолучателиСкрытыхКопий", ПолучателиСкрытыхКопий); Сообщение.Вставить("ПолучателиСкрытыхКопий", ПолучателиСкрытыхКопий);
@@ -228,15 +228,7 @@
// //
Функция ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, Знач ПараметрыВыполнения, Знач НаборПараметровФункции = Неопределено) Экспорт Функция ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, Знач ПараметрыВыполнения, Знач НаборПараметровФункции = Неопределено) Экспорт
Если НаборПараметровФункции <> Неопределено ПроверитьВозможностьЗапускаМногопоточнойДлительнойОперации(ПараметрыВыполнения, НаборПараметровФункции);
И ТипЗнч(НаборПараметровФункции) <> Тип("Соответствие")
И ТипЗнч(НаборПараметровФункции) <> Тип("Структура") Тогда
ВызватьИсключение НСтр("ru ='Передан неверный тип набора параметров'");
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено() И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение НСтр("ru ='Многопоточные длительные операции в неразделенном сеансе не поддерживаются.'");
КонецЕсли;
Если ПараметрыВыполнения.ОжидатьЗавершение = ОбщиеПараметрыВыполненияВФоне().ОжидатьЗавершение Тогда Если ПараметрыВыполнения.ОжидатьЗавершение = ОбщиеПараметрыВыполненияВФоне().ОжидатьЗавершение Тогда
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
@@ -281,6 +273,7 @@
КонецФункции КонецФункции
// Запускает выполнение процедуры в многопоточном фоновом задании, если это возможно. // Запускает выполнение процедуры в многопоточном фоновом задании, если это возможно.
// Вызываемая процедура может быть с произвольным числом параметров, но не более 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"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -7077,6 +7077,8 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ПредставлениеСсылки = Строка(СсылкиНаОбъекты.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -7128,7 +7130,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось заполнить элемент: %1 по причине: %2'"), НСтр("ru = 'Не удалось заполнить элемент: %1 по причине: %2'"),
СсылкиНаОбъекты.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
МетаданныеОбъекта, СсылкиНаОбъекты.Ссылка, ТекстСообщения); МетаданныеОбъекта, СсылкиНаОбъекты.Ссылка, ТекстСообщения);
@@ -9043,6 +9045,8 @@
Процедура УстановитьПорядокОтложенногоОбновления() Экспорт Процедура УстановитьПорядокОтложенногоОбновления() Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса);
Если Не ОбщегоНазначения.РазделениеВключено() Если Не ОбщегоНазначения.РазделениеВключено()
Или ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда Или ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
// Регламентное задание предназначено для запуска только в неразделенном режиме работы. // Регламентное задание предназначено для запуска только в неразделенном режиме работы.
@@ -9054,8 +9058,6 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса);
ПрогрессОбновления = ОбновлениеИнформационнойБазы.ПрогрессОбновленияОбластейДанных("Отложенное"); ПрогрессОбновления = ОбновлениеИнформационнойБазы.ПрогрессОбновленияОбластейДанных("Отложенное");
ОбластиДляПроверки = ПрогрессОбновления.ОбластиВыполняется; ОбластиДляПроверки = ПрогрессОбновления.ОбластиВыполняется;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбластиДляПроверки, ПрогрессОбновления.ОбластиСПроблемами, Истина); ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбластиДляПроверки, ПрогрессОбновления.ОбластиСПроблемами, Истина);
@@ -743,8 +743,16 @@
Если ЗначениеЗаполнено(НовыеИсправления) Тогда Если ЗначениеЗаполнено(НовыеИсправления) Тогда
НовыеИсправленияМассив = СтрРазделить(НовыеИсправления, Символы.ПС); НовыеИсправленияМассив = СтрРазделить(НовыеИсправления, Символы.ПС);
Для Каждого Исправление Из НовыеИсправленияМассив Цикл Для Каждого Исправление Из НовыеИсправленияМассив Цикл
ДанныеИсправления = Новый ДвоичныеДанные(Исправление); Попытка
УстанавливаемыеИсправления.Добавить(ПоместитьВоВременноеХранилище(ДанныеИсправления)); ДанныеИсправления = Новый ДвоичныеДанные(Исправление);
УстанавливаемыеИсправления.Добавить(ПоместитьВоВременноеХранилище(ДанныеИсправления));
Исключение
ТекстОшибки = НСтр("ru = 'Не удалось получить двоичные данные патча по причине:
|%1'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
КонецПопытки
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -6234,8 +6234,6 @@
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений();
Если РегистрыСведений.ПараметрыРаботыПрограммы.НеобходимоОбновление() Тогда Если РегистрыСведений.ПараметрыРаботыПрограммы.НеобходимоОбновление() Тогда
Текст = НСтр("ru = 'Вход в программу временно невозможен в связи с обновлением на новую версию. Текст = НСтр("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 Тогда Если СтрНайти(Местоположение, "/") > 0 Тогда
@@ -929,7 +929,7 @@
Если ОценкаПроизводительностиСлужебный.ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда Если ОценкаПроизводительностиСлужебный.ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульОбщегоНазначения = ОценкаПроизводительностиСлужебный.ОбщийМодуль("ОбщегоНазначения"); МодульОбщегоНазначения = ОценкаПроизводительностиСлужебный.ОбщийМодуль("ОбщегоНазначения");
МодульОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания( МодульОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(
Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности); Метаданные.РегламентныеЗадания.ОчисткаЗамеровВремени);
КонецЕсли; КонецЕсли;
ГраницаУдаления = НачалоДня(ТекущаяУниверсальнаяДата() - 86400 * Константы.ПериодХраненияЗамеров.Получить()); ГраницаУдаления = НачалоДня(ТекущаяУниверсальнаяДата() - 86400 * Константы.ПериодХраненияЗамеров.Получить());
@@ -68,6 +68,11 @@
Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
Зависимость = Настройки.Добавить(); Зависимость = Настройки.Добавить();
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности; Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности;
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ВыполнятьЗамерыПроизводительности;
Зависимость.РаботаетСВнешнимиРесурсами = Истина;
Зависимость = Настройки.Добавить();
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ОчисткаЗамеровВремени;
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ВыполнятьЗамерыПроизводительности;
Зависимость.РаботаетСВнешнимиРесурсами = Истина; Зависимость.РаботаетСВнешнимиРесурсами = Истина;
КонецПроцедуры КонецПроцедуры
@@ -852,7 +852,7 @@
Если Команда.ТолькоВоВсехДействиях = Истина Тогда Если Команда.ТолькоВоВсехДействиях = Истина Тогда
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю; ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
ИначеЕсли Команда.ТолькоВоВсехДействиях = Ложь Тогда ИначеЕсли Команда.ТолькоВоВсехДействиях = Ложь Тогда
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанели; ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанелиИВДополнительномПодменю;
Иначе Иначе
ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.Авто; ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.Авто;
КонецЕсли; КонецЕсли;
@@ -5092,7 +5092,7 @@
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый; ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ПочтаДляВосстановленияПароля = ""; ПочтаДляВосстановленияПароля = "";
ПредставлениеСсылки = Строка(ПользовательСсылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -5147,7 +5147,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать пользователя %1 по причине: %2'"), НСтр("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 = 'Недостаточно прав для выполнения операции'");
КонецЕсли; КонецЕсли;
Эксклюзивная = Ложь; // Для обратной совместимости.
Если Не Параметры.Свойство("Эксклюзивная", Эксклюзивная) Тогда ПараметрыБлокировкиСоединений = НовыеПараметрыБлокировкиСоединений();
Эксклюзивная = Ложь; ЗаполнитьЗначенияСвойств(ПараметрыБлокировкиСоединений, Параметры);
КонецЕсли; Параметры = ПараметрыБлокировкиСоединений;
Если Эксклюзивная И Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
Если Параметры.Эксклюзивная И Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции'"); ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции'");
КонецЕсли; КонецЕсли;
@@ -280,22 +281,11 @@
ВызватьИсключение НСтр("ru = 'Из сеанса с используемыми значениями разделителей нельзя установить блокировку сеансов области данных, отличной от используемой в сеансе.'"); ВызватьИсключение НСтр("ru = 'Из сеанса с используемыми значениями разделителей нельзя установить блокировку сеансов области данных, отличной от используемой в сеансе.'");
КонецЕсли; КонецЕсли;
Иначе ИначеЕсли ОбластьДанных = -1 Тогда
ВызватьИсключение НСтр("ru = 'Невозможно установить блокировку сеансов области данных - не указана область данных.'");
Если ОбластьДанных = -1 Тогда
ВызватьИсключение НСтр("ru = 'Невозможно установить блокировку сеансов области данных - не указана область данных.'");
КонецЕсли;
КонецЕсли;
СтруктураНастроек = Параметры;
Если ТипЗнч(Параметры) = Тип("БлокировкаСеансов") Тогда
СтруктураНастроек = НовыеПараметрыБлокировкиСоединений();
ЗаполнитьЗначенияСвойств(СтруктураНастроек, Параметры);
КонецЕсли; КонецЕсли;
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -311,12 +301,12 @@
Если Параметры.Установлена Тогда Если Параметры.Установлена Тогда
Блокировка = НаборБлокировок.Добавить(); Блокировка = НаборБлокировок.Добавить();
Блокировка.ОбластьДанныхВспомогательныеДанные = ОбластьДанных; Блокировка.ОбластьДанныхВспомогательныеДанные = ОбластьДанных;
Блокировка.НачалоБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(СтруктураНастроек.Начало), Блокировка.НачалоБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(Параметры.Начало),
УниверсальноеВремя(СтруктураНастроек.Начало), СтруктураНастроек.Начало); УниверсальноеВремя(Параметры.Начало), Параметры.Начало);
Блокировка.КонецБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(СтруктураНастроек.Конец), Блокировка.КонецБлокировки = ?(ПоМестномуВремени И ЗначениеЗаполнено(Параметры.Конец),
УниверсальноеВремя(СтруктураНастроек.Конец), СтруктураНастроек.Конец); УниверсальноеВремя(Параметры.Конец), Параметры.Конец);
Блокировка.СообщениеБлокировки = СтруктураНастроек.Сообщение; Блокировка.СообщениеБлокировки = Параметры.Сообщение;
Блокировка.Эксклюзивная = СтруктураНастроек.Эксклюзивная; Блокировка.Эксклюзивная = Параметры.Эксклюзивная;
КонецЕсли; КонецЕсли;
НаборБлокировок.Записать(); НаборБлокировок.Записать();
@@ -749,8 +749,7 @@
// //
// Параметры: // Параметры:
// ЗначениеПараметраЗапуска - Строка - главный параметр запуска. // ЗначениеПараметраЗапуска - Строка - главный параметр запуска.
// ПараметрыЗапуска - Массив - дополнительные параметры запуска, разделенные // ПараметрыЗапуска - Массив из Строка - дополнительные параметры запуска, разделенные символом ";".
// символом ";".
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево - Истина, если требуется прекратить выполнение запуска системы. // Булево - Истина, если требуется прекратить выполнение запуска системы.
@@ -2047,6 +2047,7 @@
МодульВыгрузкаЗагрузкаДанных.ДополнитьТипомИсключаемымИзВыгрузкиЗагрузки(Типы, МодульВыгрузкаЗагрузкаДанных.ДополнитьТипомИсключаемымИзВыгрузкиЗагрузки(Типы,
Метаданные.Справочники.ИдентификаторыОбъектовРасширений, Метаданные.Справочники.ИдентификаторыОбъектовРасширений,
МодульВыгрузкаЗагрузкаДанных.ДействиеСоСсылкамиНеИзменять()); МодульВыгрузкаЗагрузкаДанных.ДействиеСоСсылкамиНеИзменять());
Типы.Добавить(Метаданные.РегистрыСведений.БезопасноеХранилищеДанныхОбластейДанных);
Типы.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений); Типы.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений);
Типы.Добавить(Метаданные.РегистрыСведений.ПараметрыРаботыВерсийРасширений); Типы.Добавить(Метаданные.РегистрыСведений.ПараметрыРаботыВерсийРасширений);
@@ -4489,7 +4490,7 @@
И ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.ДанныеОбработанныеВЦентральномУзлеРИБ") Тогда И ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.ДанныеОбработанныеВЦентральномУзлеРИБ") Тогда
Индекс = ЭлементДанных.Количество() - 1; Индекс = ЭлементДанных.Количество() - 1;
Пока Индекс > 0 Цикл Пока Индекс >= 0 Цикл
СтрокаНабора = ЭлементДанных[Индекс]; СтрокаНабора = ЭлементДанных[Индекс];
Если СтрокаНабора.УзелПланаОбмена <> Получатель Тогда Если СтрокаНабора.УзелПланаОбмена <> Получатель Тогда
ЭлементДанных.Удалить(СтрокаНабора); ЭлементДанных.Удалить(СтрокаНабора);
@@ -49,10 +49,7 @@
// Постобработка результата. // Постобработка результата.
ПреобразоватьТаблицуТекущихДел(ТекущиеДела, НастройкиОтображения); ПреобразоватьТаблицуТекущихДел(ТекущиеДела, НастройкиОтображения);
Если НастройкиОтображения <> Неопределено Тогда ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения);
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения);
КонецЕсли;
ПоместитьВоВременноеХранилище(ТекущиеДела, АдресРезультата); ПоместитьВоВременноеХранилище(ТекущиеДела, АдресРезультата);
КонецПроцедуры КонецПроцедуры
@@ -64,6 +61,8 @@
// Структура: // Структура:
// * ВидимостьДел - Соответствие // * ВидимостьДел - Соответствие
// * ВидимостьРазделов - Соответствие // * ВидимостьРазделов - Соответствие
// * ОтключенныеОбъекты - Соответствие
// * СвернутыеРазделы - Соответствие
// * ДеревоДел - ДеревоЗначений: // * ДеревоДел - ДеревоЗначений:
// ** Представление - Строка // ** Представление - Строка
// ** ЭтоРаздел - Булево // ** ЭтоРаздел - Булево
@@ -76,22 +75,24 @@
// //
Функция СохраненныеНастройкиОтображения() Экспорт Функция СохраненныеНастройкиОтображения() Экспорт
Результат = Новый Структура;
Результат.Вставить("ВидимостьДел", Новый Соответствие);
Результат.Вставить("ВидимостьРазделов", Новый Соответствие);
Результат.Вставить("ОтключенныеОбъекты", Новый Соответствие);
Результат.Вставить("СвернутыеРазделы", Новый Соответствие);
Результат.Вставить("ДеревоДел", Новый ДеревоЗначений);
НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения");
Если НастройкиОтображения = Неопределено Тогда Если НастройкиОтображения = Неопределено Тогда
Возврат Неопределено; Возврат Результат;
КонецЕсли; КонецЕсли;
Если ТипЗнч(НастройкиОтображения) <> Тип("Структура") Тогда Если ТипЗнч(НастройкиОтображения) <> Тип("Структура") Тогда
Возврат Неопределено; Возврат Результат;
КонецЕсли; КонецЕсли;
Если НастройкиОтображения.Свойство("ДеревоДел") ЗаполнитьЗначенияСвойств(Результат, НастройкиОтображения);
И НастройкиОтображения.Свойство("ВидимостьРазделов") Возврат Результат;
И НастройкиОтображения.Свойство("ВидимостьДел") Тогда
Возврат НастройкиОтображения;
КонецЕсли;
Возврат Неопределено;
КонецФункции КонецФункции
@@ -236,14 +237,7 @@
ТекущиеДела.Колонки.Добавить("ЭтоРаздел", Новый ОписаниеТипов("Булево")); ТекущиеДела.Колонки.Добавить("ЭтоРаздел", Новый ОписаниеТипов("Булево"));
ТекущиеДела.Колонки.Добавить("ПредставлениеРаздела", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); ТекущиеДела.Колонки.Добавить("ПредставлениеРаздела", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250)));
Если ТипЗнч(НастройкиОтображения) = Тип("Структура") ОтключенныеОбъекты = НастройкиОтображения.ОтключенныеОбъекты;
И НастройкиОтображения.Свойство("ОтключенныеОбъекты")
И ТипЗнч(НастройкиОтображения.ОтключенныеОбъекты) = Тип("Соответствие") Тогда
ОтключенныеОбъекты = НастройкиОтображения.ОтключенныеОбъекты;
Иначе
ОтключенныеОбъекты = Новый Соответствие;
КонецЕсли;
НедопустимыеСимволы = """'`/\-[]{}:;|=?*<>,.()+#№@!%^&~ "; НедопустимыеСимволы = """'`/\-[]{}:;|=?*<>,.()+#№@!%^&~ ";
УдаляемыеДела = Новый Массив; УдаляемыеДела = Новый Массив;
Для Каждого Дело Из ТекущиеДела Цикл Для Каждого Дело Из ТекущиеДела Цикл
@@ -289,15 +283,12 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(Дело.ОбъектВладелецДел) Если ЗначениеЗаполнено(Дело.ОбъектВладелецДел) И Дело.ЭтоРаздел Тогда
И Дело.ЭтоРаздел
И ТипЗнч(НастройкиОтображения) = Тип("Структура")
И НастройкиОтображения.Свойство("ВидимостьДел") Тогда
Если ОтключенныеОбъекты[Дело.ОбъектВладелецДел] = Неопределено Тогда Если ОтключенныеОбъекты[Дело.ОбъектВладелецДел] = Неопределено Тогда
ОтключенныеОбъекты.Вставить(Дело.ОбъектВладелецДел, Новый Массив); ОтключенныеОбъекты.Вставить(Дело.ОбъектВладелецДел, Новый Массив);
ОтключенныеОбъекты[Дело.ОбъектВладелецДел].Добавить(Дело.Идентификатор); ОтключенныеОбъекты[Дело.ОбъектВладелецДел].Добавить(Дело.Идентификатор);
Иначе Иначе
ОтключенныеДела = ОтключенныеОбъекты[Дело.ОбъектВладелецДел]; // Массив. ОтключенныеДела = ОтключенныеОбъекты[Дело.ОбъектВладелецДел]; // Массив
ОтключенныеДела.Добавить(Дело.Идентификатор); ОтключенныеДела.Добавить(Дело.Идентификатор);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -376,30 +367,28 @@
КонецПроцедуры КонецПроцедуры
Функция ПолучатьДелаПоОбъекту(Обработчик, НастройкиОтображения) Функция ПолучатьДелаПоОбъекту(Обработчик, НастройкиОтображения)
Если ТипЗнч(Обработчик) <> Тип("ОбщийМодуль") Если ТипЗнч(Обработчик) = Тип("ОбщийМодуль") Тогда
И НастройкиОтображения <> Неопределено Возврат Истина;
И ТипЗнч(НастройкиОтображения) = Тип("Структура")
И НастройкиОтображения.Свойство("ОтключенныеОбъекты")
И ТипЗнч(НастройкиОтображения.ОтключенныеОбъекты) = Тип("Соответствие") Тогда
ОбъектВладелецДел = Метаданные.НайтиПоТипу(ТипЗнч(Обработчик)).ПолноеИмя();
ПроверяемыеДела = НастройкиОтображения.ОтключенныеОбъекты[ОбъектВладелецДел];
Если ТипЗнч(ПроверяемыеДела) = Тип("Массив") Тогда
ПолучатьДела = Ложь;
Для Каждого ПроверяемоеДело Из ПроверяемыеДела Цикл
Значение = НастройкиОтображения.ВидимостьДел[ПроверяемоеДело];
Если Значение <> Ложь Тогда
ПолучатьДела = Истина;
КонецЕсли;
КонецЦикла;
Если Не ПолучатьДела Тогда
Возврат Ложь;
Иначе
НастройкиОтображения.ОтключенныеОбъекты.Удалить(ОбъектВладелецДел);
КонецЕсли;
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат Истина; ПолучатьДела = Истина;
ОбъектВладелецДел = Метаданные.НайтиПоТипу(ТипЗнч(Обработчик)).ПолноеИмя();
ПроверяемыеДела = НастройкиОтображения.ОтключенныеОбъекты[ОбъектВладелецДел];
Если ТипЗнч(ПроверяемыеДела) = Тип("Массив") Тогда
ПолучатьДела = Ложь;
Для Каждого ПроверяемоеДело Из ПроверяемыеДела Цикл
Значение = НастройкиОтображения.ВидимостьДел[ПроверяемоеДело];
Если Значение <> Ложь Тогда
ПолучатьДела = Истина;
КонецЕсли;
КонецЦикла;
Если Не ПолучатьДела Тогда
Возврат Ложь;
КонецЕсли;
НастройкиОтображения.ОтключенныеОбъекты.Удалить(ОбъектВладелецДел);
КонецЕсли;
Возврат ПолучатьДела;
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
@@ -68,7 +68,7 @@
// См. УдалениеПомеченныхОбъектов.ЗначениеФлажкаУдалятьПоРасписанию // См. УдалениеПомеченныхОбъектов.ЗначениеФлажкаУдалятьПоРасписанию
Функция ЗначениеФлажкаУдалятьПоРасписанию() Экспорт Функция ЗначениеФлажкаУдалятьПоРасписанию() Экспорт
Возврат УдалениеПомеченныхОбъектов.ЗначениеФлажкаУдалятьПоРасписанию(); Возврат РежимУдалятьПоРасписанию().Использование;
КонецФункции КонецФункции
Процедура СохранитьНастройкуОтображенияПомеченныхНаУдаления(ИмяФормы, ИмяСписка, ЗначениеПометки) Экспорт Процедура СохранитьНастройкуОтображенияПомеченныхНаУдаления(ИмяФормы, ИмяСписка, ЗначениеПометки) Экспорт
@@ -82,8 +82,8 @@
Для каждого Строка Из СтрокиНаборовЧтения Цикл Для каждого Строка Из СтрокиНаборовЧтения Цикл
НомераНаборов.Вставить(Строка.НомерНабора, Истина); НомераНаборов.Вставить(Строка.НомерНабора, Истина);
КонецЦикла; КонецЦикла;
Индекс = НаборыЗначенийДоступа.Количество()-1; Индекс = НаборыЗначенийДоступа.Количество() - 1;
Пока Индекс > 0 Цикл Пока Индекс >= 0 Цикл
Если НомераНаборов[НаборыЗначенийДоступа[Индекс].НомерНабора] = Неопределено Тогда Если НомераНаборов[НаборыЗначенийДоступа[Индекс].НомерНабора] = Неопределено Тогда
НаборыЗначенийДоступа.Удалить(Индекс); НаборыЗначенийДоступа.Удалить(Индекс);
КонецЕсли; КонецЕсли;
@@ -30955,9 +30955,7 @@
КоличествоТаблиц = УзелПоле.ТаблицыСледующегоПоля[0].Количество(); КоличествоТаблиц = УзелПоле.ТаблицыСледующегоПоля[0].Количество();
Если КоличествоТаблиц >= 70 // Ограничение платформы. Если КоличествоТаблиц >= 70 Тогда // Ограничение платформы.
Или КоличествоТаблиц > 0.7 * УзелПоле.ТипыПоля[0].Типы().Количество() Тогда
Возврат Псевдоним + "." + УзелПоле.Имя; Возврат Псевдоним + "." + УзелПоле.Имя;
КонецЕсли; КонецЕсли;
@@ -6,25 +6,6 @@
// https://creativecommons.org/licenses/by/4.0/legalcode // 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, создает в нем // Создает 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)) КАК Наименование"); "ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, ДополнительныеРеквизитыИСведения.Заголовок) КАК СТРОКА(150)) КАК Наименование");
+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="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> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="9063c0a7-4454-4ba2-905e-6d835901c28e"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1e54d671-b73c-4a6e-9f7d-126cd90a9846"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f33e818f-efe4-48ae-af98-eb7f5f071ef8"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c79acd4b-9496-4454-8972-cbe6d131c195"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="df3a9061-d363-4395-bc89-3c7587b5518d"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="59c41ef9-233b-4699-9f31-36e2befcc267"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f744a06e-49d9-4431-8707-c4320679aed7"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="7a7fde59-c698-49ae-99f2-5401ae76ac29"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ef35238b-a426-486a-8b7c-cb3abdc79818"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f5e217bb-5abb-48f9-8465-f82de35e5c98"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="7a7950af-4940-4ae0-95b5-9141c2af7156"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e8b6e58f-5a7f-427a-9096-2353acfae37c"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fe0a2e16-ea74-4c99-993d-c54906f71f22"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="441e6172-f948-4697-bfbf-d9ef30c8c48b"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.9.74</version> <version>3.1.9.89</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1547,6 +1547,7 @@
<settingsStorages>SettingsStorage.ХранилищеВариантовОтчетов</settingsStorages> <settingsStorages>SettingsStorage.ХранилищеВариантовОтчетов</settingsStorages>
<functionalOptions>FunctionalOption.АктуальнаяДатаОбновленияПовторноИспользуемыхЗначенийМРО</functionalOptions> <functionalOptions>FunctionalOption.АктуальнаяДатаОбновленияПовторноИспользуемыхЗначенийМРО</functionalOptions>
<functionalOptions>FunctionalOption.ВариантыВерсионированияОбъектов</functionalOptions> <functionalOptions>FunctionalOption.ВариантыВерсионированияОбъектов</functionalOptions>
<functionalOptions>FunctionalOption.ВыполнятьЗамерыПроизводительности</functionalOptions>
<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> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Список.СтандартнаяКартинка</segments> <segments>Список.DefaultPicture</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation> <titleLocation>None</titleLocation>
<extendedTooltip> <extendedTooltip>
@@ -1954,42 +1954,16 @@
</notDefaultUseAlwaysAttributes> </notDefaultUseAlwaysAttributes>
<extInfo xsi:type="form:DynamicListExtInfo"> <extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ <queryText>ВЫБРАТЬ
NULL КАК Ссылка,
NULL КАК Владелец, NULL КАК Владелец,
NULL КАК Код, NULL КАК Код,
ЛОЖЬ КАК ПометкаУдаления, ЛОЖЬ КАК ЭтоГруппа
ЛОЖЬ КАК ЭтоГруппа, ИЗ
NULL КАК СтандартнаяКартинка Справочник.Пользователи КАК ПользователиПереопределяемый</queryText>
<mainTable>Catalog.Пользователи</mainTable>
</queryText>
<autoFillAvailableFields>true</autoFillAvailableFields> <autoFillAvailableFields>true</autoFillAvailableFields>
<customQuery>true</customQuery> <customQuery>true</customQuery>
<autoSaveUserSettings>true</autoSaveUserSettings> <autoSaveUserSettings>true</autoSaveUserSettings>
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations> <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"> <fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Код</dataPath> <dataPath>Код</dataPath>
<field>Код</field> <field>Код</field>
@@ -2002,18 +1976,6 @@
</localValue> </localValue>
</title> </title>
</fields> </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"> <fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ЭтоГруппа</dataPath> <dataPath>ЭтоГруппа</dataPath>
<field>ЭтоГруппа</field> <field>ЭтоГруппа</field>
@@ -2027,17 +1989,85 @@
</title> </title>
</fields> </fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField"> <fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>СтандартнаяКартинка</dataPath> <dataPath>Владелец</dataPath>
<field>СтандартнаяКартинка</field> <field>Владелец</field>
<title> <title>
<localValue> <localValue>
<content> <content>
<key>ru</key> <key>ru</key>
<value>Стандартная картинка</value> <value>Владелец</value>
</content> </content>
</localValue> </localValue>
</title> </title>
</fields> </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> </extInfo>
</attributes> </attributes>
<attributes> <attributes>
@@ -896,7 +896,7 @@
КонецЦикла; КонецЦикла;
Индекс = МестаИспользования.Количество() - 1; Индекс = МестаИспользования.Количество() - 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="20230628" SwapDate=""/>
<Item Calendar="16" Year="2023" DayType="Предпраздничный" Date="20230829" 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="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="20240106" SwapDate="20240502"/>
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240107" SwapDate="20240503"/> <Item Calendar="16" Year="2024" DayType="Праздник" Date="20240107" SwapDate="20240503"/>
<Item Calendar="16" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/> <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="20240613" SwapDate=""/>
<Item Calendar="92" Year="2024" DayType="Праздник" Date="20240614" SwapDate=""/> <Item Calendar="92" Year="2024" DayType="Праздник" Date="20240614" SwapDate=""/>
<Item Calendar="92" Year="2024" DayType="Предпраздничный" Date="20241231" 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="20230510" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230511" 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="20230929" SwapDate=""/>
<Item Calendar="93" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/> <Item Calendar="93" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="93" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/> <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="20240513" SwapDate="20240511"/>
<Item Calendar="93" Year="2024" DayType="Праздник" Date="20240930" SwapDate=""/> <Item Calendar="93" Year="2024" DayType="Праздник" Date="20240930" SwapDate=""/>
<Item Calendar="93" Year="2024" DayType="Предпраздничный" Date="20241231" 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="20230511" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230512" 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="20230929" SwapDate=""/>
<Item Calendar="94" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/> <Item Calendar="94" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="94" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/> <Item Calendar="94" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
@@ -56,6 +56,11 @@
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
Элементы.ГруппаСвойства.Видимость = Ложь; Элементы.ГруппаСвойства.Видимость = Ложь;
Иначе
МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
Если Не МодульУправлениеСвойствами.ЕстьВладельцыМеток() Тогда
Элементы.ГруппаМетки.Видимость = Ложь;
КонецЕсли;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
@@ -680,6 +680,8 @@
<key>ru</key> <key>ru</key>
<value>Отчеты и универсальный отчет</value> <value>Отчеты и универсальный отчет</value>
</title> </title>
<width>43</width>
<horizontalStretch>false</horizontalStretch>
<extendedTooltip> <extendedTooltip>
<name>ГруппаОтчетыУниверсальныйОтчетРасширеннаяПодсказка</name> <name>ГруппаОтчетыУниверсальныйОтчетРасширеннаяПодсказка</name>
<id>1741</id> <id>1741</id>
@@ -58,7 +58,6 @@
<choiceButton>true</choiceButton> <choiceButton>true</choiceButton>
<chooseType>true</chooseType> <chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled> <typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
@@ -1012,7 +1011,7 @@ TIF - Не все браузеры отображают этот формат.</
<title> <title>
<key>ru</key> <key>ru</key>
<value> <value>
Преобразование с помощью &lt;link https://imagemagick.org/>ImageMagick&lt;/> может выполняться быстрее и формировать файлы изображений меньшего размера, чем встроенными средствами. Также при работе в клиент-серверном варианте, это не требует дополнительной передачи изображений на сервер 1С:Предприятие. При выборе этого способа на рабочем компьютере должно быть предварительно установлена бесплатное приложение ImageMagick. Преобразование с помощью &lt;link https://imagemagick.org/>ImageMagick&lt;/> может выполняться быстрее и формировать файлы изображений меньшего размера, чем встроенными средствами. Также при работе в клиент-серверном варианте, это не требует дополнительной передачи изображений на сервер 1С:Предприятие. При выборе этого способа на рабочем компьютере должно быть предварительно установлено бесплатное приложение ImageMagick.
</value> </value>
@@ -188,18 +188,10 @@
Процедура ЗаполнитьДеревоДел(НастройкиОтображения) Процедура ЗаполнитьДеревоДел(НастройкиОтображения)
ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела); ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела);
СтарыеНастройкиОтображения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ТекущиеДела", "НастройкиОтображения"); Если НастройкиОтображения.ДеревоДел.Колонки.Количество() = 0 Тогда
Если СтарыеНастройкиОтображения = Неопределено
Или ТипЗнч(СтарыеНастройкиОтображения) <> Тип("Структура")
Или Не СтарыеНастройкиОтображения.Свойство("ДеревоДел") Тогда
СохраненноеДеревоДел = Неопределено;
Иначе
СохраненноеДеревоДел = СтарыеНастройкиОтображения.ДеревоДел; // ДеревоЗначений
КонецЕсли;
Если СохраненноеДеревоДел = Неопределено Тогда
ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел"); ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел");
Иначе Иначе
ДеревоДел = СохраненноеДеревоДел; ДеревоДел = НастройкиОтображения.ДеревоДел;
КонецЕсли; КонецЕсли;
ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево")); ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево"));
Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда
@@ -216,7 +208,7 @@
ИндексДела = 0; ИндексДела = 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"> <items xsi:type="form:FormGroup">
<name>КоманднаяПанельФорма</name> <name>КоманднаяПанельФорма</name>
<id>241</id> <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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <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> </synonym>
<useStandardCommands>true</useStandardCommands> <useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.УничтожениеПерсональныхДанных.Form.Форма</defaultForm> <defaultForm>DataProcessor.УничтожениеПерсональныхДанных.Form.Форма</defaultForm>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<forms uuid="942b3e77-2a66-4879-972d-b5d25a706f9a"> <forms uuid="942b3e77-2a66-4879-972d-b5d25a706f9a">
<name>Форма</name> <name>Форма</name>
<synonym> <synonym>
@@ -2239,7 +2239,7 @@
| Документ.ТелефонныйЗвонок КАК ДокументВзаимодействий | Документ.ТелефонныйЗвонок КАК ДокументВзаимодействий
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
| ПО ДокументВзаимодействий.Ссылка = ПредметыПапкиВзаимодействий.Взаимодействие | ПО ДокументВзаимодействий.Ссылка = ПредметыПапкиВзаимодействий.Взаимодействие
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СообщениеSMS.ДополнительныеРеквизиты КАК ДокументВзаимодействийДополнительныеРеквизиты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок.ДополнительныеРеквизиты КАК ДокументВзаимодействийДополнительныеРеквизиты
| ПО (ДокументВзаимодействийДополнительныеРеквизиты.Ссылка = ДокументВзаимодействий.Ссылка) | ПО (ДокументВзаимодействийДополнительныеРеквизиты.Ссылка = ДокументВзаимодействий.Ссылка)
| И (ДокументВзаимодействийДополнительныеРеквизиты.Свойство = &Свойство) | И (ДокументВзаимодействийДополнительныеРеквизиты.Свойство = &Свойство)
| И &ТекстУсловия | И &ТекстУсловия
@@ -116,6 +116,33 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>КоманднаяПанельФормы</name> <name>КоманднаяПанельФормы</name>
<id>243</id> <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"> <items xsi:type="form:Button">
<name>ФормаПровестиИЗакрыть</name> <name>ФормаПровестиИЗакрыть</name>
<id>233</id> <id>233</id>
@@ -822,24 +849,119 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>СубъектГруппа</name> <name>СубъектГруппа</name>
<id>183</id> <id>183</id>
<items xsi:type="form:FormField"> <items xsi:type="form:FormGroup">
<name>Субъект</name> <name>СубъектТипСубъектаГруппа</name>
<id>142</id> <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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<extendedTooltip> <extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name> <name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>144</id> <id>253</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -847,24 +969,14 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <type>UsualGroup</type>
<name>СубъектКонтекстноеМеню</name> <extInfo xsi:type="form:UsualGroupExtInfo">
<id>143</id> <group>AlwaysHorizontal</group>
<autoFill>true</autoFill> <behavior>Auto</behavior>
</contextMenu> <showLeftMargin>true</showLeftMargin>
<type>InputField</type> <united>true</united>
<editMode>Auto</editMode> <throughAlign>Auto</throughAlign>
<showInHeader>true</showInHeader> <currentRowUse>Auto</currentRowUse>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
@@ -872,7 +984,7 @@
<id>145</id> <id>145</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>ФИО</value> <value>ФИО субъекта</value>
</title> </title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -1650,6 +1762,23 @@
</edit> </edit>
</columns> </columns>
</attributes> </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> <formCommands>
<name>ЗаполнитьКатегорииДанных</name> <name>ЗаполнитьКатегорииДанных</name>
<title> <title>
@@ -38,6 +38,7 @@
Если Не Параметры.Свойство("Организация", Объект.Организация) Тогда Если Не Параметры.Свойство("Организация", Объект.Организация) Тогда
ЗащитаПерсональныхДанных.ЗаполнитьРеквизитОрганизациейПоУмолчанию(Объект.Организация); ЗащитаПерсональныхДанных.ЗаполнитьРеквизитОрганизациейПоУмолчанию(Объект.Организация);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
УстановитьСвойстваЭлементов(); УстановитьСвойстваЭлементов();
@@ -176,26 +177,7 @@
&НаКлиенте &НаКлиенте
Процедура СубъектПриИзменении(Элемент) Процедура СубъектПриИзменении(Элемент)
Объект.КатегорииДанных.Очистить(); ПриИзмененииСубъекта();
Объект.ОбъектыСУничтожаемымиДанными.Очистить();
Если ЗначениеЗаполнено(Объект.Субъект) Тогда
ДлительнаяОперация = ОбновитьСрокХраненияПерсональныхДанныхСубъекта(Объект.Субъект);
Оповещение = Новый ОписаниеОповещения("ПриОкончанииОбновленияСрокаХранения", ЭтотОбъект, ТолькоПросмотр);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
Если ДлительнаяОперация.Статус = "Выполняется" Тогда
ТолькоПросмотр = Истина;
КонецЕсли;
КонецЕсли;
ЗаполнитьДанныеСубъекта();
КонецПроцедуры КонецПроцедуры
@@ -213,6 +195,21 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
УстановитьСвойстваСубъекта();
ПриИзмененииСубъекта();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -296,12 +293,31 @@
Элементы.СпособУничтожения.СписокВыбора.ЗагрузитьЗначения( Элементы.СпособУничтожения.СписокВыбора.ЗагрузитьЗначения(
ОбщегоНазначения.ВыгрузитьКолонку(Документы.АктОбУничтоженииПерсональныхДанных.СпособыУничтожения(), "Значение")); ОбщегоНазначения.ВыгрузитьКолонку(Документы.АктОбУничтоженииПерсональныхДанных.СпособыУничтожения(), "Значение"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ТипСубъекта", "ТолькоПросмотр", Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Субъект", "ТолькоПросмотр", Объект.Проведен); ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Субъект", "ТолькоПросмотр", Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФИОСубъекта", "ТолькоПросмотр", ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФИОСубъекта", "ТолькоПросмотр",
Объект.Проведен); Объект.Проведен);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КатегорииДанныхЗаполнитьКатегорииДанных", ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КатегорииДанныхЗаполнитьКатегорииДанных",
"Доступность", Не Объект.Проведен); "Доступность", Не Объект.Проведен);
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -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> <valueField>InformationRegister.ДополнительныеСведения.Resource.Значение</valueField>
</characteristics> </characteristics>
<createOnInput>Use</createOnInput> <createOnInput>Use</createOnInput>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<dataLockControlMode>Managed</dataLockControlMode> <dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch> <fullTextSearch>Use</fullTextSearch>
<listPresentation> <listPresentation>
@@ -76,7 +76,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
ПредставлениеСсылки = Строка(Выборка.Ссылка);
Попытка Попытка
ЗаполнитьРеквизитРежимАнкетирования(Выборка); ЗаполнитьРеквизитРежимАнкетирования(Выборка);
@@ -89,7 +89,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать анкету %1 по причине: НСтр("ru = 'Не удалось обработать анкету %1 по причине:
|%2'"), |%2'"),
Выборка.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение, ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Документы.Анкета, Выборка.Ссылка, ТекстСообщения); Метаданные.Документы.Анкета, Выборка.Ссылка, ТекстСообщения);
КонецПопытки; КонецПопытки;
@@ -181,7 +181,6 @@
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
// Открывает форму подбора респондентов.
&НаКлиенте &НаКлиенте
Процедура ПодборРеспондентов(Команда) Процедура ПодборРеспондентов(Команда)
@@ -197,15 +196,15 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Обрабатывает изменение типа респондента.
&НаКлиенте &НаКлиенте
Процедура ОбработатьИзменениеТипаРеспондента() Процедура ОбработатьИзменениеТипаРеспондента()
Элементы.РеспондентыРеспондент.ОграничениеТипа = ТипРеспондентов; Элементы.РеспондентыРеспондент.ОграничениеТипа = ТипРеспондентов;
Элементы.РеспондентыРеспондент.ДоступныеТипы = ТипРеспондентов; Элементы.РеспондентыРеспондент.ДоступныеТипы = ТипРеспондентов;
Если Объект.ТипРеспондентов <> Неопределено Тогда НовыйТипРеспондентов = Новый(ТипРеспондентов.Типы()[0]);
Объект.ТипРеспондентов = Новый(ТипРеспондентов.Типы()[0]); Если Объект.ТипРеспондентов <> НовыйТипРеспондентов Тогда
Объект.ТипРеспондентов = НовыйТипРеспондентов;
КонецЕсли; КонецЕсли;
Для каждого СтрокаРеспонденты Из Объект.Респонденты Цикл Для каждого СтрокаРеспонденты Из Объект.Респонденты Цикл
@@ -221,7 +220,6 @@
КонецПроцедуры КонецПроцедуры
// Управляет доступностью элементов формы.
&НаКлиенте &НаКлиенте
Процедура УправлениеДоступностью() Процедура УправлениеДоступностью()
@@ -396,8 +396,60 @@
<name>СубъектГруппа</name> <name>СубъектГруппа</name>
<id>57</id> <id>57</id>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>СубъектФИОГруппа</name> <name>СубъектТипСубъектаГруппа</name>
<id>73</id> <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"> <items xsi:type="form:FormField">
<name>Субъект</name> <name>Субъект</name>
<id>16</id> <id>16</id>
@@ -409,6 +461,7 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Объект.Субъект</segments> <segments>Объект.Субъект</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation>
<handlers> <handlers>
<event>OnChange</event> <event>OnChange</event>
<name>СубъектПриИзменении</name> <name>СубъектПриИзменении</name>
@@ -436,9 +489,9 @@
<extInfo xsi:type="form:InputFieldExtInfo"> <extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap> <wrap>true</wrap>
<chooseType>true</chooseType> <choiceButton>true</choiceButton>
<choiceButtonRepresentation>ShowInInputField</choiceButtonRepresentation>
<typeDomainEnabled>true</typeDomainEnabled> <typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit> <textEdit>true</textEdit>
<textSize>Normal</textSize> <textSize>Normal</textSize>
@@ -451,10 +504,10 @@
</userVisible> </userVisible>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Субъект и ФИО</value> <value>Субъект и тип субъекта</value>
</title> </title>
<extendedTooltip> <extendedTooltip>
<name>СубъектФИОГруппаРасширеннаяПодсказка</name> <name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>74</id> <id>74</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -465,7 +518,7 @@
</extendedTooltip> </extendedTooltip>
<type>UsualGroup</type> <type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group> <group>AlwaysHorizontal</group>
<showLeftMargin>true</showLeftMargin> <showLeftMargin>true</showLeftMargin>
<united>true</united> <united>true</united>
<throughAlign>Auto</throughAlign> <throughAlign>Auto</throughAlign>
@@ -891,6 +944,23 @@
<main>true</main> <main>true</main>
<savedData>true</savedData> <savedData>true</savedData>
</attributes> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -40,6 +40,9 @@
КонецЕсли; КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства // Конец СтандартныеПодсистемы.Свойства
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -177,6 +180,20 @@
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект); ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
ТипСубъектаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -226,6 +243,29 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ТипСубъектаПриИзмененииНаСервере()
УстановитьСвойстваСубъекта();
СубъектПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры
&НаСервере &НаСервере
Процедура ДатаОтзываПриИзмененииНаСервере() Процедура ДатаОтзываПриИзмененииНаСервере()
@@ -475,24 +475,120 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>СубъектФИОГруппа</name> <name>СубъектФИОГруппа</name>
<id>73</id> <id>73</id>
<items xsi:type="form:FormField"> <items xsi:type="form:FormGroup">
<name>Субъект</name> <name>СубъектТипСубъектаГруппа</name>
<id>16</id> <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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <title>
<segments>Объект.Субъект</segments> <key>ru</key>
</dataPath> <value>Субъект и тип субъекта</value>
<handlers> </title>
<event>OnChange</event>
<name>СубъектПриИзменении</name>
</handlers>
<extendedTooltip> <extendedTooltip>
<name>СубъектРасширеннаяПодсказка</name> <name>СубъектТипСубъектаГруппаРасширеннаяПодсказка</name>
<id>18</id> <id>109</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -500,24 +596,14 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <type>UsualGroup</type>
<name>СубъектКонтекстноеМеню</name> <extInfo xsi:type="form:UsualGroupExtInfo">
<id>17</id> <group>AlwaysHorizontal</group>
<autoFill>true</autoFill> <behavior>Auto</behavior>
</contextMenu> <showLeftMargin>true</showLeftMargin>
<type>InputField</type> <united>true</united>
<editMode>Auto</editMode> <throughAlign>Auto</throughAlign>
<showInHeader>true</showInHeader> <currentRowUse>Auto</currentRowUse>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
@@ -1252,6 +1338,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -41,6 +41,9 @@
КонецЕсли; КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства // Конец СтандартныеПодсистемы.Свойства
УстановитьСвойстваТипаСубъекта();
УстановитьСвойстваСубъекта();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -191,6 +194,20 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаПриИзменении(Элемент)
ТипСубъектаПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ТипСубъектаОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -263,6 +280,29 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ТипСубъектаПриИзмененииНаСервере()
УстановитьСвойстваСубъекта();
СубъектПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваТипаСубъекта()
ЗащитаПерсональныхДанных.УстановитьСвойстваТипаСубъекта(Элементы, Объект.Субъект, ТипСубъекта);
КонецПроцедуры
&НаСервере
Процедура УстановитьСвойстваСубъекта()
Элементы.Субъект.ОграничениеТипа = ТипСубъекта;
Объект.Субъект = ТипСубъекта.ПривестиЗначение(Объект.Субъект);
КонецПроцедуры
&НаСервере &НаСервере
Процедура ДатаПолученияПриИзмененииНаСервере() Процедура ДатаПолученияПриИзмененииНаСервере()
@@ -287,6 +327,9 @@
Процедура ЗаполнитьДанныеСубъекта() Процедура ЗаполнитьДанныеСубъекта()
Если Не ЗначениеЗаполнено(Объект.Субъект) Тогда Если Не ЗначениеЗаполнено(Объект.Субъект) Тогда
Объект.ФИОСубъекта = "";
Объект.АдресСубъекта = "";
Объект.ПаспортныеДанные = "";
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -248,7 +248,7 @@
ОбъектыДляОбработки = Запрос.Выполнить().Выбрать(); ОбъектыДляОбработки = Запрос.Выполнить().Выбрать();
Пока ОбъектыДляОбработки.Следующий() Цикл Пока ОбъектыДляОбработки.Следующий() Цикл
ПредставлениеСсылки = Строка(ОбъектыДляОбработки.Ссылка);
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -292,7 +292,7 @@
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать %1 %2 по причине: НСтр("ru = 'Не удалось обработать %1 %2 по причине:
|%3'"), |%3'"),
ПолноеИмяОбъекта, ОбъектыДляОбработки.Ссылка, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПолноеИмяОбъекта, ПредставлениеСсылки, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение, УровеньЖурналаРегистрации.Предупреждение,
МетаданныеОбъекта, МетаданныеОбъекта,
Loaded 100 of 171 files, more files were not shown because too many files have changed in this diff. Show more