3_1_2_202

This commit is contained in:
Компания 1С committed 2019-11-08 13:58:00 +03:00
1 parent 7c8e42c87c
commit cca7b08eea
73 files changed
+1552 -913

No files matched your search

+3 -5
View File
@@ -30,10 +30,8 @@
<div>Нажмите <strong>Создать - Новую</strong>. Также можно нажать клавишу <strong>Ins</strong>.</div>
</li>
<li>Заполните <a href="Catalog.Валюты.Form.ФормаЭлемента/Help">сведения о валюте</a>.</li></ul><h3>Загрузка курсов валют</h3>
<ul><li>
<div>Нажмите <strong>Загрузить курсы валют</strong> для перехода к <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузке курсов валют</a> с портала 1С:ИТС. </div>
</li>
<li>
<div>Также в программе предусмотрено <a href="DataProcessor.РегламентныеИФоновыеЗадания/Help">регламентное задание</a> <strong>Загрузка курсов валют</strong> для автоматической загрузки курсов валют с портала 1С:ИТС.</div></li></ul><h3>См. также:</h3>
<ul><li>Нажмите <strong>Загрузить курсы валют</strong> для перехода к <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузке курсов валют</a> с портала 1С:ИТС. </li>
<li>Также в программе предусмотрено <a href="DataProcessor.РегламентныеИФоновыеЗадания/Help">регламентное задание</a> <strong>Загрузка курсов валют</strong> для автоматической загрузки курсов валют с портала 1С:ИТС.</li>
<li>В приложении в Интернете курсы валют загружаются автоматически.</li></ul><h3>См. также:</h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a></div></li></ul></body></html>
@@ -240,7 +240,7 @@
Процедура ЗагрузитьКомпонентуПослеПомещенияФайла(ПомещенныйФайл, Контекст) Экспорт
Если ПомещенныйФайл = Неопределено Тогда
ЗагрузитьКомпонентуПриОтображенииОшибки(НСтр("ru = 'Файл не удалось загрузить на сервер.'"));
ЗагрузитьКомпонентуПриОтображенииОшибки(НСтр("ru = 'Не удалось загрузить файл компоненты.'"));
Возврат;
КонецЕсли;
@@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.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 class="">
<p style="MARGIN-LEFT: 0px">В классификаторе банков РФ хранятся сведения о банках, которые используются при заполнении реквизитов банковских счетов, в документах и списках программы. </p>
<p style="MARGIN-LEFT: 0px">Классификатор может быть заполнен автоматически с использованием Общероссийского классификатора банков. При использовании автоматической загрузки классификатора банков существенно снижается трудоемкость ввода информации, ввод информации о банке в различных документах сводится к выбору из классификатора, соответственно сводится к минимуму количество ошибок в отчетности, и кроме того, программа позволяет всегда поддерживать классификатор в актуальном состоянии. Загрузка классификаторов производится с портала 1С:ИТС.</p>
<p style="MARGIN-LEFT: 0px">Банки, деятельность которых прекращена, в списке становятся неактивными.</p>
@@ -28,13 +28,10 @@
<div style="MARGIN-LEFT: 0px"><strong>СВИФТ БИК</strong>;</div>
</li>
<li>
<div style="MARGIN-LEFT: 0px"><strong>Телефоны</strong>.</div></li></ul><h3 style="MARGIN-LEFT: 0px">Группировка банков</h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">Банки в списке сгруппированы по регионам, при входе в список видны только регионы банков. Выберите нужный регион для просмотра банков этого региона. </div>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Также можно внутри регионов ввести свою группировку. Для этого нажмите <strong>Создать группу</strong>, введите наименование группы и перетащите в группу нужные банки с помощью мыши. </div></li></ul><h3 style="MARGIN-LEFT: 0px">Ввод банка</h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">При необходимости можно ввести банк, нажав <strong>Создать</strong>. Заполните необходимые <a href="Catalog.КлассификаторБанков.Form.ФормаЭлемента/Help">параметры</a>.</div></li></ul><h3 style="MARGIN-LEFT: 0px">См. также:</h3>
<div style="MARGIN-LEFT: 0px"><strong>Телефоны</strong>.</div></li></ul><h3 style="MARGIN-LEFT: 0px">Ввод банка</h3>
<div style="margin-left: 0px;">
<ul><li>При необходимости можно ввести банк, нажав <strong>Создать</strong>. Заполните необходимые <a href="Catalog.КлассификаторБанков.Form.ФормаЭлемента/Help">параметры</a>.</li>
<li>В приложении в Интернете классификатор заполняется автоматически.</li></ul></div>
<h3 style="MARGIN-LEFT: 0px">См. также:</h3>
<ul><li>
<div style="MARGIN-LEFT: 0px"><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>
@@ -196,10 +196,7 @@
<value>Причина отключения</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>10</length>
</stringQualifiers>
<types>EnumRef.ПричиныОтключенияДополнительныхОтчетовИОбработокВМоделиСервиса</types>
</type>
<toolTip>
<key>ru</key>
@@ -970,6 +970,33 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаОчиститьРезультатыПроверки</name>
<id>227</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОчиститьРезультатыПроверкиРасширеннаяПодсказка</name>
<id>228</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОчиститьРезультатыПроверки</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
@@ -1138,6 +1165,24 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ОчиститьРезультатыПроверки</name>
<title>
<key>ru</key>
<value>Очистить результаты проверки</value>
</title>
<id>3</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОчиститьРезультатыПроверки</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel>
<cmiFragmentRecord>
@@ -145,6 +145,13 @@
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьРезультатыПроверки(Команда)
ОчиститьРезультатыПроверкиНаСервере();
Сообщение = НСтр("ru = 'Результаты предыдущих проверок успешно очищены.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(Сообщение);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -183,7 +190,7 @@
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПроверкуЗавершение(Результат, ДополнительныеПараметры) Экспорт
@@ -360,6 +367,15 @@
Форма.ПутьДоПроцедурыОбработчика = ?(МетаданныеТекущейПроверки = Неопределено, НСтр("ru = 'Не задан обработчик'"), МетаданныеТекущейПроверки.ОбработчикПроверки);
КонецПроцедуры
&НаСервере
Процедура ОчиститьРезультатыПроверкиНаСервере()
НаборЗаписей = РегистрыСведений.РезультатыПроверкиУчета.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ПравилоПроверки.Установить(Объект.Ссылка);
НаборЗаписей.Записать(Истина);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтандартныеНастройкиНаКлиенте(Ответ, ПараметрыВыполнения) Экспорт
@@ -491,6 +507,7 @@
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -148,7 +148,11 @@
Элемент.КраткоеПредставление = НСтр("ru = '000000001'");
Элемент.ТипыОсновногоОбъектаАдресации = ПланыВидовХарактеристик.ОбъектыАдресацииЗадач.ВсеОбъектыАдресации;
БизнесПроцессыИЗадачиПереопределяемый.ПриНачальномЗаполненииРолейИсполнителей(КодыЯзыков, Элементы);
Элемент.Назначение = ТабличныеЧасти.Назначение.Скопировать();
ЭлементТЧ = Элемент.Назначение.Добавить();
ЭлементТЧ.ТипПользователей = Справочники.Пользователи.ПустаяСсылка();
БизнесПроцессыИЗадачиПереопределяемый.ПриНачальномЗаполненииРолейИсполнителей(КодыЯзыков, Элементы, ТабличныеЧасти);
КонецПроцедуры
@@ -0,0 +1 @@
<!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>При изменении настроек уже введенной персональной учетной записи программа просит ввести пароль. Это сделано для того, чтобы никто (даже администратор) не мог получить доступ к персональной почте.</body></html>
@@ -1,57 +1,82 @@
<!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 class="">
<p>Описание свойств учетной записи электронной почты.</p>
<p>При вводе учетной записи большинство параметров проставляется программой по умолчанию в зависимости от настроек почтовых серверов учетной записи электронной почты.</p>
<p>Для системных <a href="Catalog.УчетныеЗаписиЭлектроннойПочты/Help">учетных записей</a> рекомендуется запомнить пароль, для того чтобы программа могла рассылать сообщения от такой учетной записи без участия пользователя. Тем не менее, решение о хранении паролей в информационной базе принимается в каждом случае индивидуально.</p>
<h3>Основные сведения</h3>
<ul><li>
<div>Введите <strong>Наименование</strong> учетной записи. Необходимо сформулировать наименование так, чтобы оно кратко характеризовало учетную запись, отражало назначение данной учетной записи или ее владельца, например, "Служба техподдержки". Именно наименование будет появляться в различных списках.</div>
</li><li>
</li>
<li>
<div>Введите <strong>Адрес электронной почты</strong> учетной записи в формате <strong>User@Server.net</strong>. </div>
</li><li>
</li>
<li>
<div>Укажите <strong>Имя отправителя писем</strong> - имя владельца учетной записи, которое будет указываться в корреспонденции, при этом оно может отличаться от имени пользователя в программе, например, <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a> "Администратор", а имя его "Иван Иванович".</div></li></ul><h3>Использование учетной записи</h3>
<ul><li>
<div>Укажите, как использовать учетную запись:</div>
<ul><li>
<div>Включите флажок <strong>Для отправки писем</strong>;</div>
</li><li>
<div>Включите флажок <strong>Для получения писем</strong>.</div></li></ul></li><li>
</li>
<li>
<div>Включите флажок <strong>Для получения писем</strong>.</div></li></ul></li>
<li>
<div>Укажите, для кого учетная запись:</div>
<ul><li>
<div><strong>Для всех</strong>;</div>
</li><li>
</li>
<li>
<div><strong>Только для</strong> (укажите имя <a name="СтандартныеПодсистемы.Пользователи"></a><a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>, выбрав его из <a href="Catalog.Пользователи/Help">списка</a>).</div></li></ul></li></ul><h3>Настройки подключения</h3>
<p>Зависят от настроек почтового сервера.</p>
<p>Выберите <strong>Тип учетной записи</strong>:</p>
<ul><li><a href="#imap">IMAP</a>;
</li><li><a href="#pop">POP</a>.</li></ul><p>В зависимости от выбранного типа учетной записи заполните остальные поля.</p>
</li>
<li><a href="#pop">POP</a>.</li></ul><p>В зависимости от выбранного типа учетной записи заполните остальные поля.</p>
<h3><a name="#imap">Настройки сервера IMAP</a></h3>
<ul><li>Введите <strong>Логин</strong> учетной записи в формате <strong>User@Server.net</strong>. и <strong>Пароль</strong> учетной записи.
</li><li>Укажите <strong>Сервер IMAP</strong>, например, <strong>imap.Server.net</strong>, <strong>Порт</strong>, например, <strong>993</strong>.
</li>
<li>Укажите <strong>Сервер IMAP</strong>, например, <strong>imap.Server.net</strong>, <strong>Порт</strong>, например, <strong>993</strong>.
<ul><li>С помощью переключателя укажите, когда будет производиться <strong>Шифрование</strong>:
<ul><li><strong>Авто</strong>;
</li><li><strong>Всегда (SSL)</strong>.</li></ul></li></ul></li><li>Укажите <strong>Сервер SMTP</strong>, например, <strong>smtp.Server.net</strong>, <strong>Порт</strong>, например, <strong>465</strong>.
</li>
<li><strong>Всегда (SSL)</strong>.</li></ul></li></ul></li>
<li>Укажите <strong>Сервер SMTP</strong>, например, <strong>smtp.Server.net</strong>, <strong>Порт</strong>, например, <strong>465</strong>.
<ul><li>С помощью переключателя укажите, когда будет производиться <strong>Шифрование</strong>:
<ul><li><strong>Авто</strong>;
</li><li><strong>Всегда (SSL)</strong>.</li></ul></li></ul></li><li>При необходимости включите флажок <strong>При отправке писем требуется авторизация на сервере исходящей почты (SMTP)</strong>.</li></ul><h3><a name="#pop">Настройки сервера POP</a> </h3>
</li>
<li><strong>Всегда (SSL)</strong>.</li></ul></li></ul></li>
<li>При необходимости включите флажок <strong>При отправке писем требуется авторизация на сервере исходящей почты (SMTP)</strong>.</li></ul><h3><a name="#pop">Настройки сервера POP</a> </h3>
<ul><li>Укажите <strong>Логин</strong> учетной записи в формате <strong>User@Server.net</strong>, введите <strong>Пароль</strong> учетной записи.
</li><li>Включите флажок <strong>Оставлять копии писем на сервере</strong>, для того чтобы программа не удалила письма в папке "Входящие" почтового ящика электронной почты. По умолчанию флажок отключен, в этом случае все письма после получения будут удалены с почтового сервера. После этого становится доступным флажок:
<ul><li>Определите срок хранения писем на почтовом сервере с помощью флажка <strong>Удалять письма с сервера через</strong> - например, через "10 дней".</li></ul></li><li>Укажите <strong>Сервер POP</strong>, например, <strong>pop.Server.net</strong>, укажите <strong>Порт</strong>, например, <strong>995</strong>.
</li>
<li>Включите флажок <strong>Оставлять копии писем на сервере</strong>, для того чтобы программа не удалила письма в папке "Входящие" почтового ящика электронной почты. По умолчанию флажок отключен, в этом случае все письма после получения будут удалены с почтового сервера. После этого становится доступным флажок:
<ul><li>Определите срок хранения писем на почтовом сервере с помощью флажка <strong>Удалять письма с сервера через</strong> - например, через "10 дней".</li></ul></li>
<li>Укажите <strong>Сервер POP</strong>, например, <strong>pop.Server.net</strong>, укажите <strong>Порт</strong>, например, <strong>995</strong>.
<ul><li>Выберите, когда производить <strong>Шифрование</strong>:
<ul><li>
<div><strong>Авто</strong>; </div>
</li><li>
<p><strong>Всегда (SSL)</strong>.</p></li></ul></li></ul></li><li>
</li>
<li>
<p><strong>Всегда (SSL)</strong>.</p></li></ul></li></ul></li>
<li>
<p>Укажите <strong>Сервер SMTP</strong>, например, <strong>smtp.Server.net</strong>, <strong>Порт</strong>, например, <strong>465</strong>. </p>
</li><li>
</li>
<li>
<p>С помощью переключателя укажите, когда будет производиться <strong>Шифрование</strong>: </p>
<ul><li><strong>Авто</strong>;
</li><li><strong>Всегда (SSL)</strong>.</li></ul></li><li><strong>При необходимости включите флажок Отправлять скрытые копии писем на этот адрес</strong>.
</li><li>При необходимости включите флажок <strong>При отправке писем требуется авторизация</strong>, выберите с помощью переключателя:
</li>
<li><strong>Всегда (SSL)</strong>.</li></ul></li>
<li><strong>При необходимости включите флажок Отправлять скрытые копии писем на этот адрес</strong>.
</li>
<li>При необходимости включите флажок <strong>При отправке писем требуется авторизация</strong>, выберите с помощью переключателя:
<ul><li><strong>на сервере исходящей почты (SMTP)</strong>;
</li><li><strong>на сервере входящей почты (POP)</strong>.</li></ul></li></ul><h3>Проверка настроек</h3>
</li>
<li><strong>на сервере входящей почты (POP)</strong>.</li></ul></li></ul><h3>Проверка настроек</h3>
<ul><li>
<p>Нажмите <strong>Проверить настройки</strong> для проверки введенных параметров учетной записи.</p>
</li><li>
<p>Программа отправляет стандартное почтовое сообщение и проверяет возможность соединения с сервером входящих почтовых сообщений (если учетная запись используется для получения почты). Также можно воспользоваться одноименной командой меню <strong>Еще</strong>.</p></li></ul><h3>См. также:</h3>
</li>
<li>
<p>Программа отправляет стандартное почтовое сообщение и проверяет возможность соединения с сервером входящих почтовых сообщений (если учетная запись используется для получения почты). Также можно воспользоваться одноименной командой меню <strong>Еще</strong>.</p></li></ul><h3>Изменение персональной учетной записи</h3>
<p></p>
<ul><li>В программе предусмотрена возможность вводить общие и персональные учетные записи электронной почты.</li>
<li>При изменении настроек уже введенной персональной учетной записи электронной почты программа просит ввести пароль. Это сделано для того, чтобы никто (даже администратор) не мог получить доступ к персональной почте.</li></ul><p></p>
<h3>См. также:</h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>
@@ -588,6 +588,11 @@
<key>ru</key>
<value>Проверка доступа к учетной записи</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
@@ -387,6 +387,19 @@
ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ЗависимостиРеквизитовВидСравнения.Имя);
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗависимостиРеквизитов.Условие");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = "Равно";
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Равно'"));
//
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ЗависимостиРеквизитовВидСравнения.Имя);
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗависимостиРеквизитов.Условие");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
@@ -400,6 +413,19 @@
ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ЗависимостиРеквизитовВидСравнения.Имя);
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗависимостиРеквизитов.Условие");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = "Заполнено";
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Заполнено'"));
//
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ЗависимостиРеквизитовВидСравнения.Имя);
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗависимостиРеквизитов.Условие");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
@@ -2436,6 +2436,14 @@
ПереданныеПараметрыФормы.Вставить("Перетаскивание", Ложь);
ЗаполнитьЗначенияСвойств(ПереданныеПараметрыФормы, Параметры);
ВладелецЗначений = ПереданныеПараметрыФормы.ВладелецДополнительныхЗначений;
Если ЗначениеЗаполнено(ВладелецЗначений) Тогда
ВладелецЗначений = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВладелецЗначений, "ВладелецДополнительныхЗначений");
Если ЗначениеЗаполнено(ВладелецЗначений) Тогда
ПереданныеПараметрыФормы.ВладелецДополнительныхЗначений = ВладелецЗначений;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
@@ -101,7 +101,7 @@
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование",
"ru='Все объекты адресации'", КодыЯзыков); // @НСтр
БизнесПроцессыИЗадачиПереопределяемый.ПриНачальномЗаполненииОбъектовАдресацииЗадач(КодыЯзыков, Элементы);
БизнесПроцессыИЗадачиПереопределяемый.ПриНачальномЗаполненииОбъектовАдресацииЗадач(КодыЯзыков, Элементы, ТабличныеЧасти);
КонецПроцедуры
@@ -87,6 +87,9 @@
Элементы.КнопкаОтправитьВсеДействия.КнопкаПоУмолчанию = Истина;
Элементы.Справка.ТолькоВоВсехДействиях= Истина;
Элементы.КнопкаИзменитьМакет.Видимость = Ложь;
Элементы.ФлажокПодписьИПечать.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто;
Элементы.НастройкаКоличестваКопий.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Элементы.Переместить(Элементы.КомандыПоказателей, Элементы.КомандыПоказателей.Родитель, Элементы.Показатель);
КонецЕсли;
Если УправлениеПечатью.НастройкиПечати().СкрыватьПодписиИПечатиДляРедактирования Тогда
@@ -534,7 +534,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>РезультатыПоиска</segments>
<segments>РезультатыПоискаПредставление</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
@@ -642,10 +642,10 @@
</edit>
</attributes>
<attributes>
<name>РезультатыПоиска</name>
<name>РезультатыПоискаПредставление</name>
<title>
<key>ru</key>
<value>Результаты поиска</value>
<value>Результаты поиска представление</value>
</title>
<id>14</id>
<valueType>
@@ -706,6 +706,136 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СостояниеПоиска</name>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ИскатьВРазделах</name>
<id>4</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ОбластиПоиска</name>
<id>5</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType/>
</extInfo>
</attributes>
<attributes>
<name>ТекущаяПозиция</name>
<id>8</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>Количество</name>
<id>9</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПолноеКоличество</name>
<id>10</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>КодОшибки</name>
<id>11</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ОписаниеОшибки</name>
<id>12</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>РезультатыПоиска</name>
<id>15</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ВыполнитьПоиск</name>
<title>
@@ -791,6 +921,19 @@
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>ОбластиПоиска</name>
<valueType>
<types>ValueList</types>
</valueType>
</parameters>
<parameters>
<name>ИскатьВРазделах</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -6,6 +6,12 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОписаниеПеременных
&НаКлиенте
Перем НаправлениеПоискаЗначение;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -15,43 +21,17 @@
Возврат;
КонецЕсли;
КонтейнерСостояний = Новый Структура;
КонтейнерСостояний.Вставить("СостояниеПоиска", ПолнотекстовыйПоискСервер.СостояниеПолнотекстовогоПоиска());
// Возможные значения:
// "ПоискРазрешен"
// "ВыполняетсяОбновлениеИндекса"
// "ВыполняетсяСлияниеИндекса"
// "ТребуетсяОбновлениеИндекса"
// "ОшибкаНастройкиПоиска"
// "ПоискЗапрещен".
КонтейнерСостояний.Вставить("ИскатьВРазделах", Ложь);
КонтейнерСостояний.Вставить("ОбластиПоиска", Новый СписокЗначений); // Идентификаторы объектов метаданных.
КонтейнерСостояний.Вставить("ТекущаяПозиция", 0);
КонтейнерСостояний.Вставить("Количество", 0);
КонтейнерСостояний.Вставить("ПолноеКоличество", 0);
КонтейнерСостояний.Вставить("КодОшибки", "");
// Возможные значения:
// "ОшибкаПоиска"
// "СлишкомМногоРезультатов"
// "НичегоНеНайдено"
КонтейнерСостояний.Вставить("ОписаниеОшибки", "");
КонтейнерСостояний.Вставить("РезультатыПоиска", Новый Массив); // см. ВыполнитьПолнотекстовыйПоиск.
КонтейнерСостояний.Вставить("ИсторияПоиска", Новый Массив); // Список поисковых фраз.
ЗагрузитьНастройкиИИсториюПоиска(КонтейнерСостояний);
СостояниеПоиска = ПолнотекстовыйПоискСервер.СостояниеПолнотекстовогоПоиска();
ЗагрузитьНастройкиИИсториюПоиска();
Если Не ПустаяСтрока(Параметры.ПереданнаяСтрокаПоиска) Тогда
СтрокаПоиска = Параметры.ПереданнаяСтрокаПоиска;
ПриВыполненииПоискаНаСервере(КонтейнерСостояний, СтрокаПоиска);
ПриВыполненииПоискаНаСервере(СтрокаПоиска);
Иначе
ОбновитьФорму(Новый Массив);
КонецЕсли;
ОбновитьИсториюПоиска(Элементы.СтрокаПоиска, КонтейнерСостояний);
ОбластиПоискаПредставление = ПредставлениеОбластиПоиска(КонтейнерСостояний);
ОбновитьДоступностьКнопокНавигации(Элементы.Следующие, Элементы.Предыдущие, КонтейнерСостояний);
ИнформацияОНайденномПредставление = ПредставлениеИнформацииОНайденном(КонтейнерСостояний);
РезультатыПоиска = СформироватьРезультатыПоиска(СтрокаПоиска, КонтейнерСостояний);
СостояниеПоискаПредставление = ПредставлениеСостоянияПоиска(КонтейнерСостояний);
ОбновитьВидимостьСостояниеПоиска(КонтейнерСостояний);
ОбновитьПредставлениеОбластиПоиска();
КонецПроцедуры
@@ -74,7 +54,6 @@
СтандартнаяОбработка = Ложь;
// Обход ошибки платформы.
#Если ВебКлиент Тогда
Если Элементы.СтрокаПоиска.СписокВыбора.Количество() = 1 Тогда
ВыбранноеЗначение = Элемент.ТекстРедактирования;
@@ -91,9 +70,6 @@
СтандартнаяОбработка = Ложь;
ОбластиПоиска = КонтейнерСостояний.ОбластиПоиска;
ИскатьВРазделах = КонтейнерСостояний.ИскатьВРазделах;
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ОбластиПоиска", ОбластиПоиска);
ПараметрыОткрытия.Вставить("ИскатьВРазделах", ИскатьВРазделах);
@@ -165,19 +141,17 @@
Процедура ПриУстановкеОбластиПоиска(НастройкиОбластиПоиска)
СохранитьНастройкиПоиска(НастройкиОбластиПоиска.ИскатьВРазделах, НастройкиОбластиПоиска.ОбластиПоиска);
ЗаполнитьЗначенияСвойств(КонтейнерСостояний, НастройкиОбластиПоиска,
"ОбластиПоиска, ИскатьВРазделах");
ОбластиПоискаПредставление = ПредставлениеОбластиПоиска(КонтейнерСостояний);
ОбластиПоиска = НастройкиОбластиПоиска.ОбластиПоиска;
ИскатьВРазделах = НастройкиОбластиПоиска.ИскатьВРазделах;
ОбновитьПредставлениеОбластиПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ПриВыполненииПоиска(НаправлениеПоиска)
Процедура ПриВыполненииПоиска(Знач НаправлениеПоиска)
Если ПустаяСтрока(СтрокаПоиска) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Введите, что нужно найти'"));
ПоказатьПредупреждение(, НСтр("ru = 'Введите, что нужно найти.'"));
Возврат;
КонецЕсли;
@@ -187,44 +161,42 @@
Возврат;
КонецЕсли;
ПриВыполненииПоискаНаСервере(КонтейнерСостояний, СтрокаПоиска, НаправлениеПоиска);
ПодключитьОбработчикОжидания("ПослеВыполненияПоиска", 0.1, Истина);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПриВыполненииПоискаНаСервере(КонтейнерСостояний, Знач СтрокаПоиска, НаправлениеПоиска = "ПерваяЧасть")
СохранитьСтрокуПоискаВИстории(СтрокаПоиска, КонтейнерСостояний.ИсторияПоиска);
ПараметрыПоиска = ПолнотекстовыйПоискСервер.ПараметрыПоиска();
ЗаполнитьЗначенияСвойств(ПараметрыПоиска, КонтейнерСостояний,
"ТекущаяПозиция, ИскатьВРазделах, ОбластиПоиска");
ПараметрыПоиска.СтрокаПоиска = СтрокаПоиска;
ПараметрыПоиска.НаправлениеПоиска = НаправлениеПоиска;
РезультатПоиска = ПолнотекстовыйПоискСервер.ВыполнитьПолнотекстовыйПоиск(ПараметрыПоиска);
ЗаполнитьЗначенияСвойств(КонтейнерСостояний, РезультатПоиска,
"ТекущаяПозиция, Количество, ПолноеКоличество, КодОшибки, ОписаниеОшибки, РезультатыПоиска");
КонтейнерСостояний.СостояниеПоиска = ПолнотекстовыйПоискСервер.СостояниеПолнотекстовогоПоиска();
НаправлениеПоискаЗначение = НаправлениеПоиска;
ПодключитьОбработчикОжидания("ПриВыполненииПоискаЗавершение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыполненияПоиска()
Процедура ПриВыполненииПоискаЗавершение()
ОбновитьИсториюПоиска(Элементы.СтрокаПоиска, КонтейнерСостояний);
ОбновитьДоступностьКнопокНавигации(Элементы.Следующие, Элементы.Предыдущие, КонтейнерСостояний);
ИнформацияОНайденномПредставление = ПредставлениеИнформацииОНайденном(КонтейнерСостояний);
РезультатыПоиска = СформироватьРезультатыПоиска(СтрокаПоиска, КонтейнерСостояний);
СостояниеПоискаПредставление = ПредставлениеСостоянияПоиска(КонтейнерСостояний);
ОбновитьВидимостьСостояниеПоиска(КонтейнерСостояний);
ПриВыполненииПоискаНаСервере(СтрокаПоиска, НаправлениеПоискаЗначение);
КонецПроцедуры
&НаСервере
Процедура ПриВыполненииПоискаНаСервере(Знач СтрокаПоиска, Знач НаправлениеПоиска = "ПерваяЧасть")
СохранитьСтрокуПоискаВИстории(СтрокаПоиска);
ПараметрыПоиска = ПолнотекстовыйПоискСервер.ПараметрыПоиска();
ПараметрыПоиска.ТекущаяПозиция = ТекущаяПозиция;
ПараметрыПоиска.ИскатьВРазделах = ИскатьВРазделах;
ПараметрыПоиска.ОбластиПоиска = ОбластиПоиска;
ПараметрыПоиска.СтрокаПоиска = СтрокаПоиска;
ПараметрыПоиска.НаправлениеПоиска = НаправлениеПоиска;
РезультатПоиска = ПолнотекстовыйПоискСервер.ВыполнитьПолнотекстовыйПоиск(ПараметрыПоиска);
ТекущаяПозиция = РезультатПоиска.ТекущаяПозиция;
Количество = РезультатПоиска.Количество;
ПолноеКоличество = РезультатПоиска.ПолноеКоличество;
КодОшибки = РезультатПоиска.КодОшибки;
ОписаниеОшибки = РезультатПоиска.ОписаниеОшибки;
СостояниеПоиска = ПолнотекстовыйПоискСервер.СостояниеПолнотекстовогоПоиска();
ОбновитьФорму(РезультатПоиска.РезультатыПоиска);
КонецПроцедуры
&НаКлиенте
Процедура ПослеОткрытияНавигационнойСсылки(ПриложениеЗапущено, Контекст) Экспорт
@@ -238,101 +210,78 @@
#Область Представления
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьИсториюПоиска(Элемент, КонтейнерСостояний)
ИсторияПоиска = КонтейнерСостояний.ИсторияПоиска;
Если ТипЗнч(ИсторияПоиска) = Тип("Массив") Тогда
Элемент.СписокВыбора.ЗагрузитьЗначения(ИсторияПоиска);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПредставлениеОбластиПоиска(КонтейнерСостояний)
ИскатьВРазделах = КонтейнерСостояний.ИскатьВРазделах;
ОбластиПоиска = КонтейнерСостояний.ОбластиПоиска;
УказаныОбластиПоиска = ОбластиПоиска.Количество() > 0;
Если Не ИскатьВРазделах Или Не УказаныОбластиПоиска Тогда
Возврат НСтр("ru = 'Везде'");
КонецЕсли;
Если ОбластиПоиска.Количество() < 5 Тогда
ПредставлениеОбластиПоиска = "";
Для каждого Область Из ОбластиПоиска Цикл
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Область.Значение);
ПредставлениеОбластиПоиска = ПредставлениеОбластиПоиска + ОбщегоНазначения.ПредставлениеСписка(ОбъектМетаданных) + ", ";
КонецЦикла;
Возврат Лев(ПредставлениеОбластиПоиска, СтрДлина(ПредставлениеОбластиПоиска) - 2);
КонецЕсли;
Возврат НСтр("ru = 'В выбранных разделах'");
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьДоступностьКнопокНавигации(ЭлементКнопкиСледующие, ЭлементКнопкиПредыдущие, КонтейнерСостояний)
Количество = КонтейнерСостояний.Количество;
&НаСервере
Процедура ОбновитьФорму(РезультатыПоиска)
Если Количество = 0 Тогда
ЭлементКнопкиСледующие.Доступность = Ложь;
ЭлементКнопкиПредыдущие.Доступность = Ложь;
Элементы.Следующие.Доступность = Ложь;
Элементы.Предыдущие.Доступность = Ложь;
Иначе
ПолноеКоличество = КонтейнерСостояний.ПолноеКоличество;
ТекущаяПозиция = КонтейнерСостояний.ТекущаяПозиция;
ЭлементКнопкиСледующие.Доступность = (ПолноеКоличество - ТекущаяПозиция) > Количество;
ЭлементКнопкиПредыдущие.Доступность = (ТекущаяПозиция > 0);
Элементы.Следующие.Доступность = (ПолноеКоличество - ТекущаяПозиция) > Количество;
Элементы.Предыдущие.Доступность = (ТекущаяПозиция > 0);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПредставлениеИнформацииОНайденном(КонтейнерСостояний)
Количество = КонтейнерСостояний.Количество;
Если Количество <> 0 Тогда
ТекущаяПозиция = КонтейнерСостояний.ТекущаяПозиция;
ПолноеКоличество = КонтейнерСостояний.ПолноеКоличество;
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ИнформацияОНайденномПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Показаны %1 - %2 из %3'"),
Формат(ТекущаяПозиция + 1, "ЧН=0; ЧГ="),
Формат(ТекущаяПозиция + Количество, "ЧН=0; ЧГ="),
Формат(ПолноеКоличество, "ЧН=0; ЧГ="));
Иначе
ИнформацияОНайденномПредставление = "";
КонецЕсли;
Возврат "";
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция СформироватьРезультатыПоиска(СтрокаПоиска, КонтейнерСостояний)
КодОшибки = КонтейнерСостояний.КодОшибки;
Если ПустаяСтрока(КодОшибки) Тогда
HTMLСтраница = НоваяHTMLСтраницаРезультата(КонтейнерСостояний);
РезультатыПоискаПредставление = НоваяHTMLСтраницаРезультата(РезультатыПоиска);
Иначе
HTMLСтраница = НоваяHTMLСтраницаОшибки(КонтейнерСостояний);
РезультатыПоискаПредставление = НоваяHTMLСтраницаОшибки();
КонецЕсли;
Возврат HTMLСтраница;
Если СостояниеПоиска = "ПоискРазрешен" Тогда
СостояниеПоискаПредставление = "";
ИначеЕсли СостояниеПоиска = "ВыполняетсяОбновлениеИндекса"
Или СостояниеПоиска = "ВыполняетсяСлияниеИндекса"
Или СостояниеПоиска = "ТребуетсяОбновлениеИндекса" Тогда
СостояниеПоискаПредставление = НСтр("ru = 'Результаты поиска могут быть неточными, повторите поиск позднее.'");
ИначеЕсли СостояниеПоиска = "ОшибкаНастройкиПоиска" Тогда
// Для не администратора
СостояниеПоискаПредставление = НСтр("ru = 'Полнотекстовый поиск не настроен, обратитесь к администратору.'");
ИначеЕсли СостояниеПоиска = "ПоискЗапрещен" Тогда
СостояниеПоискаПредставление = НСтр("ru = 'Полнотекстовый поиск отключен.'");
КонецЕсли;
КонецФункции
Элементы.СостояниеПоиска.Видимость = (СостояниеПоиска <> "ПоискРазрешен");
&НаКлиентеНаСервереБезКонтекста
Функция НоваяHTMLСтраницаРезультата(КонтейнерСостояний)
КонецПроцедуры
&НаСервере
Процедура ОбновитьПредставлениеОбластиПоиска()
УказаныОбластиПоиска = ОбластиПоиска.Количество() > 0;
Если Не ИскатьВРазделах Или Не УказаныОбластиПоиска Тогда
ОбластиПоискаПредставление = НСтр("ru = 'Везде'");
Возврат;
КонецЕсли;
Если ОбластиПоиска.Количество() < 5 Тогда
ОбластиПоискаПредставление = "";
Для каждого Область Из ОбластиПоиска Цикл
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Область.Значение);
ОбластиПоискаПредставление = ОбластиПоискаПредставление + ОбщегоНазначения.ПредставлениеСписка(ОбъектМетаданных) + ", ";
КонецЦикла;
ОбластиПоискаПредставление = Лев(ОбластиПоискаПредставление, СтрДлина(ОбластиПоискаПредставление) - 2);
Иначе
ОбластиПоискаПредставление = НСтр("ru = 'В выбранных разделах'");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция НоваяHTMLСтраницаРезультата(РезультатыПоиска)
ШаблонСтраницы =
"<html>
@@ -405,9 +354,6 @@
| %ОписаниеHTML%
| </li>";
РезультатыПоиска = КонтейнерСостояний.РезультатыПоиска;
ТекущаяПозиция = КонтейнерСостояний.ТекущаяПозиция;
Строки = "";
Для каждого СтрокаРезультатаПоиска Из РезультатыПоиска Цикл
@@ -436,8 +382,8 @@
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция НоваяHTMLСтраницаОшибки(КонтейнерСостояний)
&НаСервере
Функция НоваяHTMLСтраницаОшибки()
ШаблонСтраницы =
"<html>
@@ -511,11 +457,6 @@
|</ul>
|<div class ""presentation""><a href=""v8help://1cv8/QueryLanguageFullTextSearchInData"">Полное описание формата поисковых выражений</a></div>'");
ОписаниеОшибки = КонтейнерСостояний.ОписаниеОшибки;
КодОшибки = КонтейнерСостояний.КодОшибки;
ИскатьВРазделах = КонтейнерСостояний.ИскатьВРазделах;
ОбластиПоиска = КонтейнерСостояний.ОбластиПоиска;
УказаныОбластиПоиска = ОбластиПоиска.Количество() > 0;
РекомендацияОбластиПоискаHTML = "";
@@ -551,47 +492,18 @@
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПредставлениеСостоянияПоиска(КонтейнерСостояний)
СостояниеПоиска = КонтейнерСостояний.СостояниеПоиска;
Если СостояниеПоиска = "ПоискРазрешен" Тогда
Представление = "";
ИначеЕсли СостояниеПоиска = "ВыполняетсяОбновлениеИндекса"
Или СостояниеПоиска = "ВыполняетсяСлияниеИндекса"
Или СостояниеПоиска = "ТребуетсяОбновлениеИндекса" Тогда
Представление = НСтр("ru = 'Результаты поиска могут быть неточными, повторите поиск позднее.'");
ИначеЕсли СостояниеПоиска = "ОшибкаНастройкиПоиска" Тогда
// Для не администратора
Представление = НСтр("ru = 'Полнотекстовый поиск не настроен, обратитесь к администратору.'");
ИначеЕсли СостояниеПоиска = "ПоискЗапрещен" Тогда
Представление = НСтр("ru = 'Полнотекстовый поиск отключен.'");
КонецЕсли;
Возврат Представление;
КонецФункции
&НаСервере
Процедура ОбновитьВидимостьСостояниеПоиска(КонтейнерСостояний)
СостояниеПоиска = КонтейнерСостояний.СостояниеПоиска;
Элементы.СостояниеПоиска.Видимость = (СостояниеПоиска <> "ПоискРазрешен");
КонецПроцедуры
#КонецОбласти
#Область БизнесЛогика
#Область ИсторияНастройкиПоиска
&НаСервереБезКонтекста
Процедура ЗагрузитьНастройкиИИсториюПоиска(НастройкиПоиска)
&НаСервере
Процедура ЗагрузитьНастройкиИИсториюПоиска()
ИсторияПоиска = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПолнотекстовыйПоискСтрокиПолнотекстовогоПоиска", "");
Если ТипЗнч(ИсторияПоиска) = Тип("Массив") Тогда
Элементы.СтрокаПоиска.СписокВыбора.ЗагрузитьЗначения(ИсторияПоиска);
КонецЕсли;
СохраненныеНастройкиПоиска = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиПолнотекстовогоПоиска", "");
ИскатьВРазделах = Неопределено;
@@ -602,33 +514,28 @@
СохраненныеНастройкиПоиска.Свойство("ОбластиПоиска", ОбластиПоиска);
КонецЕсли;
НастройкиПоиска.ИскатьВРазделах = ?(ИскатьВРазделах = Неопределено, Ложь, ИскатьВРазделах);
НастройкиПоиска.ОбластиПоиска = ?(ОбластиПоиска = Неопределено, Новый СписокЗначений, ОбластиПоиска);
НастройкиПоиска.ИсторияПоиска = ?(ИсторияПоиска = Неопределено, Новый Массив, ИсторияПоиска);
ИскатьВРазделах = ?(ИскатьВРазделах = Неопределено, Ложь, ИскатьВРазделах);
ОбластиПоиска = ?(ОбластиПоиска = Неопределено, Новый СписокЗначений, ОбластиПоиска);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СохранитьСтрокуПоискаВИстории(СтрокаПоиска, ИсторияПоиска)
&НаСервере
Процедура СохранитьСтрокуПоискаВИстории(СтрокаПоиска)
ИсторияПоиска = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПолнотекстовыйПоискСтрокиПолнотекстовогоПоиска", "");
СохраненнаяСтрока = ИсторияПоиска.Найти(СтрокаПоиска);
Если СохраненнаяСтрока <> Неопределено Тогда
ИсторияПоиска.Удалить(СохраненнаяСтрока);
КонецЕсли;
ИсторияПоиска.Вставить(0, СтрокаПоиска);
КоличествоСтрок = ИсторияПоиска.Количество();
Если КоличествоСтрок > 20 Тогда
ИсторияПоиска.Удалить(КоличествоСтрок - 1);
КонецЕсли;
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
"ПолнотекстовыйПоискСтрокиПолнотекстовогоПоиска",
"",
ИсторияПоиска);
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ПолнотекстовыйПоискСтрокиПолнотекстовогоПоиска", "", ИсторияПоиска);
Элементы.СтрокаПоиска.СписокВыбора.ЗагрузитьЗначения(ИсторияПоиска);
КонецПроцедуры
@@ -106,8 +106,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника РолиИсполнителей.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииРолейИсполнителей(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииРолейИсполнителей(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
@@ -134,8 +141,15 @@
// Параметры:
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов объекта ПВХ ОбъектыАдресацииЗада.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииОбъектовАдресацииЗадач(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииОбъектовАдресацииЗадач(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
@@ -1035,6 +1035,17 @@
КонецПроцедуры
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриРегистрацииОбработчиковВыгрузкиДанных.
Процедура ПриРегистрацииОбработчиковВыгрузкиДанных(ТаблицаОбработчиков) Экспорт
Обработчик = ТаблицаОбработчиков.Добавить();
Обработчик.ОбъектМетаданных = Метаданные.РегистрыСведений.ВерсииОбъектов;
Обработчик.Обработчик = РегистрыСведений.ВерсииОбъектов;
Обработчик.ПередВыгрузкойОбъекта = Истина;
Обработчик.Версия = "1.0.0.1";
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -80,6 +80,12 @@
КонецПроцедуры
Функция ЭтоКомпонентаИзХранилища(Местоположение) Экспорт
Возврат СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ОбщиеВнешниеКомпоненты.ХранилищеКомпоненты");
КонецФункции
#Область ОбработчикиСобытийПодсистемКонфигурации
// См. ГрупповоеИзменениеОбъектовПереопределяемый.ПриОпределенииОбъектовСРедактируемымиРеквизитами.
@@ -38,7 +38,7 @@
КонецФункции
// Подключает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
// Подключает компоненту, выполненную по технологии Native API или COM на клиентском компьютере.
// Для веб-клиента предлагается диалог, подсказывающий пользователю действия по установке.
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
//
@@ -53,8 +53,8 @@
// ** ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// Версия - Строка - (необязательный) версия компоненты.
// ПараметрыПодключения - Структура - (необязательный) см. функцию ПараметрыПодключения.
// Версия - Строка - версия компоненты.
// ПараметрыПодключения - Структура - см. функцию ВнешниеКомпонентыКлиент.ПараметрыПодключения.
//
// Пример:
//
@@ -8,6 +8,55 @@
#Область ПрограммныйИнтерфейс
// Параметры для вызова ВнешниеКомпонентыСервер.ПодключитьКомпоненту.
//
// Возвращаемое значение:
// Структура - со свойствами:
// * ИдентификаторыСозданияОбъектов - Массив Из Строка - идентификаторы экземпляров модуля объекта,
// используется только для компонент, у которых есть несколько идентификаторов создания объектов.
// При задании параметр Идентификатор будет использоваться только для определения компоненты.
//
Функция ПараметрыПодключения() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("ИдентификаторыСозданияОбъектов", Новый Массив);
Возврат Параметры;
КонецФункции
// Подключает на сервере 1С:Предприятия внешнюю компоненту из хранилища внешних компонент,
// выполненную по технологии Native API или COM.
//
// Параметры:
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// Версия - Строка - версия компоненты.
// ПараметрыПодключения - Структура - см. ВнешниеКомпонентыСервер.ПодключитьКомпоненту.
//
// Возвращаемое значение:
// Структура - результат подключения компоненты:
// * Подключено - Булево - признак подключения;
// * ПодключаемыйМодуль - AddIn - экземпляр объекта внешней компоненты;
// - ФиксированноеСоответствие - экземпляры объектов внешней компоненты,
// указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов;
// ** Ключ - Строка - идентификатор,
// ** Значение - AddIn - экземпляр объекта внешней компоненты.
// * ОписаниеОшибки - Строка - краткое описание ошибки.
//
Функция ПодключитьКомпоненту(Знач Идентификатор, Версия = Неопределено, ПараметрыПодключения = Неопределено) Экспорт
РезультатПроверки = ВнешниеКомпонентыСлужебный.ПроверитьПодключениеКомпоненты(Идентификатор, Версия, ПараметрыПодключения);
Если Не ПустаяСтрока(РезультатПроверки.ОписаниеОшибки) Тогда
Результат = Новый Структура;
Результат.Вставить("Подключено", Ложь);
Результат.Вставить("ПодключаемыйМодуль", Неопределено);
Результат.Вставить("ОписаниеОшибки", РезультатПроверки.ОписаниеОшибки);
Возврат Результат;
КонецЕсли;
Возврат ОбщегоНазначения.ПодключитьКомпонентуПоИдентификатору(РезультатПроверки.Идентификатор, РезультатПроверки.Местоположение);
КонецФункции
#Область ДляВызоваИзДругихПодсистем
// ИнтернетПоддержкаПользователей.ПолучениеВнешнихКомпонент
@@ -244,4 +293,4 @@
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -14,14 +14,10 @@
Если ЗначениеЗаполнено(Версия) Тогда
ПредставлениеКомпоненты = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 (версии %2)'"),
Идентификатор,
Версия);
НСтр("ru = '%1 (версии %2)'"), Идентификатор, Версия);
Иначе
ПредставлениеКомпоненты = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 (последней версии)'"),
Идентификатор,
Версия);
НСтр("ru = '%1 (последней версии)'"), Идентификатор);
КонецЕсли;
Возврат ПредставлениеКомпоненты;
@@ -209,6 +205,23 @@
КонецФункции
Функция ЭтоКомпонентаИзХранилища(Местоположение) Экспорт
Если СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ВнешниеКомпоненты.ХранилищеКомпоненты") Тогда
Возврат Истина;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВнешниеКомпонентыВМоделиСервиса") Тогда
МодульВнешниеКомпонентыВМоделиСервисаСлужебный = ОбщегоНазначения.ОбщийМодуль("ВнешниеКомпонентыВМоделиСервисаСлужебный");
Если МодульВнешниеКомпонентыВМоделиСервисаСлужебный.ЭтоКомпонентаИзХранилища(Местоположение) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции
#Область ОбработчикиСобытийПодсистемКонфигурации
// См. ГрупповоеИзменениеОбъектовПереопределяемый.ПриОпределенииОбъектовСРедактируемымиРеквизитами.
@@ -267,8 +280,84 @@
#Область СлужебныеПроцедурыИФункции
// Проверяет возможность подключения на сервере 1С:Предприятия внешней компоненты из хранилища внешних компонент,
// выполненной по технологии Native API или COM.
//
// Параметры:
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// Версия - Строка - версия компоненты.
// ПараметрыПодключения - Структура - см. ОбщегоНазначения.ПараметрыПодключения.
//
// Возвращаемое значение:
// Местоположение - Строка - краткое описание ошибки.
//
Функция ПроверитьПодключениеКомпоненты(Знач Идентификатор, Знач Версия = Неопределено, Знач ПараметрыПодключения = Неопределено) Экспорт
Если ПараметрыПодключения = Неопределено Тогда
ПараметрыПодключения = ВнешниеКомпонентыСервер.ПараметрыПодключения();
КонецЕсли;
Если ПустаяСтрока(Идентификатор) Тогда
КомпонентаСодержитЕдинственныйКлассОбъектов = (ПараметрыПодключения.ИдентификаторыСозданияОбъектов.Количество() = 0);
Если КомпонентаСодержитЕдинственныйКлассОбъектов Тогда
ВызватьИсключение НСтр("ru = 'Не допустимо одновременно не указывать Идентификатор и ИдентификаторыСозданияОбъектов в ВнешниеКомпонентыСлужебный.ПроверитьПодключениеКомпоненты'");
КонецЕсли;
Идентификатор = СтрСоединить(ПараметрыПодключения.ИдентификаторыСозданияОбъектов, ", ");
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("Местоположение", "");
Результат.Вставить("Идентификатор", Идентификатор);
Результат.Вставить("ОписаниеОшибки", "");
Информация = ВнешниеКомпонентыСлужебныйВызовСервера.ИнформацияОСохраненнойКомпоненте(Идентификатор, Версия);
Если Информация.Состояние = "ОтключенаАдминистратором" Тогда
Результат.ОписаниеОшибки = НСтр("ru = 'Компонента отключена администратором.'");
Возврат Результат;
ИначеЕсли Информация.Состояние = "НеНайдена" Тогда
Результат.ОписаниеОшибки = НСтр("ru = 'Компонента отсутствует в списке разрешенных внешних компонент.'");
Возврат Результат;
ИначеЕсли Не ОперационнаяСистемаПоддерживаетсяКомпонентой(Информация.Реквизиты) Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
Результат.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не предусмотрена работа компоненты в операционной системе %1.'"),
Строка(СистемнаяИнформация.ТипПлатформы));
Возврат Результат;
КонецЕсли;
Если Не ЭтоКомпонентаИзХранилища(Информация.Местоположение) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключить компоненту ""%1"" по причине:
|Указано недопустимое местоположение внешней компоненты ""%2"".'"),
Идентификатор, Информация.Местоположение);
КонецЕсли;
Результат.Местоположение = Информация.Местоположение;
Возврат Результат;
КонецФункции
#Область ИнформацияОСохраненнойКомпоненте
Функция ОперационнаяСистемаПоддерживаетсяКомпонентой(РеквизитыКомпоненты)
СистемнаяИнформация = Новый СистемнаяИнформация;
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда
Возврат РеквизитыКомпоненты.Linux_x86;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда
Возврат РеквизитыКомпоненты.Linux_x86_64;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86_64 Тогда
Возврат РеквизитыКомпоненты.MacOS_x86_64;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда
Возврат РеквизитыКомпоненты.Windows_x86;
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Возврат РеквизитыКомпоненты.Windows_x86_64;
КонецЕсли;
Возврат Ложь;
КонецФункции
Функция ДоступнаЗагрузкаИзФайла()
Возврат Пользователи.ЭтоПолноправныйПользователь(,, Ложь);
@@ -370,7 +459,7 @@
КонецЕсли;
КонецЕсли;
Возврат Результат
Возврат Результат;
КонецФункции
@@ -10,7 +10,18 @@
Функция ЭтоКомпонентаИзХранилища(Местоположение) Экспорт
Возврат СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ВнешниеКомпоненты.ХранилищеКомпоненты");
Если СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ВнешниеКомпоненты.ХранилищеКомпоненты") Тогда
Возврат Истина;
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВнешниеКомпонентыВМоделиСервиса") Тогда
МодульВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент");
Если МодульВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент.ЭтоКомпонентаИзХранилища(Местоположение) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции
@@ -58,7 +69,7 @@
ПоискКомпонентыНаПортале(ОповещениеФормы, Контекст);
Иначе
Результат.ОписаниеОшибки = НСтр("ru = 'Компонента не найдена в хранилище.'");
Результат.ОписаниеОшибки = НСтр("ru = 'Компонента отсутствует в списке разрешенных внешних компонент.'");
ВыполнитьОбработкуОповещения(Оповещение, Результат);
КонецЕсли;
@@ -187,6 +187,11 @@
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриРегистрацииОбработчиковВыгрузкиДанных.
Процедура ПриРегистрацииОбработчиковВыгрузкиДанных(ТаблицаОбработчиков) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
МодульВерсионированиеОбъектов.ПриРегистрацииОбработчиковВыгрузкиДанных(ТаблицаОбработчиков);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.РаботаСФайламиВМоделиСервиса") Тогда
МодульРаботаСФайламиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаСФайламиСлужебныйВМоделиСервиса");
МодульРаботаСФайламиСлужебныйВМоделиСервиса.ПриРегистрацииОбработчиковВыгрузкиДанных(ТаблицаОбработчиков);
@@ -3521,6 +3526,11 @@
МодульОбменДаннымиСервер.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения") Тогда
МодульОбсужденияСлужебный = ОбщегоНазначения.ОбщийМодуль("ОбсужденияСлужебный");
МодульОбсужденияСлужебный.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОтправкаSMS") Тогда
МодульОтправкаSMS = ОбщегоНазначения.ОбщийМодуль("ОтправкаSMS");
МодульОтправкаSMS.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
@@ -14,19 +14,7 @@
//
Функция ЭтоАвтономноеРабочееМесто() Экспорт
УстановитьПривилегированныйРежим(Истина);
Если Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() Тогда
Возврат Константы.ЭтоАвтономноеРабочееМесто.Получить();
Иначе
ГлавныйУзелЭтойИнформационнойБазы = ОбменДаннымиСервер.ГлавныйУзел();
Возврат ГлавныйУзелЭтойИнформационнойБазы <> Неопределено
И ЭтоУзелАвтономногоРабочегоМеста(ГлавныйУзелЭтойИнформационнойБазы);
КонецЕсли;
Возврат РежимАвтономногоРабочегоМеста();
КонецФункции
@@ -67,6 +55,26 @@
#Область СлужебныйПрограммныйИнтерфейс
// См. ОбменДаннымиСервер.ЭтоАвтономноеРабочееМесто.
//
Функция РежимАвтономногоРабочегоМеста() Экспорт
УстановитьПривилегированныйРежим(Истина);
Если Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() Тогда
Возврат Константы.ЭтоАвтономноеРабочееМесто.Получить();
Иначе
ГлавныйУзелЭтойИнформационнойБазы = ОбменДаннымиСервер.ГлавныйУзел();
Возврат ГлавныйУзелЭтойИнформационнойБазы <> Неопределено
И ЭтоУзелАвтономногоРабочегоМеста(ГлавныйУзелЭтойИнформационнойБазы);
КонецЕсли;
КонецФункции
// Возвращает признак использования плана обмена в обмене данными.
// Если план обмена содержит хотя бы один узел кроме предопределенного,
// то считается, что он используется.
@@ -1447,15 +1447,7 @@
//
Функция ЭтоАвтономноеРабочееМесто() Экспорт
УстановитьПривилегированныйРежим(Истина);
Если Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() Тогда
Возврат Константы.ЭтоАвтономноеРабочееМесто.Получить();
КонецЕсли;
ГлавныйУзелЭтойИнформационнойБазы = ГлавныйУзел();
Возврат ГлавныйУзелЭтойИнформационнойБазы <> Неопределено
И ОбменДаннымиПовтИсп.ЭтоУзелАвтономногоРабочегоМеста(ГлавныйУзелЭтойИнформационнойБазы);
Возврат ОбменДаннымиПовтИсп.РежимАвтономногоРабочегоМеста();
КонецФункции
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.196";
Описание.Версия = "3.1.2.202";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -138,4 +138,19 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обработчики событий подсистем конфигурации.
// См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам.
Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
Разрешение = МодульРаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("WSS", "1cdialog.com", 443,
НСтр("ru = 'Сервис 1С:Диалог для системы взаимодействия (тематические обсуждения, переписка и видеозвонки между пользователями программы).'"));
Разрешения = Новый Массив;
Разрешения.Добавить(Разрешение);
ЗапросыРазрешений.Добавить(МодульРаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(Разрешения));
КонецПроцедуры
#КонецОбласти
@@ -1485,12 +1485,7 @@
//
Функция РазделениеВключено() Экспорт
Если ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщийМодуль("РаботаВМоделиСервиса");
Возврат МодульРаботаВМоделиСервиса.РазделениеВключено();
Иначе
Возврат Ложь;
КонецЕсли;
Возврат СтандартныеПодсистемыПовтИсп.РазделениеВключено();
КонецФункции
@@ -1508,12 +1503,7 @@
//
Функция ДоступноИспользованиеРазделенныхДанных() Экспорт
Если ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщийМодуль("РаботаВМоделиСервиса");
Возврат МодульРаботаВМоделиСервиса.ДоступноИспользованиеРазделенныхДанных();
Иначе
Возврат Истина;
КонецЕсли;
Возврат СтандартныеПодсистемыПовтИсп.ДоступноИспользованиеРазделенныхДанных();
КонецФункции
@@ -5311,15 +5301,15 @@
КонецПроцедуры
// Подключает компоненту, выполненную по технологии Native API и COM.
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
// Подключает внешнюю компоненту, выполненную по технологии Native API или COM,
// из макета конфигурации (хранится в виде ZIP-архива).
//
// Параметры:
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// ПолноеИмяМакета - Строка - полное имя макета конфигурации, хранящего ZIP-архив.
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// ПолноеИмяМакета - Строка - полное имя макета конфигурации с ZIP-архивом.
//
// Возвращаемое значение:
// AddIn, Неопределено - экземпляр объекта внешней компоненты или Неопределено, если не удалось создать.
// AddIn, Неопределено - экземпляр объекта внешней компоненты или Неопределено, если не удалось создать.
//
// Пример:
//
@@ -5333,73 +5323,10 @@
//
// ПодключаемыйМодуль = Неопределено;
//
Функция ПодключитьКомпонентуИзМакета(Идентификатор, ПолноеИмяМакета) Экспорт
Функция ПодключитьКомпонентуИзМакета(Знач Идентификатор, Знач ПолноеИмяМакета) Экспорт
ПодключаемыйМодуль = Неопределено;
Если Не МакетСуществует(ПолноеИмяМакета) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на сервере
|из %2
|по причине:
|Подключение на сервере не из макета запрещено'"),
Идентификатор,
ПолноеИмяМакета);
КонецЕсли;
Местоположение = ПолноеИмяМакета;
СимволическоеИмя = Идентификатор + "SymbolicName";
Если ПодключитьВнешнююКомпоненту(Местоположение, СимволическоеИмя) Тогда
Попытка
ПодключаемыйМодуль = Новый("AddIn." + СимволическоеИмя + "." + Идентификатор);
Если ПодключаемыйМодуль = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Оператор Новый вернул Неопределено'");
КонецЕсли;
Исключение
ПодключаемыйМодуль = Неопределено;
ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ПодключаемыйМодуль = Неопределено Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось создать объект внешней компоненты ""%1"", подключенной на сервере
|из макета ""%2"",
|по причине:
|%3'"),
Идентификатор,
Местоположение,
ТекстОшибки);
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Подключение внешней компоненты на сервере'",
КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
ТекстОшибки);
КонецЕсли;
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на сервере
|из макета ""%2""
|по причине:
|Метод ПодключитьВнешнююКомпоненту вернул Ложь.'"),
Идентификатор,
Местоположение);
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Подключение внешней компоненты на сервере'",
КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
ТекстОшибки);
КонецЕсли;
Возврат ПодключаемыйМодуль;
Результат = ПодключитьКомпонентуПоИдентификатору(Идентификатор, ПолноеИмяМакета);
Возврат Результат.ПодключаемыйМодуль;
КонецФункции
@@ -5544,6 +5471,62 @@
Возврат ЗначениеВСтрокуXML(Структура);
КонецФункции
#Область ВнешниеКомпоненты
Функция ПодключитьКомпонентуПоИдентификатору(Знач Идентификатор, Знач Местоположение) Экспорт
Результат = Новый Структура;
Результат.Вставить("Подключено", Ложь);
Результат.Вставить("ПодключаемыйМодуль", Неопределено);
Результат.Вставить("ОписаниеОшибки", "");
Если Не МестоположениеКомпонентыКорректно(Местоположение) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Указан несуществующий макет ""%1"" при подключении внешней компоненты.'"),
Местоположение);
КонецЕсли;
Если Не ПодключитьВнешнююКомпоненту(Местоположение, Идентификатор + "SymbolicName") Тогда
Результат.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на сервере по причине:
|Метод ПодключитьВнешнююКомпоненту вернул Ложь.'"),
Идентификатор);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Подключение внешней компоненты на сервере'", КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, Результат.ОписаниеОшибки);
Возврат Результат;
КонецЕсли;
ПодключаемыйМодуль = Неопределено;
Попытка
ПодключаемыйМодуль = Новый("AddIn." + Идентификатор + "SymbolicName" + "." + Идентификатор);
Если ПодключаемыйМодуль = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Оператор Новый вернул Неопределено'");
КонецЕсли;
Исключение
ПодключаемыйМодуль = Неопределено;
ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ПодключаемыйМодуль = Неопределено Тогда
Результат.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось создать объект внешней компоненты ""%1"", подключенной на сервере, по причине:
|%2'"),
Идентификатор, ТекстОшибки);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Подключение внешней компоненты на сервере'", КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, Результат.ОписаниеОшибки);
Возврат Результат;
КонецЕсли;
Результат.Подключено = Истина;
Результат.ПодключаемыйМодуль = ПодключаемыйМодуль;
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -8347,16 +8330,25 @@
#КонецОбласти
#Область Прочее_ПодключитьКомпонентуИзМакета
#Область ВнешниеКомпоненты
Функция МестоположениеКомпонентыКорректно(Местоположение)
Если МакетСуществует(Местоположение) Тогда
Возврат Истина;
КонецЕсли;
Если ПодсистемаСуществует("СтандартныеПодсистемы.ВнешниеКомпоненты") Тогда
МодульВнешниеКомпонентыСлужебный = ОбщийМодуль("ВнешниеКомпонентыСлужебный");
Если МодульВнешниеКомпонентыСлужебный.ЭтоКомпонентаИзХранилища(Местоположение) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции
// Проверка существования макета по метаданным конфигурации и расширений.
//
// Параметры:
// ПолноеИмяМакета - Строка - полное имя макета.
//
// Возвращаемое значение:
// Булево - признак существования макета.
//
Функция МакетСуществует(ПолноеИмяМакета)
Макет = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМакета);
@@ -67,7 +67,7 @@
НСтр("ru = 'Не удалось подключить внешнюю компоненту на клиенте
|%1
|по причине:
|Не допустимо одновременно не указывать и Идентификатор и ИдентификаторыСозданияОбъектов'"),
|Не допустимо одновременно не указывать Идентификатор и ИдентификаторыСозданияОбъектов'"),
Контекст.Местоположение);
Иначе
// В случае, когда в компоненте есть несколько классов объектов
@@ -745,7 +745,6 @@
#КонецОбласти
// Проверяет корректность местоположения компоненты.
Функция МестоположениеКомпонентыКорректно(Местоположение)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВнешниеКомпоненты") Тогда
@@ -755,18 +754,10 @@
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВнешниеКомпонентыВМоделиСервиса") Тогда
МодульВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент");
Если МодульВнешниеКомпонентыВМоделиСервисаСлужебныйКлиент.ЭтоКомпонентаИзХранилища(Местоположение) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат ЭтоМакет(Местоположение);
КонецФункции
// Проверяет, что местоположение указывает на макет.
Функция ЭтоМакет(Местоположение)
ШагиПути = СтрРазделить(Местоположение, ".");
@@ -206,23 +206,17 @@
//
// Параметры:
// Протокол - Строка - протокол, по которому выполняется взаимодействие с ресурсом. Допустимые значения:
// IMAP,
// POP3,
// SMTP,
// HTTP,
// HTTPS,
// FTP,
// FTPS,
// Адрес - Строка - адрес ресурса без указания протокола,
// Порт - Число - номер порта через который выполняется взаимодействие с ресурсом,
// IMAP, POP3, SMTP, HTTP, HTTPS, FTP, FTPS, WS, WSS.
// Адрес - Строка - адрес ресурса без указания протокола.
// Порт - Число - номер порта через который выполняется взаимодействие с ресурсом.
// Описание - Строка - описание причины, по которой требуется предоставление разрешения.
//
// Возвращаемое значение:
// ОбъектXDTO - внутреннее описание запрашиваемого разрешения.
// Предназначен только для передачи в качестве параметра в функции.
// РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(),
// РаботаВБезопасномРежиме.ЗапросНаОтменуРазрешенийИспользованияВнешнихРесурсов() и
// РаботаВБезопасномРежиме.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов().
// ОбъектXDTO - внутреннее описание запрашиваемого разрешения, которое
// предназначено только для передачи в качестве параметра в функции:
// РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов,
// РаботаВБезопасномРежиме.ЗапросНаОтменуРазрешенийИспользованияВнешнихРесурсов и
// РаботаВБезопасномРежиме.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов.
//
Функция РазрешениеНаИспользованиеИнтернетРесурса(Знач Протокол, Знач Адрес, Знач Порт = Неопределено, Знач Описание = "") Экспорт
@@ -515,6 +509,8 @@
Результат.Вставить("HTTPS", 443);
Результат.Вставить("FTP", 21);
Результат.Вставить("FTPS", 21);
Результат.Вставить("WS", 80);
Результат.Вставить("WSS", 443);
Возврат Новый ФиксированнаяСтруктура(Результат);
@@ -62,7 +62,7 @@
// в профилях безопасности.
//
// Возвращаемое значение:
// Строка, URI пространства имен XDTO-пакета.
// Строка
//
Функция Пакет() Экспорт
@@ -620,7 +620,6 @@
Попытка
РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(НоваяСсылкаНаФайл, ДвоичныеДанные);
ПрисоединенныйФайл.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка();
ПрисоединенныйФайл.ПутьКФайлу = "";
@@ -641,6 +640,8 @@
ПрисоединенныйФайл.Записать();
РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(ПрисоединенныйФайл.Ссылка, ДвоичныеДанные);
ЗафиксироватьТранзакцию();
Исключение
@@ -506,9 +506,9 @@
Если ЗначениеЗаполнено(Файл) Тогда
Если ТипЗнч(Файл) = Тип("СправочникСсылка.ВерсииФайлов") Тогда
ИменаРеквизитов = СтрЗаменить(ИменаРеквизитов, "ВладелецФайла", "Владелец") + ", НомерВерсии";
КонецЕсли;
ИменаРеквизитов = "Наименование, Расширение, Том, ПутьКФайлу, "
+ ?(ТипЗнч(Файл) = Тип("СправочникСсылка.ВерсииФайлов"),
"Владелец, НомерВерсии", "ВладелецФайла");
РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Файл, ИменаРеквизитов);
ЗаполнитьЗначенияСвойств(СвойстваФайла, РеквизитыФайла);
@@ -2979,6 +2979,7 @@
//
Процедура ЗаписатьФайлВИнформационнуюБазу(Знач ПрисоединенныйФайл, Знач ДвоичныеДанные) Экспорт
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
МенеджерЗаписи = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьМенеджерЗаписи();
@@ -7905,6 +7906,8 @@
// Извлекает текст из временного хранилища или из двоичных данных, возвращает статус извлечения.
Функция ИзвлечьТекст(Знач АдресВременногоХранилищаТекста, Знач ДвоичныеДанные = Неопределено, Знач Расширение = Неопределено) Экспорт
УстановитьОтключениеБезопасногоРежима(Истина);
Результат = Новый Структура("СтатусИзвлеченияТекста, ТекстХранилище");
Если ЭтоАдресВременногоХранилища(АдресВременногоХранилищаТекста) Тогда
@@ -7936,8 +7939,9 @@
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Извлечение текста'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат Результат;
КонецФункции
Функция ИзвлечьТекстИзФайлаНаДиске(Знач ИмяФайла, Знач Кодировка = Неопределено) Экспорт
@@ -460,6 +460,28 @@
Возврат ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание() <> Неопределено;
КонецФункции
Функция РазделениеВключено() Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Возврат МодульРаботаВМоделиСервиса.РазделениеВключено();
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
Функция ДоступноИспользованиеРазделенныхДанных() Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Возврат МодульРаботаВМоделиСервиса.ДоступноИспользованиеРазделенныхДанных();
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Для справочника ИдентификаторыОбъектовМетаданных.
@@ -26,7 +26,7 @@
//
// Возвращаемое значение:
// ТаблицаЗначений - таблица с контактной информацией объектов содержащая колонки:
// * СсылкиИлиОбъекты - Ссылка - Владелец контактной информации.
// * Объект - Ссылка - Владелец контактной информации.
// * Вид - СправочникСсылка.ВидыКонтактнойИнформации - Вид контактной информации.
// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - Тип контактной информации.
// * Значение - Строка - контактная информация во внутреннем формате JSON.
@@ -106,7 +106,7 @@
//
// Возвращаемое значение:
// ТаблицаЗначений - таблица с контактной информацией объекта содержащая колонки:
// * СсылкиИлиОбъекты - Ссылка - Владелец контактной информации.
// * Объект - Ссылка - Владелец контактной информации.
// * Вид - СправочникСсылка.ВидыКонтактнойИнформации - Вид контактной информации.
// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - Тип контактной информации.
// * Значение - Строка - контактная информация во внутреннем формате JSON.
@@ -3822,7 +3822,7 @@
Если ЭтоНовыйВидКИ И ДанныеВидаКонтактнойИнформации.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти И Не ДанныеВидаКонтактнойИнформации.ПометкаУдаления Тогда
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
Вид = СтрокаКонтактнойИнформации.Вид; // СправочникСсылка.ВидыКонтактнойИнформации
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, Вид.Наименование);
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, Строка(Вид));
КонецЕсли;
КонецПроцедуры
@@ -1475,9 +1475,6 @@
// операционной системы;
// Картинка - Картинка - значок формата.
//
// Примечание: таблица форматов может быть переопределена в процедуре
// УправлениеПечатьюПереопределяемый.ПриЗаполненииНастроекФорматовСохранения().
//
Функция НастройкиФорматовСохраненияТабличногоДокумента() Экспорт
ТаблицаФорматов = СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента();
@@ -93,15 +93,15 @@
Для каждого Свойство Из Свойства Цикл
Если НЕ Свойство.ЭтоДополнительноеСведение Тогда
СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить();
ИмяКолонки = СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Свойство.Наименование);
ИмяКолонки = СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Строка(Свойство));
СтрокаИнфоПроКолонки.ИмяКолонки = "ДополнительныйРеквизит_" + ИмяКолонки;
СтрокаИнфоПроКолонки.ПредставлениеКолонки = Свойство.Наименование;
СтрокаИнфоПроКолонки.ПредставлениеКолонки = Строка(Свойство);
СтрокаИнфоПроКолонки.ТипКолонки = Свойство.ТипЗначения;
СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = Свойство.ЗаполнятьОбязательно;
СтрокаИнфоПроКолонки.Позиция = Позиция;
СтрокаИнфоПроКолонки.Группа = НСтр("ru = 'Доп. реквизиты'");
СтрокаИнфоПроКолонки.Видимость = Истина;
СтрокаИнфоПроКолонки.Примечание = Свойство.Наименование;
СтрокаИнфоПроКолонки.Примечание = Строка(Свойство);
СтрокаИнфоПроКолонки.Ширина = 30;
Позиция = Позиция + 1;
@@ -120,15 +120,15 @@
Для каждого Свойство Из ДополнительныеСведения Цикл
СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить();
ИмяКолонки = СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Свойство.Наименование);
ИмяКолонки = СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Строка(Свойство));
СтрокаИнфоПроКолонки.ИмяКолонки = "Свойство_" + ИмяКолонки;
СтрокаИнфоПроКолонки.ПредставлениеКолонки = Свойство.Наименование;
СтрокаИнфоПроКолонки.ПредставлениеКолонки = Строка(Свойство);
СтрокаИнфоПроКолонки.ТипКолонки = Свойство.ТипЗначения;
СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = Свойство.ЗаполнятьОбязательно;
СтрокаИнфоПроКолонки.Позиция = Позиция;
СтрокаИнфоПроКолонки.Группа = НСтр("ru = 'Доп. свойства'");
СтрокаИнфоПроКолонки.Видимость = Истина;
СтрокаИнфоПроКолонки.Примечание = Свойство.Наименование;
СтрокаИнфоПроКолонки.Примечание = Строка(Свойство);
СтрокаИнфоПроКолонки.Ширина = 30;
Позиция = Позиция + 1;
@@ -415,7 +415,7 @@
// * Предмет - ОпределяемыйТип.ПредметШаблонаСообщения -
// * Шаблон - СправочникСсылка.ШаблоныСообщений -
//
Функция СформироватьПараметрыОтправки(Шаблон, Предмет, УникальныйИдентификатор, ДополнительныеПараметры = Неопределено)
Функция СформироватьПараметрыОтправки(Шаблон, Предмет, УникальныйИдентификатор, ДополнительныеПараметры = Неопределено) Экспорт
ПараметрыОтправки = ШаблоныСообщенийКлиентСервер.КонструкторПараметровОтправки(Шаблон.Ссылка, Предмет, УникальныйИдентификатор);
@@ -646,6 +646,8 @@
КонецЕсли;
КонецЕсли;
СформированноеСообщение.СообщенияПользователю = ПолучитьСообщенияПользователю(Истина);
Возврат СформированноеСообщение;
КонецФункции
@@ -2400,7 +2402,7 @@
КонецФункции
Процедура СформироватьСообщениеВФоне(ПараметрыВызоваСервера, АдресХранилища) Экспорт
ПараметрыОтправки = ПараметрыВызоваСервера.ПараметрыОтправки;
ВидСообщения = ПараметрыВызоваСервера.ВидСообщения;
@@ -2408,8 +2410,15 @@
Результат = СформироватьСообщениеИОтправить(ПараметрыОтправки);
ПоместитьВоВременноеХранилище(Результат, АдресХранилища);
Иначе
Сообщение = ШаблоныСообщений.СформироватьСообщение(ПараметрыОтправки.Шаблон, ПараметрыОтправки.Предмет, ПараметрыОтправки.УникальныйИдентификатор,
ПараметрыОтправки.ДополнительныеПараметры.ПараметрыСообщения);
ПараметрыШаблона = ШаблоныСообщений.СформироватьПараметрыОтправки(ПараметрыОтправки.Шаблон, ПараметрыОтправки.Предмет,
ПараметрыОтправки.УникальныйИдентификатор, ПараметрыОтправки.ДополнительныеПараметры.ПараметрыСообщения);
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыШаблона.ДополнительныеПараметры,
ПараметрыОтправки.ДополнительныеПараметры, Истина);
Сообщение = СформироватьСообщение(ПараметрыШаблона);
Если ВидСообщения = "Письмо" Тогда
Сообщение = ПреобразоватьПараметрыПисьма(Сообщение);
Иначе
@@ -2418,7 +2427,7 @@
ПоместитьВоВременноеХранилище(Сообщение, АдресХранилища);
КонецЕсли;
КонецПроцедуры
Функция ПреобразоватьПараметрыПисьма(Сообщение)
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="43aaacd7-1a51-4321-9eac-de3166f3740b">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ef299460-e83a-4c4a-9615-41326bc79707">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c6d3990d-3003-412a-81f2-459e3b9491f9"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9a10be9a-8b8e-4898-a05f-0fcf690ef121"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a466a5b6-8c1b-4776-a57f-d4ee07c18539"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="dbf92cca-b6b4-4d5b-a971-6ac561d4579f"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="b4d62801-3811-44fc-9a32-8965fc1d6257"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="2d699631-44ff-411c-a9d4-4a5a5f788090"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="6f0b9ede-9209-428e-bfdc-eef3c23b8077"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="5f8b2699-4534-4dd2-b77e-76b54fb3ae3e"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="1d51c0a5-d3c8-4ae1-b8f1-d317c6e15a58"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="1ebceb0d-b97c-4fad-8f82-0ee01e77ba15"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="acc7d2e1-ef57-49b1-8180-12f608d64aca"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f3634fdd-ff99-4cf6-b40f-6a70e8d63fee"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="67261288-ee3d-4937-b063-8a6d6edb6b4b"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="e41332e9-d530-460f-a4ff-4cbea521cb60"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.196</version>
<version>3.1.2.202</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,61047e28-91c7-435a-b36e-e3a1860cd8c4,1,dc04671c-8798-4a70-a9c1-67e4a44fa485,"3.1.2.196","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5902,1,0,43aaacd7-1a51-4321-9eac-de3166f3740b,43aaacd7-1a51-4321-9eac-de3166f3740b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,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-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
{6,1,1,3d4ebe1e-e0ac-47e7-8b92-945226251e3f,1,c5c58752-cc28-4c9f-b33a-7a1f0dad7289,"3.1.2.202","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5903,1,0,ef299460-e83a-4c4a-9615-41326bc79707,ef299460-e83a-4c4a-9615-41326bc79707,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,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-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
@@ -84,11 +84,11 @@
<li>
<div>Для установки блокировки также можно использовать запуск программы с параметром <strong>ЗавершитьРаботуПользователей</strong>:</div>
<ul><li>
<div>"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE /F"C:\Documents and Settings\Админ\Мои документы\1C\DemoSSL" /N&lt;имя администратора&gt; /P&lt;пароль&gt; /CЗавершитьРаботуПользователей</div></li></ul></li>
<div>"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE /F"C:\Documents and Settings\Админ\Мои документы\1C\DemoSSL" /N&lt;имя администратора&gt; /P&lt;пароль&gt; /C ЗавершитьРаботуПользователей</div></li></ul></li>
<li>
<div>Для снятия блокировки рекомендуется использовать запуск программы с параметром <strong>РазрешитьРаботуПользователей</strong>.</div>
<ul><li>
<div>"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE \F"C:\Documents and Settings\Админ\Мои документы\1C\DemoSSL" /CРазрешитьРаботуПользователей /UC &lt;код разрешения&gt;</div>
<div>"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE \F"C:\Documents and Settings\Админ\Мои документы\1C\DemoSSL" /C РазрешитьРаботуПользователей /UC &lt;код разрешения&gt;</div>
</li>
<li>
<div>Запуск клиентского приложения с параметром <strong>РазрешитьРаботуПользователей</strong> предназначен только для снятия блокировки и не предназначен для работы с программой, т.е. этот параметр предназначен для выполнения в пакетном режиме - работа клиентского приложения, запущенного с этим параметром, будет завершена сразу после запуска.</div></li></ul></li></ul><h3>Дополнительные возможности и ограничения</h3>
@@ -43,7 +43,7 @@
ВидКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтруктураВидаКонтактнойИнформации(Параметры.ВидКонтактнойИнформации);
ПриСозданииНаСервереХранитьИсториюИзменений();
Заголовок = ?(ПустаяСтрока(Параметры.Заголовок), ВидКонтактнойИнформации.Наименование, Параметры.Заголовок);
Заголовок = ?(ПустаяСтрока(Параметры.Заголовок), Строка(ВидКонтактнойИнформации.Ссылка), Параметры.Заголовок);
СкрыватьНеактуальныеАдреса = ВидКонтактнойИнформации.СкрыватьНеактуальныеАдреса;
ТипКонтактнойИнформации = ВидКонтактнойИнформации.Тип;
@@ -258,6 +258,7 @@
Если Параметры.ИзменятьВТранзакции Тогда
Блокировка = Новый БлокировкаДанных;
Для Каждого ДанныеОбъекта Из ОбрабатываемыеОбъекты Цикл
Ссылка = ДанныеОбъекта.Ссылка;
ЗаблокироватьСсылку(Блокировка, ДанныеОбъекта.Ссылка);
КонецЦикла;
Блокировка.Заблокировать();
@@ -13728,7 +13728,15 @@
Процедура УвеличитьСчетчикЗагруженныхОбъектов()
Инкремент(ПолеСчетчикЗагруженныхОбъектов);
Если ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение Тогда
Если СчетчикЗагруженныхОбъектовВнешнееСоединение > 0 Тогда
ПолеСчетчикЗагруженныхОбъектов = СчетчикЗагруженныхОбъектовВнешнееСоединение;
ИначеЕсли КоличествоОбъектовКЗагрузкеВнешнееСоединение > СчетчикЗагруженныхОбъектов() Тогда
Инкремент(ПолеСчетчикЗагруженныхОбъектов);
КонецЕсли;
Иначе
Инкремент(ПолеСчетчикЗагруженныхОбъектов);
КонецЕсли;
КонецПроцедуры
@@ -17038,7 +17046,14 @@
Пока ВыборкаИзменений.Следующий() Цикл
Если ЭтоОбменЧерезВнешнееСоединение() Тогда
// В базе-корреспонденте может не быть этого реквизита обработки.
Если ОбработкаДляЗагрузкиДанных().Метаданные().Реквизиты.Найти("СчетчикЗагруженныхОбъектовВнешнееСоединение") <> Неопределено Тогда
Инкремент(ОбработкаДляЗагрузкиДанных().СчетчикЗагруженныхОбъектовВнешнееСоединение);
КонецЕсли;
КонецЕсли;
Инкремент(ПолеСчетчикВыгруженныхОбъектов);
ОбменДаннымиСервер.РассчитатьПроцентВыгрузки(СчетчикВыгруженныхОбъектов(), КоличествоОбъектовКВыгрузке);
Данные = ВыборкаИзменений.Получить();
@@ -534,6 +534,26 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="6fe997a3-d729-420b-b2b2-558e9a1031ee">
<name>СчетчикЗагруженныхОбъектовВнешнееСоединение</name>
<synonym>
<key>ru</key>
<value>Счетчик загруженных объектов внешнее соединение</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Количество объектов, загруженных через внешнее соединение. Заполняется обработкой, выполняющей выгрузку на стороне базы-корреспондента</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
<forms uuid="bbaed1bd-0eb7-4f2b-b844-ab79c1d0a091">
<name>Форма</name>
<synonym>
@@ -34,7 +34,7 @@
<ul><li>При хранении файлов в томах на диске для этих файлов также необходимо проводить резервное копирование, другими средствами.</li></ul><h3>Ошибки при резервном копировании</h3>
<p>Если резервное копирование завершилось неудачей, а во временном log-файле имеется запись: "<strong>Исключение в createConnection: Error, Automation server can't create object</strong>", то, скорее всего, используется 32-разрядная компонента comcntr.dll на компьютере под управлением 64-разрядной операционной системы. Для устранения данной проблемы необходимо взять 64-разрядную компоненту comcntr.dll из поставки 1С Предприятие x64 Сервер и зарегистрировать ее, запустив из командной строки:</p>
<p class="SourceCode">regsvr32 &lt;каталог 64-разрядного comcntr.dll&gt;\comcntr.dll</p>
<p class="Important" style="MARGIN: 11.35pt 0cm 8.5pt"><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA">Важно: для того чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: <strong>ENTERPRISE /F &lt;путь к информационной базе&gt; /CРазрешитьРаботуПользователей /UC РезервноеКопирование</strong>.</span></span></span></font></font></p>
<p class="Important" style="MARGIN: 11.35pt 0cm 8.5pt"><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA">Важно: для того чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: <strong>ENTERPRISE /F &lt;путь к информационной базе&gt; /C РазрешитьРаботуПользователей /UC РезервноеКопирование</strong>.</span></span></span></font></font></p>
<h3>См. также:</h3>
<ul><li>
<div style="MARGIN: 11.35pt 0cm 8.5pt"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA"><a href="v8help://frame/form_common">Работа с формами</a>.</span></span></span></div></li></ul></body></html>
@@ -6,14 +6,23 @@
<ul><li>С помощью переключателя <strong>Очистить настройки</strong> выберите пользователей, которым необходимо очистить настройки:
<ul><li><strong>У выбранных пользователей</strong> - перейдите по ссылке <strong>Выбрать</strong>;
<ul><li>Выберите список <a href="Catalog.Пользователи/Help">Пользователи</a> (<a href="Catalog.ВнешниеПользователи/Help">Внешние пользователи</a>);
</li><li>В списке <a href="DataProcessor.НастройкиПользователей.Form.ВыборПользователей/Help">Выбор пользователей</a> включите соответствующие флажки, нажмите кнопку <strong>Выбрать</strong>;
</li><li>После завершения выбора ссылка принимает значение: имя пользователя, если выбран один пользователь или количество выбранных пользователей, если выбрано несколько.</li></ul></li><li><strong>У всех пользователей</strong> - в этом случае можно очиститьтолько <strong>Все настройки</strong>.</li></ul></li><li>С помощью переключателя <strong>Что очистить</strong> выберите, какие настройки очищать:
</li>
<li>В списке <a href="DataProcessor.НастройкиПользователей.Form.ВыборПользователей/Help">Выбор пользователей</a> включите соответствующие флажки, нажмите кнопку <strong>Выбрать</strong>;
</li>
<li>После завершения выбора ссылка принимает значение: имя пользователя, если выбран один пользователь или количество выбранных пользователей, если выбрано несколько.</li></ul></li>
<li><strong>У всех пользователей</strong> - в этом случае можно очистить только <strong>Все настройки</strong>.</li></ul></li>
<li>С помощью переключателя <strong>Что очистить</strong> выберите, какие настройки очищать:
<ul><li><strong>Все настройки</strong> - при выборе нескольких пользователей или всех пользователей возможна очистка только всех настроек каждого пользователя.
</li><li><strong>Отдельные настройки</strong> - если в поле <strong>Очистить настройки</strong> выбран один пользователь, то есть возможность выбора отдельных настроек.
</li>
<li><strong>Отдельные настройки</strong> - если в поле <strong>Очистить настройки</strong> выбран один пользователь, то есть возможность выбора отдельных настроек.
<ul><li>Перейдите по ссылке <strong>Выбрать</strong>.
</li><li>в открывшемся окне <a href="DataProcessor.НастройкиПользователей.Form.ВыборНастроек/Help">Выбор настроек пользователя</a> отметьте флажками настройки для очистки.
</li><li>После завершения выбора ссылка принимает значение: наименование одной настройки пользователя или количество выбранных настроек.</li></ul></li></ul></li><li>Для перехода к очистке настроек с выбранными параметрами нажмите <strong>Очистить и закрыть</strong>, для того чтобы вернуться в программу или <strong>Очистить</strong>, для того чтобы после завершения копирования этих настроек продолжить очистку.</li></ul><h3>См. также:</h3>
</li>
<li>в открывшемся окне <a href="DataProcessor.НастройкиПользователей.Form.ВыборНастроек/Help">Выбор настроек пользователя</a> отметьте флажками настройки для очистки.
</li>
<li>После завершения выбора ссылка принимает значение: наименование одной настройки пользователя или количество выбранных настроек.</li></ul></li></ul></li>
<li>Для перехода к очистке настроек с выбранными параметрами нажмите <strong>Очистить и закрыть</strong>, для того чтобы вернуться в программу или <strong>Очистить</strong>, для того чтобы после завершения копирования этих настроек продолжить очистку.</li></ul><h3>См. также:</h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a>;</div>
</li><li>
</li>
<li>
<div><a href="DataProcessor.НастройкиПользователей.Form.КопированиеНастроекПользователей/Help">Копирование настроек</a>.</div></li></ul></body></html>
@@ -123,13 +123,7 @@
// Обновление состояния элементов.
УстановитьДоступность();
ОбрабатыватьНастройкиБИП = Ложь;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
МодульИнтернетПоддержкаПользователейКлиентСервер =
ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователейКлиентСервер");
ВерсияБИП = МодульИнтернетПоддержкаПользователейКлиентСервер.ВерсияБиблиотеки();
ОбрабатыватьНастройкиБИП = (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияБИП, "2.2.1.1") >= 0);
КонецЕсли;
ОбрабатыватьНастройкиБИП = ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей");
Если ОбрабатыватьНастройкиБИП Тогда
МодульИнтеграцияПодсистемБИП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБИП");
@@ -997,6 +997,48 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СерверВзаимодействия</name>
<id>4</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ИмяИнформационнойБазы</name>
<id>5</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СостояниеРегистрации</name>
<id>7</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Зарегистрироваться</name>
<title>
@@ -16,18 +16,11 @@
Возврат;
КонецЕсли;
КонтейнерСостояний = Новый Структура;
КонтейнерСостояний.Вставить("СерверВзаимодействия", "wss://1cdialog.com:443");
КонтейнерСостояний.Вставить("ИмяИнформационнойБазы", Метаданные.КраткаяИнформация);
КонтейнерСостояний.Вставить("СостояниеРегистрации", ТекущееСостояниеРегистрации());
// Возможные значения:
// "ТребуетсяСоздатьАдминистратора"
// "НеЗарегистрирована"
// "Зарегистрирована"
// "ОжиданиеВводаКодаПодтверждения"
// "ОжиданиеОтветаСервераВзаимодействия".
СерверВзаимодействия = "wss://1cdialog.com:443";
ИмяИнформационнойБазы = Метаданные.КраткаяИнформация;
СостояниеРегистрации = ТекущееСостояниеРегистрации();
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -50,8 +43,6 @@
&НаКлиенте
Процедура Зарегистрироваться(Команда)
СостояниеРегистрации = КонтейнерСостояний.СостояниеРегистрации;
Если СостояниеРегистрации = "ТребуетсяРазблокировать" Тогда
ПриРазблокировке();
ИначеЕсли СостояниеРегистрации = "НеЗарегистрирована" Тогда
@@ -65,8 +56,6 @@
&НаКлиенте
Процедура Назад(Команда)
СостояниеРегистрации = КонтейнерСостояний.СостояниеРегистрации;
Если СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения" Тогда
ПриОтказеОтВводаКодаПодтверждения();
КонецЕсли;
@@ -84,11 +73,9 @@
ОбсужденияСлужебныйВызовСервера.Разблокировать();
КонтейнерСостояний.СостояниеРегистрации = "Зарегистрирована";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "Зарегистрирована";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
Оповестить("ОбсужденияПодключены", Истина);
ОбновитьИнтерфейс();
КонецПроцедуры
@@ -106,8 +93,6 @@
Возврат;
КонецЕсли;
СерверВзаимодействия = КонтейнерСостояний.СерверВзаимодействия;
ПараметрыРегистрации = Новый ПараметрыРегистрацииИнформационнойБазыСистемыВзаимодействия;
ПараметрыРегистрации.АдресСервера = СерверВзаимодействия;
ПараметрыРегистрации.АдресЭлектроннойПочты = АдресЭлектроннойПочты;
@@ -116,8 +101,8 @@
"ПриОбработкеОшибкиПолученияКодаРегистрации", ЭтотОбъект);
СистемаВзаимодействия.НачатьРегистрациюИнформационнойБазы(Оповещение, ПараметрыРегистрации);
КонтейнерСостояний.СостояниеРегистрации = "ОжиданиеОтветаСервераВзаимодействия";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "ОжиданиеОтветаСервераВзаимодействия";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -126,8 +111,8 @@
ПоказатьПредупреждение(, ТекстСообщения);
КонтейнерСостояний.СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -137,8 +122,8 @@
СтандартнаяОбработка = Ложь;
ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке);
КонтейнерСостояний.СостояниеРегистрации = "НеЗарегистрирована";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "НеЗарегистрирована";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -150,9 +135,6 @@
Возврат;
КонецЕсли;
СерверВзаимодействия = КонтейнерСостояний.СерверВзаимодействия;
ИмяИнформационнойБазы = КонтейнерСостояний.ИмяИнформационнойБазы;
ПараметрыРегистрации = Новый ПараметрыРегистрацииИнформационнойБазыСистемыВзаимодействия;
ПараметрыРегистрации.АдресСервера = СерверВзаимодействия;
ПараметрыРегистрации.АдресЭлектроннойПочты = АдресЭлектроннойПочты;
@@ -164,8 +146,8 @@
СистемаВзаимодействия.НачатьРегистрациюИнформационнойБазы(Оповещение, ПараметрыРегистрации);
КонтейнерСостояний.СостояниеРегистрации = "ОжиданиеОтветаСервераВзаимодействия";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "ОжиданиеОтветаСервераВзаимодействия";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -174,13 +156,13 @@
Если РегистрацияВыполнена Тогда
Оповестить("ОбсужденияПодключены", Истина);
КонтейнерСостояний.СостояниеРегистрации = "Зарегистрирована";
СостояниеРегистрации = "Зарегистрирована";
Иначе
ПоказатьПредупреждение(, ТекстСообщения);
КонтейнерСостояний.СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
КонецЕсли;
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -190,8 +172,8 @@
СтандартнаяОбработка = Ложь;
ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке);
КонтейнерСостояний.СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецПроцедуры
@@ -210,27 +192,23 @@
Процедура ПослеПодтвержденияОтказаВводаКодаПодтверждения(РезультатВопроса, Контекст) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.ОК Тогда
КонтейнерСостояний.СостояниеРегистрации = "НеЗарегистрирована";
ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект);
СостояниеРегистрации = "НеЗарегистрирована";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ПриИзмененииСостоянияФормы(КонтейнерСостояний, ЭтотОбъект)
Процедура ПриИзмененииСостоянияФормы(Форма)
СостояниеРегистрации = КонтейнерСостояний.СостояниеРегистрации;
СостояниеРегистрации = Форма.СостояниеРегистрации;
Если СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения" Тогда
ЭтотОбъект.КодРегистрации = "";
Форма.КодРегистрации = "";
КонецЕсли;
УстановитьСтраницу(КонтейнерСостояний, ЭтотОбъект);
Элементы = ЭтотОбъект.Элементы;
ОбновитьВидимостьКнопокКоманднойПанели(КонтейнерСостояний,
Элементы.Зарегистрироваться, Элементы.Закрыть, Элементы.Назад);
УстановитьСтраницу(Форма);
ОбновитьВидимостьКнопокКоманднойПанели(Форма);
КонецПроцедуры
@@ -238,6 +216,13 @@
#Область МодельПредставления
// Возвращаемое значение:
// Строка - "ТребуетсяСоздатьАдминистратора",
// "НеЗарегистрирована",
// "Зарегистрирована",
// "ОжиданиеВводаКодаПодтверждения",
// "ОжиданиеОтветаСервераВзаимодействия".
//
&НаСервереБезКонтекста
Функция ТекущееСостояниеРегистрации()
@@ -261,10 +246,10 @@
#Область Представления
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСтраницу(КонтейнерСостояний, ЭтотОбъект)
Процедура УстановитьСтраницу(Форма)
СостояниеРегистрации = КонтейнерСостояний.СостояниеРегистрации;
Элементы = ЭтотОбъект.Элементы;
СостояниеРегистрации = Форма.СостояниеРегистрации;
Элементы = Форма.Элементы;
Если СостояниеРегистрации = "ТребуетсяСоздатьАдминистратора" Тогда
Элементы.Страницы.ТекущаяСтраница = Элементы.ТребуетсяСоздатьАдминистратора;
@@ -283,32 +268,31 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьВидимостьКнопокКоманднойПанели(КонтейнерСостояний,
Зарегистрироваться, Закрыть, Назад)
Процедура ОбновитьВидимостьКнопокКоманднойПанели(Форма)
СостояниеРегистрации = КонтейнерСостояний.СостояниеРегистрации;
СостояниеРегистрации = Форма.СостояниеРегистрации;
Если СостояниеРегистрации = "ТребуетсяСоздатьАдминистратора" Тогда
Зарегистрироваться.Видимость = Ложь;
Назад.Видимость = Ложь;
Форма.Элементы.Зарегистрироваться.Видимость = Ложь;
Форма.Элементы.Назад.Видимость = Ложь;
ИначеЕсли СостояниеРегистрации = "ТребуетсяРазблокировать" Тогда
Зарегистрироваться.Видимость = Истина;
Зарегистрироваться.Заголовок = НСтр("ru = 'Восстановить подключение'");
Назад.Видимость = Ложь;
Форма.Элементы.Зарегистрироваться.Видимость = Истина;
Форма.Элементы.Зарегистрироваться.Заголовок = НСтр("ru = 'Восстановить подключение'");
Форма.Элементы.Назад.Видимость = Ложь;
ИначеЕсли СостояниеРегистрации = "НеЗарегистрирована" Тогда
Зарегистрироваться.Видимость = Истина;
Назад.Видимость = Ложь;
Форма.Элементы.Зарегистрироваться.Видимость = Истина;
Форма.Элементы.Назад.Видимость = Ложь;
ИначеЕсли СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения" Тогда
Зарегистрироваться.Видимость = Истина;
Назад.Видимость = Истина;
Форма.Элементы.Зарегистрироваться.Видимость = Истина;
Форма.Элементы.Назад.Видимость = Истина;
ИначеЕсли СостояниеРегистрации = "ОжиданиеОтветаСервераВзаимодействия" Тогда
Зарегистрироваться.Видимость = Ложь;
Назад.Видимость = Ложь;
Форма.Элементы.Зарегистрироваться.Видимость = Ложь;
Форма.Элементы.Назад.Видимость = Ложь;
ИначеЕсли СостояниеРегистрации = "Зарегистрирована" Тогда
Зарегистрироваться.Видимость = Ложь;
Назад.Видимость = Ложь;
Закрыть.КнопкаПоУмолчанию = Истина;
Закрыть.Заголовок = НСтр("ru = 'Готово'");
Форма.Элементы.Зарегистрироваться.Видимость = Ложь;
Форма.Элементы.Назад.Видимость = Ложь;
Форма.Элементы.Закрыть.КнопкаПоУмолчанию = Истина;
Форма.Элементы.Закрыть.Заголовок = НСтр("ru = 'Готово'");
КонецЕсли;
КонецПроцедуры
@@ -778,9 +778,44 @@
</columns>
</attributes>
<attributes>
<name>КонтейнерСостояний</name>
<id>7</id>
<valueType/>
<name>ОбластиПоиска</name>
<id>4</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType/>
</extInfo>
</attributes>
<attributes>
<name>ТекущийРаздел</name>
<id>5</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ИдентификаторСтроки</name>
<id>6</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
@@ -13,17 +13,11 @@
УстановитьУсловноеОформление();
КонтейнерСостояний = Новый Структура;
КонтейнерСостояний.Вставить("ОбластиПоиска", Новый СписокЗначений); // Идентификаторы объектов метаданных.
КонтейнерСостояний.Вставить("ТекущийРаздел", "");
КонтейнерСостояний.Вставить("ИдентификаторСтроки", 0);
ОбластиПоиска = Параметры.ОбластиПоиска;
ПереключательВездеВРазделах = Число(Параметры.ИскатьВРазделах); // Конвертация из Булево в Число.
Параметры.Свойство("ОбластиПоиска", КонтейнерСостояний.ОбластиПоиска);
Параметры.Свойство("ИскатьВРазделах", ПереключательВездеВРазделах); // Конвертация из Булево в Число.
ЗагрузитьТекущийПутьРаздела(КонтейнерСостояний);
ПриЗаполненииДереваРазделовПоиска(КонтейнерСостояний);
ЗагрузитьТекущийПутьРаздела();
ПриЗаполненииДереваРазделовПоиска();
ИскатьВРазделах = ИскатьВРазделах(ПереключательВездеВРазделах);
ОбновитьДоступностьПриПереключенииВездеВРазделах(Элементы.ДеревоРазделовПоиска, ИскатьВРазделах);
@@ -34,7 +28,7 @@
&НаКлиенте
Процедура ПриОткрытии(Отказ)
РазвернутьТекущийРазделДереваРазделов(Элементы.ДеревоРазделовПоиска, КонтейнерСостояний)
РазвернутьТекущийРазделДереваРазделов(Элементы.ДеревоРазделовПоиска)
КонецПроцедуры
@@ -134,20 +128,18 @@
#Область СлужебныеОбработчикиСобытий
&НаСервере
Процедура ПриЗаполненииДереваРазделовПоиска(КонтейнерСостояний)
Процедура ПриЗаполненииДереваРазделовПоиска()
Дерево = РеквизитФормыВЗначение("ДеревоРазделовПоиска");
ЗаполнитьДеревоРазделовПоиска(Дерево);
ЗначениеВРеквизитФормы(Дерево, "ДеревоРазделовПоиска");
ПриУстановкеОбластиПоиска(ДеревоРазделовПоиска, КонтейнерСостояний);
ПриУстановкеОбластиПоиска(ДеревоРазделовПоиска);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПриУстановкеОбластиПоиска(ДеревоРазделовПоиска, КонтейнерСостояний)
ОбластиПоиска = КонтейнерСостояний.ОбластиПоиска;
&НаСервере
Процедура ПриУстановкеОбластиПоиска(ДеревоРазделовПоиска)
Для каждого ОбластьПоиска Из ОбластиПоиска Цикл
@@ -442,10 +434,7 @@
КонецПроцедуры
&НаКлиенте
Процедура РазвернутьТекущийРазделДереваРазделов(Элемент, КонтейнерСостояний)
ТекущийРаздел = КонтейнерСостояний.ТекущийРаздел;
ИдентификаторСтроки = КонтейнерСостояний.ИдентификаторСтроки;
Процедура РазвернутьТекущийРазделДереваРазделов(Элемент)
// Перейдем к разделу, с которым работали при предыдущих настройках.
Если Не ПустаяСтрока(ТекущийРаздел) И ИдентификаторСтроки <> 0 Тогда
@@ -800,8 +789,8 @@
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗагрузитьТекущийПутьРаздела(ПараметрыТекущегоРаздела)
&НаСервере
Процедура ЗагрузитьТекущийПутьРаздела()
СохраненныеНастройкиПоиска = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПолнотекстовыйПоискТекущийРаздел", "");
@@ -813,8 +802,8 @@
СохраненныеНастройкиПоиска.Свойство("ИдентификаторСтроки", ИдентификаторСтроки);
КонецЕсли;
ПараметрыТекущегоРаздела.ТекущийРаздел = ?(ТекущийРаздел = Неопределено, "", ТекущийРаздел);
ПараметрыТекущегоРаздела.ИдентификаторСтроки = ?(ИдентификаторСтроки = Неопределено, 0, ИдентификаторСтроки);
ТекущийРаздел = ?(ТекущийРаздел = Неопределено, "", ТекущийРаздел);
ИдентификаторСтроки = ?(ИдентификаторСтроки = Неопределено, 0, ИдентификаторСтроки);
КонецПроцедуры
@@ -55,7 +55,7 @@
ВидКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтруктураВидаКонтактнойИнформации(Параметры.ВидКонтактнойИнформации);
ПриСозданииНаСервереХранитьИсториюИзменений();
Заголовок = ?(ПустаяСтрока(Параметры.Заголовок), ВидКонтактнойИнформации.Наименование, Параметры.Заголовок);
Заголовок = ?(ПустаяСтрока(Параметры.Заголовок), Строка(ВидКонтактнойИнформации.Ссылка), Параметры.Заголовок);
СкрыватьНеактуальныеАдреса = ВидКонтактнойИнформации.СкрыватьНеактуальныеАдреса;
ТолькоНациональныйАдрес = ВидКонтактнойИнформации.ТолькоНациональныйАдрес;
@@ -4,9 +4,12 @@
<p>В любой момент времени можно восстановить данные из созданной ранее резервной копии. Необходимо учитывать, что все данные в восстановленной информационно базе будут актуальны на момент создания копии. Данные, введенные в программу после создания резервной копии, будут отсутствовать в восстановленной ИБ.</p>
<h3>Восстановление данных</h3>
<ul><li>С помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> укажите <strong>путь к файлу с резервной копией</strong>, из которого будет восстановлена информационная база (поле обязательно для заполнения).
</li><li>В данном помощнике при восстановлении данных можно использовать только архивы формата .zip, содержащие один файл - файл информационной базы 1cv8.cd. Лучше всего использовать архивы, созданные <a href="DataProcessor.РезервноеКопированиеИБ.Form.РезервноеКопированиеДанных/Help">помощником создания резервной копии</a>.
</li><li>Программа выводит предупреждение о том, что имеются другие пользователи, которые кроме вас работают с информационной базой в текущий момент. Перейдите по ссылке, для того чтобы <strong>Посмотреть список активных сеансов</strong>.
</li><li>Нажмите <strong>Восстановить данные</strong>. Если присутствуют активные сеансы, будет запущен <a href="DataProcessor.БлокировкаРаботыПользователей/Help">механизм отключения</a> их от информационной базы. Затем программа выполнит восстановление данных.</li></ul><h3>Вход в базу в случае сбоя восстановления данных</h3>
<ul><li><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA"><strong>Важно</strong>: Для того чтобы войти в информационную базу, если восстановление данных не выполнилось, необходимо запустить 1С:Предприятие с параметрами: <strong>ENTERPRISE /F &lt;путь к информационной базе&gt; /CРазрешитьРаботуПользователей /UC РезервноеКопирование.</strong></span></span></span></font></font></li></ul><h3 style="MARGIN: 11.35pt 0cm 8.5pt">См. также:</h3>
</li>
<li>В данном помощнике при восстановлении данных можно использовать только архивы формата .zip, содержащие один файл - файл информационной базы 1cv8.cd. Лучше всего использовать архивы, созданные <a href="DataProcessor.РезервноеКопированиеИБ.Form.РезервноеКопированиеДанных/Help">помощником создания резервной копии</a>.
</li>
<li>Программа выводит предупреждение о том, что имеются другие пользователи, которые кроме вас работают с информационной базой в текущий момент. Перейдите по ссылке, для того чтобы <strong>Посмотреть список активных сеансов</strong>.
</li>
<li>Нажмите <strong>Восстановить данные</strong>. Если присутствуют активные сеансы, будет запущен <a href="DataProcessor.БлокировкаРаботыПользователей/Help">механизм отключения</a> их от информационной базы. Затем программа выполнит восстановление данных.</li></ul><h3>Вход в базу в случае сбоя восстановления данных</h3>
<ul><li><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA"><strong>Важно</strong>: Для того чтобы войти в информационную базу, если восстановление данных не выполнилось, необходимо запустить 1С:Предприятие с параметрами: <strong>ENTERPRISE /F &lt;путь к информационной базе&gt; /C РазрешитьРаботуПользователей /UC РезервноеКопирование.</strong></span></span></span></font></font></li></ul><h3 style="MARGIN: 11.35pt 0cm 8.5pt">См. также:</h3>
<ul><li>
<div style="MARGIN: 11.35pt 0cm 8.5pt"><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>
@@ -5,15 +5,23 @@
<h3>Ограничения</h3>
<ul><li><strong>Внимание!</strong> Резервное копирование не поддерживается в случае, если пользователь <strong>Администратор</strong>, от лица которого запускается резервное копирование,имеет аутентификацию операционной системы.</li></ul><h3>Создание резервной копии</h3>
<ul><li>В верхней части окна выводится информация о том, когда последний раз выполнялось резервное копирование.
</li><li>С помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> в поле <strong>Каталог для сохранения резервной копии</strong> (обязательное поле для заполнения) укажите папку, в которую программа сохранит резервную копию информационной базы. Рекомендуется выполнять резервное копирование на другой компьютер или внешний носитель.
</li><li>Если в программе имеются <a href="DataProcessor.АктивныеПользователи/Help">текущие сеансы</a>, программа выводит предупреждение об этом. Перейдите по ссылке, для того чтобы <strong>Посмотреть список активных сеансов</strong>. Работу пользователей в программе необходимо <a href="DataProcessor.БлокировкаРаботыПользователей/Help">завершить</a>.
</li><li>После установки необходимых параметров нажмите <strong>Сохранить резервную копию.</strong> </li></ul><h3>Процедура резервного копирования</h3>
</li>
<li>С помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> в поле <strong>Каталог для сохранения резервной копии</strong> (обязательное поле для заполнения) укажите папку, в которую программа сохранит резервную копию информационной базы. Рекомендуется выполнять резервное копирование на другой компьютер или внешний носитель.
</li>
<li>Если в программе имеются <a href="DataProcessor.АктивныеПользователи/Help">текущие сеансы</a>, программа выводит предупреждение об этом. Перейдите по ссылке, для того чтобы <strong>Посмотреть список активных сеансов</strong>. Работу пользователей в программе необходимо <a href="DataProcessor.БлокировкаРаботыПользователей/Help">завершить</a>.
</li>
<li>После установки необходимых параметров нажмите <strong>Сохранить резервную копию.</strong> </li></ul><h3>Процедура резервного копирования</h3>
<ul><li>Программа попытается произвести резервное копирование в настоящий момент. При этом в окне выводится сообщение <strong>Проводится подготовка к созданию резервной копии</strong> и ссылка <strong>Активные пользователи</strong>, по которой можно открыть список подключений к программе. Программа предпримет попытку завершения работы всех пользователей.
</li><li>После завершения работы всех пользователей программа установит блокировку и выполнит резервное копирование.
</li><li>Если программа не сможет завершить работу всех пользователей, то она предложит выполнить резервное копирование при подключенных к программе пользователях. С предложением программы можно согласиться, если администратор уверен в том, что подключенные пользователи не вводят данные в программу (например, если пользователи в конце рабочего дня забыли выйти из программы). В противном случае необходимо завершить сеансы таких пользователей на их рабочих местах.
</li><li>После успешного окончания резервного копирования программа запускается снова, при этом выводится сообщение о выполненной процедуре резервного копирования, в котором указан путь к файлу с резервной копией.
</li><li>Если программе не удалось принудительно отключить сеансы, и администратором также не были предприняты какие-либо действия, то резервное копирование может не состояться. В этом случае программа выводит предупреждение, что резервное копирование не было проведено, и список сеансов, которые не удалось завершить (например, Конфигуратор).</li></ul><p></p>
</li>
<li>После завершения работы всех пользователей программа установит блокировку и выполнит резервное копирование.
</li>
<li>Если программа не сможет завершить работу всех пользователей, то она предложит выполнить резервное копирование при подключенных к программе пользователях. С предложением программы можно согласиться, если администратор уверен в том, что подключенные пользователи не вводят данные в программу (например, если пользователи в конце рабочего дня забыли выйти из программы). В противном случае необходимо завершить сеансы таких пользователей на их рабочих местах.
</li>
<li>После успешного окончания резервного копирования программа запускается снова, при этом выводится сообщение о выполненной процедуре резервного копирования, в котором указан путь к файлу с резервной копией.
</li>
<li>Если программе не удалось принудительно отключить сеансы, и администратором также не были предприняты какие-либо действия, то резервное копирование может не состояться. В этом случае программа выводит предупреждение, что резервное копирование не было проведено, и список сеансов, которые не удалось завершить (например, Конфигуратор).</li></ul><p></p>
<h3>Запуск программы в случае ошибок во время резервного копирования</h3>
<ul><li>Перед началом резервного копирования программа выводит сообщение с рекомендациями по немедленному запуску.
</li><li><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA">Для того, чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами:<strong> ENTERPRISE /F &lt;путь к информационной базе&gt; /CРазрешитьРаботуПользователей /UC РезервноеКопирование</strong>.</span></span></span></font></font></li></ul><h3>См. также:</h3>
</li>
<li><font size="1"><font color="black"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 120%; mso-fareast-language: RU"><span style="LINE-HEIGHT: 120%; mso-bidi-font-size: 10.5pt"><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; COLOR: black; mso-fareast-language: RU; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-bidi-language: AR-SA">Для того, чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами:<strong> ENTERPRISE /F &lt;путь к информационной базе&gt; /C РазрешитьРаботуПользователей /UC РезервноеКопирование</strong>.</span></span></span></font></font></li></ul><h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -307,34 +307,37 @@
Если НеУдаленныеИдентификаторТекущейСтроки = Элементы.НеУдаленные.ТекущаяСтрока Тогда
Возврат;
КонецЕсли;
ПоказатьСвязиНеУдаленныхНаСервере();
ПоказатьСвязиНеУдаленныхНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПоказатьСвязиНеУдаленныхНаСервере()
НеУдаленныеИдентификаторТекущейСтроки = Элементы.НеУдаленные.ТекущаяСтрока;
Если НеУдаленныеИдентификаторТекущейСтроки = Неопределено Тогда
СтрокаДерева = Неопределено;
Иначе
СтрокаДерева = НеУдаленные.НайтиПоИдентификатору(НеУдаленныеИдентификаторТекущейСтроки);
КонецЕсли;
&НаКлиентеНаСервереБезКонтекста
Процедура ПоказатьСвязиНеУдаленныхНаСервере(Форма)
ПоказыватьТекстОшибки = Истина;
ТекстОшибки = "";
ПодробныйТекстОшибки = "";
НеУдаленныеИдентификаторТекущейСтроки = Форма.Элементы.НеУдаленные.ТекущаяСтрока;
Если НеУдаленныеИдентификаторТекущейСтроки = Неопределено Тогда
СтрокаДерева = Неопределено;
Иначе
СтрокаДерева = Форма.НеУдаленные.НайтиПоИдентификатору(НеУдаленныеИдентификаторТекущейСтроки);
КонецЕсли;
Если СтрокаДерева = Неопределено Или СтрокаДерева.НомерКартинки < 1 Тогда
// Ничего не выбрано или выбрана группа.
НеУдаленныеПодсказка = НСтр("ru = 'Выберите объект, чтобы узнать причину,
|по которой его не удалось удалить.'");
Иначе
// Выбрана ссылка не удаленного объекта.
Скрываемые = СвязиНеУдаленных.НайтиСтроки(Новый Структура("Видимость", Истина));
Скрываемые = Форма.СвязиНеУдаленных.НайтиСтроки(Новый Структура("Видимость", Истина));
Для Каждого СтрокаТаблицы Из Скрываемые Цикл
СтрокаТаблицы.Видимость = Ложь;
КонецЦикла;
Элементы.СвязиНеУдаленных.ОтборСтрок = Новый ФиксированнаяСтруктура("УдаляемыйСсылка", СтрокаДерева.УдаляемыйСсылка);
НеУдаленныеПодсказка = " ";
Показываемые = СвязиНеУдаленных.НайтиСтроки(Новый Структура("УдаляемыйСсылка", СтрокаДерева.УдаляемыйСсылка));
Форма.Элементы.СвязиНеУдаленных.ОтборСтрок = Новый ФиксированнаяСтруктура("УдаляемыйСсылка", СтрокаДерева.УдаляемыйСсылка);
Форма.НеУдаленныеПодсказка = " ";
Показываемые = Форма.СвязиНеУдаленных.НайтиСтроки(Новый Структура("УдаляемыйСсылка", СтрокаДерева.УдаляемыйСсылка));
Для Каждого СтрокаТаблицы Из Показываемые Цикл
СтрокаТаблицы.Видимость = Истина;
Если СтрокаТаблицы.ЭтоОшибка Тогда
@@ -342,23 +345,23 @@
ПодробныйТекстОшибки = СтрокаТаблицы.Представление;
Иначе
Если ПоказыватьТекстОшибки Тогда
Элементы.СвязиНеУдаленных.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();
Форма.Элементы.СвязиНеУдаленных.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();
ПоказыватьТекстОшибки = Ложь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ПоказыватьТекстОшибки Тогда
ТекущаяСтраница = Элементы.СтраницаТекстОшибки;
Элементы.СсылкаПодробнее.Видимость = ЗначениеЗаполнено(ПодробныйТекстОшибки);
Элементы.ТекстОшибки.Заголовок = ТекстОшибки;
ТекущаяСтраница = Форма.Элементы.СтраницаТекстОшибки;
Форма.Элементы.СсылкаПодробнее.Видимость = ЗначениеЗаполнено(ПодробныйТекстОшибки);
Форма.Элементы.ТекстОшибки.Заголовок = ТекстОшибки;
Иначе
ТекущаяСтраница = Элементы.СтраницаПричиныНеУдаления;
ТекущаяСтраница = Форма.Элементы.СтраницаПричиныНеУдаления;
Шаблон = НСтр("ru = 'Места использования объекта ""%1"" (%2):'");
НеУдаленныеПодсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, СтрокаДерева.Представление, Формат(СтрокаДерева.КоличествоСвязей, "ЧН=0; ЧГ="));
Форма.НеУдаленныеПодсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, СтрокаДерева.Представление, Формат(СтрокаДерева.КоличествоСвязей, "ЧН=0; ЧГ="));
КонецЕсли;
Если Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница <> ТекущаяСтраница Тогда
Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница = ТекущаяСтраница;
Если Форма.Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница <> ТекущаяСтраница Тогда
Форма.Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница = ТекущаяСтраница;
КонецЕсли;
КонецПроцедуры
@@ -417,6 +420,7 @@
УстанавливатьПометку = Ложь;
ЕстьЗаписиРегистров = Ложь;
ЕстьКонстанты = Ложь;
Для Каждого Идентификатор Из МассивИдентификаторов Цикл
СтрокаТаблицы = ТаблицаРеквизит.НайтиПоИдентификатору(Идентификатор);
Если ЭтоСвязиНеУдаленных Тогда
@@ -1406,7 +1410,7 @@
ЭлементыПервойГруппы = ГруппыНеУдаленных[0].ПолучитьЭлементы();
Если ЭлементыПервойГруппы.Количество() > 0 Тогда
Элементы.НеУдаленные.ТекущаяСтрока = ЭлементыПервойГруппы[0].ПолучитьИдентификатор();
ПоказатьСвязиНеУдаленныхНаСервере();
ПоказатьСвязиНеУдаленныхНаСервере(ЭтотОбъект);
КонецЕсли;
КонецЕсли;
@@ -9,6 +9,7 @@
<key>ru</key>
<value>Универсальный обмен данными в формате XML</value>
</synonym>
<comment>АПК:700 подключение расширения для работы с файлами через ФайловаяСистемаКлиент не выполняется, т.к. обработка является автономной и не зависит от базовой функциональности БСП</comment>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.УниверсальныйОбменДаннымиXML.Form.УправляемаяФорма</defaultForm>
<help>
@@ -10,36 +10,56 @@
<ul><li>
<p><strong>Файл обновления не требуется, так как он уже загружен в основную конфигурацию</strong>. </p>
<ul><li>
<p>Если файл обновления ранее уже был загружен в основную конфигурацию, и его необходимо применить к конфигурации информационной базы, то следует выбрать этот вариант. Эта возможность может быть востребована, например, при обновлении конфигурации узла распределенной информационной базы.</p></li></ul></li><li>
<p>Если файл обновления ранее уже был загружен в основную конфигурацию, и его необходимо применить к конфигурации информационной базы, то следует выбрать этот вариант. Эта возможность может быть востребована, например, при обновлении конфигурации узла распределенной информационной базы.</p></li></ul></li>
<li>
<p><strong>Укажите файл обновления</strong> - с помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> укажите путь к файлу на компьютере. </p>
<ul><li>В качестве файла может быть указан cfu-файл обновления конфигурации или cf-файл поставки конфигурации, например, <strong>E:\1Cits\EXE\Migration\1Cv8.cf</strong>. </li></ul></li><li>Нажмите <strong>Далее</strong>, для того чтобы продолжить установку обновлений.</li></ul></li><li>После нажатия на кнопку <strong>Далее</strong> программа получает файл обновления из локального или сетевого каталога, например, с диска 1С:ИТС локально на компьютер. </li></ul><p>Получение файла обновления с диска 1С:ИТС может занять продолжительное время, в зависимости от объема конкретного файла и производительности компьютера.</p>
<ul><li>В качестве файла может быть указан cfu-файл обновления конфигурации или cf-файл поставки конфигурации, например, <strong>E:\1Cits\EXE\Migration\1Cv8.cf</strong>. </li></ul></li>
<li>Нажмите <strong>Далее</strong>, для того чтобы продолжить установку обновлений.</li></ul></li>
<li>После нажатия на кнопку <strong>Далее</strong> программа получает файл обновления из локального или сетевого каталога, например, с диска 1С:ИТС локально на компьютер. </li></ul><p>Получение файла обновления с диска 1С:ИТС может занять продолжительное время, в зависимости от объема конкретного файла и производительности компьютера.</p>
<h3>Установка обновлений </h3>
<p>После того, как обновление было получено локально на компьютер, помощник предлагает его установить.</p>
<ul><li>Установка обновления выполняется от имени текущего пользователя. Введите <strong>Параметры администрирования информационной базы - Имя пользователя</strong> и <strong>Пароль</strong>, если для доступа к информационной базе необходима авторизация. В случае клиент-серверного варианта работы программы также может потребоваться ввести имя и пароль администратора кластера серверов.
</li><li>Перед началом обновления версии программы рекомендуется создавать <a href="DataProcessor.УстановкаОбновлений.Form.НастройкаРезервнойКопии/Help">резервную копию</a> информационной базы. Резервная копия используется для автоматического восстановления информационной базы в случае нештатной ситуации. К настройке автоматического создания резервной копии в файловом варианте работы можно перейти по ссылке <strong>Создавать временную резервную копию ИБ и выполнять откат при нештатной ситуации</strong>.
<ul><li>Если для резервного копирования используются сторонние средства, то можно отключить автоматическое создание резервной копии с помощью ссылки <strong>Создавать временную резервную копию ИБ и выполнять откат при нештатной ситуации</strong>, расположенной внизу страницы помощника. Создать резервную копию можно и другими средствами, например, путем копирования файла информационной базы. В клиент-серверном варианте работы рекомендуется создать резервную копию самостоятельно средствами SQL-сервера.</li></ul></li><li>С помощью переключателя можно уточнить время обновления конфигурации ИБ:
</li>
<li>Перед началом обновления версии программы рекомендуется создавать <a href="DataProcessor.УстановкаОбновлений.Form.НастройкаРезервнойКопии/Help">резервную копию</a> информационной базы. Резервная копия используется для автоматического восстановления информационной базы в случае нештатной ситуации. К настройке автоматического создания резервной копии в файловом варианте работы можно перейти по ссылке <strong>Создавать временную резервную копию ИБ и выполнять откат при нештатной ситуации</strong>.
<ul><li>Если для резервного копирования используются сторонние средства, то можно отключить автоматическое создание резервной копии с помощью ссылки <strong>Создавать временную резервную копию ИБ и выполнять откат при нештатной ситуации</strong>, расположенной внизу страницы помощника. Создать резервную копию можно и другими средствами, например, путем копирования файла информационной базы. В клиент-серверном варианте работы рекомендуется создать резервную копию самостоятельно средствами SQL-сервера.</li></ul></li>
<li>С помощью переключателя можно уточнить время обновления конфигурации ИБ:
<ul><li><strong>Выполнить установку обновления прямо сейчас</strong> - для обновления потребуется перезапуск.
</li><li><strong>Напомнить при завершении работы</strong>.
</li><li><strong>Запланировать установку обновления на указанное время</strong> - в клиент-серверном варианте работы программы есть возможность <a href="#3">указать время и дату обновления конфигурации</a>. </li></ul></li><li>Прежде чем продолжить обновление конфигурации, необходимо сохранить несохраненные данные или закрыть окна их редактирования.
</li><li>В клиент-серверном варианте работы программы все соединения будут завершены автоматически, а на время создания резервной копии и обновления конфигурации устанавливается блокировка соединений.
</li><li>Для файлового варианта работы необходимо выполнить следующие действия:
</li>
<li><strong>Напомнить при завершении работы</strong>.
</li>
<li><strong>Запланировать установку обновления на указанное время</strong> - в клиент-серверном варианте работы программы есть возможность <a href="#3">указать время и дату обновления конфигурации</a>. </li></ul></li>
<li>Прежде чем продолжить обновление конфигурации, необходимо сохранить несохраненные данные или закрыть окна их редактирования.
</li>
<li>В клиент-серверном варианте работы программы все соединения будут завершены автоматически, а на время создания резервной копии и обновления конфигурации устанавливается блокировка соединений.
</li>
<li>Для файлового варианта работы необходимо выполнить следующие действия:
<ul><li>Если открыт конфигуратор, то необходимо его закрыть.
</li><li><a href="DataProcessor.БлокировкаРаботыПользователей/Help">Завершить клиентские сеансы</a>. Для того чтобы <a href="DataProcessor.АктивныеПользователи/Help">проконтролировать текущие сеансы</a>, перейдите по ссылке <strong>Посмотреть список активных пользователей</strong>.
</li><li>Если к программе подключены другие программы в режиме внешнего соединения, то необходимо завершить их работу.</li></ul></li><li>Если все указанные условия выполнены, после нажатия кнопки <strong>Далее</strong> программа автоматически создаст резервную копию ИБ (если это предусмотрено), и обновит конфигурацию.
</li><li>Процесс обновления программы может занять продолжительное время, в зависимости от производительности компьютера и объема информационной базы. Не выключайте питание компьютера до завершения процесса.
</li><li>После завершения обновления конфигурации программа будет автоматически запущена и готова к дальнейшей работе. Для базовых версий конфигураций после обновления требуется выполнить первый запуск программы от имени администратора, во время которого будет выполнено завершение процесса обновления конфигурации.
</li><li>Помощник выводит сообщение об успешном завершении обновления программы. Перейдите по ссылке <strong>Новое в этой версии</strong>, для того чтобы просмотреть <a href="CommonForm.ОписаниеИзмененийПрограммы/Help">описание изменений программы</a>. Нажмите <strong>Готово</strong>, для того чтобы приступить к работе в программе.
</li><li>Если в программе предусмотрено <a href="DataProcessor.РезультатыОбновленияПрограммы.Form.ИндикацияХодаОтложенногоОбновленияИБ/Help">отложенное обновление</a>, выводится предупреждение о необходимости ознакомиться <strong>с дополнительными инструкциями</strong> для завершения обновления. Перейдите по соответствующей ссылке.</li></ul><h3><a name="#3">Планирование обновлений</a></h3>
</li>
<li><a href="DataProcessor.БлокировкаРаботыПользователей/Help">Завершить клиентские сеансы</a>. Для того чтобы <a href="DataProcessor.АктивныеПользователи/Help">проконтролировать текущие сеансы</a>, перейдите по ссылке <strong>Посмотреть список активных пользователей</strong>.
</li>
<li>Если к программе подключены другие программы в режиме внешнего соединения, то необходимо завершить их работу.</li></ul></li>
<li>Если все указанные условия выполнены, после нажатия кнопки <strong>Далее</strong> программа автоматически создаст резервную копию ИБ (если это предусмотрено), и обновит конфигурацию.
</li>
<li>Процесс обновления программы может занять продолжительное время, в зависимости от производительности компьютера и объема информационной базы. Не выключайте питание компьютера до завершения процесса.
</li>
<li>После завершения обновления конфигурации программа будет автоматически запущена и готова к дальнейшей работе. Для базовых версий конфигураций после обновления требуется выполнить первый запуск программы от имени администратора, во время которого будет выполнено завершение процесса обновления конфигурации.
</li>
<li>Помощник выводит сообщение об успешном завершении обновления программы. Перейдите по ссылке <strong>Новое в этой версии</strong>, для того чтобы просмотреть <a href="CommonForm.ОписаниеИзмененийПрограммы/Help">описание изменений программы</a>. Нажмите <strong>Готово</strong>, для того чтобы приступить к работе в программе.
</li>
<li>Если в программе предусмотрено <a href="DataProcessor.РезультатыОбновленияПрограммы.Form.ИндикацияХодаОтложенногоОбновленияИБ/Help">отложенное обновление</a>, выводится предупреждение о необходимости ознакомиться <strong>с дополнительными инструкциями</strong> для завершения обновления. Перейдите по соответствующей ссылке.</li></ul><h3><a name="#3">Планирование обновлений</a></h3>
<ul><li>При работе в клиент-серверном варианте работы программы можно задавать отложенное по времени обновление, например, можно отложить обновление конфигурации на ночь.
</li><li>Для этого при обновлении конфигурации в помощнике выберите с помощью переключателя <strong>Запланировать установку обновления на указанное время</strong> и укажите время и дату обновления.
</li><li>Существует возможность настроить отправку отчета на указанный адрес электронной почты об успешном или неуспешном выполнении обновления. Отправка сообщения производится с компьютера, на которой установлен сервер 1С:Предприятие. Для этого включите флажок <strong>Выслать отчет на почту</strong>, напишите адрес электронной почты.</li></ul><p class="Important">Запланированное обновление будет выполнено с клиентского компьютера в фоновом режиме. Питание компьютера должно быть включено в указанную дату и время.</p>
</li>
<li>Для этого при обновлении конфигурации в помощнике выберите с помощью переключателя <strong>Запланировать установку обновления на указанное время</strong> и укажите время и дату обновления.
</li>
<li>Существует возможность настроить отправку отчета на указанный адрес электронной почты об успешном или неуспешном выполнении обновления. Отправка сообщения производится с компьютера, на которой установлен сервер 1С:Предприятие. Для этого включите флажок <strong>Выслать отчет на почту</strong>, напишите адрес электронной почты.</li></ul><p class="Important">Запланированное обновление будет выполнено с клиентского компьютера в фоновом режиме. Питание компьютера должно быть включено в указанную дату и время.</p>
<h3>Проблемы получения и установки обновлений</h3>
<p>На специальной странице помощника выводится сообщение о невозможности проведения обновления программы.</p>
<ul><li>Для получения технической информации о причинах проблем с получением и установкой обновлений можно воспользоваться следующими средствами:
<ul><li>Записи о произведенных операциях и возникших ошибках в ходе обновления заносятся в <strong>Журнал регистрации </strong>(тип события «Обновление информационной базы»). Воспользуйтесь ссылкой <strong>Перейти в журнал регистрации</strong>, для того чтобы просмотреть <a href="DataProcessor.ЖурналРегистрации/Help">технические подробности</a>.
</li><li>В процессе установки обновления во временной папке текущего пользователя Windows создается лог-файл с записями о ходе обновления (содержимое лог-файла впоследствии автоматически добавляется в <strong>Журнал регистрации</strong>). Последний из каталогов вида <strong>%temp%\1CUpdate.&lt;набор цифр&gt;, </strong>отсортированных по алфавиту, соответствует последней сессии обновления. </li></ul></li></ul><blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
</li>
<li>В процессе установки обновления во временной папке текущего пользователя Windows создается лог-файл с записями о ходе обновления (содержимое лог-файла впоследствии автоматически добавляется в <strong>Журнал регистрации</strong>). Последний из каталогов вида <strong>%temp%\1CUpdate.&lt;набор цифр&gt;, </strong>отсортированных по алфавиту, соответствует последней сессии обновления. </li></ul></li></ul><blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p class="Important">Если настройка операционной системы "Язык программ, не поддерживающих Юникод" задана некорректно, то процесс обновления завершится с ошибкой "invalid procedure call or arguments", при этом лог-файл окажется пустым. Для устранения данной ошибки необходимо, чтобы в региональных настройках операционной системы (<strong>Панель управления - Язык и региональные стандарты - Дополнительно</strong>) в поле <strong>Язык программ, не поддерживающих Юникод</strong> был выбран русский язык.</p></blockquote>
<ul><ul><li>Результат обновления информационной базы записывается в <strong>Журнал событий Windows</strong> (Event Log).<br></li></ul><li>Если в результате нештатной ситуации при обновлении база оказалась заблокированной, то ее можно разблокировать с помощью консоли <strong>Администрирование серверов 1С:Предприятия</strong>, либо из командной строки, запустив 1С:Предприятие от имени администратора с ключом <strong>РазрешитьРаботуПользователей</strong> и указав код разблокировки <strong>ПакетноеОбновлениеКонфигурацииИБ</strong>. Например:</li></ul><p class="SourceCode">"C:\Program Files\1cv82\bin\1cv8.exe"ENTERPRISE /S"server\base" /N"Администратор" /P"" /WA- /CРазрешитьРаботуПользователей /UCПакетноеОбновлениеКонфигурацииИБ</p>
<ul><ul><li>Результат обновления информационной базы записывается в <strong>Журнал событий Windows</strong> (Event Log).<br></li></ul><li>Если в результате нештатной ситуации при обновлении база оказалась заблокированной, то ее можно разблокировать с помощью консоли <strong>Администрирование серверов 1С:Предприятия</strong>, либо из командной строки, запустив 1С:Предприятие от имени администратора с ключом <strong>РазрешитьРаботуПользователей</strong> и указав код разблокировки <strong>ПакетноеОбновлениеКонфигурацииИБ</strong>. Например:</li></ul><p class="SourceCode">"C:\Program Files\1cv82\bin\1cv8.exe"ENTERPRISE /S"server\base" /N"Администратор" /P"" /WA- /C РазрешитьРаботуПользователей /UC ПакетноеОбновлениеКонфигурацииИБ</p>
<ul><li>Если обновление конфигурации завершилось неудачей, а во временном log-файле имеется запись: "Исключение в createConnection: Error, Automation server can't create object", то, скорее всего, используется 32-разрядная компонента <strong>comcntr.dll</strong> на компьютере под управлением 64-разрядной операционной системы. Для устранения данной проблемы необходимо взять 64-разрядную компоненту <strong>comcntr.dll</strong> из поставки 1С Предприятие x64 Сервер и зарегистрировать ее, запустив из командной строки:</li></ul><p class="SourceCode">regsvr32 &lt;каталог 64-разрядного comcntr.dll&gt;\comcntr.dll</p>
<p>Выяснив причины ошибки, произведите соответствующие настройки компьютера, затем нажмите <strong>Далее</strong> для повторения попытки. </p>
<h3>См. также:</h3>
@@ -28,6 +28,34 @@
// Конец СтандартныеПодсистемы.УправлениеДоступом
// ТехнологияСервиса.ВыгрузкаЗагрузкаДанных
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриРегистрацииОбработчиковВыгрузкиДанных.
Процедура ПередВыгрузкойОбъекта(Контейнер, МенеджерВыгрузкиОбъекта, Сериализатор, Объект, Артефакты, Отказ) Экспорт
ВыгружаемыеТипы = Новый Соответствие;
Для Каждого Запись Из Объект Цикл
Если Запись.АвторВерсии = Неопределено Тогда
Продолжить;
КонецЕсли;
Тип = ТипЗнч(Запись.АвторВерсии);
Выгружать = ВыгружаемыеТипы[Тип];
Если Выгружать = Неопределено Тогда
Выгружать = Не ОбщегоНазначения.ЭтоПланОбмена(Запись.АвторВерсии.Метаданные());
ВыгружаемыеТипы.Вставить(Тип, Выгружать);
КонецЕсли;
Если Не Выгружать Тогда
Запись.АвторВерсии = Неопределено;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
// Конец ТехнологияСервиса.ВыгрузкаЗагрузкаДанных
#КонецОбласти
#КонецОбласти
@@ -147,7 +147,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Каталоги файловой системы ([Количество]):</v8:content>
<v8:content>Каталоги файловой системы ([Количество]):</v8:content>
</v8:item>
</tl>
</c>
@@ -302,7 +302,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• COM-классы, установленных на серверах кластера 1С:Предприятия ([Количество]): </v8:content>
<v8:content>COM-классы, установленных на серверах кластера 1С:Предприятия ([Количество]): </v8:content>
</v8:item>
</tl>
</c>
@@ -424,7 +424,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Подключение внешних компонент, поставляемых в составе программы ([Количество]):</v8:content>
<v8:content>Подключение внешних компонент, поставляемых в составе программы ([Количество]):</v8:content>
</v8:item>
</tl>
</c>
@@ -558,7 +558,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Запуск приложений операционной системы на серверах кластера 1С:Предприятия ([Количество]):</v8:content>
<v8:content>Запуск приложений операционной системы на серверах кластера 1С:Предприятия ([Количество]):</v8:content>
</v8:item>
</tl>
</c>
@@ -657,7 +657,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Интернет-ресурсы ([Количество]):</v8:content>
<v8:content>Интернет-ресурсы ([Количество]):</v8:content>
</v8:item>
</tl>
</c>
@@ -808,7 +808,7 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Расширения конфигурации ([Количество]):</v8:content>
<v8:content>Расширения конфигурации ([Количество]):</v8:content>
</v8:item>
</tl>
</c>
@@ -978,11 +978,36 @@
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>• Установка привилегированного режима (программному модулю будет разрешено программное выполнение операций с данными, для которых недостаточно прав доступа текущего пользователя программы)</v8:content>
<v8:content>Установка привилегированного режима (программному модулю будет разрешено программное выполнение операций с данными, для которых недостаточно прав доступа текущего пользователя программы)</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>41</f>
</c>
</c>
<c>
<c>
<f>4</f>
</c>
</c>
<c>
<c>
<f>42</f>
</c>
</c>
<c>
<c>
<f>6</f>
</c>
</c>
<c>
<c>
<f>7</f>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
@@ -1036,10 +1061,35 @@
<f>14</f>
</c>
</c>
<c>
<c>
<f>41</f>
</c>
</c>
<c>
<c>
<f>4</f>
</c>
</c>
<c>
<c>
<f>42</f>
</c>
</c>
<c>
<c>
<f>6</f>
</c>
</c>
<c>
<c>
<f>7</f>
</c>
</c>
</row>
</rowsItem>
<templateMode>true</templateMode>
<defaultFormatIndex>41</defaultFormatIndex>
<defaultFormatIndex>42</defaultFormatIndex>
<height>34</height>
<vgRows>34</vgRows>
<merge>
@@ -1213,8 +1263,8 @@
<type>Rows</type>
<beginRow>12</beginRow>
<endRow>12</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1223,8 +1273,8 @@
<type>Rows</type>
<beginRow>8</beginRow>
<endRow>8</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1233,8 +1283,8 @@
<type>Rows</type>
<beginRow>25</beginRow>
<endRow>25</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1243,8 +1293,8 @@
<type>Rows</type>
<beginRow>29</beginRow>
<endRow>29</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1253,8 +1303,8 @@
<type>Rows</type>
<beginRow>4</beginRow>
<endRow>4</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1263,8 +1313,8 @@
<type>Rows</type>
<beginRow>21</beginRow>
<endRow>21</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1273,8 +1323,8 @@
<type>Rows</type>
<beginRow>17</beginRow>
<endRow>17</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1283,8 +1333,8 @@
<type>Rows</type>
<beginRow>33</beginRow>
<endRow>33</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1293,8 +1343,8 @@
<type>Rows</type>
<beginRow>14</beginRow>
<endRow>14</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1303,8 +1353,8 @@
<type>Rows</type>
<beginRow>15</beginRow>
<endRow>15</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1313,8 +1363,8 @@
<type>Rows</type>
<beginRow>10</beginRow>
<endRow>10</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1323,8 +1373,8 @@
<type>Rows</type>
<beginRow>27</beginRow>
<endRow>27</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1333,8 +1383,8 @@
<type>Rows</type>
<beginRow>31</beginRow>
<endRow>31</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1343,8 +1393,8 @@
<type>Rows</type>
<beginRow>6</beginRow>
<endRow>6</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1353,8 +1403,8 @@
<type>Rows</type>
<beginRow>23</beginRow>
<endRow>23</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1363,8 +1413,8 @@
<type>Rows</type>
<beginRow>19</beginRow>
<endRow>19</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1373,8 +1423,8 @@
<type>Rows</type>
<beginRow>1</beginRow>
<endRow>1</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1383,8 +1433,8 @@
<type>Rows</type>
<beginRow>13</beginRow>
<endRow>13</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1393,8 +1443,8 @@
<type>Rows</type>
<beginRow>9</beginRow>
<endRow>9</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1403,8 +1453,8 @@
<type>Rows</type>
<beginRow>26</beginRow>
<endRow>26</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1413,8 +1463,8 @@
<type>Rows</type>
<beginRow>30</beginRow>
<endRow>30</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1423,8 +1473,8 @@
<type>Rows</type>
<beginRow>5</beginRow>
<endRow>5</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1433,8 +1483,8 @@
<type>Rows</type>
<beginRow>22</beginRow>
<endRow>22</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
@@ -1443,8 +1493,8 @@
<type>Rows</type>
<beginRow>18</beginRow>
<endRow>18</endRow>
<beginColumn>0</beginColumn>
<endColumn>0</endColumn>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<line width="1" gap="false">
@@ -1455,6 +1505,8 @@
</line>
<font xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" ref="sys:DefaultGUIFont" faceName="Tahoma" kind="WindowsFont"/>
<font xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" ref="sys:DefaultGUIFont" faceName="Tahoma" height="9" kind="WindowsFont"/>
<font xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" ref="sys:DefaultGUIFont" faceName="Tahoma" bold="true" kind="WindowsFont"/>
<font xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" ref="sys:DefaultGUIFont" faceName="Tahoma" bold="false" kind="WindowsFont"/>
<format>
<font>0</font>
<width>6</width>
@@ -1519,7 +1571,7 @@
<width>160</width>
</format>
<format>
<font>0</font>
<font>2</font>
<width>160</width>
<textPlacement>Wrap</textPlacement>
<fillType>Template</fillType>
@@ -1545,6 +1597,7 @@
<font>0</font>
<border>0</border>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
<hyperLink>false</hyperLink>
@@ -1553,6 +1606,7 @@
<font>0</font>
<border>0</border>
<horizontalAlignment>Center</horizontalAlignment>
<verticalAlignment>Top</verticalAlignment>
<fillType>Parameter</fillType>
<format>
<v8:item>
@@ -1562,7 +1616,7 @@
</format>
</format>
<format>
<font>0</font>
<font>2</font>
<width>170</width>
<textPlacement>Wrap</textPlacement>
<fillType>Template</fillType>
@@ -1571,12 +1625,14 @@
<font>0</font>
<border>0</border>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Template</fillType>
</format>
<format>
<font>0</font>
<border>0</border>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
</format>
@@ -1590,6 +1646,7 @@
<font>0</font>
<border>0</border>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
</format>
@@ -1609,12 +1666,14 @@
<font>0</font>
<border>0</border>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<font>0</font>
<border>0</border>
<width>327</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
<hyperLink>false</hyperLink>
@@ -1623,6 +1682,7 @@
<font>0</font>
<border>0</border>
<width>136</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Auto</textPlacement>
<fillType>Parameter</fillType>
<hyperLink>false</hyperLink>
@@ -1637,6 +1697,7 @@
<font>0</font>
<border>0</border>
<width>139</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
<editFormat>
@@ -1668,12 +1729,14 @@
<topBorder>0</topBorder>
<bottomBorder>0</bottomBorder>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<font>0</font>
<border>0</border>
<width>136</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
<hyperLink>false</hyperLink>
@@ -1690,11 +1753,16 @@
<textPlacement>Wrap</textPlacement>
</format>
<format>
<font>0</font>
<font>3</font>
<border>1</border>
<width>170</width>
<verticalAlignment>Top</verticalAlignment>
<textPlacement>Wrap</textPlacement>
</format>
<format>
<font>0</font>
<width>61</width>
</format>
<format>
<font>0</font>
<width>72</width>
@@ -1315,93 +1315,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ОбщиеВнешниеКомпоненты</name>
<right>
@@ -4877,6 +4790,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПакетыДляОтправки</name>
<right>
@@ -21,37 +21,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -107,6 +76,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -1898,45 +1898,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Document.ТелефонныйЗвонок</name>
<right>
@@ -6548,6 +6509,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.ПакетыДляОтправки</name>
<right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -34,13 +41,6 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
@@ -11,6 +11,10 @@
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайла</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ИмяФайлаПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ИмяФайлаРасширеннаяПодсказка</name>
<id>3</id>
@@ -6,6 +6,13 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОписаниеПеременных
&НаКлиенте
Перем ИмяАрхива;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -21,14 +28,10 @@
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Обработчик = Новый ОписаниеОповещения(
"ПослеУстановкиРасширенияРаботыСФайлами",
ЭтотОбъект);
ИмяАрхива = "ReportOptions.zip";
ТекстПредложения = НСтр("ru = 'Для сохранения варианта отчета в файл необходимо
|установить расширение для работы с файлами.'");
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Обработчик, ТекстПредложения, Ложь);
Обработчик = Новый ОписаниеОповещения("ПослеУстановкиРасширенияРаботыСФайлами", ЭтотОбъект);
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Обработчик, ТекстПредложения());
КонецПроцедуры
@@ -36,6 +39,17 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ИмяФайлаПриИзменении(Элемент)
Если ЗначениеЗаполнено(ИмяФайла)
И Не СтрЗаканчиваетсяНа(ИмяФайла, ".zip") Тогда
ИмяФайла = ИмяФайла + ".zip";
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
@@ -66,10 +80,19 @@
УпаковатьНастройкиВариантаОтчета();
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = ИмяАрхива;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("УпаковатьНастройкиВариантаОтчетаЗавершение", ЭтотОбъект);
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилищаАрхива);
ДвоичныеДанные.НачатьЗапись(Обработчик, ИмяФайла);
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.ТекстПредложения = ТекстПредложения();
ПараметрыСохранения.Диалог.Фильтр = НСтр("ru = 'Архив (*.zip)|*.zip'");
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Укажите файл'");
ПараметрыСохранения.Диалог.ПолноеИмяФайла = ИмяФайла;
ФайловаяСистемаКлиент.СохранитьФайл(Обработчик, АдресХранилищаАрхива, ИмяФайла, ПараметрыСохранения);
КонецПроцедуры
@@ -188,7 +211,7 @@
Процедура ИмяФайлаПослеВыбораКаталога(Каталог, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(Каталог) Тогда
ИмяФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Каталог) + "ReportOptions.zip";
ИмяФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Каталог) + ИмяАрхива;
КонецЕсли;
КонецПроцедуры
@@ -239,9 +262,14 @@
КонецПроцедуры
&НаКлиенте
Процедура УпаковатьНастройкиВариантаОтчетаЗавершение(ДополнительныеПараметры) Экспорт
Процедура УпаковатьНастройкиВариантаОтчетаЗавершение(Файлы, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Файлы) = Тип("Массив")
И Файлы.Количество() > 0 Тогда
ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен в файл'"),, ИмяФайла);
КонецЕсли;
ПоказатьОповещениеПользователя(НСтр("ru = 'Вариант отчета сохранен в файл'"),, ИмяФайла);
Закрыть();
КонецПроцедуры
@@ -319,31 +347,36 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеУстановкиРасширенияРаботыСФайлами(Знач РасширениеПодключено, ДополнительныеПараметры) Экспорт
Процедура ПослеУстановкиРасширенияРаботыСФайлами(РасширениеПодключено, ДополнительныеПараметры) Экспорт
РасширениеПодключено = (РасширениеПодключено = Истина);
Элементы.Сохранить.Доступность = РасширениеПодключено;
Элементы.ИмяФайла.ТолькоПросмотр = Не РасширениеПодключено;
Если Не РасширениеПодключено
Или ЗначениеЗаполнено(ИмяФайла) Тогда
Если РасширениеПодключено = Истина Тогда
Обработчик = Новый ОписаниеОповещения("ПослеПолученияКаталогаДокументов", ЭтотОбъект);
НачатьПолучениеКаталогаДокументов(Обработчик);
ИначеЕсли Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = ИмяАрхива;
Возврат;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ПослеПолученияКаталогаДокументов", ЭтотОбъект);
НачатьПолучениеКаталогаДокументов(Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ПослеПолученияКаталогаДокументов(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(ИмяКаталогаДокументов) Тогда
ИмяФайла = ИмяКаталогаДокументов + "ReportOptions.zip";
ИмяФайла = ИмяКаталогаДокументов + ИмяАрхива;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ТекстПредложения()
Возврат НСтр("ru = 'Для сохранения варианта отчета в файл рекомендуется
|установить расширение для работы с файлами.'");
КонецФункции
#КонецОбласти
@@ -24,43 +24,6 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="364cbfe2-bc44-4387-aa7e-6b4aa086c9e9">
<name>СохранениеВариантаОтчета</name>
<synonym>
<key>ru</key>
<value>Сохранение варианта отчета</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="343b979a-97e3-4eac-a314-3bd3eea9c15c">
<name>ОписаниеНовойВозможностиПоВыводуОписаний</name>
<synonym>
<key>ru</key>
<value>Описание новой возможности по выводу описаний</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="b2f17ef1-3f6f-4029-b3e2-28d6b79c5b76">
<name>ПанельДругихОтчетов</name>
<synonym>
<key>ru</key>
<value>Панель других отчетов</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="f5bb88eb-c239-4ae3-a297-dfbbd679e008">
<name>ВыборПоляОтчета</name>
<synonym>
@@ -79,11 +42,20 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="7433b2a9-f634-4af7-ac85-6aa1280ea239">
<name>СохранениеВариантаОтчетаВФайл</name>
<forms uuid="343b979a-97e3-4eac-a314-3bd3eea9c15c">
<name>ОписаниеНовойВозможностиПоВыводуОписаний</name>
<synonym>
<key>ru</key>
<value>Сохранение варианта отчета в файл</value>
<value>Описание новой возможности по выводу описаний</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="b2f17ef1-3f6f-4029-b3e2-28d6b79c5b76">
<name>ПанельДругихОтчетов</name>
<synonym>
<key>ru</key>
<value>Панель других отчетов</value>
</synonym>
<help>
<pages>
@@ -93,11 +65,25 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="f259b6b4-d582-429f-a16f-027a6bcb7438">
<name>ЭлементУсловногоОформленияОтчета</name>
<forms uuid="364cbfe2-bc44-4387-aa7e-6b4aa086c9e9">
<name>СохранениеВариантаОтчета</name>
<synonym>
<key>ru</key>
<value>Элемент условного оформления отчета</value>
<value>Сохранение варианта отчета</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="7433b2a9-f634-4af7-ac85-6aa1280ea239">
<name>СохранениеВариантаОтчетаВФайл</name>
<synonym>
<key>ru</key>
<value>Сохранение варианта отчета в файл</value>
</synonym>
<help>
<pages>
@@ -121,4 +107,18 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="f259b6b4-d582-429f-a16f-027a6bcb7438">
<name>ЭлементУсловногоОформленияОтчета</name>
<synonym>
<key>ru</key>
<value>Элемент условного оформления отчета</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:SettingsStorage>
@@ -18,13 +18,6 @@
СообщениеОбОшибке = "";
// Проверяем, что информационная база не является файловой.
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
СообщениеОбОшибке = НСтр("ru = 'Подключаемая информационная база является файловой,
|в связи с чем не поддерживает работу методов web-сервиса.'");
Возврат Ложь;
КонецЕсли;
// Проверяем наличие прав для выполнения обмена.
Попытка
ОбменДаннымиСлужебный.ПроверитьВозможностьВыполненияОбменов();
@@ -18,13 +18,6 @@
СообщениеОбОшибке = "";
// Проверяем, что информационная база не является файловой.
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
СообщениеОбОшибке = НСтр("ru = 'Подключаемая информационная база является файловой,
|в связи с чем не поддерживает работу методов веб-сервиса.'");
Возврат Ложь;
КонецЕсли;
// Проверяем наличие прав для выполнения обмена.
Попытка
ОбменДаннымиСлужебный.ПроверитьВозможностьВыполненияОбменов();
@@ -8,6 +8,8 @@
<enumeration xsi:type="xs:string">HTTPS</enumeration>
<enumeration xsi:type="xs:string">FTP</enumeration>
<enumeration xsi:type="xs:string">FTPS</enumeration>
<enumeration xsi:type="xs:string">WS</enumeration>
<enumeration xsi:type="xs:string">WSS</enumeration>
</valueType>
<objectType name="PermissionBase" abstract="true">
<property name="Description" type="xs:string" lowerBound="0"/>