3_1_6_118
This commit is contained in:
1 parent
6323e447c0
commit
3e5e0c470a
194 files changed
+6810
-1986
No files matched your search
@@ -39,6 +39,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>Задайте способ расчета курса валюты в соответствующем поле, например, <strong>(USD+EUR)/2</strong>.
|
<li>Задайте способ расчета курса валюты в соответствующем поле, например, <strong>(USD+EUR)/2</strong>.
|
||||||
</li>
|
</li>
|
||||||
|
<li>Для построения сложных формул можно использовать конструктор, который открывается с помощью кнопки <img src="StdPicture.InputFieldSelect"></img>.</li>
|
||||||
<li>Допустимыми разделителями дробной части чисел в формуле являются знаки точки и запятой, т.е. правильно:
|
<li>Допустимыми разделителями дробной части чисел в формуле являются знаки точки и запятой, т.е. правильно:
|
||||||
<ul><li><strong>EUR*1.025</strong>
|
<ul><li><strong>EUR*1.025</strong>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -161,7 +161,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
Если ОбщегоНазначения.РазделениеВключено()
|
||||||
|
Или Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
||||||
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
|
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -2630,7 +2630,7 @@
|
|||||||
НовыеПодсистемы = Новый Массив;
|
НовыеПодсистемы = Новый Массив;
|
||||||
ВсеНовыеПодсистемы = Новый Массив;
|
ВсеНовыеПодсистемы = Новый Массив;
|
||||||
НачалоИмени = "Подсистема.СтандартныеПодсистемы.";
|
НачалоИмени = "Подсистема.СтандартныеПодсистемы.";
|
||||||
КлючВсеПодсистемы = "Подсистемы.";
|
КлючВсеПодсистемы = "Подсистема.";
|
||||||
|
|
||||||
Для Каждого Объект Из ОбъектыДляЗаписи Цикл
|
Для Каждого Объект Из ОбъектыДляЗаписи Цикл
|
||||||
Если Не Объект.ЭтоНовый()
|
Если Не Объект.ЭтоНовый()
|
||||||
@@ -2643,7 +2643,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ВРег(Лев(Объект.ПолноеИмя, СтрДлина(КлючВсеПодсистемы))) = ВРег(КлючВсеПодсистемы) Тогда
|
Если ВРег(Лев(Объект.ПолноеИмя, СтрДлина(КлючВсеПодсистемы))) = ВРег(КлючВсеПодсистемы) Тогда
|
||||||
НовыеПодсистемы.Добавить(Объект.ПолноеИмя);
|
ВсеНовыеПодсистемы.Добавить(Объект.ПолноеИмя);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<!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>С помощью кнопки <b>Видимость в подменю "Печать"</b> можно ограничить доступность соответствующей команды печати в зависимости от значений реквизитов элементов.
|
||||||
|
<div>Видимость команд печати нужна для того, чтобы печатная форма могла быть сформирована только для подходящего документа.
|
||||||
|
<div>Для ввода условия нажмите <b>Добавить</b>.<br><div>Выберите <b>Поле</b> документа, <b>Вид сравнения</b>, напишите или выберите <b>Значение</b>, с которым будет сравниваться поле.</div></div></div></body></html>
|
||||||
@@ -295,6 +295,11 @@
|
|||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Условия видимости в подменю "Печать"</value>
|
<value>Условия видимости в подменю "Печать"</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
|
<help>
|
||||||
|
<pages>
|
||||||
|
<lang>ru</lang>
|
||||||
|
</pages>
|
||||||
|
</help>
|
||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<usePurposes>MobileDevice</usePurposes>
|
<usePurposes>MobileDevice</usePurposes>
|
||||||
</forms>
|
</forms>
|
||||||
|
|||||||
@@ -575,11 +575,16 @@
|
|||||||
|
|
||||||
Если ЗначениеЗаполнено(Родитель) Тогда
|
Если ЗначениеЗаполнено(Родитель) Тогда
|
||||||
|
|
||||||
|
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||||
|
Возврат Новый УникальныйИдентификатор(Родитель);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТипЗнч(Родитель) = Тип("Строка") Тогда
|
Если ТипЗнч(Родитель) = Тип("Строка") Тогда
|
||||||
Родитель = ПолучитьСсылку(Новый УникальныйИдентификатор(Родитель));
|
Родитель = ПолучитьСсылку(Новый УникальныйИдентификатор(Родитель));
|
||||||
ИначеЕсли ТипЗнч(Родитель) = Тип("УникальныйИдентификатор") Тогда
|
ИначеЕсли ТипЗнч(Родитель) = Тип("УникальныйИдентификатор") Тогда
|
||||||
Родитель = ПолучитьСсылку(Родитель);
|
Родитель = ПолучитьСсылку(Родитель);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Родитель;
|
Возврат Родитель;
|
||||||
|
|||||||
@@ -0,0 +1,604 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ВладелецДанных</name>
|
||||||
|
<id>25</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Владелец данных</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ВладелецДанных</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Имя домена-владельца данных. По этому имени определяется возможность использования аутентификации по протоколу OAuth. Например, mycompany.zzz.</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ВладелецДанныхРасширеннаяПодсказка</name>
|
||||||
|
<id>27</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ВладелецДанныхКонтекстноеМеню</name>
|
||||||
|
<id>26</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ИмяИнтернетСервиса</name>
|
||||||
|
<id>22</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ИмяИнтернетСервиса</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Доменное имя сервера, на котором хранятся данные. Например, outlook.com.</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ИмяИнтернетСервисаРасширеннаяПодсказка</name>
|
||||||
|
<id>24</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ИмяИнтернетСервисаКонтекстноеМеню</name>
|
||||||
|
<id>23</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>АдресАвторизации</name>
|
||||||
|
<id>4</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.АдресАвторизации</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес для интерактивной авторизации пользователя</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АдресАвторизацииРасширеннаяПодсказка</name>
|
||||||
|
<id>6</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>АдресАвторизацииКонтекстноеМеню</name>
|
||||||
|
<id>5</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Auto</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>АдресПеренаправления</name>
|
||||||
|
<id>28</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.АдресПеренаправления</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес перенаправления пользователя после авторизации</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АдресПеренаправленияРасширеннаяПодсказка</name>
|
||||||
|
<id>30</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>АдресПеренаправленияКонтекстноеМеню</name>
|
||||||
|
<id>29</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>АдресПолученияКлюча</name>
|
||||||
|
<id>7</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.АдресПолученияКлюча</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес для получения и обновления токенов</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АдресПолученияКлючаРасширеннаяПодсказка</name>
|
||||||
|
<id>9</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>АдресПолученияКлючаКонтекстноеМеню</name>
|
||||||
|
<id>8</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Auto</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ЗапрашиваемыеРазрешения</name>
|
||||||
|
<id>34</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ЗапрашиваемыеРазрешения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Идентификаторы разрешений, разделенные пробелом.</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ЗапрашиваемыеРазрешенияРасширеннаяПодсказка</name>
|
||||||
|
<id>36</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ЗапрашиваемыеРазрешенияКонтекстноеМеню</name>
|
||||||
|
<id>35</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ИдентификаторПриложения</name>
|
||||||
|
<id>16</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ИдентификаторПриложения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Идентификатор этого приложения на сервере с данными</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ИдентификаторПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>18</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ИдентификаторПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>17</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ПарольПриложения</name>
|
||||||
|
<id>19</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>ПарольПриложения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Секретный ключ доступа этого приложения к данным на сервере</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПарольПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>21</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПарольПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>20</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<passwordMode>true</passwordMode>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ДополнительныеПараметрыАвторизации</name>
|
||||||
|
<id>37</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ДополнительныеПараметрыАвторизации</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Дополнительные параметры, которые необходимо передать в запросе авторизации. Указываются в формате ИмяПараметра=Значение, разделитель - пробел.</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ДополнительныеПараметрыАвторизацииРасширеннаяПодсказка</name>
|
||||||
|
<id>39</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ДополнительныеПараметрыАвторизацииКонтекстноеМеню</name>
|
||||||
|
<id>38</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ДополнительныеПараметрыПолученияТокена</name>
|
||||||
|
<id>40</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ДополнительныеПараметрыПолученияТокена</segments>
|
||||||
|
</dataPath>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Дополнительные параметры, которые необходимо передать в запросе обмена кода авторизации на токен доступа. Указываются в формате ИмяПараметра=Значение, разделитель - пробел.</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ДополнительныеПараметрыПолученияТокенаРасширеннаяПодсказка</name>
|
||||||
|
<id>42</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ДополнительныеПараметрыПолученияТокенаКонтекстноеМеню</name>
|
||||||
|
<id>41</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ИспользоватьКлючПроверкиПодлинностиPKCE</name>
|
||||||
|
<id>31</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ИспользоватьКлючПроверкиПодлинностиPKCE</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>Right</titleLocation>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Установите этот флажок, если в запросах авторизации и обмена кода авторизации на токен доступа на сервере авторизации поддерживается защита с помощью ключа проверки подлинности "Proof Key for Code Exchange (PKCE)"</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ИспользоватьКлючПроверкиПодлинностиPKCEРасширеннаяПодсказка</name>
|
||||||
|
<id>33</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ИспользоватьКлючПроверкиПодлинностиPKCEКонтекстноеМеню</name>
|
||||||
|
<id>32</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>CheckBoxField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ИспользоватьПарольПриложения</name>
|
||||||
|
<id>43</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.ИспользоватьПарольПриложения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>Right</titleLocation>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Установите этот флажок, если для получения токенов требуется передавать в запросах пароль приложения (client_secret)</value>
|
||||||
|
</toolTip>
|
||||||
|
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ИспользоватьПарольПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>45</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ИспользоватьПарольПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>44</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>CheckBoxField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||||
|
</items>
|
||||||
|
<autoCommandBar>
|
||||||
|
<name>ФормаКоманднаяПанель</name>
|
||||||
|
<id>-1</id>
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</autoCommandBar>
|
||||||
|
<windowOpeningMode>LockOwner</windowOpeningMode>
|
||||||
|
<autoSaveDataInSettings>Use</autoSaveDataInSettings>
|
||||||
|
<saveWindowSettings>true</saveWindowSettings>
|
||||||
|
<autoTitle>true</autoTitle>
|
||||||
|
<autoUrl>true</autoUrl>
|
||||||
|
<group>Vertical</group>
|
||||||
|
<autoFillCheck>true</autoFillCheck>
|
||||||
|
<allowFormCustomize>true</allowFormCustomize>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<showTitle>auto</showTitle>
|
||||||
|
<showCloseButton>true</showCloseButton>
|
||||||
|
<attributes>
|
||||||
|
<name>Объект</name>
|
||||||
|
<id>1</id>
|
||||||
|
<valueType>
|
||||||
|
<types>CatalogObject.НастройкиАвторизацииИнтернетСервисов</types>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
<main>true</main>
|
||||||
|
<savedData>true</savedData>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ПарольПриложения</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Пароль приложения</value>
|
||||||
|
</title>
|
||||||
|
<id>4</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
<settingsSavedData xsi:type="form:DataPath">
|
||||||
|
<segments>ПарольПриложения</segments>
|
||||||
|
</settingsSavedData>
|
||||||
|
</attributes>
|
||||||
|
<commandInterface>
|
||||||
|
<navigationPanel/>
|
||||||
|
<commandBar/>
|
||||||
|
</commandInterface>
|
||||||
|
<extInfo xsi:type="form:CatalogFormExtInfo"/>
|
||||||
|
</form:Form>
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (c) 2022, ООО 1С-Софт
|
||||||
|
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||||
|
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||||
|
// Текст лицензии доступен по ссылке:
|
||||||
|
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * Ссылка - СправочникСсылка.НастройкиАвторизацииИнтернетСервисов
|
||||||
|
// * ИмяИнтернетСервиса - Строка
|
||||||
|
// * ВладелецДанных - Строка
|
||||||
|
// * АдресАвторизации - Строка
|
||||||
|
// * АдресПолученияКлюча - Строка
|
||||||
|
// * АдресПеренаправления - Строка
|
||||||
|
// * ЗапрашиваемыеРазрешения - Строка
|
||||||
|
// * ИспользоватьКлючПроверкиПодлинностиPKCE - Булево
|
||||||
|
// * ИдентификаторПриложения - Строка
|
||||||
|
// * ИспользоватьПарольПриложения - Булево
|
||||||
|
// * ПарольПриложения - Строка
|
||||||
|
// * ДополнительныеПараметрыАвторизации - Строка
|
||||||
|
// * ДополнительныеПараметрыПолученияТокена - Строка
|
||||||
|
//
|
||||||
|
Функция НастройкиАвторизацииИнтернетСервиса(ИмяИнтернетСервиса, ВладелецДанных) Экспорт
|
||||||
|
|
||||||
|
НастройкиАвторизации = Новый Структура;
|
||||||
|
НастройкиАвторизации.Вставить("Ссылка");
|
||||||
|
НастройкиАвторизации.Вставить("ИмяИнтернетСервиса");
|
||||||
|
НастройкиАвторизации.Вставить("ВладелецДанных");
|
||||||
|
НастройкиАвторизации.Вставить("АдресАвторизации");
|
||||||
|
НастройкиАвторизации.Вставить("АдресПолученияКлюча");
|
||||||
|
НастройкиАвторизации.Вставить("АдресПеренаправления");
|
||||||
|
НастройкиАвторизации.Вставить("ЗапрашиваемыеРазрешения");
|
||||||
|
НастройкиАвторизации.Вставить("ИспользоватьКлючПроверкиПодлинностиPKCE");
|
||||||
|
НастройкиАвторизации.Вставить("ИдентификаторПриложения");
|
||||||
|
НастройкиАвторизации.Вставить("ИспользоватьПарольПриложения");
|
||||||
|
НастройкиАвторизации.Вставить("ПарольПриложения");
|
||||||
|
НастройкиАвторизации.Вставить("ДополнительныеПараметрыАвторизации");
|
||||||
|
НастройкиАвторизации.Вставить("ДополнительныеПараметрыПолученияТокена");
|
||||||
|
|
||||||
|
ТекстЗапроса =
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.Ссылка,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.АдресАвторизации,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.АдресПолученияКлюча,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.АдресПеренаправления,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ИспользоватьКлючПроверкиПодлинностиPKCE,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ИдентификаторПриложения,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ЗапрашиваемыеРазрешения,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ИспользоватьПарольПриложения,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ДополнительныеПараметрыАвторизации,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ДополнительныеПараметрыПолученияТокена,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ИмяИнтернетСервиса,
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ВладелецДанных
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.НастройкиАвторизацииИнтернетСервисов КАК НастройкиАвторизацииИнтернетСервисов
|
||||||
|
|ГДЕ
|
||||||
|
| НастройкиАвторизацииИнтернетСервисов.ВладелецДанных = &ВладелецДанных
|
||||||
|
| И НастройкиАвторизацииИнтернетСервисов.ИмяИнтернетСервиса = &ИмяИнтернетСервиса
|
||||||
|
| И НЕ НастройкиАвторизацииИнтернетСервисов.ПометкаУдаления";
|
||||||
|
|
||||||
|
Запрос = Новый Запрос(ТекстЗапроса);
|
||||||
|
Запрос.УстановитьПараметр("ВладелецДанных", ВладелецДанных);
|
||||||
|
Запрос.УстановитьПараметр("ИмяИнтернетСервиса", ИмяИнтернетСервиса);
|
||||||
|
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Если Выборка.Следующий() Тогда
|
||||||
|
ЗаполнитьЗначенияСвойств(НастройкиАвторизации, Выборка);
|
||||||
|
НастройкиАвторизации.ПарольПриложения = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Выборка.Ссылка, "ПарольПриложения");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат НастройкиАвторизации;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// НастройкиАвторизации - см. НастройкиАвторизацииИнтернетСервиса
|
||||||
|
//
|
||||||
|
Процедура ЗаписатьНастройкиАвторизации(НастройкиАвторизации) Экспорт
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.Ссылка) Тогда
|
||||||
|
НастройкиАвторизацииОбъект = НастройкиАвторизации.Ссылка.ПолучитьОбъект();
|
||||||
|
Иначе
|
||||||
|
НастройкиАвторизацииОбъект = СоздатьЭлемент();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.Ссылка) Тогда
|
||||||
|
Для Каждого Элемент Из НастройкиАвторизации Цикл
|
||||||
|
Если Элемент.Ключ = "Ссылка" Или Элемент.Ключ = "ПарольПриложения" Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Если НастройкиАвторизацииОбъект[Элемент.Ключ] <> Элемент.Значение Тогда
|
||||||
|
НастройкиАвторизацииОбъект[Элемент.Ключ] = Элемент.Значение;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
Иначе
|
||||||
|
ЗаполнитьЗначенияСвойств(НастройкиАвторизацииОбъект, НастройкиАвторизации, , "Ссылка");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НастройкиАвторизацииОбъект.Модифицированность() Тогда
|
||||||
|
НастройкиАвторизацииОбъект.Записать();
|
||||||
|
КонецЕсли;
|
||||||
|
Если НастройкиАвторизации.ИспользоватьПарольПриложения Тогда
|
||||||
|
ПарольПриложения = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(НастройкиАвторизацииОбъект.Ссылка, "ПарольПриложения");
|
||||||
|
Если ПарольПриложения <> НастройкиАвторизации.ПарольПриложения Тогда
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(НастройкиАвторизацииОбъект.Ссылка, НастройкиАвторизации.ПарольПриложения, "ПарольПриложения");
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#КонецЕсли
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (c) 2022, ООО 1С-Софт
|
||||||
|
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||||
|
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||||
|
// Текст лицензии доступен по ссылке:
|
||||||
|
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытий
|
||||||
|
|
||||||
|
Процедура ПередЗаписью(Отказ)
|
||||||
|
Наименование = ВладелецДанных + " / " + ИмяИнтернетСервиса;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Иначе
|
||||||
|
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
|
||||||
|
#КонецЕсли
|
||||||
+309
@@ -0,0 +1,309 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ffd14055-0847-48da-8807-0ba07decf6a5">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="10786051-eef0-4293-9fd5-9bca70fe4b6e" valueTypeId="cc9b5b7f-c034-4275-89a1-f02c7cd004a1"/>
|
||||||
|
<refType typeId="f3b275ed-7599-4712-877a-e32d917ca3aa" valueTypeId="c719de67-cfd7-4f83-a854-8449b8353fe8"/>
|
||||||
|
<selectionType typeId="dcfbeac1-6ba6-4ee1-b4ff-2f476f682117" valueTypeId="32841d34-e475-43c5-a681-b235e4216a26"/>
|
||||||
|
<listType typeId="55d4f167-f67b-46e7-9b01-ee1d1cbe1fd0" valueTypeId="86132c10-16eb-4917-b829-030201004558"/>
|
||||||
|
<managerType typeId="2318afd5-d8fa-4e7d-9be4-e59ce5e64e5d" valueTypeId="5ac18854-cca9-444f-baea-3227067fc31c"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>НастройкиАвторизацииИнтернетСервисов</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Настройки авторизации Интернет-сервисов</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Catalog.НастройкиАвторизацииИнтернетСервисов.StandardAttribute.Description</inputByString>
|
||||||
|
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>PredefinedDataName</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Predefined</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Ref</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>DeletionMark</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>IsFolder</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Owner</name>
|
||||||
|
<fillFromFillingValue>true</fillFromFillingValue>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillChecking>ShowError</fillChecking>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Parent</name>
|
||||||
|
<fillFromFillingValue>true</fillFromFillingValue>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Description</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес сервера с данными</value>
|
||||||
|
</synonym>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес сервера, предоставляющего доступ к данным по протоколу OAuth2</value>
|
||||||
|
</toolTip>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillChecking>ShowError</fillChecking>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<standardAttributes>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
<name>Code</name>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
</standardAttributes>
|
||||||
|
<createOnInput>Use</createOnInput>
|
||||||
|
<dataLockControlMode>Managed</dataLockControlMode>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<levelCount>2</levelCount>
|
||||||
|
<foldersOnTop>true</foldersOnTop>
|
||||||
|
<descriptionLength>50</descriptionLength>
|
||||||
|
<codeType>String</codeType>
|
||||||
|
<codeAllowedLength>Variable</codeAllowedLength>
|
||||||
|
<defaultPresentation>AsDescription</defaultPresentation>
|
||||||
|
<editType>InDialog</editType>
|
||||||
|
<choiceMode>BothWays</choiceMode>
|
||||||
|
<defaultObjectForm>Catalog.НастройкиАвторизацииИнтернетСервисов.Form.ФормаЭлемента</defaultObjectForm>
|
||||||
|
<attributes uuid="ee808b7e-8313-4838-8a5a-9b49e3ce7e3e">
|
||||||
|
<name>ВладелецДанных</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Владелец данных</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers>
|
||||||
|
<length>200</length>
|
||||||
|
</stringQualifiers>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="a8450a10-c18c-4b99-828b-870f38c32991">
|
||||||
|
<name>АдресАвторизации</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес авторизации</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес для получения кода авторизации</value>
|
||||||
|
</toolTip>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="ad5e61a9-2f12-4629-9d7b-7882cc885992">
|
||||||
|
<name>АдресПолученияКлюча</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес получения ключа</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес для получения и обновления ключей доступа</value>
|
||||||
|
</toolTip>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="68a66e43-123c-4dc4-8eb7-3b728a6dbf40">
|
||||||
|
<name>ИмяИнтернетСервиса</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Имя интернет сервиса</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers>
|
||||||
|
<length>200</length>
|
||||||
|
</stringQualifiers>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="b016e858-7a3b-473a-a9b7-a6c718d0a028">
|
||||||
|
<name>ИдентификаторПриложения</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Идентификатор приложения</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="7db81d96-e359-4157-b5cb-3b50622d6556">
|
||||||
|
<name>АдресПеренаправления</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес перенаправления</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="aa09ff66-3f4a-4746-9a99-697a2915b3fc">
|
||||||
|
<name>ИспользоватьКлючПроверкиПодлинностиPKCE</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Использовать ключ проверки подлинности (PKCE)</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="21305c37-31fb-46f3-85bc-8743c22faa02">
|
||||||
|
<name>ЗапрашиваемыеРазрешения</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Запрашиваемые разрешения</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="c5bace94-8fbc-4ad1-9567-a41332e8f00a">
|
||||||
|
<name>ИспользоватьПарольПриложения</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Использовать пароль приложения</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="9fc40f79-c538-4ea5-a939-67bdd540d805">
|
||||||
|
<name>ДополнительныеПараметрыАвторизации</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Дополнительные параметры авторизации</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="70443b2a-04db-4573-a4ea-e35078b383d7">
|
||||||
|
<name>ДополнительныеПараметрыПолученияТокена</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Дополнительные параметры получения токена</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<forms uuid="a4814357-6575-4a55-808f-4a4c94047110">
|
||||||
|
<name>ФормаЭлемента</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Форма элемента</value>
|
||||||
|
</synonym>
|
||||||
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
|
<usePurposes>MobileDevice</usePurposes>
|
||||||
|
</forms>
|
||||||
|
</mdclass:Catalog>
|
||||||
@@ -906,7 +906,7 @@
|
|||||||
<textSize>Normal</textSize>
|
<textSize>Normal</textSize>
|
||||||
<inputHint>
|
<inputHint>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Введите имя пользователя</value>
|
<value>Введите имя, адрес, телефон...</value>
|
||||||
</inputHint>
|
</inputHint>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
@@ -2792,9 +2792,6 @@
|
|||||||
<segments>ВыбранныеПользователиИГруппы</segments>
|
<segments>ВыбранныеПользователиИГруппы</segments>
|
||||||
</dataPath>
|
</dataPath>
|
||||||
<titleLocation>Top</titleLocation>
|
<titleLocation>Top</titleLocation>
|
||||||
<excludedCommands>Add</excludedCommands>
|
|
||||||
<excludedCommands>Change</excludedCommands>
|
|
||||||
<excludedCommands>Copy</excludedCommands>
|
|
||||||
<excludedCommands>EndEdit</excludedCommands>
|
<excludedCommands>EndEdit</excludedCommands>
|
||||||
<excludedCommands>MoveDown</excludedCommands>
|
<excludedCommands>MoveDown</excludedCommands>
|
||||||
<excludedCommands>MoveUp</excludedCommands>
|
<excludedCommands>MoveUp</excludedCommands>
|
||||||
@@ -2811,6 +2808,7 @@
|
|||||||
<dataPath xsi:type="form:DataPath">
|
<dataPath xsi:type="form:DataPath">
|
||||||
<segments>ВыбранныеПользователиИГруппы.Пользователь</segments>
|
<segments>ВыбранныеПользователиИГруппы.Пользователь</segments>
|
||||||
</dataPath>
|
</dataPath>
|
||||||
|
<defaultItem>true</defaultItem>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ПользователиИГруппыExtendedTooltip</name>
|
<name>ПользователиИГруппыExtendedTooltip</name>
|
||||||
<id>129</id>
|
<id>129</id>
|
||||||
@@ -2827,8 +2825,7 @@
|
|||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<type>InputField</type>
|
<type>InputField</type>
|
||||||
<readOnly>true</readOnly>
|
<editMode>Enter</editMode>
|
||||||
<editMode>Auto</editMode>
|
|
||||||
<showInHeader>true</showInHeader>
|
<showInHeader>true</showInHeader>
|
||||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
<showInFooter>true</showInFooter>
|
<showInFooter>true</showInFooter>
|
||||||
@@ -2837,7 +2834,9 @@
|
|||||||
<autoMaxHeight>true</autoMaxHeight>
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
<wrap>true</wrap>
|
<wrap>true</wrap>
|
||||||
<choiceListButton>false</choiceListButton>
|
<choiceListButton>false</choiceListButton>
|
||||||
<chooseType>true</chooseType>
|
<choiceButton>false</choiceButton>
|
||||||
|
<openButton>false</openButton>
|
||||||
|
<quickChoice>true</quickChoice>
|
||||||
<typeDomainEnabled>true</typeDomainEnabled>
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
<textEdit>true</textEdit>
|
<textEdit>true</textEdit>
|
||||||
<textSize>Normal</textSize>
|
<textSize>Normal</textSize>
|
||||||
@@ -2848,13 +2847,21 @@
|
|||||||
<id>80</id>
|
<id>80</id>
|
||||||
<horizontalAlign>Left</horizontalAlign>
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
</autoCommandBar>
|
</autoCommandBar>
|
||||||
|
<handlers>
|
||||||
|
<event>OnEditEnd</event>
|
||||||
|
<name>СписокВыбранныхПользователейИГруппПриОкончанииРедактирования</name>
|
||||||
|
</handlers>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>Selection</event>
|
<event>Selection</event>
|
||||||
<name>СписокВыбранныхПользователейИГруппВыбор</name>
|
<name>СписокВыбранныхПользователейИГруппВыбор</name>
|
||||||
</handlers>
|
</handlers>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>BeforeAddRow</event>
|
<event>OnActivateRow</event>
|
||||||
<name>СписокВыбранныхПользователейИГруппПередНачаломДобавления</name>
|
<name>СписокВыбранныхПользователейИГруппПриАктивизацииСтроки</name>
|
||||||
|
</handlers>
|
||||||
|
<handlers>
|
||||||
|
<event>OnStartEdit</event>
|
||||||
|
<name>СписокВыбранныхПользователейИГруппПриНачалеРедактирования</name>
|
||||||
</handlers>
|
</handlers>
|
||||||
<searchStringAddition>
|
<searchStringAddition>
|
||||||
<name>СписокВыбранныхПользователейИГруппСтрокаПоиска</name>
|
<name>СписокВыбранныхПользователейИГруппСтрокаПоиска</name>
|
||||||
@@ -3734,8 +3741,6 @@
|
|||||||
</title>
|
</title>
|
||||||
<id>1</id>
|
<id>1</id>
|
||||||
<valueType>
|
<valueType>
|
||||||
<types>CatalogRef.ВнешниеПользователи</types>
|
|
||||||
<types>CatalogRef.ГруппыВнешнихПользователей</types>
|
|
||||||
<types>CatalogRef.ГруппыПользователей</types>
|
<types>CatalogRef.ГруппыПользователей</types>
|
||||||
<types>CatalogRef.Пользователи</types>
|
<types>CatalogRef.Пользователи</types>
|
||||||
</valueType>
|
</valueType>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
ВыбиратьИерархически = Истина;
|
ВыбиратьИерархически = Истина;
|
||||||
Элементы.ГруппаКоманднаяПанельВыбора.Видимость = Ложь;
|
Элементы.ГруппаКоманднаяПанельВыбора.Видимость = Ложь;
|
||||||
|
|
||||||
ЗаполнитьХранимыеПараметры();
|
ХранимыеПараметры = ХранимыеПараметры();
|
||||||
|
|
||||||
Если Параметры.РежимВыбора Тогда
|
Если Параметры.РежимВыбора Тогда
|
||||||
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "ВыборПодбор");
|
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "ВыборПодбор");
|
||||||
@@ -88,10 +88,7 @@
|
|||||||
НастроитьПараметрыСпискаПользователейДляКомандыУстановитьПароль();
|
НастроитьПараметрыСпискаПользователейДляКомандыУстановитьПароль();
|
||||||
НастроитьПорядокГруппыВсеПользователи(ГруппыПользователей);
|
НастроитьПорядокГруппыВсеПользователи(ГруппыПользователей);
|
||||||
|
|
||||||
ХранимыеПараметры.Вставить("РасширенныйПодбор", Параметры.РасширенныйПодбор);
|
|
||||||
Элементы.ВыбранныеПользователиИГруппы.Видимость = ХранимыеПараметры.РасширенныйПодбор;
|
Элементы.ВыбранныеПользователиИГруппы.Видимость = ХранимыеПараметры.РасширенныйПодбор;
|
||||||
ХранимыеПараметры.Вставить(
|
|
||||||
"ИспользоватьГруппы", ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей"));
|
|
||||||
|
|
||||||
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||||
Если НЕ Пользователи.ЭтоПолноправныйПользователь(, Не РазделениеВключено) Тогда
|
Если НЕ Пользователи.ЭтоПолноправныйПользователь(, Не РазделениеВключено) Тогда
|
||||||
@@ -131,7 +128,7 @@
|
|||||||
Элементы.ГруппаКоманднаяПанельВыбора.Видимость = Истина;
|
Элементы.ГруппаКоманднаяПанельВыбора.Видимость = Истина;
|
||||||
Элементы.ПользователиСписок.ПоискПриВводе = ПоискВТаблицеПриВводе.НеИспользовать;
|
Элементы.ПользователиСписок.ПоискПриВводе = ПоискВТаблицеПриВводе.НеИспользовать;
|
||||||
Элементы.ГруппыПользователей.ПоискПриВводе = ПоискВТаблицеПриВводе.НеИспользовать;
|
Элементы.ГруппыПользователей.ПоискПриВводе = ПоискВТаблицеПриВводе.НеИспользовать;
|
||||||
|
ТекущийЭлемент = Элементы.СписокВыбранныхПользователейИГрупп;
|
||||||
Элементы.ЗавершитьИЗакрыть.Заголовок = НСтр("ru='Завершить и закрыть'");
|
Элементы.ЗавершитьИЗакрыть.Заголовок = НСтр("ru='Завершить и закрыть'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -151,8 +148,6 @@
|
|||||||
"ВыбратьГруппуПользователей", "Видимость", Ложь);
|
"ВыбратьГруппуПользователей", "Видимость", Ложь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ХранимыеПараметры.Вставить("ГруппаВсеПользователи", Справочники.ГруппыПользователей.ВсеПользователи);
|
|
||||||
ХранимыеПараметры.Вставить("ТекущаяСтрока", Параметры.ТекущаяСтрока);
|
|
||||||
НастроитьФормуПоИспользованиюГруппПользователей();
|
НастроитьФормуПоИспользованиюГруппПользователей();
|
||||||
ХранимыеПараметры.Удалить("ТекущаяСтрока");
|
ХранимыеПараметры.Удалить("ТекущаяСтрока");
|
||||||
|
|
||||||
@@ -208,7 +203,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
#Если МобильныйКлиент Тогда
|
#Если МобильныйКлиент Тогда
|
||||||
Если ХранимыеПараметры.Свойство("ИспользоватьГруппы") И ХранимыеПараметры.ИспользоватьГруппы Тогда
|
Если ХранимыеПараметры.ИспользоватьГруппы Тогда
|
||||||
Элементы.ГруппаГруппы.Заголовок = Строка(Элементы.ГруппыПользователей.ТекущиеДанные.Ссылка);
|
Элементы.ГруппаГруппы.Заголовок = Строка(Элементы.ГруппыПользователей.ТекущиеДанные.Ссылка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
@@ -271,11 +266,11 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура СтрокаПоискаИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
|
Процедура СтрокаПоискаИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
|
||||||
СтрокаПоискаТекст = Текст;
|
СтрокаПоискаТекст = Текст;
|
||||||
ПодключитьОбработчикОжидания("СтрокаПоискаОчисткаЗавершение", 0.1, Истина);
|
ПодключитьОбработчикОжидания("СтрокаПоискаЗавершение", 0.1, Истина);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура СтрокаПоискаОчисткаЗавершение()
|
Процедура СтрокаПоискаЗавершение()
|
||||||
|
|
||||||
Если НЕ ЗначениеЗаполнено(СтрокаПоискаТекст) Тогда
|
Если НЕ ЗначениеЗаполнено(СтрокаПоискаТекст) Тогда
|
||||||
Элементы.СтраницыВыбораПользователей.ТекущаяСтраница = Элементы.СтраницаВыборПользователейИГрупп;
|
Элементы.СтраницыВыбораПользователей.ТекущаяСтраница = Элементы.СтраницаВыборПользователейИГрупп;
|
||||||
@@ -310,11 +305,8 @@
|
|||||||
| ПользователиКонтактнаяИнформация.Представление ПОДОБНО &СтрокаПоиска";
|
| ПользователиКонтактнаяИнформация.Представление ПОДОБНО &СтрокаПоиска";
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("СтрокаПоиска", СтрокаПоискаТекст+"%");
|
Запрос.УстановитьПараметр("СтрокаПоиска", СтрокаПоискаТекст+"%");
|
||||||
|
|
||||||
РезультатЗапроса = Запрос.Выполнить();
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
|
||||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
|
||||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||||
ОтборПоКонтактнойИнформации.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
|
ОтборПоКонтактнойИнформации.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -631,8 +623,27 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура СписокВыбранныхПользователейИГруппПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
|
Процедура СписокВыбранныхПользователейИГруппПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
|
||||||
Отказ = Истина;
|
|
||||||
|
Если НоваяСтрока И Не Копирование Тогда
|
||||||
|
Элемент.ТекущиеДанные.Пользователь = ПредопределенноеЗначение("Справочник.Пользователи.ПустаяСсылка");
|
||||||
|
Элемент.ТекущиеДанные.НомерКартинки = 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура СписокВыбранныхПользователейИГруппПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
|
||||||
|
|
||||||
|
СписокВыбранныхПользователейИзменен = Истина;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура СписокВыбранныхПользователейИГруппПриАктивизацииСтроки(Элемент)
|
||||||
|
|
||||||
|
ОбновитьКонтактнуюИнформациюПользователя(Элемент);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -863,12 +874,20 @@
|
|||||||
Процедура ОбновитьКонтактнуюИнформациюПользователя(ЭлементСписок)
|
Процедура ОбновитьКонтактнуюИнформациюПользователя(ЭлементСписок)
|
||||||
|
|
||||||
ТекущиеДанные = ЭлементСписок.ТекущиеДанные;
|
ТекущиеДанные = ЭлементСписок.ТекущиеДанные;
|
||||||
Если НЕ СтандартныеПодсистемыКлиент.ЭтоЭлементДинамическогоСписка(ЭлементСписок) Тогда
|
Если ТекущиеДанные = Неопределено Тогда
|
||||||
ЗаполнитьКонтактнуюИнформацию(ЭтотОбъект, Неопределено);
|
ЗаполнитьКонтактнуюИнформацию(ЭтотОбъект, Неопределено);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЭлементСписок = Элементы.СписокВыбранныхПользователейИГрупп Тогда
|
||||||
|
ТекущийПользователь = ТекущиеДанные.Пользователь;
|
||||||
|
ИначеЕсли НЕ СтандартныеПодсистемыКлиент.ЭтоЭлементДинамическогоСписка(ЭлементСписок) Тогда
|
||||||
|
ЗаполнитьКонтактнуюИнформацию(ЭтотОбъект, Неопределено);
|
||||||
|
Возврат;
|
||||||
|
Иначе
|
||||||
ТекущийПользователь = ТекущиеДанные.Ссылка;
|
ТекущийПользователь = ТекущиеДанные.Ссылка;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПодключитьОбработчикОжидания("ОбновитьКонтактнуюИнформациюПользователяЗавершение", 0.1, Истина);
|
ПодключитьОбработчикОжидания("ОбновитьКонтактнуюИнформациюПользователяЗавершение", 0.1, Истина);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -922,13 +941,30 @@
|
|||||||
Возврат КонтактнаяИнформация;
|
Возврат КонтактнаяИнформация;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * ВыборГруппПользователей - Булево
|
||||||
|
// * РасширенныйПодбор - Булево
|
||||||
|
// * ИспользоватьГруппы - Произвольный
|
||||||
|
// * ГруппаВсеПользователи - СправочникСсылка.ГруппыПользователей
|
||||||
|
// * ТекущаяСтрока - СправочникСсылка, Неопределено
|
||||||
|
// * ЗаголовокФормыПодбора - Строка
|
||||||
|
// * ЗаголовокКнопкиЗавершенияПодбора - Строка
|
||||||
|
//
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ЗаполнитьХранимыеПараметры()
|
Функция ХранимыеПараметры()
|
||||||
|
|
||||||
ХранимыеПараметры = Новый Структура;
|
Результат = Новый Структура;
|
||||||
ХранимыеПараметры.Вставить("ВыборГруппПользователей", Параметры.ВыборГруппПользователей);
|
Результат.Вставить("ВыборГруппПользователей", Параметры.ВыборГруппПользователей);
|
||||||
|
Результат.Вставить("РасширенныйПодбор", Параметры.РасширенныйПодбор);
|
||||||
|
Результат.Вставить("ИспользоватьГруппы", ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей"));
|
||||||
|
Результат.Вставить("ГруппаВсеПользователи", Справочники.ГруппыПользователей.ВсеПользователи);
|
||||||
|
Результат.Вставить("ТекущаяСтрока", Параметры.ТекущаяСтрока);
|
||||||
|
Результат.Вставить("ЗаголовокФормыПодбора", "");
|
||||||
|
Результат.Вставить("ЗаголовокКнопкиЗавершенияПодбора", "");
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ОформитьИСкрытьНедействительныхПользователей()
|
Процедура ОформитьИСкрытьНедействительныхПользователей()
|
||||||
@@ -1093,10 +1129,10 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки");
|
Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки");
|
||||||
ХранимыеПараметры.Вставить("ЗаголовокФормыПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора);
|
ХранимыеПараметры.ЗаголовокФормыПодбора = ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора;
|
||||||
|
|
||||||
Если ПараметрыРасширеннойФормыПодбора.Свойство("ЗаголовокКнопкиЗавершенияПодбора") Тогда
|
Если ПараметрыРасширеннойФормыПодбора.Свойство("ЗаголовокКнопкиЗавершенияПодбора") Тогда
|
||||||
ХранимыеПараметры.Вставить("ЗаголовокКнопкиЗавершенияПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокКнопкиЗавершенияПодбора);
|
ХранимыеПараметры.ЗаголовокКнопкиЗавершенияПодбора = ПараметрыРасширеннойФормыПодбора.ЗаголовокКнопкиЗавершенияПодбора;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Установка параметров расширенной формы подбора.
|
// Установка параметров расширенной формы подбора.
|
||||||
@@ -1182,10 +1218,10 @@
|
|||||||
Процедура НастроитьФормуПоИспользованиюГруппПользователей(ИзменилосьИспользованиеГрупп = Ложь)
|
Процедура НастроитьФормуПоИспользованиюГруппПользователей(ИзменилосьИспользованиеГрупп = Ложь)
|
||||||
|
|
||||||
Если ИзменилосьИспользованиеГрупп Тогда
|
Если ИзменилосьИспользованиеГрупп Тогда
|
||||||
ХранимыеПараметры.Вставить("ИспользоватьГруппы", ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей"));
|
ХранимыеПараметры.ИспользоватьГруппы = ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТекущиеХранимыеПараметры = ХранимыеПараметры; // Структура
|
ТекущиеХранимыеПараметры = ХранимыеПараметры; // см. ХранимыеПараметры
|
||||||
Если ТекущиеХранимыеПараметры.Свойство("ТекущаяСтрока") Тогда
|
Если ТекущиеХранимыеПараметры.Свойство("ТекущаяСтрока") Тогда
|
||||||
|
|
||||||
Если ТипЗнч(ТекущиеХранимыеПараметры.ТекущаяСтрока) = Тип("СправочникСсылка.ГруппыПользователей") Тогда
|
Если ТипЗнч(ТекущиеХранимыеПараметры.ТекущаяСтрока) = Тип("СправочникСсылка.ГруппыПользователей") Тогда
|
||||||
@@ -1195,7 +1231,7 @@
|
|||||||
Иначе
|
Иначе
|
||||||
Параметры.ТекущаяСтрока = Неопределено;
|
Параметры.ТекущаяСтрока = Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Иначе
|
ИначеЕсли ТипЗнч(ТекущиеХранимыеПараметры.ТекущаяСтрока) = Тип("СправочникСсылка.Пользователи") Тогда
|
||||||
ТекущийЭлемент = Элементы.ПользователиСписок;
|
ТекущийЭлемент = Элементы.ПользователиСписок;
|
||||||
Элементы.ГруппыПользователей.ТекущаяСтрока = Справочники.ГруппыПользователей.ВсеПользователи;
|
Элементы.ГруппыПользователей.ТекущаяСтрока = Справочники.ГруппыПользователей.ВсеПользователи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1267,7 +1303,7 @@
|
|||||||
Если ХранимыеПараметры.РасширенныйПодбор Тогда
|
Если ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||||
Заголовок = ХранимыеПараметры.ЗаголовокФормыПодбора;
|
Заголовок = ХранимыеПараметры.ЗаголовокФормыПодбора;
|
||||||
|
|
||||||
Если ХранимыеПараметры.Свойство("ЗаголовокКнопкиЗавершенияПодбора") Тогда
|
Если Не ПустаяСтрока(ХранимыеПараметры.ЗаголовокКнопкиЗавершенияПодбора) Тогда
|
||||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||||
"ЗавершитьИЗакрытьВыбор", "Заголовок", ХранимыеПараметры.ЗаголовокКнопкиЗавершенияПодбора);
|
"ЗавершитьИЗакрытьВыбор", "Заголовок", ХранимыеПараметры.ЗаголовокКнопкиЗавершенияПодбора);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1311,7 +1347,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
#Если МобильныйКлиент Тогда
|
#Если МобильныйКлиент Тогда
|
||||||
Если ХранимыеПараметры.Свойство("РасширенныйПодбор") И Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
Если Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||||
Элементы.ГруппаГруппы.Заголовок = Строка(Элементы.ГруппыПользователей.ТекущиеДанные.Ссылка);
|
Элементы.ГруппаГруппы.Заголовок = Строка(Элементы.ГруппыПользователей.ТекущиеДанные.Ссылка);
|
||||||
ТекущийЭлемент = Элементы.ПользователиСписок;
|
ТекущийЭлемент = Элементы.ПользователиСписок;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1369,7 +1405,7 @@
|
|||||||
ПоказатьПредупреждение(,СообщениеПользователю.Сообщение);
|
ПоказатьПредупреждение(,СообщениеПользователю.Сообщение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Оповестить("Запись_ГруппыВнешнихПользователей");
|
Оповестить("Запись_ГруппыПользователей");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -196,7 +196,8 @@
|
|||||||
|
|
||||||
ОбновитьВидимостьРеквизитаПоказыватьВСпискеВыбора();
|
ОбновитьВидимостьРеквизитаПоказыватьВСпискеВыбора();
|
||||||
|
|
||||||
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
Если ОбщегоНазначения.РазделениеВключено()
|
||||||
|
Или Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
||||||
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
|
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -313,21 +314,15 @@
|
|||||||
ОчиститьСообщения();
|
ОчиститьСообщения();
|
||||||
|
|
||||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ИмяРеквизитаСПочтойДляВосстановленияПароля)
|
Если ЗначениеЗаполнено(ИмяРеквизитаСПочтойДляВосстановленияПароля)
|
||||||
И ПользовательИБАдресЭлектроннойПочты <> ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля] Тогда
|
И ПользовательИБАдресЭлектроннойПочты <> ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля] Тогда
|
||||||
|
|
||||||
Если ПарольДляПодтвержденияИзмененияПочты = Неопределено Тогда
|
Если ПарольДляПодтвержденияИзмененияПочты = Неопределено Тогда
|
||||||
|
|
||||||
Отказ = Истина;
|
Отказ = Истина;
|
||||||
|
|
||||||
ДополнительныеПараметры = Новый Структура("ПараметрыЗаписи", ПараметрыЗаписи);
|
ДополнительныеПараметры = Новый Структура("ПараметрыЗаписи", ПараметрыЗаписи);
|
||||||
Оповещение = Новый ОписаниеОповещения("ПослеЗапросаПароляДляИзмененияПочты", ЭтотОбъект, ДополнительныеПараметры);
|
Оповещение = Новый ОписаниеОповещения("ПослеЗапросаПароляДляИзмененияПочты", ЭтотОбъект, ДополнительныеПараметры);
|
||||||
ОткрытьФорму("Справочник.Пользователи.Форма.ВводПароля",, ЭтотОбъект,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
ОткрытьФорму("Справочник.Пользователи.Форма.ВводПароля",, ЭтотОбъект,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||||||
Возврат;
|
Возврат;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@
|
|||||||
ДополнительныеДанные.НеподписанныеДанные = Неопределено;
|
ДополнительныеДанные.НеподписанныеДанные = Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
СтандартныеПодсистемыСервер.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -739,6 +739,9 @@
|
|||||||
ПараметрыДействия.Вставить("НазначениеРолей",
|
ПараметрыДействия.Вставить("НазначениеРолей",
|
||||||
УправлениеДоступомСлужебныйКлиентСервер.НазначениеПрофиля(Объект));
|
УправлениеДоступомСлужебныйКлиентСервер.НазначениеПрофиля(Объект));
|
||||||
|
|
||||||
|
ПараметрыДействия.Вставить("СтандартныеРолиРасширений",
|
||||||
|
УправлениеДоступомСлужебныйПовтИсп.ОписаниеСтандартныхРолейРасширенийСеанса().РолиСеанса);
|
||||||
|
|
||||||
ПользователиСлужебный.ОбработатьИнтерфейсРолей(Действие, ПараметрыДействия);
|
ПользователиСлужебный.ОбработатьИнтерфейсРолей(Действие, ПараметрыДействия);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -360,6 +360,53 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// РолиПрофиля - Массив из Строка - имена ролей.
|
||||||
|
// - ТабличнаяЧасть:
|
||||||
|
// * Роль - СправочникСсылка.ИдентификаторыОбъектовМетаданных
|
||||||
|
// - СправочникСсылка.ИдентификаторыОбъектовРасширений
|
||||||
|
// - ДанныеФормыКоллекция:
|
||||||
|
// * Роль - Строка - имя роли.
|
||||||
|
//
|
||||||
|
Процедура ЗаполнитьСтандартныеРолиРасширений(РолиПрофиля, СтандартныеРолиРасширений = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Если СтандартныеРолиРасширений = Неопределено Тогда
|
||||||
|
СтандартныеРолиРасширений = УправлениеДоступомСлужебный.СтандартныеРолиРасширений();
|
||||||
|
КонецЕсли;
|
||||||
|
СтандартныеРолиПрофиля = СтандартныеРолиПрофиля(РолиПрофиля);
|
||||||
|
|
||||||
|
// АдминистраторСистемы.
|
||||||
|
УстановитьРолиВПрофиле(РолиПрофиля,
|
||||||
|
СтандартныеРолиРасширений.АдминистраторСистемы,
|
||||||
|
СтандартныеРолиПрофиля.АдминистраторСистемы);
|
||||||
|
|
||||||
|
// ПолныеПрава.
|
||||||
|
УстановитьРолиВПрофиле(РолиПрофиля,
|
||||||
|
СтандартныеРолиРасширений.ПолныеПрава,
|
||||||
|
СтандартныеРолиПрофиля.ПолныеПрава);
|
||||||
|
|
||||||
|
// БазовыеПраваБСП.
|
||||||
|
УстановитьРолиВПрофиле(РолиПрофиля,
|
||||||
|
СтандартныеРолиРасширений.БазовыеПрава,
|
||||||
|
СтандартныеРолиПрофиля.БазовыеПраваБСП);
|
||||||
|
|
||||||
|
// БазовыеПраваВнешнихПользователейБСП.
|
||||||
|
УстановитьРолиВПрофиле(РолиПрофиля,
|
||||||
|
СтандартныеРолиРасширений.БазовыеПраваВнешнихПользователей,
|
||||||
|
СтандартныеРолиПрофиля.БазовыеПраваВнешнихПользователейБСП);
|
||||||
|
|
||||||
|
// Общие права.
|
||||||
|
УстановитьРолиВПрофиле(РолиПрофиля,
|
||||||
|
СтандартныеРолиРасширений.ОбщиеПрава,
|
||||||
|
СтандартныеРолиПрофиля.ПолныеПрава
|
||||||
|
Или СтандартныеРолиПрофиля.БазовыеПраваБСП
|
||||||
|
Или СтандартныеРолиПрофиля.БазовыеПраваВнешнихПользователейБСП);
|
||||||
|
|
||||||
|
// Очистка удаленных.
|
||||||
|
ОчиститьУдаленныеСтандартныеРолиРасширений(РолиПрофиля);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
@@ -1089,45 +1136,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ЗаполнитьСтандартныеРолиРасширений(РолиПрофиля, СтандартныеРолиРасширений = Неопределено) Экспорт
|
|
||||||
|
|
||||||
Если СтандартныеРолиРасширений = Неопределено Тогда
|
|
||||||
СтандартныеРолиРасширений = УправлениеДоступомСлужебный.СтандартныеРолиРасширений();
|
|
||||||
КонецЕсли;
|
|
||||||
СтандартныеРолиПрофиля = СтандартныеРолиПрофиля(РолиПрофиля);
|
|
||||||
|
|
||||||
// АдминистраторСистемы.
|
|
||||||
УстановитьРолиВПрофиле(РолиПрофиля,
|
|
||||||
СтандартныеРолиРасширений.АдминистраторСистемы,
|
|
||||||
СтандартныеРолиПрофиля.АдминистраторСистемы);
|
|
||||||
|
|
||||||
// ПолныеПрава.
|
|
||||||
УстановитьРолиВПрофиле(РолиПрофиля,
|
|
||||||
СтандартныеРолиРасширений.ПолныеПрава,
|
|
||||||
СтандартныеРолиПрофиля.ПолныеПрава);
|
|
||||||
|
|
||||||
// БазовыеПраваБСП.
|
|
||||||
УстановитьРолиВПрофиле(РолиПрофиля,
|
|
||||||
СтандартныеРолиРасширений.БазовыеПрава,
|
|
||||||
СтандартныеРолиПрофиля.БазовыеПраваБСП);
|
|
||||||
|
|
||||||
// БазовыеПраваВнешнихПользователейБСП.
|
|
||||||
УстановитьРолиВПрофиле(РолиПрофиля,
|
|
||||||
СтандартныеРолиРасширений.БазовыеПраваВнешнихПользователей,
|
|
||||||
СтандартныеРолиПрофиля.БазовыеПраваВнешнихПользователейБСП);
|
|
||||||
|
|
||||||
// Общие права.
|
|
||||||
УстановитьРолиВПрофиле(РолиПрофиля,
|
|
||||||
СтандартныеРолиРасширений.ОбщиеПрава,
|
|
||||||
СтандартныеРолиПрофиля.ПолныеПрава
|
|
||||||
Или СтандартныеРолиПрофиля.БазовыеПраваБСП
|
|
||||||
Или СтандартныеРолиПрофиля.БазовыеПраваВнешнихПользователейБСП);
|
|
||||||
|
|
||||||
// Очистка удаленных.
|
|
||||||
ОчиститьУдаленныеСтандартныеРолиРасширений(РолиПрофиля);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Для процедуры ОбновитьСтандартныеРолиРасширений.
|
// Для процедуры ОбновитьСтандартныеРолиРасширений.
|
||||||
Функция СтандартныеРолиПрофиля(РолиПрофиля)
|
Функция СтандартныеРолиПрофиля(РолиПрофиля)
|
||||||
|
|
||||||
@@ -1157,6 +1165,11 @@
|
|||||||
Если РолиПрофиля.Найти(Роль.Имя) <> Неопределено Тогда
|
Если РолиПрофиля.Найти(Роль.Имя) <> Неопределено Тогда
|
||||||
Результат = Истина;
|
Результат = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
ИначеЕсли ТипЗнч(РолиПрофиля) = Тип("ДанныеФормыКоллекция") Тогда
|
||||||
|
Отбор = Новый Структура("Роль", Роль.Имя);
|
||||||
|
Если РолиПрофиля.НайтиСтроки(Отбор).Количество() > 0 Тогда
|
||||||
|
Результат = Истина;
|
||||||
|
КонецЕсли;
|
||||||
Иначе
|
Иначе
|
||||||
ИдентификаторРоли = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Роль.ПолноеИмя());
|
ИдентификаторРоли = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Роль.ПолноеИмя());
|
||||||
|
|
||||||
@@ -1186,6 +1199,18 @@
|
|||||||
РолиПрофиля.Удалить(ИндексРоли);
|
РолиПрофиля.Удалить(ИндексРоли);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
ИначеЕсли ТипЗнч(РолиПрофиля) = Тип("ДанныеФормыКоллекция") Тогда
|
||||||
|
Для Каждого ИмяРоли Из ИменаРолей Цикл
|
||||||
|
Отбор = Новый Структура("Роль", ИмяРоли);
|
||||||
|
НайденныеСтроки = РолиПрофиля.НайтиСтроки(Отбор);
|
||||||
|
Установлена = НайденныеСтроки.Количество() > 0;
|
||||||
|
Если Установить И Не Установлена Тогда
|
||||||
|
РолиПрофиля.Добавить().Роль = ИмяРоли;
|
||||||
|
ИначеЕсли Не Установить И Установлена Тогда
|
||||||
|
НайденнаяСтрока = НайденныеСтроки[0]; // ДанныеФормыЭлементКоллекции
|
||||||
|
РолиПрофиля.Удалить(НайденнаяСтрока);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
Иначе
|
Иначе
|
||||||
СтрокаПолныхИменРолей = "Роль." + СтрСоединить(ИменаРолей, Символы.ПС + "Роль.");
|
СтрокаПолныхИменРолей = "Роль." + СтрСоединить(ИменаРолей, Символы.ПС + "Роль.");
|
||||||
ПолныеИменаРолей = СтрРазделить(СтрокаПолныхИменРолей, Символы.ПС);
|
ПолныеИменаРолей = СтрРазделить(СтрокаПолныхИменРолей, Символы.ПС);
|
||||||
@@ -1207,7 +1232,8 @@
|
|||||||
|
|
||||||
Процедура ОчиститьУдаленныеСтандартныеРолиРасширений(РолиПрофиля)
|
Процедура ОчиститьУдаленныеСтандартныеРолиРасширений(РолиПрофиля)
|
||||||
|
|
||||||
Если ТипЗнч(РолиПрофиля) = Тип("Массив") Тогда
|
Если ТипЗнч(РолиПрофиля) = Тип("Массив")
|
||||||
|
Или ТипЗнч(РолиПрофиля) = Тип("ДанныеФормыКоллекция") Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -171,7 +171,7 @@
|
|||||||
Элементы.ГруппаТребуетсяПомощь.Поведение = ПоведениеОбычнойГруппы.Свертываемая;
|
Элементы.ГруппаТребуетсяПомощь.Поведение = ПоведениеОбычнойГруппы.Свертываемая;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
СтандартныеПодсистемыСервер.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -498,7 +498,8 @@
|
|||||||
|
|
||||||
ПроверитьВСервисеВместоПроверкиНаСервере = СтандартныеПроверки
|
ПроверитьВСервисеВместоПроверкиНаСервере = СтандартныеПроверки
|
||||||
И ПроверятьЭлектронныеПодписиНаСервере
|
И ПроверятьЭлектронныеПодписиНаСервере
|
||||||
И (ЕстьВстроенныйКриптопровайдер Или ЕстьУчетнаяЗаписьСервиса);
|
И (ЕстьВстроенныйКриптопровайдер Или ЕстьУчетнаяЗаписьСервиса)
|
||||||
|
И Не ОперацииНаСервере;
|
||||||
|
|
||||||
Если ПроверитьВСервисеВместоПроверкиНаСервере Тогда
|
Если ПроверитьВСервисеВместоПроверкиНаСервере Тогда
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,6 @@
|
|||||||
<value>Строковое представление контакта взаимодействий</value>
|
<value>Строковое представление контакта взаимодействий</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
<fillValue xsi:type="core:UndefinedValue"/>
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
<fillChecking>ShowError</fillChecking>
|
|
||||||
<fullTextSearch>Use</fullTextSearch>
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
<minValue xsi:type="core:UndefinedValue"/>
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
<maxValue xsi:type="core:UndefinedValue"/>
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
|||||||
@@ -108,10 +108,6 @@
|
|||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Учетная запись DSS</value>
|
<value>Учетная запись DSS</value>
|
||||||
</objectPresentation>
|
</objectPresentation>
|
||||||
<listPresentation>
|
|
||||||
<key>ru</key>
|
|
||||||
<value>Учетные записи DSS</value>
|
|
||||||
</listPresentation>
|
|
||||||
<levelCount>2</levelCount>
|
<levelCount>2</levelCount>
|
||||||
<foldersOnTop>true</foldersOnTop>
|
<foldersOnTop>true</foldersOnTop>
|
||||||
<owners>Catalog.ЭкземплярыСервераDSS</owners>
|
<owners>Catalog.ЭкземплярыСервераDSS</owners>
|
||||||
|
|||||||
+707
@@ -298,6 +298,59 @@
|
|||||||
<textSize>Normal</textSize>
|
<textSize>Normal</textSize>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>Группа1</name>
|
||||||
|
<id>298</id>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>СпособАутентификацииПароль</name>
|
||||||
|
<id>302</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>СпособАутентификации</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>None</titleLocation>
|
||||||
|
<handlers>
|
||||||
|
<event>OnChange</event>
|
||||||
|
<name>СпособАутентификацииПриИзменении</name>
|
||||||
|
</handlers>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>СпособАутентификацииПарольРасширеннаяПодсказка</name>
|
||||||
|
<id>304</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>СпособАутентификацииПарольКонтекстноеМеню</name>
|
||||||
|
<id>303</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>RadioButtonField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
|
||||||
|
<columnsCount>1</columnsCount>
|
||||||
|
<choiceList>
|
||||||
|
<presentation>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Ввести пароль:</value>
|
||||||
|
</presentation>
|
||||||
|
<value xsi:type="core:StringValue">
|
||||||
|
<value>Пароль</value>
|
||||||
|
</value>
|
||||||
|
</choiceList>
|
||||||
|
<orientation>Vertical</orientation>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
<items xsi:type="form:FormField">
|
<items xsi:type="form:FormField">
|
||||||
<name>Пароль</name>
|
<name>Пароль</name>
|
||||||
<id>47</id>
|
<id>47</id>
|
||||||
@@ -313,6 +366,7 @@
|
|||||||
<dataPath xsi:type="form:DataPath">
|
<dataPath xsi:type="form:DataPath">
|
||||||
<segments>ПарольДляПолученияПисем</segments>
|
<segments>ПарольДляПолученияПисем</segments>
|
||||||
</dataPath>
|
</dataPath>
|
||||||
|
<titleLocation>None</titleLocation>
|
||||||
<titleHeight>1</titleHeight>
|
<titleHeight>1</titleHeight>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>OnChange</event>
|
<event>OnChange</event>
|
||||||
@@ -366,6 +420,85 @@
|
|||||||
<userVisible>
|
<userVisible>
|
||||||
<common>true</common>
|
<common>true</common>
|
||||||
</userVisible>
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Группа1</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>Группа1РасширеннаяПодсказка</name>
|
||||||
|
<id>299</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>UsualGroup</type>
|
||||||
|
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||||
|
<group>HorizontalIfPossible</group>
|
||||||
|
<behavior>Auto</behavior>
|
||||||
|
<showLeftMargin>true</showLeftMargin>
|
||||||
|
<united>true</united>
|
||||||
|
<throughAlign>Auto</throughAlign>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>СпособАутентификацииПочтовыйСервис</name>
|
||||||
|
<id>305</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>СпособАутентификации</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>None</titleLocation>
|
||||||
|
<handlers>
|
||||||
|
<event>OnChange</event>
|
||||||
|
<name>СпособАутентификацииПриИзменении</name>
|
||||||
|
</handlers>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>СпособАутентификацииПочтовыйСервисРасширеннаяПодсказка</name>
|
||||||
|
<id>307</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>СпособАутентификацииПочтовыйСервисКонтекстноеМеню</name>
|
||||||
|
<id>306</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>RadioButtonField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
|
||||||
|
<columnsCount>1</columnsCount>
|
||||||
|
<choiceList>
|
||||||
|
<presentation>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Авторизоваться с помощью почтового сервиса</value>
|
||||||
|
</presentation>
|
||||||
|
<value xsi:type="core:StringValue">
|
||||||
|
<value>OAuth</value>
|
||||||
|
</value>
|
||||||
|
</choiceList>
|
||||||
|
<orientation>Vertical</orientation>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
<title>
|
<title>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Аутентификация</value>
|
<value>Аутентификация</value>
|
||||||
@@ -1432,6 +1565,379 @@
|
|||||||
<scrollOnCompress>false</scrollOnCompress>
|
<scrollOnCompress>false</scrollOnCompress>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>НастройкиАвторизацииПриложения</name>
|
||||||
|
<id>310</id>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПояснениеПоРегистрацииПриложения</name>
|
||||||
|
<id>347</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Для авторизации средствами почтового сервиса необходимо зарегистрировать это приложение в почтовом сервисе.
|
||||||
|
</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПояснениеПоРегистрацииПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>349</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПояснениеПоРегистрацииПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>348</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<formatted>true</formatted>
|
||||||
|
<type>Label</type>
|
||||||
|
<maxWidth>50</maxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПояснениеПоАдресуПеренаправления</name>
|
||||||
|
<id>312</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>
|
||||||
|
Из настроек регистрации приложения заполните следующие поля:
|
||||||
|
</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПояснениеПоАдресуПеренаправленияРасширеннаяПодсказка</name>
|
||||||
|
<id>314</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПояснениеПоАдресуПеренаправленияКонтекстноеМеню</name>
|
||||||
|
<id>313</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<formatted>true</formatted>
|
||||||
|
<type>Label</type>
|
||||||
|
<maxWidth>50</maxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>АдресПеренаправления</name>
|
||||||
|
<id>321</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес перенаправления (redirect_uri)</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>АдресПеренаправления</segments>
|
||||||
|
</dataPath>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АдресПеренаправленияРасширеннаяПодсказка</name>
|
||||||
|
<id>323</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>АдресПеренаправленияКонтекстноеМеню</name>
|
||||||
|
<id>322</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПояснениеПоИдентификаторуПриложения</name>
|
||||||
|
<id>330</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПояснениеПоИдентификаторуПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>332</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПояснениеПоИдентификаторуПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>331</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<formatted>true</formatted>
|
||||||
|
<type>Label</type>
|
||||||
|
<maxWidth>50</maxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ИдентификаторПриложения</name>
|
||||||
|
<id>315</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Идентификатор приложения (client_id)</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>ИдентификаторПриложения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ИдентификаторПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>317</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ИдентификаторПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>316</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПояснениеПоПаролюПриложения</name>
|
||||||
|
<id>333</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПояснениеПоПаролюПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>335</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПояснениеПоПаролюПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>334</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<formatted>true</formatted>
|
||||||
|
<type>Label</type>
|
||||||
|
<maxWidth>50</maxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ПарольПриложения</name>
|
||||||
|
<id>318</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Пароль приложения (client_secret)</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>ПарольПриложения</segments>
|
||||||
|
</dataPath>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПарольПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>320</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПарольПриложенияКонтекстноеМеню</name>
|
||||||
|
<id>319</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>InputField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<wrap>true</wrap>
|
||||||
|
<chooseType>true</chooseType>
|
||||||
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
|
<textEdit>true</textEdit>
|
||||||
|
<textSize>Normal</textSize>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Группа2</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>НастройкиАвторизацииПриложенияРасширеннаяПодсказка</name>
|
||||||
|
<id>311</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>Page</type>
|
||||||
|
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||||
|
<group>Vertical</group>
|
||||||
|
<showTitle>auto</showTitle>
|
||||||
|
<scrollOnCompress>false</scrollOnCompress>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>Авторизация</name>
|
||||||
|
<id>308</id>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>ВебСтраница</name>
|
||||||
|
<id>327</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>ВебСтраница</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>None</titleLocation>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ВебСтраницаРасширеннаяПодсказка</name>
|
||||||
|
<id>329</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ВебСтраницаКонтекстноеМеню</name>
|
||||||
|
<id>328</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>HTMLDocumentField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:HtmlFieldExtInfo">
|
||||||
|
<handlers>
|
||||||
|
<event>DocumentComplete</event>
|
||||||
|
<name>ВебСтраницаДокументСформирован</name>
|
||||||
|
</handlers>
|
||||||
|
<width>50</width>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<height>10</height>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<horizontalStretch>true</horizontalStretch>
|
||||||
|
<verticalStretch>true</verticalStretch>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Группа2</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АвторизацияРасширеннаяПодсказка</name>
|
||||||
|
<id>309</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>Page</type>
|
||||||
|
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||||
|
<group>Vertical</group>
|
||||||
|
<showTitle>auto</showTitle>
|
||||||
|
<scrollOnCompress>false</scrollOnCompress>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
<items xsi:type="form:FormGroup">
|
<items xsi:type="form:FormGroup">
|
||||||
<name>ПроверкаНастроекУчетнойЗаписи</name>
|
<name>ПроверкаНастроекУчетнойЗаписи</name>
|
||||||
<id>34</id>
|
<id>34</id>
|
||||||
@@ -2855,6 +3361,187 @@ vasyapupkin@example.com завершена.</value>
|
|||||||
<common>true</common>
|
<common>true</common>
|
||||||
</edit>
|
</edit>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>СпособАутентификации</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Способ аутентификации</value>
|
||||||
|
</title>
|
||||||
|
<id>44</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ИдентификаторПриложения</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Идентификатор приложения</value>
|
||||||
|
</title>
|
||||||
|
<id>45</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ПарольПриложения</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Ключ доступа приложения</value>
|
||||||
|
</title>
|
||||||
|
<id>46</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>АдресПеренаправления</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Адрес перенаправления</value>
|
||||||
|
</title>
|
||||||
|
<id>47</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ВебСтраница</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Веб страница</value>
|
||||||
|
</title>
|
||||||
|
<id>48</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ИдентификаторЗапроса</name>
|
||||||
|
<id>49</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ПроверочныйКод</name>
|
||||||
|
<id>50</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ТокенДоступа</name>
|
||||||
|
<id>51</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ТокенОбновления</name>
|
||||||
|
<id>52</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>СрокДействияТокенаДоступа</name>
|
||||||
|
<id>53</id>
|
||||||
|
<valueType/>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>НастройкиАвторизации</name>
|
||||||
|
<id>55</id>
|
||||||
|
<valueType/>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ТолькоАвторизация</name>
|
||||||
|
<id>57</id>
|
||||||
|
<valueType>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
<formCommands>
|
<formCommands>
|
||||||
<name>Назад</name>
|
<name>Назад</name>
|
||||||
<title>
|
<title>
|
||||||
@@ -2931,6 +3618,20 @@ vasyapupkin@example.com завершена.</value>
|
|||||||
<currentRowUse>DontUse</currentRowUse>
|
<currentRowUse>DontUse</currentRowUse>
|
||||||
<selectedRowsUse>Auto</selectedRowsUse>
|
<selectedRowsUse>Auto</selectedRowsUse>
|
||||||
</formCommands>
|
</formCommands>
|
||||||
|
<formCommands>
|
||||||
|
<name>ВойтиСПомощьюСервераАвторизации</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Войти с помощью сервера авторизации</value>
|
||||||
|
</title>
|
||||||
|
<id>5</id>
|
||||||
|
<use>
|
||||||
|
<common>true</common>
|
||||||
|
</use>
|
||||||
|
<representation>TextPicture</representation>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
<selectedRowsUse>Auto</selectedRowsUse>
|
||||||
|
</formCommands>
|
||||||
<parameters>
|
<parameters>
|
||||||
<name>КонтекстныйРежим</name>
|
<name>КонтекстныйРежим</name>
|
||||||
<valueType>
|
<valueType>
|
||||||
@@ -2943,6 +3644,12 @@ vasyapupkin@example.com завершена.</value>
|
|||||||
<types>Boolean</types>
|
<types>Boolean</types>
|
||||||
</valueType>
|
</valueType>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
<parameters>
|
||||||
|
<name>ТолькоАвторизация</name>
|
||||||
|
<valueType>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</valueType>
|
||||||
|
</parameters>
|
||||||
<commandInterface>
|
<commandInterface>
|
||||||
<navigationPanel/>
|
<navigationPanel/>
|
||||||
<commandBar/>
|
<commandBar/>
|
||||||
|
|||||||
+431
-6
@@ -46,13 +46,16 @@
|
|||||||
|
|
||||||
КлючСохраненияПоложенияОкна = ?(КонтекстныйРежим, "КонтекстныйРежим", "НеконтекстныйРежим");
|
КлючСохраненияПоложенияОкна = ?(КонтекстныйРежим, "КонтекстныйРежим", "НеконтекстныйРежим");
|
||||||
|
|
||||||
|
СпособАутентификации = "Пароль";
|
||||||
|
|
||||||
Если Параметры.Свойство("Ключ") Тогда
|
Если Параметры.Свойство("Ключ") Тогда
|
||||||
УчетнаяЗаписьСсылка = Параметры.Ключ;
|
УчетнаяЗаписьСсылка = Параметры.Ключ;
|
||||||
ТекстЗапроса =
|
ТекстЗапроса =
|
||||||
"ВЫБРАТЬ
|
"ВЫБРАТЬ
|
||||||
| УчетныеЗаписиЭлектроннойПочты.АдресЭлектроннойПочты КАК АдресЭлектроннойПочты,
|
| УчетныеЗаписиЭлектроннойПочты.АдресЭлектроннойПочты КАК АдресЭлектроннойПочты,
|
||||||
| УчетныеЗаписиЭлектроннойПочты.ИмяПользователя КАК ИмяОтправителяПисем,
|
| УчетныеЗаписиЭлектроннойПочты.ИмяПользователя КАК ИмяОтправителяПисем,
|
||||||
| УчетныеЗаписиЭлектроннойПочты.Наименование КАК НазваниеУчетнойЗаписи
|
| УчетныеЗаписиЭлектроннойПочты.Наименование КАК НазваниеУчетнойЗаписи,
|
||||||
|
| УчетныеЗаписиЭлектроннойПочты.АвторизацияСПомощьюПочтовогоСервиса
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
@@ -62,6 +65,24 @@
|
|||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
Если Выборка.Следующий() Тогда
|
Если Выборка.Следующий() Тогда
|
||||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка);
|
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка);
|
||||||
|
ТолькоАвторизация = Параметры.ТолькоАвторизация;
|
||||||
|
Если Выборка.АвторизацияСПомощьюПочтовогоСервиса Или ТолькоАвторизация Тогда
|
||||||
|
СпособАутентификации = "OAuth";
|
||||||
|
Элементы.Пароль.Доступность = Ложь;
|
||||||
|
Если ТолькоАвторизация Тогда
|
||||||
|
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере();
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.ИдентификаторПриложения) Тогда
|
||||||
|
ИдентификаторПриложения = НастройкиАвторизации.ИдентификаторПриложения;
|
||||||
|
АдресПеренаправления = НастройкиАвторизации.АдресПеренаправления;
|
||||||
|
ПарольПриложения = НастройкиАвторизации.ПарольПриложения;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.ИдентификаторПриложения) Тогда
|
||||||
|
Элементы.Страницы.ТекущаяСтраница = Элементы.Авторизация;
|
||||||
|
Иначе
|
||||||
|
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкиАвторизацииПриложения;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Иначе
|
Иначе
|
||||||
СсылкаНовойУчетнойЗаписи = Справочники.УчетныеЗаписиЭлектроннойПочты.ПолучитьСсылку();
|
СсылкаНовойУчетнойЗаписи = Справочники.УчетныеЗаписиЭлектроннойПочты.ПолучитьСсылку();
|
||||||
@@ -89,11 +110,20 @@
|
|||||||
|
|
||||||
ТребуетсяАвторизацияПриОтправкеПисем = Истина;
|
ТребуетсяАвторизацияПриОтправкеПисем = Истина;
|
||||||
|
|
||||||
|
АдресПеренаправления = "http://localhost/oauth2";
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ПриОткрытии(Отказ)
|
Процедура ПриОткрытии(Отказ)
|
||||||
НастроитьЭлементыТекущейСтраницы()
|
|
||||||
|
Если ТолькоАвторизация Тогда
|
||||||
|
УстановитьТекстыПоясненийПоРегистрацииПриложения();
|
||||||
|
АвторизоватьсяНаПочтовомСервере();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастроитьЭлементыТекущейСтраницы();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -184,6 +214,11 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура СпособАутентификацииПриИзменении(Элемент)
|
||||||
|
Элементы.Пароль.Доступность = СпособАутентификации = "Пароль";
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбработчикиКомандФормы
|
#Область ОбработчикиКомандФормы
|
||||||
@@ -210,6 +245,8 @@
|
|||||||
|
|
||||||
Если ПредыдущаяСтраница <> Неопределено Тогда
|
Если ПредыдущаяСтраница <> Неопределено Тогда
|
||||||
Элементы.Страницы.ТекущаяСтраница = ПредыдущаяСтраница;
|
Элементы.Страницы.ТекущаяСтраница = ПредыдущаяСтраница;
|
||||||
|
Иначе
|
||||||
|
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НастроитьЭлементыТекущейСтраницы()
|
НастроитьЭлементыТекущейСтраницы()
|
||||||
@@ -259,7 +296,31 @@
|
|||||||
Если Не Отказ И Не НастройкиЗаполнены Тогда
|
Если Не Отказ И Не НастройкиЗаполнены Тогда
|
||||||
ЗаполнитьНастройкиУчетнойЗаписи();
|
ЗаполнитьНастройкиУчетнойЗаписи();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если СпособНастройки = "Автоматически" Или ПроверкаЗавершиласьСОшибками Тогда
|
|
||||||
|
Если СпособАутентификации = "OAuth" Тогда
|
||||||
|
ПроверкаЗавершиласьСОшибками = Ложь;
|
||||||
|
СледующаяСтраница = Элементы.НастройкиАвторизацииПриложения;
|
||||||
|
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере();
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.АдресАвторизации) Тогда
|
||||||
|
УстановитьТекстыПоясненийПоРегистрацииПриложения();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.ИдентификаторПриложения) Тогда
|
||||||
|
ИдентификаторПриложения = НастройкиАвторизации.ИдентификаторПриложения;
|
||||||
|
АдресПеренаправления = НастройкиАвторизации.АдресПеренаправления;
|
||||||
|
ПарольПриложения = НастройкиАвторизации.ПарольПриложения;
|
||||||
|
АвторизоватьсяНаПочтовомСервере();
|
||||||
|
СледующаяСтраница = Элементы.Авторизация;
|
||||||
|
ИначеЕсли Не ЗначениеЗаполнено(НастройкиАвторизации.АдресАвторизации) Тогда
|
||||||
|
СообщенияОбОшибках = НСтр("ru = 'Не найдены настройки авторизации почтового сервиса. Используйте авторизацию по паролю.'");
|
||||||
|
ПроверкаЗавершиласьСОшибками = Истина;
|
||||||
|
СпособАутентификации = "Пароль";
|
||||||
|
СледующаяСтраница = Элементы.НастройкаУчетнойЗаписи;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ПроверкаЗавершиласьСОшибками Тогда
|
||||||
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
|
Иначе
|
||||||
|
Если СпособНастройки = "Автоматически" Тогда
|
||||||
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
Иначе
|
Иначе
|
||||||
Если ИспользоватьДляОтправки Или ИспользоватьДляПолучения Тогда
|
Если ИспользоватьДляОтправки Или ИспользоватьДляПолучения Тогда
|
||||||
@@ -268,6 +329,34 @@
|
|||||||
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ТекущаяСтраница = Элементы.НастройкиАвторизацииПриложения Тогда
|
||||||
|
АвторизоватьсяНаПочтовомСервере();
|
||||||
|
СледующаяСтраница = Элементы.Авторизация;
|
||||||
|
ИначеЕсли ТекущаяСтраница = Элементы.Авторизация Тогда
|
||||||
|
Если ТолькоАвторизация Тогда
|
||||||
|
ТребуетсяПодтверждениеЗакрытияФормы = Ложь;
|
||||||
|
Если ПроверкаЗавершиласьСОшибками Тогда
|
||||||
|
Закрыть(Ложь);
|
||||||
|
Иначе
|
||||||
|
ЗаписатьНастройкиАвторизации();
|
||||||
|
Закрыть(Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ПроверкаЗавершиласьСОшибками Тогда
|
||||||
|
СледующаяСтраница = Элементы.НастройкаУчетнойЗаписи;
|
||||||
|
Иначе
|
||||||
|
Если СпособНастройки = "Автоматически" Тогда
|
||||||
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
|
Иначе
|
||||||
|
Если ИспользоватьДляОтправки Или ИспользоватьДляПолучения Тогда
|
||||||
|
СледующаяСтраница = Элементы.НастройкаСервераИсходящейПочты;
|
||||||
|
Иначе
|
||||||
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
ИначеЕсли ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
|
ИначеЕсли ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
|
||||||
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
ИначеЕсли ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи Тогда
|
ИначеЕсли ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи Тогда
|
||||||
@@ -311,6 +400,69 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура УстановитьТекстыПоясненийПоРегистрацииПриложения()
|
||||||
|
|
||||||
|
ПояснениеПоРегистрацииПриложения = Элементы.ПояснениеПоРегистрацииПриложения.Заголовок;
|
||||||
|
ПояснениеПоАдресуПеренаправления = Элементы.ПояснениеПоАдресуПеренаправления.Заголовок;
|
||||||
|
ПояснениеПоИдентификаторуПриложения = Элементы.ПояснениеПоИдентификаторуПриложения.Заголовок;
|
||||||
|
ПояснениеПоПаролюПриложения = Элементы.ПояснениеПоПаролюПриложения.Заголовок;
|
||||||
|
|
||||||
|
Если НРег(НастройкиАвторизации.ИмяИнтернетСервиса) = "yandex.ru" Тогда
|
||||||
|
ПояснениеПоАдресуПеренаправления = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
|
||||||
|
"1. Перейдите в раздел <a href=""https://oauth.yandex.ru"">Доступ к вашим данным на Яндексе</a> и нажмите на кнопку <b>Зарегистрировать новое приложение</b>.
|
||||||
|
|2. В поле <b>Название приложения</b> введите название приложения или организации, например, ""Бухгалтерия ООО Ромашка"".
|
||||||
|
|3. В разделе <b>Платформы</b> установите флажок в строке <b>Веб-сервисы</b>, поле <b>Callback URI #1</b> скопируйте из поля ниже:");
|
||||||
|
|
||||||
|
ПояснениеПоИдентификаторуПриложения = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
|
||||||
|
"4. В списке <b>Доступы</b> найдите и разверните группу <b>Яндекс.Почта</b>, отметьте все флажки.
|
||||||
|
|5. Нажмите на кнопку <b>Создать приложение</b> внизу страницы.
|
||||||
|
|6. Скопируйте <b>ID</b> и <b>Пароль</b> в программу в соответствующие поля ниже:");
|
||||||
|
|
||||||
|
ПояснениеПоПаролюПриложения = "";
|
||||||
|
|
||||||
|
ПсевдонимАдресаПеренаправления = "Callback URI #1";
|
||||||
|
ПсевдонимИдентификатораПриложения = "ID";
|
||||||
|
ПсевдонимПароляПриложения = "Пароль";
|
||||||
|
|
||||||
|
ИначеЕсли НРег(НастройкиАвторизации.ИмяИнтернетСервиса) = "office365.com" Тогда
|
||||||
|
|
||||||
|
ПояснениеПоАдресуПеренаправления = СтроковыеФункцииКлиент.ФорматированнаяСтрока(НСтр(
|
||||||
|
"ru = '1. Перейдите в раздел <a href=""%1"">Все службы - Регистрация приложений</a> и нажмите на кнопку Новая регистрация.
|
||||||
|
|2. В поле <b>Имя</b> введите название приложения или организации, например ""Бухгалтерия ООО Ромашка"".
|
||||||
|
|3. Переключатель <b>Поддерживаемые типы учетных записей</b> установите в положение <b>Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный)</b>.
|
||||||
|
|4. Выберите <b>URI перенаправления</b>: платформа - <b>Общедоступный/собственный клиент (мобильный или классический)</b>, адрес перенаправления (URI) скопируйте из поля ниже:'"),
|
||||||
|
"https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade");
|
||||||
|
|
||||||
|
ПояснениеПоИдентификаторуПриложения = СтроковыеФункцииКлиент.ФорматированнаяСтрока(НСтр(
|
||||||
|
"ru = '5. Нажмите на кноку <b>Зарегистрировать</b> (внизу страницы).
|
||||||
|
|6. В резделе <b>Обзор - Основное</b> найдите <b>Идентификатор приложения</b> и скопируйте и вставьте сюда:'"));
|
||||||
|
|
||||||
|
ПояснениеПоПаролюПриложения = "";
|
||||||
|
|
||||||
|
ПсевдонимАдресаПеренаправления = НСтр("ru = 'URI (перенаправления)'");
|
||||||
|
ПсевдонимИдентификатораПриложения = НСтр("ru = 'Идентификатор приложения'");
|
||||||
|
ПсевдонимПароляПриложения = НСтр("ru = 'Значение (секрета)'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Элементы.ПояснениеПоРегистрацииПриложения.Заголовок = ПояснениеПоРегистрацииПриложения;
|
||||||
|
Элементы.ПояснениеПоАдресуПеренаправления.Заголовок = ПояснениеПоАдресуПеренаправления;
|
||||||
|
Элементы.ПояснениеПоИдентификаторуПриложения.Заголовок = ПояснениеПоИдентификаторуПриложения;
|
||||||
|
Элементы.ПояснениеПоПаролюПриложения.Заголовок = ПояснениеПоПаролюПриложения;
|
||||||
|
|
||||||
|
Элементы.АдресПеренаправления.Заголовок = ПсевдонимАдресаПеренаправления;
|
||||||
|
Элементы.ИдентификаторПриложения.Заголовок = ПсевдонимИдентификатораПриложения;
|
||||||
|
Элементы.ПарольПриложения.Заголовок = ПсевдонимПароляПриложения;
|
||||||
|
|
||||||
|
Элементы.ПояснениеПоПаролюПриложения.Видимость = НастройкиАвторизации.ИспользоватьПарольПриложения;
|
||||||
|
Элементы.ПарольПриложения.Видимость = НастройкиАвторизации.ИспользоватьПарольПриложения;
|
||||||
|
|
||||||
|
Элементы.ПояснениеПоАдресуПеренаправления.Видимость = ЗначениеЗаполнено(ПояснениеПоАдресуПеренаправления);
|
||||||
|
Элементы.ПояснениеПоИдентификаторуПриложения.Видимость = ЗначениеЗаполнено(ПояснениеПоИдентификаторуПриложения);
|
||||||
|
Элементы.ПояснениеПоПаролюПриложения.Видимость = ЗначениеЗаполнено(ПояснениеПоПаролюПриложения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ВыполнитьПроверкуНастроек()
|
Процедура ВыполнитьПроверкуНастроек()
|
||||||
|
|
||||||
@@ -391,7 +543,7 @@
|
|||||||
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Адрес электронной почты введен неверно'"), , "АдресЭлектроннойПочты", , Отказ);
|
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Адрес электронной почты введен неверно'"), , "АдресЭлектроннойПочты", , Отказ);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПустаяСтрока(ПарольДляПолученияПисем) Тогда
|
Если СпособАутентификации = "Пароль" И ПустаяСтрока(ПарольДляПолученияПисем) Тогда
|
||||||
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Введите пароль'"), , "ПарольДляПолученияПисем", , Отказ);
|
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Введите пароль'"), , "ПарольДляПолученияПисем", , Отказ);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -429,12 +581,14 @@
|
|||||||
Элементы.КнопкаДалее.Заголовок = ЗаголовокКнопкиДалее;
|
Элементы.КнопкаДалее.Заголовок = ЗаголовокКнопкиДалее;
|
||||||
Элементы.КнопкаДалее.КнопкаПоУмолчанию =ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи;
|
Элементы.КнопкаДалее.КнопкаПоУмолчанию =ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||||
Элементы.КнопкаДалее.Доступность = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И ПроверкаПропущена);
|
Элементы.КнопкаДалее.Доступность = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И ПроверкаПропущена);
|
||||||
Элементы.КнопкаДалее.Видимость = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И СпособНастройки = "Вручную");
|
Элементы.КнопкаДалее.Видимость = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И СпособНастройки = "Вручную")
|
||||||
|
И Не ТекущаяСтраница = Элементы.Авторизация;
|
||||||
|
|
||||||
// КнопкаНазад
|
// КнопкаНазад
|
||||||
Элементы.КнопкаНазад.Видимость = ТекущаяСтраница <> Элементы.НастройкаУчетнойЗаписи
|
Элементы.КнопкаНазад.Видимость = ТекущаяСтраница <> Элементы.НастройкаУчетнойЗаписи
|
||||||
И ТекущаяСтраница <> Элементы.УчетнаяЗаписьУспешноНастроена
|
И ТекущаяСтраница <> Элементы.УчетнаяЗаписьУспешноНастроена
|
||||||
И ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи;
|
И ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи
|
||||||
|
И Не ТолькоАвторизация;
|
||||||
|
|
||||||
// КнопкаОтмена
|
// КнопкаОтмена
|
||||||
Элементы.КнопкаОтмена.Видимость = ТекущаяСтраница <> Элементы.УчетнаяЗаписьУспешноНастроена;
|
Элементы.КнопкаОтмена.Видимость = ТекущаяСтраница <> Элементы.УчетнаяЗаписьУспешноНастроена;
|
||||||
@@ -452,6 +606,7 @@
|
|||||||
|
|
||||||
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи Тогда
|
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи Тогда
|
||||||
Элементы.НеУдалосьПодключитьсяКартинкаИНадпись.Видимость = ПроверкаЗавершиласьСОшибками;
|
Элементы.НеУдалосьПодключитьсяКартинкаИНадпись.Видимость = ПроверкаЗавершиласьСОшибками;
|
||||||
|
Элементы.Пароль.Доступность = СпособАутентификации = "Пароль";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
|
Если ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
|
||||||
@@ -617,14 +772,27 @@
|
|||||||
УчетнаяЗапись.ВладелецУчетнойЗаписи = Справочники.Пользователи.ПустаяСсылка();
|
УчетнаяЗапись.ВладелецУчетнойЗаписи = Справочники.Пользователи.ПустаяСсылка();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
УчетнаяЗапись.ДополнительныеСвойства.Вставить("НеПроверятьИзменениеНастроек");
|
УчетнаяЗапись.ДополнительныеСвойства.Вставить("НеПроверятьИзменениеНастроек");
|
||||||
|
Если СпособАутентификации = "OAuth" Тогда
|
||||||
|
УчетнаяЗапись.АвторизацияСПомощьюПочтовогоСервиса = Истина;
|
||||||
|
УчетнаяЗапись.ИмяПочтовогоСервиса = НастройкиАвторизации.ИмяИнтернетСервиса;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УчетнаяЗапись.Записать();
|
УчетнаяЗапись.Записать();
|
||||||
УчетнаяЗаписьСсылка = УчетнаяЗапись.Ссылка;
|
УчетнаяЗаписьСсылка = УчетнаяЗапись.Ссылка;
|
||||||
ТребуетсяПодтверждениеЗакрытияФормы = Ложь;
|
ТребуетсяПодтверждениеЗакрытияФормы = Ложь;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Если СпособАутентификации = "OAuth" Тогда
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ТокенДоступа, "ТокенДоступа");
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, СрокДействияТокенаДоступа, "СрокДействияТокенаДоступа");
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ТокенОбновления, "ТокенОбновления");
|
||||||
|
ЗаписатьНастройкиАвторизации();
|
||||||
|
Иначе
|
||||||
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ПарольДляПолученияПисем);
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ПарольДляПолученияПисем);
|
||||||
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ПарольДляОтправкиПисем, "ПарольSMTP");
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ПарольДляОтправкиПисем, "ПарольSMTP");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Ложь);
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
@@ -637,6 +805,14 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ЗаписатьНастройкиАвторизации()
|
||||||
|
НастройкиАвторизации.ПарольПриложения = ПарольПриложения;
|
||||||
|
НастройкиАвторизации.ИдентификаторПриложения = ИдентификаторПриложения;
|
||||||
|
НастройкиАвторизации.АдресПеренаправления = АдресПеренаправления;
|
||||||
|
Справочники.НастройкиАвторизацииИнтернетСервисов.ЗаписатьНастройкиАвторизации(НастройкиАвторизации);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция ИнтернетПочтовыйПрофиль(ДляПолучения = Ложь)
|
Функция ИнтернетПочтовыйПрофиль(ДляПолучения = Ложь)
|
||||||
|
|
||||||
@@ -668,6 +844,11 @@
|
|||||||
|
|
||||||
Профиль.Таймаут = ДлительностьОжиданияСервера;
|
Профиль.Таймаут = ДлительностьОжиданияСервера;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ТокенДоступа) Тогда
|
||||||
|
Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
|
||||||
|
Профиль.ТокенДоступа = ТокенДоступа;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Профиль;
|
Возврат Профиль;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -765,4 +946,248 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ВыполнитьПереходПоАдресу(Знач АдресПерехода)
|
||||||
|
|
||||||
|
СтруктураАдреса = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресПерехода);
|
||||||
|
Если Не ЗначениеЗаполнено(СтруктураАдреса.Схема) Тогда
|
||||||
|
АдресПерехода = "http://" + АдресПерехода;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ВебСтраница =
|
||||||
|
"<!DOCTYPE html>
|
||||||
|
|<html>
|
||||||
|
| <body>
|
||||||
|
| <script language = 'javascript'>
|
||||||
|
| document.location.href='" + АдресПерехода + "';
|
||||||
|
| </script>
|
||||||
|
| <p>Загрузка...</p>
|
||||||
|
| </body>
|
||||||
|
|</html>";
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура АвторизоватьсяНаПочтовомСервере()
|
||||||
|
|
||||||
|
ВыполнитьПереходПоАдресу(СтрокаЗапросаАвторизации());
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция СтрокаЗапросаАвторизации()
|
||||||
|
|
||||||
|
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(НастройкиАвторизации.АдресАвторизации);
|
||||||
|
АдресСервера = СтруктураURI.Хост;
|
||||||
|
АдресРесурса = "/" + СтруктураURI.ПутьНаСервере;
|
||||||
|
|
||||||
|
ИдентификаторЗапроса = Строка(Новый УникальныйИдентификатор());
|
||||||
|
ПроверочныйКод = РаботаСПочтовымиСообщениямиСлужебный.СгенерироватьПроверочныйКод();
|
||||||
|
|
||||||
|
ПараметрыЗапроса = Новый Структура;
|
||||||
|
ПараметрыЗапроса.Вставить("client_id", ИдентификаторПриложения);
|
||||||
|
ПараметрыЗапроса.Вставить("response_type", "code");
|
||||||
|
ПараметрыЗапроса.Вставить("redirect_uri", АдресПеренаправления);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации["ЗапрашиваемыеРазрешения"]) Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("scope", НастройкиАвторизации["ЗапрашиваемыеРазрешения"]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыЗапроса.Вставить("state", ИдентификаторЗапроса);
|
||||||
|
ПараметрыЗапроса.Вставить("login_hint", АдресЭлектроннойПочты);
|
||||||
|
|
||||||
|
Если НастройкиАвторизации.ИспользоватьКлючПроверкиПодлинностиPKCE Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("code_challenge", РаботаСПочтовымиСообщениямиСлужебный.КодироватьСтрокуМетодомS256(ПроверочныйКод));
|
||||||
|
ПараметрыЗапроса.Вставить("code_challenge_method", "S256");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации["ДополнительныеПараметрыАвторизации"]) Тогда
|
||||||
|
Для Каждого Элемент Из СтрРазделить(НастройкиАвторизации["ДополнительныеПараметрыАвторизации"], " ", Ложь) Цикл
|
||||||
|
ОписаниеПараметра = СтрРазделить(Элемент, "=", Истина);
|
||||||
|
ИмяПараметра = ОписаниеПараметра[0];
|
||||||
|
ЗначениеПараметра = "";
|
||||||
|
Если ОписаниеПараметра.Количество() = 2 Тогда
|
||||||
|
ЗначениеПараметра = ОписаниеПараметра[1];
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыЗапроса.Вставить(ИмяПараметра, ЗначениеПараметра);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
HTTPЗапрос = РаботаСПочтовымиСообщениямиСлужебный.ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса, Ложь);
|
||||||
|
|
||||||
|
СтрокаЗапроса = "https://" + АдресСервера + HTTPЗапрос.АдресРесурса;
|
||||||
|
Возврат СтрокаЗапроса;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ВебСтраницаДокументСформирован(Элемент)
|
||||||
|
Если СтрНачинаетсяС(НРег(Элемент.Документ.URL), НРег(АдресПеренаправления)) Тогда
|
||||||
|
ПриПолученииОтветаПочтовогоСервера(Элемент.Документ.URL, НастройкиАвторизации.АдресПолученияКлюча);
|
||||||
|
ПерейтиНаСледующуюСтраницу();
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриПолученииОтветаПочтовогоСервера(СтрокаURI, АдресПолученияКлюча)
|
||||||
|
|
||||||
|
Ответ = ПараметрыИзСтрокиURI(СтрокаURI);
|
||||||
|
КодАвторизации = Ответ["code"];
|
||||||
|
КодОшибки = Ответ["error"];
|
||||||
|
ТекстОшибки = Ответ["error_description"];
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||||
|
ТекстОшибки = РаскодироватьСтроку(ТекстОшибки, СпособКодированияСтроки.КодировкаURL);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ИдентификаторЗапроса <> Ответ["state"] Тогда
|
||||||
|
СообщенияОбОшибках = НСтр("ru = 'Не удалось авторизоваться на сервере %1. Неверный идентификатор ответа.'");
|
||||||
|
ПроверкаЗавершиласьСОшибками = Истина;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(КодОшибки) Тогда
|
||||||
|
СообщенияОбОшибках = ОписаниеОшибкиАвторизацииПочтовогоСервера(КодОшибки, ТекстОшибки);
|
||||||
|
ПроверкаЗавершиласьСОшибками = Истина;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча) Тогда
|
||||||
|
ПроверкаЗавершиласьСОшибками = Истина;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча)
|
||||||
|
|
||||||
|
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресПолученияКлюча);
|
||||||
|
АдресСервера = СтруктураURI.Хост;
|
||||||
|
АдресРесурса = "/" + СтруктураURI.ПутьНаСервере;
|
||||||
|
|
||||||
|
ПараметрыЗапроса = Новый Структура;
|
||||||
|
ПараметрыЗапроса.Вставить("client_id", ИдентификаторПриложения);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации["ЗапрашиваемыеРазрешения"]) Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("scope", НастройкиАвторизации["ЗапрашиваемыеРазрешения"]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыЗапроса.Вставить("code", КодАвторизации);
|
||||||
|
ПараметрыЗапроса.Вставить("redirect_uri", АдресПеренаправления);
|
||||||
|
ПараметрыЗапроса.Вставить("grant_type", "authorization_code");
|
||||||
|
|
||||||
|
Если НастройкиАвторизации.ИспользоватьКлючПроверкиПодлинностиPKCE Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("code_verifier", ПроверочныйКод);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ПарольПриложения) Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("client_secret", ПарольПриложения);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ВремяЗапроса = ТекущаяДатаСеанса();
|
||||||
|
|
||||||
|
РезультатЗапроса = РаботаСПочтовымиСообщениямиСлужебный.ВыполнитьЗапрос(АдресСервера, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
ПараметрыОтвета = РаботаСПочтовымиСообщениямиСлужебный.JSONВЗначение(РезультатЗапроса.ОтветСервера);
|
||||||
|
Исключение
|
||||||
|
ПараметрыОтвета = Новый Соответствие;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
ТокенДоступа = ПараметрыОтвета["access_token"];
|
||||||
|
СрокДействияТокенаДоступа = ПараметрыОтвета["expires_in"];
|
||||||
|
ТокенОбновления = ПараметрыОтвета["refresh_token"];
|
||||||
|
КодОшибки = ПараметрыОтвета["error"];
|
||||||
|
ТекстОшибки = ПараметрыОтвета["error_description"];
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(КодОшибки) Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось получить ключи доступа к учетной записи почты %1 по причине:
|
||||||
|
|%2'"), АдресЭлектроннойПочты, ТекстОшибки);
|
||||||
|
|
||||||
|
ТехническиеПодробности = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Ответ сервера:
|
||||||
|
|%1'"), РезультатЗапроса.ОтветСервера);
|
||||||
|
|
||||||
|
ЗаписьЖурналаРегистрации(РаботаСПочтовымиСообщениямиСлужебный.ИмяСобытияАвторизацияПоПротоколуOAuth(),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки + Символы.ПС + ТехническиеПодробности);
|
||||||
|
СообщенияОбОшибках = ТекстОшибки;
|
||||||
|
Возврат Ложь;
|
||||||
|
ИначеЕсли Не РезультатЗапроса.ЗапросВыполнен Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось получить ключи доступа к учетной записи почты %1 по причине:
|
||||||
|
|Запрос не выполнен.'"), АдресЭлектроннойПочты);
|
||||||
|
|
||||||
|
ТехническиеПодробности = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Ответ сервера:
|
||||||
|
|%1'"), РезультатЗапроса.ОтветСервера);
|
||||||
|
|
||||||
|
ЗаписьЖурналаРегистрации(РаботаСПочтовымиСообщениямиСлужебный.ИмяСобытияАвторизацияПоПротоколуOAuth(),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки + Символы.ПС + ТехническиеПодробности);
|
||||||
|
СообщенияОбОшибках = ТекстОшибки;
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СрокДействияТокенаДоступа) Тогда
|
||||||
|
СрокДействияТокенаДоступа = ВремяЗапроса + СрокДействияТокенаДоступа;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ПараметрыИзСтрокиURI(СтрокаURI)
|
||||||
|
|
||||||
|
ЗначенияПараметров = Новый Соответствие;
|
||||||
|
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(СтрокаURI);
|
||||||
|
Для Каждого ЧастьСтроки Из СтрРазделить(СтруктураURI.ПутьНаСервере, "?&") Цикл
|
||||||
|
ПараметрИЗначение = СтрРазделить(ЧастьСтроки, "=", Истина);
|
||||||
|
ИмяПараметра = ПараметрИЗначение[0];
|
||||||
|
Если ПараметрИЗначение.Количество() > 1 Тогда
|
||||||
|
ЗначениеПараметра = ПараметрИЗначение[1];
|
||||||
|
ЗначенияПараметров.Вставить(ИмяПараметра, ЗначениеПараметра);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ЗначенияПараметров;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция ОписаниеОшибкиАвторизацииПочтовогоСервера(Знач КодОшибки, Знач ТекстОшибки)
|
||||||
|
|
||||||
|
Результат = Строка(ТекстОшибки) + Символы.ПС + КодОшибки;
|
||||||
|
Результат = СокрЛП(Результат);
|
||||||
|
|
||||||
|
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||||
|
"ru = 'Не удалось авторизоваться на почтовом сервере:
|
||||||
|
|%1'"), Результат);
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// см. Справочники.УчетныеЗаписиЭлектроннойПочты.НастройкиПодключенияПоАдресуЭлектроннойПочты
|
||||||
|
//
|
||||||
|
&НаСервере
|
||||||
|
Функция НастройкиПодключенияПоАдресуЭлектроннойПочты()
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
Возврат Справочники.УчетныеЗаписиЭлектроннойПочты.НастройкиПодключенияПоАдресуЭлектроннойПочты(АдресЭлектроннойПочты, ПарольДляПолученияПисем);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// см. Справочники.НастройкиАвторизацииИнтернетСервисов.НастройкиАвторизацииИнтернетСервиса
|
||||||
|
//
|
||||||
|
&НаСервере
|
||||||
|
Функция НастройкиАвторизацииНаПочтовомСервере()
|
||||||
|
|
||||||
|
Возврат НастройкиПодключенияПоАдресуЭлектроннойПочты().НастройкиАвторизации;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -566,6 +566,73 @@
|
|||||||
<textSize>Normal</textSize>
|
<textSize>Normal</textSize>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>АвторизацияСПомощьюПочтовогоСервиса</name>
|
||||||
|
<id>274</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Объект.АвторизацияСПомощьюПочтовогоСервиса</segments>
|
||||||
|
</dataPath>
|
||||||
|
<titleLocation>Right</titleLocation>
|
||||||
|
<handlers>
|
||||||
|
<event>OnChange</event>
|
||||||
|
<name>АвторизацияСПомощьюПочтовогоСервисаПриИзменении</name>
|
||||||
|
</handlers>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>АвторизацияСПомощьюПочтовогоСервисаРасширеннаяПодсказка</name>
|
||||||
|
<id>276</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>АвторизацияСПомощьюПочтовогоСервисаКонтекстноеМеню</name>
|
||||||
|
<id>275</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>CheckBoxField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<showInHeader>true</showInHeader>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<showInFooter>true</showInFooter>
|
||||||
|
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||||
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Логин пароль</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ЛогинПарольРасширеннаяПодсказка</name>
|
||||||
|
<id>264</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>UsualGroup</type>
|
||||||
|
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||||
|
<group>HorizontalIfPossible</group>
|
||||||
|
<behavior>Auto</behavior>
|
||||||
|
<showLeftMargin>true</showLeftMargin>
|
||||||
|
<united>true</united>
|
||||||
|
<throughAlign>Auto</throughAlign>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
<items xsi:type="form:FormField">
|
<items xsi:type="form:FormField">
|
||||||
<name>Пароль</name>
|
<name>Пароль</name>
|
||||||
<id>105</id>
|
<id>105</id>
|
||||||
@@ -625,35 +692,6 @@
|
|||||||
<textSize>Normal</textSize>
|
<textSize>Normal</textSize>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
<visible>true</visible>
|
|
||||||
<enabled>true</enabled>
|
|
||||||
<userVisible>
|
|
||||||
<common>true</common>
|
|
||||||
</userVisible>
|
|
||||||
<title>
|
|
||||||
<key>ru</key>
|
|
||||||
<value>Логин пароль</value>
|
|
||||||
</title>
|
|
||||||
<extendedTooltip>
|
|
||||||
<name>ЛогинПарольРасширеннаяПодсказка</name>
|
|
||||||
<id>264</id>
|
|
||||||
<type>Label</type>
|
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
|
||||||
<autoMaxHeight>true</autoMaxHeight>
|
|
||||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
|
||||||
<horizontalAlign>Left</horizontalAlign>
|
|
||||||
</extInfo>
|
|
||||||
</extendedTooltip>
|
|
||||||
<type>UsualGroup</type>
|
|
||||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
|
||||||
<group>HorizontalIfPossible</group>
|
|
||||||
<behavior>Auto</behavior>
|
|
||||||
<showLeftMargin>true</showLeftMargin>
|
|
||||||
<united>true</united>
|
|
||||||
<throughAlign>Auto</throughAlign>
|
|
||||||
<currentRowUse>Auto</currentRowUse>
|
|
||||||
</extInfo>
|
|
||||||
</items>
|
|
||||||
<items xsi:type="form:FormGroup">
|
<items xsi:type="form:FormGroup">
|
||||||
<name>ОставлятьПисьмаНаСервере</name>
|
<name>ОставлятьПисьмаНаСервере</name>
|
||||||
<id>185</id>
|
<id>185</id>
|
||||||
|
|||||||
@@ -40,6 +40,10 @@
|
|||||||
ЦветПодсветки = ЦветаСтиля.ПоясняющийОшибкуТекст;
|
ЦветПодсветки = ЦветаСтиля.ПоясняющийОшибкуТекст;
|
||||||
ИдентификаторИсправления = Параметры.ИдентификаторИсправления;
|
ИдентификаторИсправления = Параметры.ИдентификаторИсправления;
|
||||||
|
|
||||||
|
Если Объект.АвторизацияСПомощьюПочтовогоСервиса Тогда
|
||||||
|
Элементы.Пароль.Доступность = Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
@@ -318,6 +322,17 @@
|
|||||||
Элементы.ФормаПроверитьНастройки.Доступность = Объект.ИспользоватьДляОтправки Или Объект.ИспользоватьДляПолучения;
|
Элементы.ФормаПроверитьНастройки.Доступность = Объект.ИспользоватьДляОтправки Или Объект.ИспользоватьДляПолучения;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура АвторизацияСПомощьюПочтовогоСервисаПриИзменении(Элемент)
|
||||||
|
|
||||||
|
Если Объект.АвторизацияСПомощьюПочтовогоСервиса Тогда
|
||||||
|
ОткрытьФормуПомощникаНастроек(Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Элементы.Пароль.Доступность = Объект.АвторизацияСПомощьюПочтовогоСервиса;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбработчикиКомандФормы
|
#Область ОбработчикиКомандФормы
|
||||||
@@ -366,12 +381,7 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ОткрытьПомощникНастройки(Команда)
|
Процедура ОткрытьПомощникНастройки(Команда)
|
||||||
|
|
||||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗавершенииНастройки", ЭтотОбъект);
|
ОткрытьФормуПомощникаНастроек();
|
||||||
ПараметрыОткрытия = Новый Структура;
|
|
||||||
ПараметрыОткрытия.Вставить("Ключ", Объект.Ссылка);
|
|
||||||
ПараметрыОткрытия.Вставить("Перенастройка", Истина);
|
|
||||||
ОткрытьФорму("Справочник.УчетныеЗаписиЭлектроннойПочты.Форма.ПомощникНастройкиУчетнойЗаписи",
|
|
||||||
ПараметрыОткрытия, , , , , ОписаниеОповещения);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -575,7 +585,14 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ПриЗавершенииНастройки(Результат, ДополнительныеПараметры) Экспорт
|
Процедура ПриЗавершенииНастройки(Результат, ТолькоАвторизация) Экспорт
|
||||||
|
|
||||||
|
Если ТолькоАвторизация Тогда
|
||||||
|
Если Результат <> Истина Тогда
|
||||||
|
Объект.АвторизацияСПомощьюПочтовогоСервиса = Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Прочитать();
|
Прочитать();
|
||||||
|
|
||||||
@@ -685,4 +702,20 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ОткрытьФормуПомощникаНастроек(ТолькоАвторизация = Ложь)
|
||||||
|
|
||||||
|
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗавершенииНастройки", ЭтотОбъект, ТолькоАвторизация);
|
||||||
|
ПараметрыОткрытия = Новый Структура;
|
||||||
|
ПараметрыОткрытия.Вставить("Ключ", Объект.Ссылка);
|
||||||
|
Если ТолькоАвторизация Тогда
|
||||||
|
ПараметрыОткрытия.Вставить("ТолькоАвторизация", Истина);
|
||||||
|
Иначе
|
||||||
|
ПараметрыОткрытия.Вставить("Перенастройка", Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОткрытьФорму("Справочник.УчетныеЗаписиЭлектроннойПочты.Форма.ПомощникНастройкиУчетнойЗаписи",
|
||||||
|
ПараметрыОткрытия, , , , , ОписаниеОповещения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -392,24 +392,34 @@
|
|||||||
|
|
||||||
Функция ОпределитьНастройкиУчетнойЗаписи(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения) Экспорт
|
Функция ОпределитьНастройкиУчетнойЗаписи(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения) Экспорт
|
||||||
|
|
||||||
НастройкиПочтовыхСерверов = Неопределено;
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
НайденныеНастройки = НастройкиПодключенияПоАдресуЭлектроннойПочты(АдресЭлектроннойПочты, Пароль);
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
|
Возврат ПодобратьНастройкиПочты(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения, НайденныеНастройки.Профиль);
|
||||||
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
|
|
||||||
ЗагруженныйФайл = МодульПолучениеФайловИзИнтернета.СкачатьФайлНаСервере("https://downloads.v8.1c.ru/content/common/settings/mailservers.json");
|
КонецФункции
|
||||||
Если ЗагруженныйФайл.Статус Тогда
|
|
||||||
ЧтениеJSON = Новый ЧтениеJSON();
|
// Возвращаемое значение:
|
||||||
ЧтениеJSON.ОткрытьФайл(ЗагруженныйФайл.Путь);
|
// Структура:
|
||||||
НастройкиПочтовыхСерверов = ПрочитатьJSON(ЧтениеJSON, Истина);
|
// * Профиль - ИнтернетПочтовыйПрофиль
|
||||||
ЧтениеJSON.Закрыть();
|
// * ИмяПочтовогоСервера - Строка
|
||||||
КонецЕсли;
|
// * НастройкиАвторизации - см. Справочники.НастройкиАвторизацииИнтернетСервисов.НастройкиАвторизацииИнтернетСервиса
|
||||||
КонецЕсли;
|
//
|
||||||
|
Функция НастройкиПодключенияПоАдресуЭлектроннойПочты(АдресЭлектроннойПочты, Пароль = "") Экспорт
|
||||||
|
|
||||||
|
СтруктураАдреса = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресЭлектроннойПочты);
|
||||||
|
ПочтовыйДомен = СтруктураАдреса.Хост;
|
||||||
|
|
||||||
НайденныеНастройки = Неопределено;
|
НайденныеНастройки = Неопределено;
|
||||||
|
ИмяПочтовогоСервера = "";
|
||||||
|
|
||||||
|
НастройкиПочтовыхСерверов = НастройкиПочтовыхСерверов();
|
||||||
Если НастройкиПочтовыхСерверов <> Неопределено Тогда
|
Если НастройкиПочтовыхСерверов <> Неопределено Тогда
|
||||||
СтруктураАдреса = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресЭлектроннойПочты);
|
|
||||||
НайденныеНастройки = НастройкиПочтовыхСерверов[СтруктураАдреса.Хост];
|
НайденныеНастройки = НастройкиПочтовыхСерверов[СтруктураАдреса.Хост];
|
||||||
|
ИмяПочтовогоСервера = СтруктураАдреса.Хост;
|
||||||
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
|
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
|
||||||
|
ИмяПочтовогоСервера = НайденныеНастройки;
|
||||||
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
|
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -421,7 +431,10 @@
|
|||||||
Хост = СтрСоединить(УровниДомена, ".");
|
Хост = СтрСоединить(УровниДомена, ".");
|
||||||
|
|
||||||
НайденныеНастройки = НастройкиПочтовыхСерверов[Хост];
|
НайденныеНастройки = НастройкиПочтовыхСерверов[Хост];
|
||||||
|
ИмяПочтовогоСервера = Хост;
|
||||||
|
|
||||||
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
|
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
|
||||||
|
ИмяПочтовогоСервера = НайденныеНастройки;
|
||||||
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
|
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -441,17 +454,92 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ПодобратьНастройкиПочты(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения, НайденныеНастройки);
|
Профиль = Неопределено;
|
||||||
|
Если ЗначениеЗаполнено(НайденныеНастройки) Тогда
|
||||||
|
Профиль = СформироватьПрофиль(НайденныеНастройки, АдресЭлектроннойПочты, Пароль);
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
НастройкиАвторизации = НастройкиАвторизацииСервера(НайденныеНастройки, ИмяПочтовогоСервера, ПочтовыйДомен);
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Результат = Новый Структура;
|
||||||
|
Результат.Вставить("Профиль", Профиль);
|
||||||
|
Результат.Вставить("ИмяПочтовогоСервера", ИмяПочтовогоСервера);
|
||||||
|
Результат.Вставить("НастройкиАвторизации", НастройкиАвторизации);
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПодобратьНастройкиПочты(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения, ИзвестныеНастройкиПочтовогоСервера)
|
// Возвращаемое значение:
|
||||||
|
// см. Справочники.НастройкиАвторизацииИнтернетСервисов.НастройкиАвторизацииИнтернетСервиса
|
||||||
|
//
|
||||||
|
Функция НастройкиАвторизацииСервера(НайденныеНастройки, ИмяПочтовогоСервера, ПочтовыйДомен)
|
||||||
|
|
||||||
Профиль = Неопределено;
|
НастройкиАвторизации = Справочники.НастройкиАвторизацииИнтернетСервисов.НастройкиАвторизацииИнтернетСервиса(ИмяПочтовогоСервера, ПочтовыйДомен);
|
||||||
Если ЗначениеЗаполнено(ИзвестныеНастройкиПочтовогоСервера) Тогда
|
НастройкиИзКлассификатора = НайденныеНастройки["OAuth"];
|
||||||
Профиль = СформироватьПрофиль(ИзвестныеНастройкиПочтовогоСервера, АдресЭлектроннойПочты, Пароль);
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.АдресАвторизации) Или Не ЗначениеЗаполнено(НастройкиИзКлассификатора) Тогда
|
||||||
|
Возврат НастройкиАвторизации;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастройкиАвторизации.ИмяИнтернетСервиса = ИмяПочтовогоСервера;
|
||||||
|
НастройкиАвторизации.ВладелецДанных = ПочтовыйДомен;
|
||||||
|
НастройкиАвторизации.АдресАвторизации = НастройкиИзКлассификатора["AuthorizationURI"];
|
||||||
|
НастройкиАвторизации.АдресПолученияКлюча = НастройкиИзКлассификатора["TokenExchangeURI"];
|
||||||
|
|
||||||
|
НастройкиАвторизации.ЗапрашиваемыеРазрешения = НастройкиИзКлассификатора["MailScope"];
|
||||||
|
Если ТипЗнч(НастройкиАвторизации.ЗапрашиваемыеРазрешения) = Тип("Массив") Тогда
|
||||||
|
НастройкиАвторизации.ЗапрашиваемыеРазрешения = СтрСоединить(НастройкиАвторизации.ЗапрашиваемыеРазрешения, " ");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастройкиАвторизации.ИспользоватьКлючПроверкиПодлинностиPKCE = НастройкиИзКлассификатора["UsePKCE"];
|
||||||
|
НастройкиАвторизации.ИспользоватьПарольПриложения = НастройкиИзКлассификатора["UseClientSecret"];
|
||||||
|
|
||||||
|
ДополнительныеПараметрыАвторизации = НастройкиИзКлассификатора["AuthorizationParameters"];
|
||||||
|
Если ЗначениеЗаполнено(ДополнительныеПараметрыАвторизации) Тогда
|
||||||
|
ОписанияПараметров = Новый Массив;
|
||||||
|
Для Каждого Элемент Из ДополнительныеПараметрыАвторизации Цикл
|
||||||
|
ОписанияПараметров.Добавить(Элемент.Ключ + "=" + XMLСтрока(Элемент.Значение));
|
||||||
|
КонецЦикла;
|
||||||
|
НастройкиАвторизации.ДополнительныеПараметрыАвторизации = СтрСоединить(ОписанияПараметров, " ");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДополнительныеПараметрыПолученияТокена = НастройкиИзКлассификатора["TokenExchangeParameters"];
|
||||||
|
Если ЗначениеЗаполнено(ДополнительныеПараметрыПолученияТокена) Тогда
|
||||||
|
ОписанияПараметров = Новый Массив;
|
||||||
|
Для Каждого Элемент Из ДополнительныеПараметрыПолученияТокена Цикл
|
||||||
|
ОписанияПараметров.Добавить(Элемент.Ключ + "=" + XMLСтрока(Элемент.Значение));
|
||||||
|
КонецЦикла;
|
||||||
|
НастройкиАвторизации.ДополнительныеПараметрыПолученияТокена = СтрСоединить(ОписанияПараметров, " ");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат НастройкиАвторизации;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НастройкиПочтовыхСерверов()
|
||||||
|
|
||||||
|
НастройкиПочтовыхСерверов = Неопределено;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
|
||||||
|
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
|
||||||
|
ЗагруженныйФайл = МодульПолучениеФайловИзИнтернета.СкачатьФайлНаСервере("https://downloads.v8.1c.ru/content/common/settings/mailservers.json");
|
||||||
|
Если ЗагруженныйФайл.Статус Тогда
|
||||||
|
ЧтениеJSON = Новый ЧтениеJSON();
|
||||||
|
ЧтениеJSON.ОткрытьФайл(ЗагруженныйФайл.Путь);
|
||||||
|
НастройкиПочтовыхСерверов = ПрочитатьJSON(ЧтениеJSON, Истина);
|
||||||
|
ЧтениеJSON.Закрыть();
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат НастройкиПочтовыхСерверов;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПодобратьНастройкиПочты(АдресЭлектроннойПочты, Пароль, ДляОтправки, ДляПолучения, Профиль = Неопределено)
|
||||||
|
|
||||||
НастройкиПолучены = Профиль <> Неопределено;
|
НастройкиПолучены = Профиль <> Неопределено;
|
||||||
|
|
||||||
НайденныйПрофильSMTP = ?(НастройкиПолучены И ЗначениеЗаполнено(Профиль.АдресСервераSMTP), Профиль, Неопределено);
|
НайденныйПрофильSMTP = ?(НастройкиПолучены И ЗначениеЗаполнено(Профиль.АдресСервераSMTP), Профиль, Неопределено);
|
||||||
@@ -507,7 +595,7 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СформироватьПрофиль(ИзвестныеНастройки, АдресЭлектроннойПочты, Пароль)
|
Функция СформироватьПрофиль(ИзвестныеНастройки, АдресЭлектроннойПочты, Пароль = "")
|
||||||
|
|
||||||
СтруктураАдреса = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресЭлектроннойПочты);
|
СтруктураАдреса = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресЭлектроннойПочты);
|
||||||
|
|
||||||
|
|||||||
@@ -558,6 +558,39 @@
|
|||||||
<fullTextSearch>Use</fullTextSearch>
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
<dataHistory>Use</dataHistory>
|
<dataHistory>Use</dataHistory>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
<attributes uuid="e9939b36-bceb-40e2-a182-1d5cc248f353">
|
||||||
|
<name>АвторизацияСПомощьюПочтовогоСервиса</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Авторизация с помощью почтового сервиса</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
<attributes uuid="619d3ac6-40fe-485d-a407-fe065f16b186">
|
||||||
|
<name>ИмяПочтовогоСервиса</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Имя почтового сервиса</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers>
|
||||||
|
<length>200</length>
|
||||||
|
</stringQualifiers>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
<forms uuid="ecaa0af8-549c-4c07-82ff-1c4e02ff15b8">
|
<forms uuid="ecaa0af8-549c-4c07-82ff-1c4e02ff15b8">
|
||||||
<name>ФормаВыбора</name>
|
<name>ФормаВыбора</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
|
|||||||
@@ -69,16 +69,12 @@
|
|||||||
|
|
||||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока));
|
ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока));
|
||||||
|
|
||||||
ИспользоватьПредпросмотр = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
ИспользоватьПредпросмотр = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("Файлы", "Предпросмотр");
|
||||||
"Файлы",
|
|
||||||
"Предпросмотр");
|
|
||||||
|
|
||||||
Если ИспользоватьПредпросмотр <> Неопределено Тогда
|
Если ИспользоватьПредпросмотр <> Неопределено Тогда
|
||||||
Предпросмотр = ИспользоватьПредпросмотр;
|
Предпросмотр = ИспользоватьПредпросмотр;
|
||||||
Элементы.АдресДанныхФайла.Видимость = ИспользоватьПредпросмотр;
|
Элементы.АдресДанныхФайла.Видимость = ИспользоватьПредпросмотр;
|
||||||
Элементы.Предпросмотр.Пометка = ИспользоватьПредпросмотр;
|
Элементы.Предпросмотр.Пометка = ИспользоватьПредпросмотр;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
РасширенияПоддерживающиеПредпросмотр = РаботаСФайламиСлужебный.СписокРасширенийДляПредпросмотра();
|
РасширенияПоддерживающиеПредпросмотр = РаботаСФайламиСлужебный.СписокРасширенийДляПредпросмотра();
|
||||||
|
|
||||||
Элементы.ГруппаПояснениеОблачногоСервиса.Видимость = Ложь;
|
Элементы.ГруппаПояснениеОблачногоСервиса.Видимость = Ложь;
|
||||||
@@ -98,6 +94,13 @@
|
|||||||
Элементы.ФормаСоздатьСоСканера.Заголовок = НСтр("ru = 'С камеры устройства...'");
|
Элементы.ФормаСоздатьСоСканера.Заголовок = НСтр("ru = 'С камеры устройства...'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
|
||||||
|
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -272,6 +275,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ОбработкаОжиданияУстановитьДоступностьФайловыхКоманд();
|
ОбработкаОжиданияУстановитьДоступностьФайловыхКоманд();
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
|
||||||
|
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -676,8 +686,13 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура Отправить(Команда)
|
Процедура Отправить(Команда)
|
||||||
|
|
||||||
ПриОтправкеФайловПочтой(ПараметрыОтправки, Элементы.Список.ВыделенныеСтроки, Элементы.Папки.ТекущиеДанные.Ссылка , УникальныйИдентификатор);
|
ТекущиеДанные = Элементы.Папки.ТекущиеДанные;
|
||||||
|
Если ТекущиеДанные = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПриОтправкеФайловПочтой(ПараметрыОтправки, Элементы.Список.ВыделенныеСтроки, ТекущиеДанные.Ссылка,
|
||||||
|
УникальныйИдентификатор);
|
||||||
РаботаСФайламиСлужебныйКлиент.ОтправитьФайлыПоПочте(
|
РаботаСФайламиСлужебныйКлиент.ОтправитьФайлыПоПочте(
|
||||||
Элементы.Список.ВыделенныеСтроки, УникальныйИдентификатор, ПараметрыОтправки, Истина);
|
Элементы.Список.ВыделенныеСтроки, УникальныйИдентификатор, ПараметрыОтправки, Истина);
|
||||||
|
|
||||||
@@ -736,22 +751,16 @@
|
|||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура Сравнить(Команда)
|
Процедура Сравнить(Команда)
|
||||||
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
|
|
||||||
|
|
||||||
Если ЧислоВыделенныхСтрок = 2 ИЛИ ЧислоВыделенныхСтрок = 1 Тогда
|
Если Элементы.Список.ВыделенныеСтроки.Количество() <> 2 Тогда
|
||||||
Если ЧислоВыделенныхСтрок = 2 Тогда
|
Возврат;
|
||||||
Ссылка1 = Элементы.Список.ВыделенныеСтроки[0];
|
|
||||||
Ссылка2 = Элементы.Список.ВыделенныеСтроки[1];
|
|
||||||
ИначеЕсли ЧислоВыделенныхСтрок = 1 Тогда
|
|
||||||
Ссылка1 = Элементы.Список.ТекущиеДанные.Ссылка;
|
|
||||||
Ссылка2 = Элементы.Список.ТекущиеДанные.РодительскаяВерсия;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПервыйФайл = Элементы.Список.ВыделенныеСтроки[0];
|
||||||
|
ВторойФайл = Элементы.Список.ВыделенныеСтроки[1];
|
||||||
Расширение = НРег(Элементы.Список.ТекущиеДанные.Расширение);
|
Расширение = НРег(Элементы.Список.ТекущиеДанные.Расширение);
|
||||||
|
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(УникальныйИдентификатор, ПервыйФайл, ВторойФайл, Расширение);
|
||||||
|
|
||||||
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(УникальныйИдентификатор, Ссылка1, Ссылка2, Расширение);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -1604,4 +1613,30 @@
|
|||||||
Возврат РаботаСФайламиСлужебный.ДанныеОтбораЖурналаРегистрации(УчетнаяЗаписьСервис);
|
Возврат РаботаСФайламиСлужебный.ДанныеОтбораЖурналаРегистрации(УчетнаяЗаписьСервис);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ВыполнитьКоманду(Команда)
|
||||||
|
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
|
||||||
|
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
|
||||||
|
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
|
||||||
|
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
|
||||||
|
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ОбновитьКоманды()
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -4912,6 +4912,10 @@
|
|||||||
<commandBar/>
|
<commandBar/>
|
||||||
</commandInterface>
|
</commandInterface>
|
||||||
<extInfo xsi:type="form:CatalogFormExtInfo">
|
<extInfo xsi:type="form:CatalogFormExtInfo">
|
||||||
|
<handlers>
|
||||||
|
<event>AfterWrite</event>
|
||||||
|
<name>ПослеЗаписи</name>
|
||||||
|
</handlers>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>AfterWriteAtServer</event>
|
<event>AfterWriteAtServer</event>
|
||||||
<name>ПослеЗаписиНаСервере</name>
|
<name>ПослеЗаписиНаСервере</name>
|
||||||
|
|||||||
@@ -48,6 +48,13 @@
|
|||||||
ОбновитьПолныйПуть();
|
ОбновитьПолныйПуть();
|
||||||
ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка);
|
ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка);
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
|
||||||
|
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
||||||
|
|
||||||
Элементы.Описание.Высота = 0;
|
Элементы.Описание.Высота = 0;
|
||||||
@@ -67,7 +74,6 @@
|
|||||||
Процедура ПриОткрытии(Отказ)
|
Процедура ПриОткрытии(Отказ)
|
||||||
|
|
||||||
НаименованиеДоЗаписи = Объект.Наименование;
|
НаименованиеДоЗаписи = Объект.Наименование;
|
||||||
|
|
||||||
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
|
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
|
||||||
|
|
||||||
УстановитьДоступностьКомандСпискаЭП();
|
УстановитьДоступностьКомандСпискаЭП();
|
||||||
@@ -76,6 +82,13 @@
|
|||||||
РаботаСФайламиСлужебныйКлиент.ПрочитатьСертификатыПодписей(ЭтотОбъект);
|
РаботаСФайламиСлужебныйКлиент.ПрочитатьСертификатыПодписей(ЭтотОбъект);
|
||||||
ОтображатьВкладкиДополнительныхДанных();
|
ОтображатьВкладкиДополнительныхДанных();
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
|
||||||
|
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -146,13 +159,18 @@
|
|||||||
|
|
||||||
// СтандартныеПодсистемы.УправлениеДоступом
|
// СтандартныеПодсистемы.УправлениеДоступом
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||||
|
|
||||||
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
||||||
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
@@ -199,6 +217,18 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||||
|
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
|
||||||
|
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||||
|
|
||||||
@@ -717,17 +747,13 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
РазблокироватьДанныеФормыДляРедактирования();
|
||||||
ДанныеФайла = ДанныеФайла(ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
|
ДанныеФайла = ДанныеФайла(ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ЭтотОбъект.Объект.Редактирует) Тогда
|
ФайлРедактируется = ЗначениеЗаполнено(ЭтотОбъект.Объект.Редактирует);
|
||||||
РаботаСФайламиСлужебныйКлиент.РедактироватьФайл(Неопределено,
|
РаботаСФайламиСлужебныйКлиент.РедактироватьФайл(Неопределено, ДанныеФайла, УникальныйИдентификатор);
|
||||||
ДанныеФайла, УникальныйИдентификатор);
|
Если Не ФайлРедактируется Тогда
|
||||||
Иначе
|
|
||||||
РаботаСФайламиСлужебныйКлиент.РедактироватьФайл(Неопределено,
|
|
||||||
ДанныеФайла, УникальныйИдентификатор);
|
|
||||||
|
|
||||||
ОбновитьОбъект();
|
ОбновитьОбъект();
|
||||||
|
|
||||||
ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка);
|
ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка);
|
||||||
Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка);
|
Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1541,4 +1567,31 @@
|
|||||||
Возврат РаботаСФайламиСлужебный.ДанныеОтбораЖурналаРегистрации(УчетнаяЗапись);
|
Возврат РаботаСФайламиСлужебный.ДанныеОтбораЖурналаРегистрации(УчетнаяЗапись);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ВыполнитьКоманду(Команда)
|
||||||
|
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
|
||||||
|
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
|
||||||
|
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
|
||||||
|
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
|
||||||
|
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ОбновитьКоманды()
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
|
||||||
|
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -479,6 +479,50 @@
|
|||||||
<fileDragMode>AsFileRef</fileDragMode>
|
<fileDragMode>AsFileRef</fileDragMode>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>ГруппаНаименование</name>
|
||||||
|
<id>73</id>
|
||||||
|
<items xsi:type="form:FormField">
|
||||||
|
<name>СтандартнаяКартинка</name>
|
||||||
|
<id>70</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<dataPath xsi:type="form:DataPath">
|
||||||
|
<segments>Список.DefaultPicture</segments>
|
||||||
|
</dataPath>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>СтандартнаяКартинкаРасширеннаяПодсказка</name>
|
||||||
|
<id>72</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>СтандартнаяКартинкаКонтекстноеМеню</name>
|
||||||
|
<id>71</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>PictureField</type>
|
||||||
|
<editMode>Enter</editMode>
|
||||||
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
|
<extInfo xsi:type="form:ImageFieldExtInfo">
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<horizontalStretch>true</horizontalStretch>
|
||||||
|
<verticalStretch>true</verticalStretch>
|
||||||
|
<border xsi:type="core:BorderDef">
|
||||||
|
<style>Single</style>
|
||||||
|
<width>1</width>
|
||||||
|
</border>
|
||||||
|
<fileDragMode>AsFileRef</fileDragMode>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
<items xsi:type="form:FormField">
|
<items xsi:type="form:FormField">
|
||||||
<name>Наименование</name>
|
<name>Наименование</name>
|
||||||
<id>16</id>
|
<id>16</id>
|
||||||
@@ -521,6 +565,32 @@
|
|||||||
<userVisible>
|
<userVisible>
|
||||||
<common>true</common>
|
<common>true</common>
|
||||||
</userVisible>
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Наименование</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ГруппаНаименованиеРасширеннаяПодсказка</name>
|
||||||
|
<id>74</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>ColumnGroup</type>
|
||||||
|
<extInfo xsi:type="form:ColumnGroupExtInfo">
|
||||||
|
<group>InCell</group>
|
||||||
|
<showTitle>auto</showTitle>
|
||||||
|
<showInCard>true</showInCard>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
<title>
|
<title>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Наименование и файлы</value>
|
<value>Наименование и файлы</value>
|
||||||
|
|||||||
+10
-2
@@ -435,7 +435,7 @@
|
|||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>ScheduledJob.УдалениеПомеченных</metadata>
|
<metadata>ScheduledJob.УдалениеПомеченныхОбъектов</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
<content>
|
||||||
@@ -474,6 +474,10 @@
|
|||||||
<metadata>Constant.ИспользуютсяПрофилиБезопасности</metadata>
|
<metadata>Constant.ИспользуютсяПрофилиБезопасности</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
|
<content>
|
||||||
|
<metadata>Constant.СтандартныеПодсистемыВАвтономномРежиме</metadata>
|
||||||
|
<use>DontUse</use>
|
||||||
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>ScheduledJob.МониторингЗадач</metadata>
|
<metadata>ScheduledJob.МониторингЗадач</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
@@ -490,6 +494,10 @@
|
|||||||
<metadata>Constant.СинхронизироватьДанныеСПриложениемВИнтернетеПриНачалеРаботыПрограммы</metadata>
|
<metadata>Constant.СинхронизироватьДанныеСПриложениемВИнтернетеПриНачалеРаботыПрограммы</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
|
<content>
|
||||||
|
<metadata>Constant.НастройкиВходаПользователей</metadata>
|
||||||
|
<use>DontUse</use>
|
||||||
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>ScheduledJob.ОчисткаЗамеровВремени</metadata>
|
<metadata>ScheduledJob.ОчисткаЗамеровВремени</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
@@ -523,7 +531,7 @@
|
|||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>ScheduledJob.ОтключениеПроверкиИспользованияУдаляемыхОбъектов</metadata>
|
<metadata>ScheduledJob.КонтрольУдаленияПомеченныхОбъектов</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
<content>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
ОжиданиеСчетчик = Параметры.Таймаут;
|
ОжиданиеСчетчик = Параметры.Таймаут;
|
||||||
|
|
||||||
// Сброс размеров и положения окна этой формы.
|
// Сброс размеров и положения окна этой формы.
|
||||||
СброситьРазмерыИПоложениеОкна();
|
СтандартныеПодсистемыСервер.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||||
|
|
||||||
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
||||||
Элементы.Переместить(Элементы.БольшеНеЗадаватьЭтотВопрос, ЭтотОбъект);
|
Элементы.Переместить(Элементы.БольшеНеЗадаватьЭтотВопрос, ЭтотОбъект);
|
||||||
@@ -241,15 +241,6 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
|
||||||
Процедура СброситьРазмерыИПоложениеОкна()
|
|
||||||
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
|
|
||||||
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
|
||||||
ХранилищеСистемныхНастроек.Удалить("ОбщаяФорма.Вопрос", "", ИмяПользователя);
|
|
||||||
КонецЕсли;
|
|
||||||
КлючСохраненияПоложенияОкна = Строка(Новый УникальныйИдентификатор);
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
&НаСервереБезКонтекста
|
&НаСервереБезКонтекста
|
||||||
Функция СтандартныйНабор(Кнопки)
|
Функция СтандартныйНабор(Кнопки)
|
||||||
Результат = Новый СписокЗначений;
|
Результат = Новый СписокЗначений;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<!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>Предназначен для просмотра и управления доступными командами текущим пользователем.
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначен для просмотра и управления доступными командами текущим пользователем.
|
||||||
<div><br></div>
|
<div><br></div>
|
||||||
<div>В списке можно включать или выключать предусмотренные команды с помощью флажков.
|
<div>В списке можно включать или выключать предусмотренные команды с помощью флажков.
|
||||||
<div><br><div>Для того чтобы в списке были доступны команды, администратор программы при настройке <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">дополнительного отчета или обработки</a> должен сначала включить имя данного пользователя в список для быстрого доступа, иначе список доступных команд может быть пустым. При этом состав и текст команд в дополнительных отчетах и обработках определяется разработчиком.</div></div></div></body></html>
|
<div><br><div>Для того чтобы в списке были доступны команды, администратор программы при настройке <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">дополнительного отчета или обработки</a> должен сначала включить имя данного пользователя в список для быстрого доступа, иначе список доступных команд может быть пустым. При этом состав и текст команд в дополнительных отчетах и обработках определяется разработчиком.</div></div></div></body></html>
|
||||||
@@ -102,6 +102,113 @@
|
|||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>ПредупреждениеНастройкаВСервисе</name>
|
||||||
|
<id>120</id>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеКартинка</name>
|
||||||
|
<id>122</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Предупреждение настройка в сервисе картинка</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеКартинкаРасширеннаяПодсказка</name>
|
||||||
|
<id>124</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеКартинкаКонтекстноеМеню</name>
|
||||||
|
<id>123</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<skipOnInput>false</skipOnInput>
|
||||||
|
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||||
|
<picture xsi:type="core:PictureRef">
|
||||||
|
<picture>CommonPicture.Предупреждение32</picture>
|
||||||
|
</picture>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеПояснение</name>
|
||||||
|
<id>125</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>В модели сервиса настройки
|
||||||
|
устанавливаются администратором сервиса</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеПояснениеРасширеннаяПодсказка</name>
|
||||||
|
<id>127</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеПояснениеКонтекстноеМеню</name>
|
||||||
|
<id>126</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<skipOnInput>false</skipOnInput>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
<verticalAlign>Center</verticalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Предупреждение настройка в сервисе</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ПредупреждениеНастройкаВСервисеРасширеннаяПодсказка</name>
|
||||||
|
<id>121</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>UsualGroup</type>
|
||||||
|
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||||
|
<group>AlwaysHorizontal</group>
|
||||||
|
<behavior>Auto</behavior>
|
||||||
|
<showLeftMargin>true</showLeftMargin>
|
||||||
|
<united>true</united>
|
||||||
|
<throughAlign>Auto</throughAlign>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>ГруппаНастройки</name>
|
||||||
|
<id>128</id>
|
||||||
<items xsi:type="form:FormGroup">
|
<items xsi:type="form:FormGroup">
|
||||||
<name>ГруппаСложностьПароля</name>
|
<name>ГруппаСложностьПароля</name>
|
||||||
<id>33</id>
|
<id>33</id>
|
||||||
@@ -945,6 +1052,35 @@
|
|||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Настройки</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ГруппаНастройкиРасширеннаяПодсказка</name>
|
||||||
|
<id>129</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>UsualGroup</type>
|
||||||
|
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||||
|
<group>Vertical</group>
|
||||||
|
<behavior>Auto</behavior>
|
||||||
|
<showLeftMargin>true</showLeftMargin>
|
||||||
|
<united>true</united>
|
||||||
|
<throughAlign>Auto</throughAlign>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
<autoCommandBar>
|
<autoCommandBar>
|
||||||
<name>ФормаКоманднаяПанель</name>
|
<name>ФормаКоманднаяПанель</name>
|
||||||
<id>-1</id>
|
<id>-1</id>
|
||||||
|
|||||||
@@ -39,6 +39,15 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
ВидимостьГруппыВосстановлениеПароля = Ложь;
|
ВидимостьГруппыВосстановлениеПароля = Ложь;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
|
||||||
|
Элементы.ПредупреждениеНастройкаВСервисе.Видимость = Истина;
|
||||||
|
Элементы.ФормаЗаписатьИЗакрыть.Доступность = Ложь;
|
||||||
|
Элементы.ГруппаНастройки.Доступность = Ложь;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
НастройкиВосстановленияПароля = ПользователиСлужебный.НастройкиВосстановленияПароля();
|
НастройкиВосстановленияПароля = ПользователиСлужебный.НастройкиВосстановленияПароля();
|
||||||
Если НастройкиВосстановленияПароля <> Неопределено Тогда
|
Если НастройкиВосстановленияПароля <> Неопределено Тогда
|
||||||
ВидимостьГруппыВосстановлениеПароля =
|
ВидимостьГруппыВосстановлениеПароля =
|
||||||
@@ -49,6 +58,9 @@
|
|||||||
= ПользователиСлужебный.СпособВосстановленияПароляПользователяИнформационнойБазы(
|
= ПользователиСлужебный.СпособВосстановленияПароляПользователяИнформационнойБазы(
|
||||||
"ОтправкаКодаПодтвержденияЧерезСтандартныйСервис");
|
"ОтправкаКодаПодтвержденияЧерезСтандартныйСервис");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Элементы.ПредупреждениеВосстановлениеПароля.Видимость = ВидимостьГруппыВосстановлениеПароля;
|
Элементы.ПредупреждениеВосстановлениеПароля.Видимость = ВидимостьГруппыВосстановлениеПароля;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -110,29 +122,9 @@
|
|||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ЗаписатьНаСервере()
|
Процедура ЗаписатьНаСервере()
|
||||||
|
|
||||||
Блокировка = Новый БлокировкаДанных;
|
Настройки = Пользователи.НовоеОписаниеНастроекВхода();
|
||||||
Блокировка.Добавить("Константа.НастройкиВходаПользователей");
|
|
||||||
|
|
||||||
НачатьТранзакцию();
|
|
||||||
Попытка
|
|
||||||
Блокировка.Заблокировать();
|
|
||||||
НастройкиВхода = ПользователиСлужебный.НастройкиВхода();
|
|
||||||
|
|
||||||
Если ПоказатьНастройкиВнешнихПользователей Тогда
|
|
||||||
Настройки = НастройкиВхода.ВнешниеПользователи;
|
|
||||||
Иначе
|
|
||||||
Настройки = НастройкиВхода.Пользователи;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Настройки.ПарольДолженОтвечатьТребованиямСложности = ПарольДолженОтвечатьТребованиямСложности;
|
Настройки.ПарольДолженОтвечатьТребованиямСложности = ПарольДолженОтвечатьТребованиямСложности;
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ПросрочкаРаботыВПрограммеДоЗапрещенияВхода) Тогда
|
|
||||||
Настройки.ПросрочкаРаботыВПрограммеДатаВключения = '00010101';
|
|
||||||
|
|
||||||
ИначеЕсли Не ЗначениеЗаполнено(Настройки.ПросрочкаРаботыВПрограммеДатаВключения) Тогда
|
|
||||||
Настройки.ПросрочкаРаботыВПрограммеДатаВключения = НачалоДня(ТекущаяДатаСеанса());
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Для Каждого КлючИЗначение Из ПредлагаемыеЗначенияНастроек Цикл
|
Для Каждого КлючИЗначение Из ПредлагаемыеЗначенияНастроек Цикл
|
||||||
Если ЭтотОбъект[КлючИЗначение.Ключ + "Включить"] Тогда
|
Если ЭтотОбъект[КлючИЗначение.Ключ + "Включить"] Тогда
|
||||||
Настройки[КлючИЗначение.Ключ] = ЭтотОбъект[КлючИЗначение.Ключ];
|
Настройки[КлючИЗначение.Ключ] = ЭтотОбъект[КлючИЗначение.Ключ];
|
||||||
@@ -141,21 +133,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Константы.НастройкиВходаПользователей.Установить(Новый ХранилищеЗначения(НастройкиВхода));
|
Пользователи.УстановитьНастройкиВхода(Настройки, ПоказатьНастройкиВнешнихПользователей);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(НастройкиВхода.Пользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода)
|
|
||||||
Или ЗначениеЗаполнено(НастройкиВхода.ВнешниеПользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода) Тогда
|
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
|
||||||
ПользователиСлужебный.ИзменитьЗаданиеКонтрольАктивностиПользователей(Истина);
|
|
||||||
УстановитьПривилегированныйРежим(Ложь);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
|
||||||
Исключение
|
|
||||||
ОтменитьТранзакцию();
|
|
||||||
ВызватьИсключение;
|
|
||||||
КонецПопытки;
|
|
||||||
|
|
||||||
ОбновитьПовторноИспользуемыеЗначения();
|
ОбновитьПовторноИспользуемыеЗначения();
|
||||||
|
|
||||||
|
|||||||
@@ -3054,6 +3054,33 @@
|
|||||||
<representationInContextMenu>Auto</representationInContextMenu>
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:Button">
|
||||||
|
<name>ФормаТехническаяИнформация</name>
|
||||||
|
<id>432</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ФормаТехническаяИнформацияРасширеннаяПодсказка</name>
|
||||||
|
<id>433</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>
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</autoCommandBar>
|
</autoCommandBar>
|
||||||
@@ -3910,6 +3937,24 @@
|
|||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
<selectedRowsUse>Auto</selectedRowsUse>
|
<selectedRowsUse>Auto</selectedRowsUse>
|
||||||
</formCommands>
|
</formCommands>
|
||||||
|
<formCommands>
|
||||||
|
<name>ТехническаяИнформация</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Техническая информация</value>
|
||||||
|
</title>
|
||||||
|
<id>8</id>
|
||||||
|
<use>
|
||||||
|
<common>true</common>
|
||||||
|
</use>
|
||||||
|
<action xsi:type="form:FormCommandHandlerContainer">
|
||||||
|
<handler>
|
||||||
|
<name>ТехническаяИнформация</name>
|
||||||
|
</handler>
|
||||||
|
</action>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
<selectedRowsUse>Auto</selectedRowsUse>
|
||||||
|
</formCommands>
|
||||||
<parameters>
|
<parameters>
|
||||||
<name>СертификатыПоказать</name>
|
<name>СертификатыПоказать</name>
|
||||||
<valueType>
|
<valueType>
|
||||||
|
|||||||
@@ -586,6 +586,14 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ТехническаяИнформация(Команда)
|
||||||
|
|
||||||
|
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(
|
||||||
|
НСтр("ru = 'Настройки электронной подписи и шифрования'"));
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ПрограммыУстановитьПометкуУдаления(Команда)
|
Процедура ПрограммыУстановитьПометкуУдаления(Команда)
|
||||||
|
|
||||||
|
|||||||
@@ -2320,19 +2320,6 @@
|
|||||||
<common>true</common>
|
<common>true</common>
|
||||||
</edit>
|
</edit>
|
||||||
</attributes>
|
</attributes>
|
||||||
<attributes>
|
|
||||||
<name>ПоказатьОповещениеОПодсказках</name>
|
|
||||||
<id>19</id>
|
|
||||||
<valueType>
|
|
||||||
<types>Boolean</types>
|
|
||||||
</valueType>
|
|
||||||
<view>
|
|
||||||
<common>true</common>
|
|
||||||
</view>
|
|
||||||
<edit>
|
|
||||||
<common>true</common>
|
|
||||||
</edit>
|
|
||||||
</attributes>
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<name>ЦветПодсказки</name>
|
<name>ЦветПодсказки</name>
|
||||||
<id>22</id>
|
<id>22</id>
|
||||||
|
|||||||
@@ -87,13 +87,6 @@
|
|||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ПриОткрытии(Отказ)
|
Процедура ПриОткрытии(Отказ)
|
||||||
Если ПоказатьОповещениеОПодсказках И ПоказыватьПодсказки Тогда
|
|
||||||
ПоказатьОповещениеПользователя(
|
|
||||||
НСтр("ru = 'Новая возможность'"),
|
|
||||||
"e1cib/data/ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.ОписаниеНовойВозможностиПоВыводуОписаний",
|
|
||||||
НСтр("ru = 'Вывод описаний в панелях отчетов'"),
|
|
||||||
БиблиотекаКартинок.Информация32);
|
|
||||||
КонецЕсли;
|
|
||||||
Если ДлительнаяОперация.Статус = "Выполняется" Тогда
|
Если ДлительнаяОперация.Статус = "Выполняется" Тогда
|
||||||
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
|
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
|
||||||
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
|
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
|
||||||
@@ -148,7 +141,7 @@
|
|||||||
Или Изменения.ИскатьВоВсехРазделах <> ИскатьВоВсехРазделах Тогда
|
Или Изменения.ИскатьВоВсехРазделах <> ИскатьВоВсехРазделах Тогда
|
||||||
ПараметрыКлиента.Обновлять = Истина;
|
ПараметрыКлиента.Обновлять = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Изменения, "ПоказыватьПодсказки, ИскатьВоВсехРазделах, ПоказатьОповещениеОПодсказках");
|
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Изменения, "ПоказыватьПодсказки,ИскатьВоВсехРазделах");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ПараметрыКлиента.Обновлять Тогда
|
Если ПараметрыКлиента.Обновлять Тогда
|
||||||
ПодключитьОбработчикОжидания("ОбновитьПанельОтчетовПоТаймеру", 1, Истина);
|
ПодключитьОбработчикОжидания("ОбновитьПанельОтчетовПоТаймеру", 1, Истина);
|
||||||
@@ -281,12 +274,7 @@
|
|||||||
ОбщиеНастройки = Новый Структура;
|
ОбщиеНастройки = Новый Структура;
|
||||||
ОбщиеНастройки.Вставить("ПоказыватьПодсказки", ПоказыватьПодсказки);
|
ОбщиеНастройки.Вставить("ПоказыватьПодсказки", ПоказыватьПодсказки);
|
||||||
ОбщиеНастройки.Вставить("ИскатьВоВсехРазделах", ИскатьВоВсехРазделах);
|
ОбщиеНастройки.Вставить("ИскатьВоВсехРазделах", ИскатьВоВсехРазделах);
|
||||||
ОбщиеНастройки.Вставить("ПоказатьОповещениеОПодсказках", ПоказатьОповещениеОПодсказках);
|
Оповестить(ВариантыОтчетовКлиент.ИмяСобытияИзменениеОбщихНастроек(), ОбщиеНастройки, ЭтотОбъект);
|
||||||
|
|
||||||
Оповестить(
|
|
||||||
ВариантыОтчетовКлиент.ИмяСобытияИзменениеОбщихНастроек(),
|
|
||||||
ОбщиеНастройки,
|
|
||||||
ЭтотОбъект);
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -671,10 +659,7 @@
|
|||||||
ОбщиеНастройки = Новый Структура;
|
ОбщиеНастройки = Новый Структура;
|
||||||
ОбщиеНастройки.Вставить("ПоказыватьПодсказки", ПоказыватьПодсказки);
|
ОбщиеНастройки.Вставить("ПоказыватьПодсказки", ПоказыватьПодсказки);
|
||||||
ОбщиеНастройки.Вставить("ИскатьВоВсехРазделах", ИскатьВоВсехРазделах);
|
ОбщиеНастройки.Вставить("ИскатьВоВсехРазделах", ИскатьВоВсехРазделах);
|
||||||
ОбщиеНастройки.Вставить("ПоказатьОповещениеОПодсказках", ПоказатьОповещениеОПодсказках);
|
|
||||||
|
|
||||||
ВариантыОтчетов.СохранитьОбщиеНастройкиПанели(ОбщиеНастройки);
|
ВариантыОтчетов.СохранитьОбщиеНастройкиПанели(ОбщиеНастройки);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Элементы.ПоказыватьПодсказки.Видимость = РежимНастройки;
|
Элементы.ПоказыватьПодсказки.Видимость = РежимНастройки;
|
||||||
@@ -875,7 +860,7 @@
|
|||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ЗагрузитьВсеНастройки()
|
Процедура ЗагрузитьВсеНастройки()
|
||||||
ОбщиеНастройки = ВариантыОтчетов.ОбщиеНастройкиПанели();
|
ОбщиеНастройки = ВариантыОтчетов.ОбщиеНастройкиПанели();
|
||||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ОбщиеНастройки, "ПоказатьОповещениеОПодсказках, ПоказыватьПодсказки, ИскатьВоВсехРазделах");
|
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ОбщиеНастройки, "ПоказыватьПодсказки,ИскатьВоВсехРазделах");
|
||||||
|
|
||||||
ЛокальныеНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
ЛокальныеНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
||||||
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
||||||
|
|||||||
@@ -46,10 +46,9 @@
|
|||||||
<div>Выделите расширение, нажмите <strong>Обновить из файла</strong>, укажите путь к файлу на компьютере.</div>
|
<div>Выделите расширение, нажмите <strong>Обновить из файла</strong>, укажите путь к файлу на компьютере.</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div>Следует использовать эту кнопку для установки новой версии расширения.</div>
|
<div>Следует использовать эту кнопку для установки новой версии расширения.</div></li>
|
||||||
</li>
|
<li>Если обновить расширение на новую версию, в которой изменено его имя, то все прежние настройки этого расширения будут сохранены, например, созданные варианты отчетов.</li>
|
||||||
</ul><div>Также нужно использовать эту возможность для возврата к предыдущей версии, если новая версия содержит ошибку (однако не рекомендуется устанавливать расширение меньшей версии, т.к. это может привести к потере сделанных настроек).</div>
|
<ul><li>При попытке обновления на расширение с другим именем программа выводит сообщение, подтвердить свое действие необходимо с помощью кнопки <b>Заменить</b>.</li></ul><li>При случайном удалении и повторном добавлении этого же расширения в программу через короткий промежуток времени можно продолжить работу без потери настроек расширения.</li></ul><div>Также нужно использовать эту возможность для возврата к предыдущей версии, если новая версия содержит ошибку (однако не рекомендуется устанавливать расширение меньшей версии, т.к. это может привести к потере сделанных настроек).</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
<h3><b style="font-size: 13.4399995803833px;">Установленные исправления (патчи)</b></h3>
|
<h3><b style="font-size: 13.4399995803833px;">Установленные исправления (патчи)</b></h3>
|
||||||
<ul style="font-size: 13.4399995803833px;"><li><span style="font-size: 11.199999809265137px;">С помощью команды меню <b>Еще - Установленные исправления (патчи)</b> можно открыть <a href="CommonForm.УстановленныеИсправления/Help">список</a>, в котором можно просмотреть уже установленные исправления и с помощью кнопки панели навигации <b>Установить исправление</b>.</span></li></ul><h3><br></h3>
|
<ul style="font-size: 13.4399995803833px;"><li><span style="font-size: 11.199999809265137px;">С помощью команды меню <b>Еще - Установленные исправления (патчи)</b> можно открыть <a href="CommonForm.УстановленныеИсправления/Help">список</a>, в котором можно просмотреть уже установленные исправления и с помощью кнопки панели навигации <b>Установить исправление</b>.</span></li></ul><p></p></body></html>
|
||||||
<p></p></body></html>
|
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
ДополнительныеДанные = Параметры.ДополнительныеДанные;
|
ДополнительныеДанные = Параметры.ДополнительныеДанные;
|
||||||
|
|
||||||
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
СтандартныеПодсистемыСервер.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
<!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>Предназначена для выбора региональных настроек при выборе других языков. Программа позволяет печатные формы на разных языках. Это может быть полезно, например, если необходимо предоставить какие-либо документы иностранному контрагенту: прайс-лист, счет на оплату и т.д.
|
<!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 class="">Предназначена для выбора региональных настроек при выборе других языков.
|
||||||
<div>Для некоторых языков доступен выбор региональных настроек (указаны в скобках рядом с названием языка). Выбор региональных настроек влияет на вывод дат и чисел. Например, дата <b>24.12.2020</b> на языке "французский" будет выводиться <b>24/12/2020</b>, а на языке "французский (Канада) - <b>2020-12-24</b>.</div>
|
<div>Открывается с помощью ссылки в разделе <b>Администрирование - Общие настройки</b>.</div>
|
||||||
|
<div>В окне <b>Региональные Настройки</b> можно:</div>
|
||||||
|
<div>
|
||||||
|
<ul><li>Выбрать <b>Часовой пояс программы</b> - все операции в программе будут выполняться во времени этого часового пояса;</li>
|
||||||
|
<li>Посмотреть с помощью ссылки <b>Время текущего сеанса</b>;</li>
|
||||||
|
<li>Настроить основной и дополнительный языки.</li></ul>При необходимости для формирования печатных форм можно добавить еще несколько языков.</div>
|
||||||
|
<div>Программа позволяет печатные формы на разных языках. Это может быть полезно, например, если необходимо предоставить какие-либо документы иностранному контрагенту: прайс-лист, счет на оплату и т.д.
|
||||||
|
<div>Для некоторых языков доступен выбор региональных настроек (указаны в скобках рядом с названием языка). Выбор региональных настроек влияет на вывод дат и чисел. Например, дата <b>24.12.2020</b> на языке "<b>французский</b>" будет выводиться <b>24/12/2020</b>, а на языке "<b>французский (Канада)</b>" - <b>2020-12-24</b>.</div>
|
||||||
|
<div>После выбора основного и дополнительных языков следует нажать кнопку <b>Изменить</b>. В программе существуют предопределенные и поставляемые элементы. При смене языков с помощью кнопки <b>Изменить</b> вызывается механизм начального заполнения этих элементов. Через некоторое время программа готова к работе.</div>
|
||||||
|
<div>Если строка на дополнительном языке отсутствует, то заполняется значением основного языка (реквизита).Мультиязычные строки хранятся в шапке объекта. Если строка на дополнительных языках отсутствует, то заполняется на основном языке.</div>
|
||||||
|
<div>Если меняются местами основной и дополнительный языки, то значения также меняются местами:</div>
|
||||||
|
<div>
|
||||||
|
<ul><li><b>Наименование (ru) <-> НаименованиеЯзык (en)</b>.</li></ul></div>
|
||||||
|
<div>Если основной язык <b>(ru)</b> меняется на другой язык (не дополнительный, например, польский - <b>pl</b>):</div>
|
||||||
|
<div>
|
||||||
|
<ul><li>Предопределенные и поставляемые элементы перезаполняются;</li>
|
||||||
|
<li>Старые значения (<b>ru</b>), введенные пользователем, сохраняются для нового языка (<b>pl</b>).</li></ul>При добавлении новых данных: если в интерактивном режиме данные на дополнительных языках не были введены, то реквизиты на дополнительных языках заполняются значениями основного языка.</div>
|
||||||
|
<div>Отключить основной язык нельзя. При отключении доп. языков данные не очищаются.</div>
|
||||||
|
<div>На нескольких языках заполняются поля в следующих объектах программы:</div>
|
||||||
|
<div>
|
||||||
|
<ul><li><b>Виды контактной информации</b> (поле <b>Наименование</b>);</li>
|
||||||
|
<li><b>Свойства</b> (поле <b>Наименование</b>);</li>
|
||||||
|
<li><b>Варианты отчетов</b>.</li></ul>Просмотреть или заполнить поле <b>Наименование</b> на разных языках можно с помощью кнопки <img src="StdPicture.InputFieldOpen"></img>.</div>
|
||||||
|
|
||||||
|
|
||||||
</body></html>
|
</div></body></html>
|
||||||
@@ -9,7 +9,29 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>Можно <strong>Вставить примечание</strong> с помощью соответствующей команды меню <strong>Еще</strong>.
|
<li>Можно <strong>Вставить примечание</strong> с помощью соответствующей команды меню <strong>Еще</strong>.
|
||||||
</li>
|
</li>
|
||||||
<li>По окончании редактирования нажмите <strong>Записать и закрыть</strong>.</li></ul><h3 style="font-size: 13.4399995803833px;">Перевод макета на другой язык</h3>
|
<li>По окончании редактирования нажмите <strong>Записать и закрыть</strong>.</li></ul><h3>Создание или редактирование пользовательской печатной формы</h3>
|
||||||
|
<div>В списке макетов нажмите кнопку <b>Создать</b> или <b>Копировать</b>.</div>
|
||||||
|
<div><br></div>
|
||||||
|
<div>С помощью кнопок панели навигации верхнего ряда можно:<br><ul><li><img src="CommonPicture.ОтменитьДействие"></img>отменить или <img src="CommonPicture.ПовторитьДействие"></img>повторить действие;</li>
|
||||||
|
<li><img src="StdPicture.ShowData"></img><img src=""></img>проверить вид макета на бумаге;</li>
|
||||||
|
<li>задать колонтитулы макета печатной формы;</li>
|
||||||
|
<li>сформировать образец печатной формы по макету;</li>
|
||||||
|
<li>повторять выбранные строки в <img src="CommonPicture.ПовторятьВНачалеСтраницы"></img><img src=""></img>начале/<img src="CommonPicture.ПовторятьВКонцеСтраницы"></img>конце страницы;</li>
|
||||||
|
<li>переключиться на макет на другом языке.</li></ul></div>
|
||||||
|
<div>В нижнем ряду панели навигации также предусмотрены стандартные кнопки редактирования и форматирования, а также можно:</div>
|
||||||
|
<div>
|
||||||
|
<ul><li><img src="StdPicture.QueryWizardCreateTempTableDropQuery"></img> очистить формат выделенной ячейки;</li>
|
||||||
|
<li><img src="StdPicture.SpreadsheetInsertComment"></img> открыть меню работы над ячейками (перейти к ячейке, объединить ячейки и т.д.)</li>
|
||||||
|
<li><img src="StdPicture.Picture"></img> открыть меню работы над картинками.</li></ul>Окно редактирования печатной формы состоит из четырех частей:<br><ul><li>В левой верхней части строится макет печатной формы;</li>
|
||||||
|
<li>В левой нижней части можно просмотреть или написать текст выбранной ячейки;</li>
|
||||||
|
<li>В правой верхней части находится список доступных полей документа для использования в макете;</li>
|
||||||
|
<ul><li>Список доступных полей содержит следующие колонки:</li>
|
||||||
|
<ul><li><b>Поле</b> - доступное поле элемента-владельца макета. Поле можно перетаскивать в макет. Можно вставить поля табличной части документа.</li>
|
||||||
|
<li><b>Образец</b> - показывает, как будет выглядеть поле при выводе на печать. В качестве образца для заполнения полей берется случайный элемент списка. </li>
|
||||||
|
<li><b><img src="StdPicture.DataCompositionOutputParameters"></img> Формат поля</b> - предусмотрена настройка формата поля. Например, можно выбрать формат даты, отличный от стандартного.</li></ul></ul><li>В правой нижней части находится список операторов и функций для создания выражений;</li>
|
||||||
|
</ul>С помощью кнопки <b>Доступные поля</b> панели навигации можно убрать правую часть для просмотра всего макета.</div>
|
||||||
|
<div>Для сохранения новой печатной формы нажмите <b>Записать и закрыть</b>.</div>
|
||||||
|
<h3 style="font-size: 13.4399995803833px;">Перевод макета на другой язык</h3>
|
||||||
<p>Программа позволяет формировать печатные формы на других языках. Это может быть полезно, например, если необходимо предоставить какие-либо документы иностранному контрагенту: прайс-лист, счет на оплату и т.д.</p>
|
<p>Программа позволяет формировать печатные формы на других языках. Это может быть полезно, например, если необходимо предоставить какие-либо документы иностранному контрагенту: прайс-лист, счет на оплату и т.д.</p>
|
||||||
<p>Для этого необходимо:</p>
|
<p>Для этого необходимо:</p>
|
||||||
<p></p>
|
<p></p>
|
||||||
@@ -19,7 +41,7 @@
|
|||||||
<li>добавить перевод макета печатной формы на дополнительный язык.</li>
|
<li>добавить перевод макета печатной формы на дополнительный язык.</li>
|
||||||
<ul><li>После добавления других языков при редактировании макета появляется кнопка выбора языка.</li>
|
<ul><li>После добавления других языков при редактировании макета появляется кнопка выбора языка.</li>
|
||||||
<li>Откройте на редактирование нужный макет, переключите на дополнительный язык и выполните перевод.</li>
|
<li>Откройте на редактирование нужный макет, переключите на дополнительный язык и выполните перевод.</li>
|
||||||
<li>В макете следует переводить только статический текст, например, заголовки, подписи и т.д.</li>
|
<li>В макете следует переводить только статический текст, например заголовки, подписи и т.д.</li>
|
||||||
<li>Не нужно переводить имена областей и параметры. Параметры в печатной форме отображаются в угловых скобках, например, <b><Наименование></b>. Параметры могут находиться внутри шаблонов текста, в этом случае они отображаются в квадратных скобках, например, <b><Счет на оплату №[Номер]от[Дата]></b>, в этом случае переводить следует только текст шаблона за скобками.</li>
|
<li>Не нужно переводить имена областей и параметры. Параметры в печатной форме отображаются в угловых скобках, например, <b><Наименование></b>. Параметры могут находиться внутри шаблонов текста, в этом случае они отображаются в квадратных скобках, например, <b><Счет на оплату №[Номер]от[Дата]></b>, в этом случае переводить следует только текст шаблона за скобками.</li>
|
||||||
<li>Кнопка <img src="StdPicture.Document"></img>позволяет рядом расположить оригинал и переводимую печатную форму для удобства перевода и его проверки.</li></ul></ul>После сохранения макета в колонке <b>Доступные языки</b> добавляется язык, на который был выполнен перевод.<br><h3>Переключение режимов редактирования и просмотра</h3>
|
<li>Кнопка <img src="StdPicture.Document"></img>позволяет рядом расположить оригинал и переводимую печатную форму для удобства перевода и его проверки.</li></ul></ul>После сохранения макета в колонке <b>Доступные языки</b> добавляется язык, на который был выполнен перевод.<br><h3>Переключение режимов редактирования и просмотра</h3>
|
||||||
<ul><li>Для переключения режимов нажмите кнопку <strong>Редактирование</strong>. В режиме просмотра кнопки редактирования макета становится неактивными.</li></ul><h3>Печать макета</h3>
|
<ul><li>Для переключения режимов нажмите кнопку <strong>Редактирование</strong>. В режиме просмотра кнопки редактирования макета становится неактивными.</li></ul><h3>Печать макета</h3>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<p>Исправление (патч) позволяет оперативно исправлять ошибки в программе, не дожидаясь следующего исправительного релиза. Установка патчей также не требует обязательного завершения сеансов пользователей, работающих с программой. Для применения исправлений достаточно перезапустить программу в удобный момент времени.</p>
|
<p>Исправление (патч) позволяет оперативно исправлять ошибки в программе, не дожидаясь следующего исправительного релиза. Установка патчей также не требует обязательного завершения сеансов пользователей, работающих с программой. Для применения исправлений достаточно перезапустить программу в удобный момент времени.</p>
|
||||||
<p><span style="font-size: 13.4399995803833px; font-weight: bold;">Автоматическая установка патчей</span></p>
|
<p><span style="font-size: 13.4399995803833px; font-weight: bold;">Автоматическая установка патчей</span></p>
|
||||||
<p></p>
|
<p></p>
|
||||||
<ul><li>Загрузка и установка патчей выполняется <a href="DataProcessor.ПанельАдминистрированияБСП.Form.ИнтернетПоддержкаИСервисы/Help">автоматически</a> при наличии подписки 1С:ИТС и доступа к сети Интернет. Это рекомендуемый режим работы. </li>
|
<ul><li>Загрузка и установка патчей выполняется <a href="DataProcessor.ПанельАдминистрированияБСП.Form.ИнтернетПоддержкаИСервисы/Help">автоматически</a> при наличии подписки 1С:ИТС и доступа к сети Интернет. Это рекомендуемый режим работы. </li>
|
||||||
<li>Для настройки автоматической загрузки необходимо перейти в раздел <b>Администрирование - Интернет-поддержка и сервисы - Обновление программы</b> и включить флажок <b>Загружать и устанавливать исправления (патчи) автоматически</b>. Потребуется подключение Интернет-поддержки.</li></ul><p></p>
|
<li>Для настройки автоматической загрузки необходимо перейти в раздел <b>Администрирование - Интернет-поддержка и сервисы - Обновление программы</b> и включить флажок <b>Загружать и устанавливать исправления (патчи) автоматически</b>. Потребуется подключение Интернет-поддержки.</li></ul><p></p>
|
||||||
<p><span style="font-size: 13.4399995803833px; font-weight: bold;">Установка исправлений вручную</span></p>
|
<p><span style="font-size: 13.4399995803833px; font-weight: bold;">Установка исправлений вручную</span></p>
|
||||||
<p>Если на компьютере не доступен Интернет, но есть возможность скачать патч с 1С:ИТС:</p>
|
<p>Если на компьютере не доступен Интернет, но есть возможность скачать патч с 1С:ИТС:</p>
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
<p>Предназначена для настройки отчета.</p>
|
<p>Предназначена для настройки отчета.</p>
|
||||||
<p>Открывается из <a href="CommonForm.ФормаОтчета/Help">формы отчета</a> по кнопке <strong>Настройки</strong>.</p>
|
<p>Открывается из <a href="CommonForm.ФормаОтчета/Help">формы отчета</a> по кнопке <strong>Настройки</strong>.</p>
|
||||||
<p>С помощью кнопки <strong>Вид</strong> можно перевести настройки в один из режимов:</p>
|
<p>С помощью кнопки <strong>Вид</strong> можно перевести настройки в один из режимов:</p>
|
||||||
<ul><li><strong>Простой</strong> - можно только менять уже имеющиеся параметры, с помощью флажков добавлять или убирать их;
|
<ul><li><strong>Простой</strong> - можно только менять уже имеющиеся параметры, с помощью флажков добавлять или убирать их. В простом режиме на вкладке Основное, открыв раздел Дополнительно с помощью кнопки, можно добавить следующие возможности:</li>
|
||||||
</li>
|
<ul><li><b>Выводить заголовок</b>;</li>
|
||||||
<li><strong>Расширенный</strong> - можно управлять настройками: добавлять параметры, менять поля, структуру отчета. После того, как настройки в расширенном режиме закончены и сохранены, в простом режиме появляется возможность включать и отключать их с помощью флажка.</li></ul><p>Окно настроек в зависимости от сложности отчета состоит из нескольких вкладок:</p>
|
<li><b>Выводить параметры и отборы</b> - если флажок выключить, то будет выведена только шапка таблицы отчета, перечень параметров отчета выводиться не будет;
|
||||||
|
</li></ul><li><strong>Расширенный</strong> - можно управлять настройками: добавлять параметры, менять поля, структуру отчета. После того, как настройки в расширенном режиме закончены и сохранены, в простом режиме появляется возможность включать и отключать их с помощью флажка.</li></ul><p>Окно настроек в зависимости от сложности отчета состоит из нескольких вкладок:</p>
|
||||||
<ul><li><a href="#1">Фильтры</a> - вводятся условия для отборов значений в отчете;
|
<ul><li><a href="#1">Фильтры</a> - вводятся условия для отборов значений в отчете;
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#2">Поля и сортировки</a>- с помощью флажков можно добавлять в отчет поля или убирать их. Можно добавлять поля для сортировки отчета, убирать их или отключать;
|
<li><a href="#2">Поля и сортировки</a>- с помощью флажков можно добавлять в отчет поля или убирать их. Можно добавлять поля для сортировки отчета, убирать их или отключать;
|
||||||
@@ -70,11 +71,14 @@
|
|||||||
<ul><li>в правой части с помощью кнопки <strong>Добавить</strong> вывести в отчет другие поля документов и списков программы;
|
<ul><li>в правой части с помощью кнопки <strong>Добавить</strong> вывести в отчет другие поля документов и списков программы;
|
||||||
</li>
|
</li>
|
||||||
<li>в левой части с помощью соответствующей кнопки <strong>Добавить</strong> сортировку по полю. Выберите поле для сортировки из предлагаемого программой списка.</li></ul></li></ul><h3><a name="4">Оформление</a></h3>
|
<li>в левой части с помощью соответствующей кнопки <strong>Добавить</strong> сортировку по полю. Выберите поле для сортировки из предлагаемого программой списка.</li></ul></li></ul><h3><a name="4">Оформление</a></h3>
|
||||||
<ul><li>На вкладке в простом режиме можно поменять некоторые параметры оформления отчета, например, с помощью флажка включить или выключить <strong>Цвет фона</strong>, в который можно окрасить все поля.
|
<ul><li>На вкладке в простом режиме можно:</li>
|
||||||
|
<ul><li>поменять некоторые параметры оформления отчета, например, с помощью флажка включить или выключить <strong>Цвет фона</strong>, в который можно окрасить все поля. Можно также включить <b>Заголовок</b>.</li></ul><li>В расширенном режиме:
|
||||||
</li>
|
</li>
|
||||||
<li>В расширенном режиме:
|
<ul><li>Можно настроить индивидуальные <a href="CommonForm.НастройкаКолонтитулов/Help">Колонтитулы</a>. Если они не устраивают, можно их отменить с помощью команды <b>Установить стандартные настройки</b> меню <b>Еще</b>. </li>
|
||||||
</li>
|
<li>Включите флажок, для того чтобы <b>Выводить заголовок для печати</b>. Также эта возможность предусмотрена в простом режиме в разделе <b>Дополнительно</b>. Заголовок можно изменить. Для этого дважды щелкните мышкой по строке с наименованием заголовка.</li>
|
||||||
<li>С помощью кнопки <strong>Добавить</strong> можно ввести новый <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ЭлементУсловногоОформленияОтчета/Help">Элемент условного оформления отчета</a>. </li></ul><h3><a name="5">Структура</a></h3>
|
<li><b>Выводить фильтры</b> - если флажок включен, то в отчете выводится строка с перечнем настроенных фильтров.</li>
|
||||||
|
<li>Предусмотрена возможность условного оформления, т.е. можно изменить цвет полей в зависимости от некоторого условия.</li>
|
||||||
|
<li>С помощью кнопки <strong>Добавить</strong> можно ввести новый <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ЭлементУсловногоОформленияОтчета/Help">Элемент условного оформления отчета</a>. </li></ul></ul><h3><a name="5">Структура</a></h3>
|
||||||
<ul><li>Изменить параметры на вкладке можно только в <strong>Расширенном</strong> режиме.
|
<ul><li>Изменить параметры на вкладке можно только в <strong>Расширенном</strong> режиме.
|
||||||
</li>
|
</li>
|
||||||
<li>На вкладке можно добавить группируемые поля в отчет. С помощью кнопок панели навигации можно добавить, изменить поля, поменять их местами.
|
<li>На вкладке можно добавить группируемые поля в отчет. С помощью кнопок панели навигации можно добавить, изменить поля, поменять их местами.
|
||||||
@@ -90,9 +94,15 @@
|
|||||||
</li>
|
</li>
|
||||||
<li><strong>Оформление</strong>.</li></ul></li></ul><h3>Добавление формул в окне Выбор поля отчета</h3>
|
<li><strong>Оформление</strong>.</li></ul></li></ul><h3>Добавление формул в окне Выбор поля отчета</h3>
|
||||||
<div>
|
<div>
|
||||||
<ul><li>В настройках в окне <b>Выбор поля отчета</b> (из всех вкладок открывается по кнопке <b>Добавить</b>) имеется возможность работать с формулами. </li>
|
<ul><li>В настройках в окне <b>Выбор поля отчета</b> (из всех вкладок открывается по кнопке <b>Добавить</b>) имеется возможность работать с формулами. Открывается окно <b>Редактирование формулы</b>. </li>
|
||||||
<li>Нажмите кнопку <b>Добавить формулу</b> для перехода к построению <a href="DataProcessor.КонструкторФормул.Form.РедактированиеФормулы/Help">формулы</a>.</li>
|
<a name="СтандартныеПодсистемы.КонструкторФормул">
|
||||||
<li>После добавления формулы ее можно редактировать с помощью кнопки <img src="StdPicture.Change"></img>.</li></ul></div>
|
|
||||||
|
</a>
|
||||||
|
<li><a name="СтандартныеПодсистемы.КонструкторФормул"></a><a name="СтандартныеПодсистемы.КонструкторФормул">
|
||||||
|
Нажмите кнопку <b>Добавить формулу</b> для перехода к построению </a><a href="DataProcessor.КонструкторФормул.Form.РедактированиеФормулы/Help">формулы</a>.</li>
|
||||||
|
<li>Появляется новый элемент в группе Формулы. Заменить формулой имеющиеся поля невозможно. В формулу можно добавить различные поля из списка и операции (арифметические операторы, операции сравнения, логические операции, агрегатные функции). Можно добавить <b>Наименование</b> формулы в нижней части окна. После окончания составления формулы необходимо нажать кнопку <b>Завершить редактирование</b>, выделить новую формулу и нажать <b>Выбрать</b>.</li>
|
||||||
|
<li>После добавления формулы ее можно редактировать с помощью кнопки <img src="StdPicture.Change"></img>. Также можно сделать с помощью команды контекстного меню по правой кнопке мыши.</li></ul></div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3>Изменение условий отборов</h3>
|
<h3>Изменение условий отборов</h3>
|
||||||
<ul><li>
|
<ul><li>
|
||||||
|
|||||||
@@ -1,20 +1,39 @@
|
|||||||
<!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>Для просмотра отчета необходимо нажать кнопку <strong>Сформировать</strong>, предварительно задав параметры (если они предусмотрены). В клиент-серверном варианте работы программы предусмотрено формирование отчетов в фоновом режиме.</p>
|
<p>Для просмотра отчета необходимо нажать кнопку <strong>Сформировать</strong>, предварительно задав параметры (если они предусмотрены). В клиент-серверном варианте работы программы предусмотрено формирование отчетов в фоновом режиме.</p>
|
||||||
|
<p>В программе можно установить общие колонтитулы для оформления отчета.</p>
|
||||||
<h3>Режим формирования</h3>
|
<h3>Режим формирования</h3>
|
||||||
<ul><li>Установите флажок<strong> Формировать сразу</strong> меню <strong>Еще</strong>, для того чтобы отчет формировался автоматически сразу после открытия, без нажатия кнопки <strong>Сформировать</strong>. </li></ul><h3>Панель быстрых (избранных) настроек</h3>
|
<ul><li>Установите флажок<strong> Формировать сразу</strong> меню <strong>Еще</strong>, для того чтобы отчет формировался автоматически сразу после открытия, без нажатия кнопки <strong>Сформировать</strong>.</li></ul><h3>Период</h3>
|
||||||
|
<div>
|
||||||
|
<ul><li>Период может выводиться в виде полей <b>Дата начала</b> и <b>Дата окончания</b>. </li>
|
||||||
|
<li>Ввести начало и окончание произвольного периода можно вручную или выбрать из календаря с помощью кнопок <img src="StdPicture.Calendar"></img>. </li>
|
||||||
|
<li>С помощью ссылки <b>Сегодня</b> можно установить в календаре текущую дату.</li></ul></div>
|
||||||
|
<div>
|
||||||
|
<ul><li>С помощью кнопки справа можно выбрать месяц, квартал или год, а также стандартный период.</li>
|
||||||
|
<li>По умолчанию выбран произвольный период, из календаря можно выбрать любой месяц какого-либо года или весь год.</li>
|
||||||
|
<li>Можно воспользоваться ссылкой <b>Показать стандартные периоды</b>, после этого можно выбрать относительный период с помощью кнопок, например, <b>День</b>. Выберите одно из перечисленных значений. Для того чтобы вернуться к выбору фиксированных значений периода, нажмите ссылку <b>Показать произвольный период</b>. Тогда можно будет снова ввести конкретные даты.</li>
|
||||||
|
<li>В зависимости от настроек разработчика <b>Период</b> может выводиться в виде ссылку, в этом случае листать периоды можно с помощью значков <b>><</b>, для выбора периода следует нажать на ссылку с наименованием периода.</li></ul></div>
|
||||||
|
<div>
|
||||||
|
<h3>Панель быстрых (избранных) настроек</h3>
|
||||||
<div>
|
<div>
|
||||||
<ul><li>Размещается в шапке отчета, в панель выводятся наиболее важные настройки, некоторые из которых могут быть обязательными для заполнения.</li>
|
<ul><li>Размещается в шапке отчета, в панель выводятся наиболее важные настройки, некоторые из которых могут быть обязательными для заполнения.</li>
|
||||||
<li>С помощью кнопки <img src="CommonPicture.Закрепить"></img> можно открыть быстрые настройки и изменить их состав с помощью флажков.</li>
|
<li>С помощью кнопки <img src="CommonPicture.Закрепить"></img> <b>Изменить состав быстрых настроек</b> можно открыть быстрые настройки и изменить их состав с помощью флажков.</li>
|
||||||
<li>С помощью ссылки <b>Больше возможностей</b> можно открыть <a href="CommonForm.ФормаНастроекОтчета/Help">Настройки отчета</a> (расширенный режим).</li></ul></div>
|
<li>С помощью флажка можно <b>Выводить заголовки</b> настроек или спрятать их при необходимости. </li>
|
||||||
|
<li>В большинстве случаев поля в шапке отчетов вполне понятны без заголовков: по их содержимому, подсказке ввода или всплывающей подсказке при наведении курсором. Тем самым, шапка отчета занимает меньше места по ширине экрана.</li>
|
||||||
|
<li>С помощью ссылки <b>Больше возможностей</b> можно открыть <a href="CommonForm.ФормаНастроекОтчета/Help">Настройки отчета</a> (расширенный режим).</li></ul><h3>Сохранение отчета</h3></div>
|
||||||
<div>
|
<div>
|
||||||
<h3>Фильтр по значению</h3>
|
<ul><li>С помощью кнопки <img src="CommonPicture.Скачать"></img> <b>(Ctrl+S)</b> можно <b>Сохранить результат отчета в файл</b>. Укажите папку для сохранения, выберите тип и напишите имя файла. Для сохранения отчета можно выбрать несколько типов файла, например в Excel.</li>
|
||||||
|
<li>При сохранении результата отчета в формат Excel из шапки отчета скрываются картинки-индикаторы сортировки.</li></ul></div>
|
||||||
<div>
|
<div>
|
||||||
<ul><li>Для быстрой установки фильтра можно использовать универсальную строку поиска. С помощью знаков операций можно построить выражение для поиска. Подробнее см. подсказку <b>"?"</b>. </li>
|
|
||||||
<li>Если выделить несколько ячеек, можно воспользоваться расчетом показателей, в этом случае в данной строке появляется результат.</li></ul><h3>Расчетные показатели</h3></div>
|
|
||||||
<div>
|
<div>
|
||||||
<ul><li>С помощью кнопки <img src="CommonPicture.Сумма"></img> можно открыть выпадающее меню расчетных показателей для выделенных ячеек (выбранный показатель отображается на кнопке): количество, среднее арифметическое выделенных ячеек, минимум и максимум, значение выводится в универсальной строке поиска.</li>
|
<h3>Расчетные показатели и строка фильтра</h3></div>
|
||||||
|
<div>
|
||||||
|
<ul><li>Справа в шапке отчета выводится строка фильтра и автосуммы (расчетных показателей).</li>
|
||||||
|
<li>С помощью строки фильтра можно добавлять новые фильтры по точному значению или фрагменту значения любого из полей, выведенных в отчет. Например, для того чтобы быстро установить фильтр по значению <b>Розничный склад</b>, достаточно ввести в эту строку фрагмент <b>"роз"</b> и программа сама предложит варианты фильтров. Кроме того, можно добавлять фильтры с условиями, например, <b>Остатки > 500</b>. С помощью знаков операций можно построить выражение для поиска.</li>
|
||||||
|
<li>Если выделить несколько ячеек, можно воспользоваться расчетом показателей, в этом случае в данной строке появляется результат.</li>
|
||||||
|
<li>Перед строкой фильтра предусмотрена кнопка <img src="CommonPicture.Сумма"></img> с выпадающим подменю для выбора основного вида расчетного показателя для выделенных ячеек:</li>
|
||||||
|
<ul><li>С помощью кнопки <img src="CommonPicture.Сумма"></img> можно открыть выпадающее меню расчетных показателей для выделенных ячеек (выбранный показатель отображается на кнопке): <b>Сумма, Количество, Среднее арифметическое выделенных ячеек, Минимум и Максимум</b>, значение выводится в универсальной строке поиска.</li>
|
||||||
<li>Если включить <b>Все показатели</b>, то в нижней части варианта отчета показывается строка, в которой выводятся показатели.</li>
|
<li>Если включить <b>Все показатели</b>, то в нижней части варианта отчета показывается строка, в которой выводятся показатели.</li>
|
||||||
<li>При вычислении показателей выполняется преобразование текстовых строк в выбранных ячейках в числа. Преобразование происходит в соответствии с региональными настройками. При этом если форматирование числовых полей было перенастроено так, что представление числа перестает им соответствовать, то показатели не вычисляются.</li></ul></div>
|
<li>При вычислении показателей выполняется преобразование текстовых строк в выбранных ячейках в числа. Преобразование происходит в соответствии с региональными настройками. При этом если форматирование числовых полей было перенастроено так, что представление числа перестает им соответствовать, то показатели не вычисляются.</li></ul></ul></div>
|
||||||
<h3>Варианты отчета</h3>
|
<h3>Варианты отчета</h3>
|
||||||
<ul><li>В программе может быть предусмотрено несколько <a href="Catalog.ВариантыОтчетов/Help">вариантов отчетов</a>, выполняющих схожий анализ. Для их просмотра предусмотрена кнопка <img src="CommonPicture.ВыбратьВариантОтчета"></img> <strong>Варианты отчета</strong>.
|
<ul><li>В программе может быть предусмотрено несколько <a href="Catalog.ВариантыОтчетов/Help">вариантов отчетов</a>, выполняющих схожий анализ. Для их просмотра предусмотрена кнопка <img src="CommonPicture.ВыбратьВариантОтчета"></img> <strong>Варианты отчета</strong>.
|
||||||
<ul><li>Выберите из выпадающего списка нужный вариант отчета. Текущий <a href="Catalog.ВариантыОтчетов.Form.ФормаЭлемента/Help">вариант отчета</a> отмечен флажком.
|
<ul><li>Выберите из выпадающего списка нужный вариант отчета. Текущий <a href="Catalog.ВариантыОтчетов.Form.ФормаЭлемента/Help">вариант отчета</a> отмечен флажком.
|
||||||
@@ -31,7 +50,7 @@
|
|||||||
<h3>Загрузка варианта отчета из файла</h3>
|
<h3>Загрузка варианта отчета из файла</h3>
|
||||||
<div>
|
<div>
|
||||||
<ul><li>Нажмите <b>Еще - Варианты отчета - Обновить из файла</b> для загрузки варианта отчета, сохраненного вместе с пользовательскими настройками в архивный файл на компьютере. Укажите путь к архиву с вариантом отчета.</li>
|
<ul><li>Нажмите <b>Еще - Варианты отчета - Обновить из файла</b> для загрузки варианта отчета, сохраненного вместе с пользовательскими настройками в архивный файл на компьютере. Укажите путь к архиву с вариантом отчета.</li>
|
||||||
<li>Данная возможность предназначена для обмена настройками вариантов отчетов между информационными базами идентичной структуры.</li></ul><h3>Настройки отчета из контекстного меню</h3>
|
<li>Данная возможность предназначена для обмена настройками вариантов отчетов между информационными базами идентичной структуры.</li></ul><h3>Контекстное меню</h3>
|
||||||
<div>
|
<div>
|
||||||
<ul><li>С помощью команд контекстного меню ячейки по правой кнопке мыши можно быстро изменить вид отчета, настроить фильтры, сортировки:
|
<ul><li>С помощью команд контекстного меню ячейки по правой кнопке мыши можно быстро изменить вид отчета, настроить фильтры, сортировки:
|
||||||
<ul><li>изменить уровни группировок отчета;</li>
|
<ul><li>изменить уровни группировок отчета;</li>
|
||||||
@@ -39,20 +58,33 @@
|
|||||||
<li>С помощью команды <strong>Фильтровать</strong> можно быстро установить отбор по текущему значению, используя предлагаемые команды сравнения. </li>
|
<li>С помощью команды <strong>Фильтровать</strong> можно быстро установить отбор по текущему значению, используя предлагаемые команды сравнения. </li>
|
||||||
<ul><li>С помощью команды <b>Еще</b> можно получить дополнительные возможности по настройке фильтра. </li>
|
<ul><li>С помощью команды <b>Еще</b> можно получить дополнительные возможности по настройке фильтра. </li>
|
||||||
<li>С помощью команды <b>Больше возможностей</b> можно перейти к расширенным <a href="CommonForm.ФормаНастроекОтчета/Help">настройкам</a> отборов отчета.</li></ul><li><b>Сортировать</b> - по возрастанию или убыванию; </li>
|
<li>С помощью команды <b>Больше возможностей</b> можно перейти к расширенным <a href="CommonForm.ФормаНастроекОтчета/Help">настройкам</a> отборов отчета.</li></ul><li><b>Сортировать</b> - по возрастанию или убыванию; </li>
|
||||||
|
<li>Отсортированная колонка обозначается значком.</li>
|
||||||
<li><b>Оформить</b> - быстро изменить цвет выделенных ячеек, высоту и ширину колонки;</li>
|
<li><b>Оформить</b> - быстро изменить цвет выделенных ячеек, высоту и ширину колонки;</li>
|
||||||
<ul><li>По команде <b>Еще</b> можно перейти к более сложному <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ЭлементУсловногоОформленияОтчета/Help">форматированию</a> для выбранных ячеек.</li></ul><li><b>Расшифровать </b>- переход к выбору полей для расшифровки и формированию отчета.</li></ul></li>
|
<ul><li>По команде <b>Еще</b> можно перейти к более сложному <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ЭлементУсловногоОформленияОтчета/Help">форматированию</a> для выбранных ячеек, при этом некоторые параметры (поле для условного оформления, отбор) заполняются автоматически из контекста.</li>
|
||||||
|
<li>Можно оформить выбранные ячейки цветом, определить высоту строк или ширину колонок. </li>
|
||||||
|
<li>Можно выделить отрицательные или положительные значения цветом.</li></ul><li>По команде <b>Детальные записи</b> можно перейти к расшифровке отчета по детальным записям. В структуре такого отчета имеется только один элемент <b>Детальные записи</b>.</li>
|
||||||
|
<li>С помощью команды контекстного меню по правой кнопке мыши можно выбранную позицию отчета <b>Расшифровать по детальным записям</b>.</li>
|
||||||
|
<li><b>Расшифровать </b>- переход к выбору полей для расшифровки и формированию отчета.</li></ul></li>
|
||||||
<li>Контекстное меню шапки отчета содержит полезные команды:</li>
|
<li>Контекстное меню шапки отчета содержит полезные команды:</li>
|
||||||
<ul><li>с помощью меню по левой кнопке мыши можно настроить сортировку в выбранном поле, задать фильтры по значению, выбрав из списка.</li>
|
<ul><li>с помощью меню по левой кнопке мыши можно настроить сортировку в выбранном поле, задать фильтры по значению, выбрав из списка.</li>
|
||||||
<ul><li>По команде <b>Еще</b> можно перейти к настройке поля, вставить в шапку дополнительные поля, выбрав их из списка, оформить поле, скрыть или переименовать.</li></ul><li>С помощью меню по правой кнопке мыши можно оформить поля, настроить отборы и сортировки. </li>
|
<ul><li>По команде <b>Еще</b> можно перейти к настройке поля, вставить в шапку дополнительные поля, выбрав их из списка, оформить поле, скрыть или переименовать.</li></ul><li>С помощью меню по правой кнопке мыши можно оформить поля, настроить отборы и сортировки. </li>
|
||||||
<ul><li>По команде <b>Еще</b> можно открыть дополнительные возможности оформления поля.</li></ul></ul></ul></div></div>
|
<ul><li>По команде <b>Еще</b> можно открыть дополнительные возможности оформления поля, можно настроить условное оформление поля.</li></ul></ul></ul></div></div>
|
||||||
<h3><a name="#1">Настройки</a></h3>
|
<h3><a name="#1">Настройки</a></h3>
|
||||||
<ul style="MARGIN-RIGHT: 0px" dir="ltr"><li>По кнопке <strong>Настройки</strong> можно перейти к <a href="CommonForm.ФормаНастроекОтчета/Help">настройке</a> параметров отчета. Часть настроек (отборы) иногда выведены в шапку отчета.
|
<ul style="MARGIN-RIGHT: 0px" dir="ltr"><li>Значения настроек отчета автоматически сохраняются при закрытии отчета и восстанавливаются при следующем открытии отчета.</li>
|
||||||
|
<li>По кнопке <strong>Настройки</strong> можно перейти к <a href="CommonForm.ФормаНастроекОтчета/Help">настройке</a> параметров отчета. Часть настроек (отборы) иногда выведены в шапку отчета.
|
||||||
</li>
|
</li>
|
||||||
|
<li>В форме настройки отчета, в расширенном режиме, теперь можно добавлять отборы не только с помощью выбора полей из списка, но и вводом по первым буквам.</li>
|
||||||
<li>Нажмите <strong>Еще - Стандартные настройки</strong>, для того чтобы вернуться к настройкам по умолчанию.
|
<li>Нажмите <strong>Еще - Стандартные настройки</strong>, для того чтобы вернуться к настройкам по умолчанию.
|
||||||
</li>
|
</li>
|
||||||
<li>Нажмите <strong>Еще - Персональные настройки - Сохранить настройки</strong>, для того чтобы записать текущие настройки отчета. Напишите имя настроек для сохранения.</li>
|
<li>Нажмите <strong>Еще - Персональные настройки - Сохранить настройки</strong>, для того чтобы записать текущие настройки отчета. Напишите имя настроек для сохранения.</li>
|
||||||
<li>Нажмите <strong>Еще - Персональные настройки - Выбрать настройки</strong>, для того чтобы воспользоваться ранее сохраненными настройками отчета. В списке можно посмотреть также настройки отчета, переданные другими пользователями.</li>
|
<li>Нажмите <strong>Еще - Персональные настройки - Выбрать настройки</strong>, для того чтобы воспользоваться ранее сохраненными настройками отчета. В списке можно посмотреть также настройки отчета, переданные другими пользователями.</li>
|
||||||
<li>Нажмите <b>Еще - Персональные настройки - Поделиться настройками</b>, для того чтобы передать текущие настройки отчета другим пользователям. Настройки передаются и без предварительного сохранения. В открывшемся списке выберите пользователей или группы пользователей, нажмите <b>Поделиться</b>. Если все в порядке, через некоторое время программа выводит сообщение об успешной передаче настроек.</li></ul><p></p>
|
<li>Нажмите <b>Еще - Персональные настройки - Поделиться настройками</b>, для того чтобы передать текущие настройки отчета другим пользователям. Настройки передаются и без предварительного сохранения. В открывшемся списке выберите пользователей или группы пользователей, нажмите <b>Поделиться</b>. Если все в порядке, через некоторое время программа выводит сообщение об успешной передаче настроек.</li></ul><h3>Отмена и повтор действий</h3></div>
|
||||||
|
<div>
|
||||||
|
<ul><li>В командной панели отчета размещены кнопки <img src="CommonPicture.ОтменитьДействие"></img>отмены и <img src="CommonPicture.ПовторитьДействие"></img>повтора действий.</li>
|
||||||
|
<li>При активной настройке отчета с их помощью удобно отменять одно или несколько последних настроечных действий, выполненных из контекстного меню или в форме настроек: добавление фильтров, группировок, перемещение колонок, изменение сортировки и т.п. </li>
|
||||||
|
<li>Также можно сбросить до стандартных настроек. </li></ul></div>
|
||||||
|
<div>
|
||||||
|
<p></p>
|
||||||
<h3 dir="ltr">Печать отчета </h3>
|
<h3 dir="ltr">Печать отчета </h3>
|
||||||
<ul dir="ltr"><li>Сформированный отчет можно распечатать, нажав кнопку <img src="StdPicture.Print" width="16" height="16"></img> <strong>Печать</strong>.
|
<ul dir="ltr"><li>Сформированный отчет можно распечатать, нажав кнопку <img src="StdPicture.Print" width="16" height="16"></img> <strong>Печать</strong>.
|
||||||
</li>
|
</li>
|
||||||
@@ -79,10 +111,19 @@
|
|||||||
<div><strong>Включить в существующую рассылку отчетов</strong>. Для этого из <a href="Catalog.РассылкиОтчетов/Help">списка рассылок</a> выберите нужную.</div></li></ul><h3>Выбор варианта отчета</h3>
|
<div><strong>Включить в существующую рассылку отчетов</strong>. Для этого из <a href="Catalog.РассылкиОтчетов/Help">списка рассылок</a> выберите нужную.</div></li></ul><h3>Выбор варианта отчета</h3>
|
||||||
<ul><li>Для загрузки ранее сохраненного варианта отчета воспользуйтесь командой <strong>Еще - Варианты отчета - Выбрать</strong>.
|
<ul><li>Для загрузки ранее сохраненного варианта отчета воспользуйтесь командой <strong>Еще - Варианты отчета - Выбрать</strong>.
|
||||||
<ul><li>в <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ВыборВариантаОтчета/Help">списке вариантов отчета</a> нажмите кнопку <strong>Выбрать</strong> для перехода к нужному варианту отчета.</li></ul></li></ul><h3>Сброс настроек</h3>
|
<ul><li>в <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ВыборВариантаОтчета/Help">списке вариантов отчета</a> нажмите кнопку <strong>Выбрать</strong> для перехода к нужному варианту отчета.</li></ul></li></ul><h3>Сброс настроек</h3>
|
||||||
<ul><li>Нажмите <strong>Еще - Стандартные настройки</strong>, для того чтобы сбросить пользовательские настройки.</li></ul><h3>Другие доступные действия</h3>
|
<ul><li>Нажмите <strong>Еще - Стандартные настройки</strong>, для того чтобы сбросить пользовательские настройки.</li></ul><h3>Редактирование таблицы отчета</h3>
|
||||||
|
<div>
|
||||||
|
<ul><li>С помощью команд меню <b>Еще - Таблица</b> можно изменить таблицу отчета и вид отчета:</li>
|
||||||
|
<li><b>Зафиксировать таблицу</b>;</li>
|
||||||
|
<li><b>Отображать группы</b> - включить или выключить группы;</li>
|
||||||
|
<li><b>Редактирование</b> - начать или закончить редактирование.</li>
|
||||||
|
<li>В некоторых отчетах может быть предусмотрена кнопка <img src="CommonPicture.РедактироватьМакет"></img> <b>Изменить табличный документ</b>, которая позволяет отредактировать таблицу отчета как табличный документ - изменить форматы ячеек и внешний вид. Можно изменить цвет, шрифт, оформление всего отчета, но информацию отчета изменить уже нельзя.</li>
|
||||||
|
<li>С помощью кнопки <b>Записать и закрыть</b> можно сохранить табличный документ на компьютер. Напишите адрес для сохранения файла.</li></ul><h3>Изменение варианта отчета</h3></div>
|
||||||
|
<div>
|
||||||
|
<ul><li>При работе с отчетом можно перейти к изменению данного варианта отчета. Для этого в <a href="CommonForm.ФормаНастроекОтчета/Help">настройках отчета</a> выполните команду <b>Настройки для технического специалиста</b> меню <b>Еще</b>.</li></ul></div>
|
||||||
|
<h3>Другие доступные действия</h3>
|
||||||
<ul><li>Для <a href="v8help://moxelui/form_finddialog">поиска в отчете</a> воспользуйтесь командой <strong>Найти</strong>.
|
<ul><li>Для <a href="v8help://moxelui/form_finddialog">поиска в отчете</a> воспользуйтесь командой <strong>Найти</strong>.
|
||||||
</li>
|
</li>
|
||||||
<li>С помощью кнопок <img src="StdPicture.CollapseAll"></img> <strong>Свернуть все группы</strong> или <img src="StdPicture.ExpandAll"></img> <strong>Развернуть все группы</strong> можно скрыть или показать группировку отчета.
|
<li>С помощью кнопок <img src="StdPicture.CollapseAll"></img> <strong>Свернуть все группы</strong> или <img src="StdPicture.ExpandAll"></img> <strong>Развернуть все группы</strong> можно скрыть или показать группировку отчета.
|
||||||
</li>
|
</li>
|
||||||
<li>С помощью кнопки <b>Разворачивать до</b> можно выбрать уровень группировки отчета.</li>
|
<li>С помощью кнопки <b>Разворачивать до</b> можно выбрать уровень группировки отчета. Если отчет сложный, состоит из нескольких разделов, например из таблицы, диаграммы и двух списков, то уровни группировок нумеруются.</li></ul></div></div></body></html>
|
||||||
<li>Для сохранения результата отчета в файл нажмите <b>Ctrl+S</b>, укажите наименование файла и путь для сохранения.</li></ul></div></body></html>
|
|
||||||
@@ -184,20 +184,16 @@
|
|||||||
Если ИмяПодчиненнойФормы = "ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.НастройкиОтчета"
|
Если ИмяПодчиненнойФормы = "ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.НастройкиОтчета"
|
||||||
Или ПодчиненнаяФорма.ОписаниеОповещенияОЗакрытии <> Неопределено Тогда
|
Или ПодчиненнаяФорма.ОписаниеОповещенияОЗакрытии <> Неопределено Тогда
|
||||||
|
|
||||||
РезультатОбработан = Истина; // См. ВсеНастройкиЗавершение.
|
РезультатОбработан = Истина; // См. ПрименитьНастройкиИПереформироватьОтчет.
|
||||||
|
|
||||||
ИначеЕсли ТипЗнч(Результат) = Тип("Структура") Тогда
|
ИначеЕсли ТипЗнч(Результат) = Тип("Структура") Тогда
|
||||||
|
|
||||||
ПозицияТочки = СтрДлина(ИмяПодчиненнойФормы);
|
ЧастиИмениФормы = СтрРазделить(ИмяПодчиненнойФормы, ".");
|
||||||
Пока КодСимвола(ИмяПодчиненнойФормы, ПозицияТочки) <> 46 Цикл // Не точка.
|
ИмяФормыИсточника = ВРег(ЧастиИмениФормы[ЧастиИмениФормы.Количество() - 1]);
|
||||||
ПозицияТочки = ПозицияТочки - 1;
|
Если ИмяФормыИсточника = ВРег("ФормаНастроекОтчета")
|
||||||
КонецЦикла;
|
Или ИмяФормыИсточника = ВРег("ФормаНастроек")
|
||||||
|
Или ИмяФормыИсточника = ВРег("ФормаВариантаОтчета")
|
||||||
СуффиксФормыИсточника = ВРег(Сред(ИмяПодчиненнойФормы, ПозицияТочки + 1));
|
Или ИмяФормыИсточника = ВРег("ФормаВарианта") Тогда
|
||||||
Если СуффиксФормыИсточника = ВРег("ФормаНастроекОтчета")
|
|
||||||
Или СуффиксФормыИсточника = ВРег("ФормаНастроек")
|
|
||||||
Или СуффиксФормыИсточника = ВРег("ФормаВариантаОтчета")
|
|
||||||
Или СуффиксФормыИсточника = ВРег("ФормаВарианта") Тогда
|
|
||||||
|
|
||||||
ОбновитьЭлементыФормыНастроек(Результат);
|
ОбновитьЭлементыФормыНастроек(Результат);
|
||||||
РезультатОбработан = Истина;
|
РезультатОбработан = Истина;
|
||||||
@@ -718,7 +714,7 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ВсеНастройкиЗавершение(Результат, ПараметрыВыполнения) Экспорт
|
Процедура ПрименитьНастройкиИПереформироватьОтчет(Результат, ПараметрыВыполнения) Экспорт
|
||||||
Если ТипЗнч(Результат) <> Тип("Структура") Тогда
|
Если ТипЗнч(Результат) <> Тип("Структура") Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1210,7 +1206,7 @@
|
|||||||
НайденныеЗаписи = СтекНастроек.НайтиСтроки(Новый Структура("Порядок", Порядок));
|
НайденныеЗаписи = СтекНастроек.НайтиСтроки(Новый Структура("Порядок", Порядок));
|
||||||
ТекущиеНастройкиСтека = НайденныеЗаписи[0];
|
ТекущиеНастройкиСтека = НайденныеЗаписи[0];
|
||||||
|
|
||||||
Результат = ВариантыОтчетовСлужебныйКлиент.СтандартныйРезультатНастройкиИзКонтекстногоМеню(
|
Результат = ВариантыОтчетовСлужебныйКлиент.РезультатКонтекстнойНастройки(
|
||||||
Отчет.КомпоновщикНастроек, ТекущиеНастройкиСтека.Действие, УникальныйИдентификатор);
|
Отчет.КомпоновщикНастроек, ТекущиеНастройкиСтека.Действие, УникальныйИдентификатор);
|
||||||
|
|
||||||
Результат.Вставить("НастройкиКД", ТекущиеНастройкиСтека.Настройки);
|
Результат.Вставить("НастройкиКД", ТекущиеНастройкиСтека.Настройки);
|
||||||
@@ -1221,7 +1217,7 @@
|
|||||||
ВариантыОтчетовСлужебныйКлиент.СброситьПометкиСтекаНастроек(СтекНастроек);
|
ВариантыОтчетовСлужебныйКлиент.СброситьПометкиСтекаНастроек(СтекНастроек);
|
||||||
ТекущиеНастройкиСтека.Пометка = Истина;
|
ТекущиеНастройкиСтека.Пометка = Истина;
|
||||||
|
|
||||||
ВсеНастройкиЗавершение(Результат, Неопределено);
|
ПрименитьНастройкиИПереформироватьОтчет(Результат, Неопределено);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -2014,8 +2010,7 @@
|
|||||||
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
|
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
|
||||||
ПараметрыФормы.Вставить("ВариантНаименование", Строка(ОтчетНаименованиеТекущегоВарианта));
|
ПараметрыФормы.Вставить("ВариантНаименование", Строка(ОтчетНаименованиеТекущегоВарианта));
|
||||||
|
|
||||||
Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект);
|
Обработчик = Новый ОписаниеОповещения("ПрименитьНастройкиИПереформироватьОтчет", ЭтотОбъект);
|
||||||
|
|
||||||
ОткрытьФорму(НастройкиОтчета.ПолноеИмя + ".ФормаНастроек", ПараметрыФормы, ЭтотОбъект,,,, Обработчик);
|
ОткрытьФорму(НастройкиОтчета.ПолноеИмя + ".ФормаНастроек", ПараметрыФормы, ЭтотОбъект,,,, Обработчик);
|
||||||
|
|
||||||
Если ВыполнятьЗамеры Тогда
|
Если ВыполнятьЗамеры Тогда
|
||||||
@@ -3757,6 +3752,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Элементы.КомандыПанелиБыстрыхНастроек.Видимость = (КоличествоДоступныхНастроек.БыстрогоДоступа > 0);
|
Элементы.КомандыПанелиБыстрыхНастроек.Видимость = (КоличествоДоступныхНастроек.БыстрогоДоступа > 0);
|
||||||
|
Элементы.ИзменитьСоставБыстрыхНастроекЕще.Видимость = Элементы.КомандыПанелиБыстрыхНастроек.Видимость;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Команды выбора вариантов.
|
// Команды выбора вариантов.
|
||||||
@@ -4634,8 +4630,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
УточнитьПризнакАвтоформированияОтчета(Результат);
|
УточнитьПризнакАвтоформированияОтчета(Результат);
|
||||||
|
ПрименитьНастройкиИПереформироватьОтчет(Результат, Неопределено);
|
||||||
ВсеНастройкиЗавершение(Результат, Неопределено);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -4928,11 +4923,11 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура УточнитьПризнакАвтоформированияОтчета(ПараметрыОбновления)
|
Процедура УточнитьПризнакАвтоформированияОтчета(ПараметрыОбновления)
|
||||||
|
|
||||||
ДопустимоеВремяДляАвтоформированияОтчетаВСек = 5;
|
Если Не ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыОбновления, "Переформировать", Ложь) Тогда
|
||||||
ВремяФормированияОтчетаВСек = НастройкиОтчета.СвойстваРезультата.ВремяФормирования;
|
ДопустимоеВремяДляАвтоформированияОтчета = 5; // секунд
|
||||||
Переформировать = (ВремяФормированияОтчетаВСек <= ДопустимоеВремяДляАвтоформированияОтчетаВСек);
|
ВремяФормированияОтчета = НастройкиОтчета.СвойстваРезультата.ВремяФормирования;
|
||||||
|
ПараметрыОбновления.Вставить("Переформировать", ВремяФормированияОтчета <= ДопустимоеВремяДляАвтоформированияОтчета);
|
||||||
ПараметрыОбновления.Вставить("Переформировать", Переформировать);
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -113,6 +113,12 @@
|
|||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
Функция ИмяКонстантыАРМБазовойФункциональности() Экспорт
|
||||||
|
|
||||||
|
Возврат "СтандартныеПодсистемыВАвтономномРежиме";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ВыключитьСвойствоИБ() Экспорт
|
Процедура ВыключитьСвойствоИБ() Экспорт
|
||||||
|
|
||||||
ЭтоАвтономноеРабочееМесто = Константы.ЭтоАвтономноеРабочееМесто.СоздатьМенеджерЗначения();
|
ЭтоАвтономноеРабочееМесто = Константы.ЭтоАвтономноеРабочееМесто.СоздатьМенеджерЗначения();
|
||||||
@@ -125,6 +131,17 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяКонстанты = ИмяКонстантыАРМБазовойФункциональности();
|
||||||
|
Если Метаданные.Константы.Найти(ИмяКонстанты) <> Неопределено Тогда
|
||||||
|
|
||||||
|
Если Константы[ИмяКонстанты].Получить() = Истина Тогда
|
||||||
|
|
||||||
|
Константы[ИмяКонстанты].Установить(Ложь);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Для вызова из формы восстановления связи с главным узлом
|
// Для вызова из формы восстановления связи с главным узлом
|
||||||
@@ -132,7 +149,13 @@
|
|||||||
//
|
//
|
||||||
Процедура ПриПодтвержденииОтключенияСвязиСГлавнымУзлом() Экспорт
|
Процедура ПриПодтвержденииОтключенияСвязиСГлавнымУзлом() Экспорт
|
||||||
|
|
||||||
Если НЕ Константы.ЭтоАвтономноеРабочееМесто.Получить() Тогда
|
ИмяКонстанты = ИмяКонстантыАРМБазовойФункциональности();
|
||||||
|
ЕстьКонстантаБазовойФункциональности = (Метаданные.Константы.Найти(ИмяКонстанты) <> Неопределено);
|
||||||
|
|
||||||
|
Если Константы.ЭтоАвтономноеРабочееМесто.Получить() = Ложь
|
||||||
|
И
|
||||||
|
(ЕстьКонстантаБазовойФункциональности
|
||||||
|
И Константы[ИмяКонстанты].Получить() = ЛОЖЬ) Тогда
|
||||||
|
|
||||||
Возврат;
|
Возврат;
|
||||||
|
|
||||||
|
|||||||
@@ -1017,6 +1017,13 @@
|
|||||||
Константы.ЭтоАвтономноеРабочееМесто.Установить(Истина);
|
Константы.ЭтоАвтономноеРабочееМесто.Установить(Истина);
|
||||||
Константы.ИспользоватьРазделениеПоОбластямДанных.Установить(Ложь);
|
Константы.ИспользоватьРазделениеПоОбластямДанных.Установить(Ложь);
|
||||||
|
|
||||||
|
ИмяКонстанты = АвтономнаяРабота.ИмяКонстантыАРМБазовойФункциональности();
|
||||||
|
Если Метаданные.Константы.Найти(ИмяКонстанты) <> Неопределено Тогда
|
||||||
|
|
||||||
|
Константы[ИмяКонстанты].Установить(Истина);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
// Константа влияет на открытие помощника по настройке автономного рабочего места.
|
// Константа влияет на открытие помощника по настройке автономного рабочего места.
|
||||||
Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Установить(Истина);
|
Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Установить(Истина);
|
||||||
|
|
||||||
|
|||||||
@@ -337,7 +337,7 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Форма - ФормаКлиентскогоПриложения - форма выполнения задачи, где:
|
// Форма - ФормаКлиентскогоПриложения - форма выполнения задачи, где:
|
||||||
// * Объект - ЗадачаОбъект - задача объект.
|
// * Объект - ЗадачаОбъект - задача объекта.
|
||||||
// ИмяСобытия - Строка - имя события.
|
// ИмяСобытия - Строка - имя события.
|
||||||
// Параметр - Произвольный - параметр события.
|
// Параметр - Произвольный - параметр события.
|
||||||
// Источник - Произвольный - источник события.
|
// Источник - Произвольный - источник события.
|
||||||
|
|||||||
@@ -3174,16 +3174,9 @@
|
|||||||
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
||||||
"ПанельОтчетов");
|
"ПанельОтчетов");
|
||||||
Если ОбщиеНастройки = Неопределено Тогда
|
Если ОбщиеНастройки = Неопределено Тогда
|
||||||
ОбщиеНастройки = Новый Структура("ПоказыватьПодсказки, ИскатьВоВсехРазделах, ПоказатьОповещениеОПодсказках");
|
ОбщиеНастройки = Новый Структура("ПоказыватьПодсказки, ИскатьВоВсехРазделах");
|
||||||
ОбщиеНастройки.ПоказатьОповещениеОПодсказках = Ложь;
|
|
||||||
ОбщиеНастройки.ПоказыватьПодсказки = ГлобальныеНастройки().ВыводитьОписания;
|
ОбщиеНастройки.ПоказыватьПодсказки = ГлобальныеНастройки().ВыводитьОписания;
|
||||||
ОбщиеНастройки.ИскатьВоВсехРазделах = Ложь;
|
ОбщиеНастройки.ИскатьВоВсехРазделах = Ложь;
|
||||||
Иначе
|
|
||||||
// Возможность можно считать новой для пользователя только в том случае,
|
|
||||||
// если у пользователя есть понимание что такое "старые" возможности (т.е. если он уже работал с этой формой).
|
|
||||||
Если Не ОбщиеНастройки.Свойство("ПоказатьОповещениеОПодсказках") Тогда
|
|
||||||
ОбщиеНастройки.Вставить("ПоказатьОповещениеОПодсказках", Истина);
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Возврат ОбщиеНастройки;
|
Возврат ОбщиеНастройки;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -3193,9 +3186,6 @@
|
|||||||
Если ТипЗнч(ОбщиеНастройки) <> Тип("Структура") Тогда
|
Если ТипЗнч(ОбщиеНастройки) <> Тип("Структура") Тогда
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ОбщиеНастройки.Количество() < 3 Тогда
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ОбщиеНастройки, ОбщиеНастройкиПанели(), Ложь);
|
|
||||||
КонецЕсли;
|
|
||||||
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
|
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
|
||||||
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы(),
|
||||||
"ПанельОтчетов",
|
"ПанельОтчетов",
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
ПараметрыФормы.Вставить("КэшЗначенийОтборов", КэшЗначенийОтборов);
|
ПараметрыФормы.Вставить("КэшЗначенийОтборов", КэшЗначенийОтборов);
|
||||||
|
|
||||||
ОткрытьФорму(
|
ОткрытьФорму(
|
||||||
"ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.КонтекстнаяНастройкаОтчета",
|
"ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.НастройкаПоля",
|
||||||
ПараметрыФормы,
|
ПараметрыФормы,
|
||||||
Форма,
|
Форма,
|
||||||
Форма.УникальныйИдентификатор);
|
Форма.УникальныйИдентификатор);
|
||||||
@@ -609,7 +609,7 @@
|
|||||||
ПараметрыФормы.Вставить("Ячейка", Ячейка);
|
ПараметрыФормы.Вставить("Ячейка", Ячейка);
|
||||||
|
|
||||||
ОткрытьФорму(
|
ОткрытьФорму(
|
||||||
"ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.РасширеннаяНастройкаФильтраОтчета",
|
"ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.ФильтроватьПоПолю",
|
||||||
ПараметрыФормы,
|
ПараметрыФормы,
|
||||||
Форма,
|
Форма,
|
||||||
Форма.УникальныйИдентификатор);
|
Форма.УникальныйИдентификатор);
|
||||||
@@ -3397,7 +3397,7 @@
|
|||||||
|
|
||||||
ИдентификаторВладельца = ?(ЭтоФормОтчета, Форма.УникальныйИдентификатор, Форма.ВладелецФормы.УникальныйИдентификатор);
|
ИдентификаторВладельца = ?(ЭтоФормОтчета, Форма.УникальныйИдентификатор, Форма.ВладелецФормы.УникальныйИдентификатор);
|
||||||
|
|
||||||
Результат = СтандартныйРезультатНастройкиИзКонтекстногоМеню(КомпоновщикНастроек, Действие, ИдентификаторВладельца);
|
Результат = РезультатКонтекстнойНастройки(КомпоновщикНастроек, Действие, ИдентификаторВладельца);
|
||||||
|
|
||||||
Если ЭтоФормОтчета Тогда
|
Если ЭтоФормОтчета Тогда
|
||||||
Оповестить(Действие, Результат, ЭтотОбъект);
|
Оповестить(Действие, Результат, ЭтотОбъект);
|
||||||
@@ -3422,14 +3422,13 @@
|
|||||||
// * ПользовательскиеНастройкиМодифицированы - Булево
|
// * ПользовательскиеНастройкиМодифицированы - Булево
|
||||||
// * СброситьПользовательскиеНастройки - Булево
|
// * СброситьПользовательскиеНастройки - Булево
|
||||||
//
|
//
|
||||||
Функция СтандартныйРезультатНастройкиИзКонтекстногоМеню(КомпоновщикНастроек, Действие, ИдентификаторВладельца) Экспорт
|
Функция РезультатКонтекстнойНастройки(КомпоновщикНастроек, Действие, ИдентификаторВладельца) Экспорт
|
||||||
|
|
||||||
Результат = Новый Структура;
|
Результат = Новый Структура;
|
||||||
Результат.Вставить("КомпоновщикНастроекКД", КомпоновщикНастроек);
|
Результат.Вставить("КомпоновщикНастроекКД", КомпоновщикНастроек);
|
||||||
Результат.Вставить("Действие", Действие);
|
Результат.Вставить("Действие", Действие);
|
||||||
Результат.Вставить("ИдентификаторВладельца", ИдентификаторВладельца);
|
Результат.Вставить("ИдентификаторВладельца", ИдентификаторВладельца);
|
||||||
Результат.Вставить("Переформировать", СтрЗаканчиваетсяНа(Действие, "Сформировать"));
|
Результат.Вставить("Переформировать", Ложь);
|
||||||
Результат.Вставить("УчитыватьВремяФормирования", Истина);
|
|
||||||
Результат.Вставить("ВариантМодифицирован", Истина);
|
Результат.Вставить("ВариантМодифицирован", Истина);
|
||||||
Результат.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
|
Результат.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
|
||||||
Результат.Вставить("СброситьПользовательскиеНастройки", Истина);
|
Результат.Вставить("СброситьПользовательскиеНастройки", Истина);
|
||||||
|
|||||||
@@ -366,10 +366,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПараметрыШтрихкода.ТипКода = 16 Тогда // QR
|
Если ПараметрыШтрихкода.ТипКода = 16 Тогда // QR
|
||||||
Если ПараметрыШтрихкода.Свойство("ЛоготипКартинка") И Не ПустаяСтрока(ПараметрыШтрихкода.ЛоготипКартинка) Тогда
|
Если ПараметрыШтрихкода.Свойство("ЛоготипКартинка") И ЗначениеЗаполнено(ПараметрыШтрихкода.ЛоготипКартинка) Тогда
|
||||||
ВнешняяКомпонента.ЛоготипКартинка = ПараметрыШтрихкода.ЛоготипКартинка;
|
ВнешняяКомпонента.ЛоготипКартинка = ПараметрыШтрихкода.ЛоготипКартинка;
|
||||||
|
Иначе
|
||||||
|
ВнешняяКомпонента.ЛоготипКартинка = "";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ПараметрыШтрихкода.Свойство("ЛоготипРазмерПроцентОтШК") И Не ПустаяСтрока(ПараметрыШтрихкода.ЛоготипРазмерПроцентОтШК) Тогда
|
Если ПараметрыШтрихкода.Свойство("ЛоготипРазмерПроцентОтШК") И Не ПустаяСтрока(
|
||||||
|
ПараметрыШтрихкода.ЛоготипРазмерПроцентОтШК) Тогда
|
||||||
ВнешняяКомпонента.ЛоготипРазмерПроцентОтШК = ПараметрыШтрихкода.ЛоготипРазмерПроцентОтШК;
|
ВнешняяКомпонента.ЛоготипРазмерПроцентОтШК = ПараметрыШтрихкода.ЛоготипРазмерПроцентОтШК;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -1646,7 +1646,11 @@
|
|||||||
Поток.ПараметрыМетода = ПараметрыПотока;
|
Поток.ПараметрыМетода = ПараметрыПотока;
|
||||||
Поток.КлючПотока = КлючПотока;
|
Поток.КлючПотока = КлючПотока;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
||||||
|
НаборЗаписей.Отбор.ИдентификаторПотока.Установить(Поток.ИдентификаторПотока);
|
||||||
|
НаборЗаписей.Прочитать();
|
||||||
Запись = НаборЗаписей.Добавить();
|
Запись = НаборЗаписей.Добавить();
|
||||||
|
|
||||||
ЗаполнитьЗначенияСвойств(Запись, Поток, , "ИдентификаторПотока,ПараметрыМетода,КлючПотока");
|
ЗаполнитьЗначенияСвойств(Запись, Поток, , "ИдентификаторПотока,ПараметрыМетода,КлючПотока");
|
||||||
@@ -1656,6 +1660,8 @@
|
|||||||
|
|
||||||
НаборЗаписей.Записать();
|
НаборЗаписей.Записать();
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
@@ -1717,13 +1723,13 @@
|
|||||||
|
|
||||||
Пока Потоки.Количество() >= МаксимумПотоков Цикл
|
Пока Потоки.Количество() >= МаксимумПотоков Цикл
|
||||||
|
|
||||||
ЕстьЗавершеныеПотоки = ЕстьЗавершенныеПотоки(Потоки, Результаты, ЗавершитьДосрочноЕслиОшибка);
|
ЕстьЗавершенныеПотоки = ЕстьЗавершенныеПотоки(Потоки, Результаты, ЗавершитьДосрочноЕслиОшибка);
|
||||||
|
|
||||||
Если ЗавершитьДосрочноЕслиОшибка И ЕстьЗавершеныеПотоки = Неопределено Тогда
|
Если ЗавершитьДосрочноЕслиОшибка И ЕстьЗавершенныеПотоки = Неопределено Тогда
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЕстьЗавершеныеПотоки Тогда
|
Если ЕстьЗавершенныеПотоки Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1760,14 +1766,14 @@
|
|||||||
Потоки = ПотокиДлительныхОпераций(ИдентификаторФормы);
|
Потоки = ПотокиДлительныхОпераций(ИдентификаторФормы);
|
||||||
|
|
||||||
Пока Потоки.Количество() > 0 Цикл
|
Пока Потоки.Количество() > 0 Цикл
|
||||||
ЕстьЗавершеныеПотоки = ЕстьЗавершенныеПотоки(Потоки, Результаты, ЗавершитьДосрочноЕслиОшибка);
|
ЕстьЗавершенныеПотоки = ЕстьЗавершенныеПотоки(Потоки, Результаты, ЗавершитьДосрочноЕслиОшибка);
|
||||||
|
|
||||||
Если ЕстьЗавершеныеПотоки = Неопределено Тогда
|
Если ЕстьЗавершенныеПотоки = Неопределено Тогда
|
||||||
ОтменитьВыполнениеВсехПотоков(Результаты, ИдентификаторФормы);
|
ОтменитьВыполнениеВсехПотоков(Результаты, ИдентификаторФормы);
|
||||||
Прервать;
|
Прервать;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ЕстьЗавершеныеПотоки Тогда
|
Если Не ЕстьЗавершенныеПотоки Тогда
|
||||||
ОжидатьЗавершениеПотока(Потоки[0]);
|
ОжидатьЗавершениеПотока(Потоки[0]);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1936,6 +1942,8 @@
|
|||||||
|
|
||||||
Блокировка.Заблокировать();
|
Блокировка.Заблокировать();
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
||||||
|
|
||||||
НаборЗаписей.Отбор.ИдентификаторПотока.Установить(Идентификатор);
|
НаборЗаписей.Отбор.ИдентификаторПотока.Установить(Идентификатор);
|
||||||
@@ -1954,6 +1962,8 @@
|
|||||||
|
|
||||||
НаборЗаписей.Записать();
|
НаборЗаписей.Записать();
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
@@ -1965,6 +1975,8 @@
|
|||||||
|
|
||||||
Процедура УдалитьПоток(ИдентификаторПотока)
|
Процедура УдалитьПоток(ИдентификаторПотока)
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
|
||||||
НаборЗаписей.Отбор.ИдентификаторПотока.Установить(ИдентификаторПотока);
|
НаборЗаписей.Отбор.ИдентификаторПотока.Установить(ИдентификаторПотока);
|
||||||
НаборЗаписей.Записать();
|
НаборЗаписей.Записать();
|
||||||
@@ -1983,14 +1995,29 @@
|
|||||||
Возврат 1;
|
Возврат 1;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ДопустимоеКоличествоПотоков = Константы.КоличествоПотоковДлительныхОпераций.Получить() - 1;
|
ДопустимоеКоличествоПотоков = Константы.КоличествоПотоковДлительныхОпераций.Получить();
|
||||||
|
|
||||||
Возврат ?(ДопустимоеКоличествоПотоков < 1, 1, ДопустимоеКоличествоПотоков)
|
Возврат КоличествоПотоковСУчетомУправляющегоПотока(ДопустимоеКоличествоПотоков);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция КоличествоПотоковСУчетомУправляющегоПотока(ДопустимоеКоличествоПотоков)
|
||||||
|
|
||||||
|
Если ДопустимоеКоличествоПотоков > 1 Тогда
|
||||||
|
Возврат ДопустимоеКоличествоПотоков - 1;
|
||||||
|
ИначеЕсли ДопустимоеКоличествоПотоков = 1 Тогда
|
||||||
|
Возврат ДопустимоеКоличествоПотоков;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Значение по умолчанию. Управляющий поток + 3 дочерних
|
||||||
|
Возврат 3;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция КоличествоРаботающихПотоков()
|
Функция КоличествоРаботающихПотоков()
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
Запрос = Новый Запрос;
|
||||||
Запрос.Текст =
|
Запрос.Текст =
|
||||||
"ВЫБРАТЬ
|
"ВЫБРАТЬ
|
||||||
@@ -2033,6 +2060,8 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
Для Каждого Поток Из Результат Цикл
|
Для Каждого Поток Из Результат Цикл
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
|
|
||||||
// Возвращает таблицу, извлеченную из временного хранилища для сопоставления загружаемых данных с данными в программе.
|
// Возвращает таблицу, извлеченную из временного хранилища для сопоставления загружаемых данных с данными в программе.
|
||||||
// Список колонок извлекаемой таблицы динамический и формируется на основе макета загружаемых данных.
|
// Список колонок извлекаемой таблицы динамический и формируется на основе макета загружаемых данных.
|
||||||
// В возвращаемом значении описана только служебная колонка, которая присутствуют всегда.
|
// В возвращаемом значении описана только служебная колонка, которая присутствует всегда.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// АдресРезультата - Строка - адрес во временном хранилища
|
// АдресРезультата - Строка - адрес во временном хранилища
|
||||||
|
|||||||
@@ -1588,6 +1588,8 @@
|
|||||||
МодульИнтеграцияПодсистемБИП.ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов(ПоддерживаемыеВерсии);
|
МодульИнтеграцияПодсистемБИП.ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов(ПоддерживаемыеВерсии);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПользователиСлужебный.ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов(ПоддерживаемыеВерсии);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииПараметровРаботыКлиентаПриЗапуске.
|
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииПараметровРаботыКлиентаПриЗапуске.
|
||||||
|
|||||||
@@ -242,6 +242,21 @@
|
|||||||
//
|
//
|
||||||
Процедура ПриПолученииДоступныхРасширенийФормата(РасширенияФормата) Экспорт
|
Процедура ПриПолученииДоступныхРасширенийФормата(РасширенияФормата) Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Вызывается в событии ПриЗаписи константы ЭтоАвтономноеРабочееМесто.
|
||||||
|
// Позволяет переопределить стандартную обработку при измении значения.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПредыдущееЗначение - Булево - значение константы ЭтоАвтономноеРабочееМесто до изменения.
|
||||||
|
// НовоеТекущее - Булево - записываемое значение константы ЭтоАвтономноеРабочееМесто до изменения.
|
||||||
|
// СтандартнаяОбработка - Булево - отключение стандартного поведения системы при записи константы
|
||||||
|
// (значение по-умолчанию Истина).
|
||||||
|
//
|
||||||
|
Процедура ПриИзмененииОпцииАвтономногоРежимаРаботы(ПредыдущееЗначение, НовоеТекущее, СтандартнаяОбработка) Экспорт
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -4789,7 +4789,7 @@
|
|||||||
// - РегистрНакопленияМенеджер
|
// - РегистрНакопленияМенеджер
|
||||||
// - РегистрРасчетаМенеджер
|
// - РегистрРасчетаМенеджер
|
||||||
// - РегистрБухгалтерииМенеджер - менеджер для создания наборов.
|
// - РегистрБухгалтерииМенеджер - менеджер для создания наборов.
|
||||||
// Размер - Число - начальное количество хранилища переиспользуемых наборов.
|
// Размер - Число
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура:
|
// Структура:
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||||
|
|
||||||
Описание.Имя = "СтандартныеПодсистемы";
|
Описание.Имя = "СтандартныеПодсистемы";
|
||||||
Описание.Версия = "3.1.6.100";
|
Описание.Версия = "3.1.6.118";
|
||||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||||
|
|||||||
@@ -1896,11 +1896,17 @@
|
|||||||
|
|
||||||
Если ПредопределенныеДанные.Колонки.Найти("Ссылка") <> Неопределено Тогда
|
Если ПредопределенныеДанные.Колонки.Найти("Ссылка") <> Неопределено Тогда
|
||||||
Для Каждого СтрокаПредопределенныхДанных Из ПредопределенныеДанные Цикл
|
Для Каждого СтрокаПредопределенныхДанных Из ПредопределенныеДанные Цикл
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||||
|
|
||||||
Если ТипЗнч(СтрокаПредопределенныхДанных.Ссылка) = Тип("УникальныйИдентификатор") Тогда
|
Если ТипЗнч(СтрокаПредопределенныхДанных.Ссылка) = Тип("УникальныйИдентификатор") Тогда
|
||||||
СтрокаПредопределенныхДанных.Ссылка = МенеджерОбъекта.ПолучитьСсылку(СтрокаПредопределенныхДанных.Ссылка);
|
СтрокаПредопределенныхДанных.Ссылка = МенеджерОбъекта.ПолучитьСсылку(СтрокаПредопределенныхДанных.Ссылка);
|
||||||
ИначеЕсли ТипЗнч(СтрокаПредопределенныхДанных.Ссылка) = Тип("Строка") Тогда
|
ИначеЕсли ТипЗнч(СтрокаПредопределенныхДанных.Ссылка) = Тип("Строка") Тогда
|
||||||
СтрокаПредопределенныхДанных.Ссылка = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаПредопределенныхДанных.Ссылка));
|
СтрокаПредопределенныхДанных.Ссылка = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаПредопределенныхДанных.Ссылка));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1922,8 +1928,17 @@
|
|||||||
МодульМультиязычностьСервер.ПриПолученииПараметровЗаполненияПредопределенныхДанных(ПараметрыЗаполнения);
|
МодульМультиязычностьСервер.ПриПолученииПараметровЗаполненияПредопределенныхДанных(ПараметрыЗаполнения);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПроверятьНеобходимостьВыполнения = ДополнительныеПараметры <> Неопределено
|
||||||
|
И ТипЗнч(ДополнительныеПараметры) = Тип("Структура")
|
||||||
|
И ДополнительныеПараметры.Свойство("НовыеОбъекты");
|
||||||
|
|
||||||
Для Каждого МетаданныеОбъекта Из ОбъектыСНачальнымЗаполнением Цикл
|
Для Каждого МетаданныеОбъекта Из ОбъектыСНачальнымЗаполнением Цикл
|
||||||
|
|
||||||
|
Если ПроверятьНеобходимостьВыполнения
|
||||||
|
И ДополнительныеПараметры.НовыеОбъекты.Найти(МетаданныеОбъекта.ПолноеИмя()) = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПараметрыЗаполнения = НаборПараметровДляЗаполненияОбъекта(МетаданныеОбъекта);
|
ПараметрыЗаполнения = НаборПараметровДляЗаполненияОбъекта(МетаданныеОбъекта);
|
||||||
|
|
||||||
МенеджерОбъекта = ПараметрыЗаполнения.МенеджерОбъекта;
|
МенеджерОбъекта = ПараметрыЗаполнения.МенеджерОбъекта;
|
||||||
@@ -2905,6 +2920,12 @@
|
|||||||
|
|
||||||
ВсеНовыеПодсистемы = СведенияОбОбновленииИнформационнойБазы().ВсеНовыеПодсистемы;
|
ВсеНовыеПодсистемы = СведенияОбОбновленииИнформационнойБазы().ВсеНовыеПодсистемы;
|
||||||
|
|
||||||
|
// Добавление обработчика заполнения предопределенных данных.
|
||||||
|
ОбработчикПерехода = ОбработчикиПерехода.Добавить();
|
||||||
|
ОбработчикПерехода.ПредыдущееИмяКонфигурации = "*";
|
||||||
|
ОбработчикПерехода.ОбщиеДанные = Ложь;
|
||||||
|
ОбработчикПерехода.Процедура = ОбработчикНачальногоЗаполненияПредопределенных();
|
||||||
|
|
||||||
НовыеОбъектыМетаданных = Новый Массив;
|
НовыеОбъектыМетаданных = Новый Массив;
|
||||||
Для Каждого Подсистема Из ВсеНовыеПодсистемы Цикл
|
Для Каждого Подсистема Из ВсеНовыеПодсистемы Цикл
|
||||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Подсистема);
|
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Подсистема);
|
||||||
@@ -2966,10 +2987,14 @@
|
|||||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
Отбор.Вставить("ОбщиеДанные", Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных());
|
Отбор.Вставить("ОбщиеДанные", Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных());
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Результат = ОбработчикиПерехода.НайтиСтроки(Отбор);
|
ВыбранныеОбработчики = ОбработчикиПерехода.НайтиСтроки(Отбор);
|
||||||
|
|
||||||
Отбор.ПредыдущееИмяКонфигурации = ПредыдущееИмяКонфигурации;
|
Отбор.ПредыдущееИмяКонфигурации = ПредыдущееИмяКонфигурации;
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, ОбработчикиПерехода.НайтиСтроки(Отбор), Истина);
|
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВыбранныеОбработчики, ОбработчикиПерехода.НайтиСтроки(Отбор), Истина);
|
||||||
|
|
||||||
|
Результат = Новый Структура;
|
||||||
|
Результат.Вставить("Обработчики", ВыбранныеОбработчики);
|
||||||
|
Результат.Вставить("НовыеОбъекты", НовыеОбъектыМетаданных);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
@@ -3045,7 +3070,9 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Обработчики = ОбработчикиПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ИтерацииОбновления);
|
ОбработчикиИНовыеОбъекты = ОбработчикиПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ИтерацииОбновления);
|
||||||
|
Обработчики = ОбработчикиИНовыеОбъекты.Обработчики;
|
||||||
|
НовыеОбъекты = ОбработчикиИНовыеОбъекты.НовыеОбъекты;
|
||||||
|
|
||||||
ПодсистемаСуществует = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом");
|
ПодсистемаСуществует = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом");
|
||||||
// Выполняем все обработчики перехода.
|
// Выполняем все обработчики перехода.
|
||||||
@@ -3054,7 +3081,16 @@
|
|||||||
ТранзакцияАктивнаНаНачалоВыполнения = ТранзакцияАктивна();
|
ТранзакцияАктивнаНаНачалоВыполнения = ТранзакцияАктивна();
|
||||||
ОтключитьОбновлениеКлючейДоступа(Истина, ПодсистемаСуществует);
|
ОтключитьОбновлениеКлючейДоступа(Истина, ПодсистемаСуществует);
|
||||||
Попытка
|
Попытка
|
||||||
|
// Начальное заполнение предопределенных для новых объектов.
|
||||||
|
Если Обработчик.Процедура = ОбработчикНачальногоЗаполненияПредопределенных() Тогда
|
||||||
|
ПараметрыОбработчика = Новый Массив;
|
||||||
|
ПараметрыОбработчика.Добавить(Ложь);
|
||||||
|
ПараметрыОбработчика.Добавить(Новый Структура("НовыеОбъекты", НовыеОбъекты));
|
||||||
|
ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
|
||||||
|
Иначе
|
||||||
|
// Выполнение обработчиков перехода.
|
||||||
ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура);
|
ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура);
|
||||||
|
КонецЕсли;
|
||||||
ОтключитьОбновлениеКлючейДоступа(Ложь, ПодсистемаСуществует);
|
ОтключитьОбновлениеКлючейДоступа(Ложь, ПодсистемаСуществует);
|
||||||
Исключение
|
Исключение
|
||||||
|
|
||||||
@@ -3123,6 +3159,12 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ОбработчикНачальногоЗаполненияПредопределенных()
|
||||||
|
|
||||||
|
Возврат "ОбновлениеИнформационнойБазыСлужебный.НачальноеЗаполнениеПредопределенныхДанных";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ПриЗавершенииПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ПредыдущаяВерсияКонфигурации, Параметры)
|
Процедура ПриЗавершенииПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ПредыдущаяВерсияКонфигурации, Параметры)
|
||||||
|
|
||||||
ИмяКонфигурации = Метаданные.Имя;
|
ИмяКонфигурации = Метаданные.Имя;
|
||||||
@@ -4601,6 +4643,10 @@
|
|||||||
//
|
//
|
||||||
Процедура ЗавершитьВыполнениеОтложенногоОбработчика(КонтекстОбработчика, АдресРезультата) Экспорт
|
Процедура ЗавершитьВыполнениеОтложенногоОбработчика(КонтекстОбработчика, АдресРезультата) Экспорт
|
||||||
|
|
||||||
|
КонтекстОбработчика.Вставить("ПропуститьОтменуТранзакций");
|
||||||
|
|
||||||
|
НачатьТранзакцию();
|
||||||
|
Попытка
|
||||||
ОбработчикОбновления = ОбработчикОбновления(КонтекстОбработчика.ИмяОбработчика);
|
ОбработчикОбновления = ОбработчикОбновления(КонтекстОбработчика.ИмяОбработчика);
|
||||||
УстановитьСвойствоОбработчика(ОбработчикОбновления.ИмяОбработчика, "ОбработкаПорцииЗавершена", Истина);
|
УстановитьСвойствоОбработчика(ОбработчикОбновления.ИмяОбработчика, "ОбработкаПорцииЗавершена", Истина);
|
||||||
|
|
||||||
@@ -4620,6 +4666,17 @@
|
|||||||
|
|
||||||
ЗавершитьВыполнениеОтложенногоОбработчикаОбновления(КонтекстОбработчика);
|
ЗавершитьВыполнениеОтложенногоОбработчикаОбновления(КонтекстОбработчика);
|
||||||
РассчитатьВремяВыполненияПроцедурыОбработчика(КонтекстОбработчика, КонтекстОбработчика.ИмяОбработчика);
|
РассчитатьВремяВыполненияПроцедурыОбработчика(КонтекстОбработчика, КонтекстОбработчика.ИмяОбработчика);
|
||||||
|
ЗафиксироватьТранзакцию();
|
||||||
|
Исключение
|
||||||
|
ОтменитьТранзакцию();
|
||||||
|
ВызватьИсключение;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонтекстОбработчика.Удалить("ПропуститьОтменуТранзакций");
|
||||||
|
|
||||||
|
Если КонтекстОбработчика.Свойство("ОшибкаПриЗавершенииОбработчика") Тогда
|
||||||
|
ВызватьИсключение КонтекстОбработчика.ОшибкаПриЗавершенииОбработчика;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -5047,7 +5104,8 @@
|
|||||||
Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Или ЗаданиеВыполнено <> Ложь Тогда
|
Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Или ЗаданиеВыполнено <> Ложь Тогда
|
||||||
Выполнять = Не ПустаяСтрока(ОписаниеПотока.ПроцедураЗавершения)
|
Выполнять = Не ПустаяСтрока(ОписаниеПотока.ПроцедураЗавершения)
|
||||||
И Поток.ПараметрыПроцедурыЗавершения <> Неопределено
|
И Поток.ПараметрыПроцедурыЗавершения <> Неопределено
|
||||||
И (Не ЗначениеЗаполнено(ИдентификаторЗадания) Или ЗаданиеВыполнено = Истина);
|
И (Не ЗначениеЗаполнено(ИдентификаторЗадания) Или ЗаданиеВыполнено = Истина)
|
||||||
|
И Поток.АдресРезультата <> Неопределено;
|
||||||
|
|
||||||
Если Выполнять Тогда
|
Если Выполнять Тогда
|
||||||
ПараметрыВызова = Новый Массив;
|
ПараметрыВызова = Новый Массив;
|
||||||
@@ -5057,7 +5115,9 @@
|
|||||||
ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПроцедураЗавершения, ПараметрыВызова);
|
ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПроцедураЗавершения, ПараметрыВызова);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Поток.АдресРезультата <> Неопределено Тогда
|
||||||
УдалитьИзВременногоХранилища(Поток.АдресРезультата);
|
УдалитьИзВременногоХранилища(Поток.АдресРезультата);
|
||||||
|
КонецЕсли;
|
||||||
УдалитьПотокОбновления(Поток.ИдентификаторПотока);
|
УдалитьПотокОбновления(Поток.ИдентификаторПотока);
|
||||||
Потоки.Удалить(Поток);
|
Потоки.Удалить(Поток);
|
||||||
ЕстьЗавершенныеПотоки = Истина;
|
ЕстьЗавершенныеПотоки = Истина;
|
||||||
@@ -6371,6 +6431,8 @@
|
|||||||
// Параметры:
|
// Параметры:
|
||||||
// ЗаполняемыйОбъект - СправочникОбъект
|
// ЗаполняемыйОбъект - СправочникОбъект
|
||||||
// - ПланВидовХарактеристикОбъект
|
// - ПланВидовХарактеристикОбъект
|
||||||
|
// - ДанныеФормыСтруктура:
|
||||||
|
// * Ссылка - СправочникСсылка
|
||||||
// НастройкиЗаполнения - см. ОбновлениеИнформационнойБазы.НастройкиЗаполнения
|
// НастройкиЗаполнения - см. ОбновлениеИнформационнойБазы.НастройкиЗаполнения
|
||||||
//
|
//
|
||||||
Процедура ЗаполнитьОбъектНачальнымиДанными(ЗаполняемыйОбъект, НастройкиЗаполнения) Экспорт
|
Процедура ЗаполнитьОбъектНачальнымиДанными(ЗаполняемыйОбъект, НастройкиЗаполнения) Экспорт
|
||||||
@@ -8141,8 +8203,9 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ШаблонОшибки = НСтр("ru = 'Не удалось выполнить обработчик обновления ""%1"". Подробнее в журнале регистрации.'");
|
ШаблонОшибки = НСтр("ru = 'Не удалось выполнить обработчик обновления ""%1"". Подробнее в журнале регистрации.'");
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
|
||||||
КонтекстОбработчика.ИмяОбработчика);
|
КонтекстОбработчика.ИмяОбработчика);
|
||||||
|
КонтекстОбработчика.Вставить("ОшибкаПриЗавершенииОбработчика", ТекстОшибки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -8152,7 +8215,8 @@
|
|||||||
Для Каждого Параметр Из Параметры Цикл
|
Для Каждого Параметр Из Параметры Цикл
|
||||||
Если Параметр.Ключ <> "ОбработкаЗавершена"
|
Если Параметр.Ключ <> "ОбработкаЗавершена"
|
||||||
И Параметр.Ключ <> "ПрогрессВыполнения"
|
И Параметр.Ключ <> "ПрогрессВыполнения"
|
||||||
И Параметр.Ключ <> "Очередь" Тогда
|
И Параметр.Ключ <> "Очередь"
|
||||||
|
И Параметр.Ключ <> "ОбновляемыеДанные" Тогда
|
||||||
ПереданныеПараметры.Вставить(Параметр.Ключ, Параметр.Значение);
|
ПереданныеПараметры.Вставить(Параметр.Ключ, Параметр.Значение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -8908,9 +8972,11 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// АПК:325-выкл откат незакрытых транзакций после выполнения обработчика.
|
// АПК:325-выкл откат незакрытых транзакций после выполнения обработчика.
|
||||||
|
Если Не КонтекстОбработчика.Свойство("ПропуститьОтменуТранзакций") Тогда
|
||||||
Пока ТранзакцияАктивна() Цикл
|
Пока ТранзакцияАктивна() Цикл
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
// АПК:325-вкл
|
// АПК:325-вкл
|
||||||
|
|
||||||
ДобавляемоеЧислоПопыток = ДобавляемоеЧислоПопыток(ОбработчикОбновления, КонтекстОбработчика, Истина);
|
ДобавляемоеЧислоПопыток = ДобавляемоеЧислоПопыток(ОбработчикОбновления, КонтекстОбработчика, Истина);
|
||||||
@@ -9118,7 +9184,11 @@
|
|||||||
Функция ДобавляемоеЧислоПопыток(ОбработчикОбновления, КонтекстОбработчика, Ошибка = Ложь)
|
Функция ДобавляемоеЧислоПопыток(ОбработчикОбновления, КонтекстОбработчика, Ошибка = Ложь)
|
||||||
|
|
||||||
Если ОбработчикОбновления.Многопоточный Тогда
|
Если ОбработчикОбновления.Многопоточный Тогда
|
||||||
|
Если КонтекстОбработчика.Параметры.Свойство("ОбновляемыеДанные") Тогда
|
||||||
ОбновляемыеДанные = КонтекстОбработчика.Параметры.ОбновляемыеДанные;
|
ОбновляемыеДанные = КонтекстОбработчика.Параметры.ОбновляемыеДанные;
|
||||||
|
Иначе
|
||||||
|
ОбновляемыеДанные = Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
// Проверяется по полям ОбновляемыеДанные.ПерваяЗапись и ОбновляемыеДанные.ПоследняяЗапись, а не по полю
|
// Проверяется по полям ОбновляемыеДанные.ПерваяЗапись и ОбновляемыеДанные.ПоследняяЗапись, а не по полю
|
||||||
// ОбновляемыеДанные.НаборДанных, т.к. оно очищается в ОбработатьФрагментДанныхВПотоке() для экономии памяти.
|
// ОбновляемыеДанные.НаборДанных, т.к. оно очищается в ОбработатьФрагментДанныхВПотоке() для экономии памяти.
|
||||||
|
|||||||
@@ -365,6 +365,7 @@
|
|||||||
|
|
||||||
Для Каждого Патч Из Устанавливаемые Цикл
|
Для Каждого Патч Из Устанавливаемые Цикл
|
||||||
ИмяИсправления = "";
|
ИмяИсправления = "";
|
||||||
|
Данные = Неопределено;
|
||||||
Попытка
|
Попытка
|
||||||
// Чтение исправления из архива.
|
// Чтение исправления из архива.
|
||||||
Если ТипЗнч(Патч) = Тип("Структура") Тогда
|
Если ТипЗнч(Патч) = Тип("Структура") Тогда
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
// Начать подключение системы взаимодействия.
|
// Начать подключение системы взаимодействия.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОписаниеЗавершения - ОписаниеОповещения - оповещения, которые будет выполнено после закрытия формы подключения
|
// ОписаниеЗавершения - ОписаниеОповещения - оповещение, которое будет выполнено
|
||||||
// с параметрами:
|
// после закрытия формы подключения с параметрами:
|
||||||
// * Результат - Неопределено
|
// * Результат - Неопределено
|
||||||
// * ДополнительныеПараметры - Неопределено
|
// * ДополнительныеПараметры - Неопределено
|
||||||
// - Структура.
|
// - Структура.
|
||||||
|
|||||||
@@ -101,9 +101,9 @@
|
|||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - параметры размещения подключаемых команд:
|
// Структура - параметры размещения подключаемых команд:
|
||||||
// * Источники - ОписаниеТипов
|
// * Источники - ОписаниеТипов
|
||||||
// - Массив - источники команд.
|
// - Массив из ОбъектМетаданных - источники команд.
|
||||||
// Используется для второстепенных списков, а также в формах объектов, не являющихся поставщиками
|
// Используется для второстепенных списков, а также в формах объектов, не являющихся поставщиками
|
||||||
// команд (обработки, общие формы). В массиве ожидаются элементы типа "ОбъектМетаданных".
|
// команд (обработки, общие формы).
|
||||||
// * КоманднаяПанель - ГруппаФормы - командная панель или группа команд, в которой выводятся подменю.
|
// * КоманднаяПанель - ГруппаФормы - командная панель или группа команд, в которой выводятся подменю.
|
||||||
// Используется как родитель для создания подменю в случае их отсутствия.
|
// Используется как родитель для создания подменю в случае их отсутствия.
|
||||||
// Если не указан то в первую очередь ищется группа "ПодключаемыеКоманды".
|
// Если не указан то в первую очередь ищется группа "ПодключаемыеКоманды".
|
||||||
|
|||||||
@@ -11,6 +11,9 @@
|
|||||||
// Позволяет внести изменения в дерево с разделами полнотекстового поиска, отображаемое при выборе области поиска.
|
// Позволяет внести изменения в дерево с разделами полнотекстового поиска, отображаемое при выборе области поиска.
|
||||||
// По умолчанию дерево разделов формируется на основании состава подсистем конфигурации.
|
// По умолчанию дерево разделов формируется на основании состава подсистем конфигурации.
|
||||||
//
|
//
|
||||||
|
// Перед добавлением объекта метаданных убедитесь, что его свойство ПолнотекстовыйПоиск
|
||||||
|
// установлено в значение Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать.
|
||||||
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// РазделыПоиска - ДеревоЗначений - области поиска. Содержит колонки:
|
// РазделыПоиска - ДеревоЗначений - области поиска. Содержит колонки:
|
||||||
// * Раздел - Строка - представление раздела, например, название подсистемы или объекта метаданных.
|
// * Раздел - Строка - представление раздела, например, название подсистемы или объекта метаданных.
|
||||||
|
|||||||
@@ -206,6 +206,7 @@
|
|||||||
|
|
||||||
Если СвойстваПользователяИБ.УказанТекущийПользовательИБ Тогда
|
Если СвойстваПользователяИБ.УказанТекущийПользовательИБ Тогда
|
||||||
Для Каждого ИмяРоли Из МассивИменРолей Цикл
|
Для Каждого ИмяРоли Из МассивИменРолей Цикл
|
||||||
|
//@skip-check using-isinrole
|
||||||
Если РольДоступна(СокрЛП(ИмяРоли)) Тогда // Не заменять на РолиДоступны.
|
Если РольДоступна(СокрЛП(ИмяРоли)) Тогда // Не заменять на РолиДоступны.
|
||||||
Возврат Истина;
|
Возврат Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1899,6 +1900,138 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Сохраняет настройки входа пользователей
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СохраняемыеНастройки - см. Пользователи.НовоеОписаниеНастроекВхода
|
||||||
|
// ДляВнешнихПользователей - Булево - Истина, если записываются настройки внешних пользователей
|
||||||
|
//
|
||||||
|
Процедура УстановитьНастройкиВхода(СохраняемыеНастройки, ДляВнешнихПользователей = Ложь) Экспорт
|
||||||
|
|
||||||
|
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||||
|
|
||||||
|
Блокировка = Новый БлокировкаДанных();
|
||||||
|
Блокировка.Добавить("Константа.НастройкиВходаПользователей");
|
||||||
|
|
||||||
|
Если Не РазделениеВключено Тогда
|
||||||
|
Блокировка.Добавить("Константа.УдалитьНастройкиВходаПользователей");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НачатьТранзакцию();
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
|
||||||
|
Блокировка.Заблокировать();
|
||||||
|
|
||||||
|
Настройки = ПользователиСлужебный.НастройкиВхода();
|
||||||
|
|
||||||
|
Если ДляВнешнихПользователей Тогда
|
||||||
|
НастройкиВхода = Настройки.ВнешниеПользователи;
|
||||||
|
Иначе
|
||||||
|
НастройкиВхода = Настройки.Пользователи;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого СохраняемаяНастройка Из СохраняемыеНастройки Цикл
|
||||||
|
|
||||||
|
Если Не НастройкиВхода.Свойство(СохраняемаяНастройка.Ключ)
|
||||||
|
Или ТипЗнч(НастройкиВхода[СохраняемаяНастройка.Ключ]) <> ТипЗнч(СохраняемаяНастройка.Значение) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастройкиВхода[СохраняемаяНастройка.Ключ] = СохраняемаяНастройка.Значение;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(НастройкиВхода.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода) Тогда
|
||||||
|
НастройкиВхода.ПросрочкаРаботыВПрограммеДатаВключения = Дата(1, 1, 1);
|
||||||
|
ИначеЕсли Не ЗначениеЗаполнено(НастройкиВхода.ПросрочкаРаботыВПрограммеДатаВключения) Тогда
|
||||||
|
НастройкиВхода.ПросрочкаРаботыВПрограммеДатаВключения = НачалоДня(ТекущаяДатаСеанса());
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Константы.НастройкиВходаПользователей.Установить(Новый ХранилищеЗначения(Настройки));
|
||||||
|
|
||||||
|
Если Не РазделениеВключено Тогда
|
||||||
|
|
||||||
|
СохраненныеНастройки = Константы.УдалитьНастройкиВходаПользователей.Получить().Получить();
|
||||||
|
Если СохраненныеНастройки <> Неопределено Тогда
|
||||||
|
Константы.УдалитьНастройкиВходаПользователей.Установить(Новый ХранилищеЗначения(Неопределено));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Настройки.Пользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода)
|
||||||
|
Или ЗначениеЗаполнено(Настройки.ВнешниеПользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода) Тогда
|
||||||
|
|
||||||
|
ПользователиСлужебный.ИзменитьЗаданиеКонтрольАктивностиПользователей(Истина);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
|
||||||
|
ОтменитьТранзакцию();
|
||||||
|
|
||||||
|
ВызватьИсключение;
|
||||||
|
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Возвращает структуру настроек входа по умолчанию.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * ПарольДолженОтвечатьТребованиямСложности - Булево - должен ли пароль отвечать требованиям сложности:
|
||||||
|
// длина не менее 7 символов;
|
||||||
|
// содержит любые 3 из 4-х типов символов: заглавные буквы,
|
||||||
|
// строчные буквы, цифры, специальные символы;
|
||||||
|
// не совпадает с именем (для входа).
|
||||||
|
// * МинимальнаяДлинаПароля - Число - минимальная длина пароля.
|
||||||
|
// * МаксимальныйСрокДействияПароля - Число - максимальный срок действия пароля.
|
||||||
|
// * МинимальныйСрокДействияПароля - Число - минимальный срок действия пароля.
|
||||||
|
// * ЗапретитьПовторениеПароляСредиПоследних - Число - количество последних паролей,
|
||||||
|
// которые запрещено использовать повторно
|
||||||
|
// * ПросрочкаРаботыВПрограммеДоЗапрещенияВхода - Число - количество дней не активности пользователя,
|
||||||
|
// после чего будет запрещен вход
|
||||||
|
// * ПросрочкаРаботыВПрограммеДатаВключения - Дата - дата включения просрочки работы в программе
|
||||||
|
//
|
||||||
|
Функция НовоеОписаниеНастроекВхода() Экспорт
|
||||||
|
|
||||||
|
Настройки = Новый Структура();
|
||||||
|
// Требования сложности.
|
||||||
|
Настройки.Вставить("ПарольДолженОтвечатьТребованиямСложности", Ложь);
|
||||||
|
Настройки.Вставить("МинимальнаяДлинаПароля", 0);
|
||||||
|
// Требования срока действия.
|
||||||
|
Настройки.Вставить("МаксимальныйСрокДействияПароля", 0);
|
||||||
|
Настройки.Вставить("МинимальныйСрокДействияПароля", 0);
|
||||||
|
Настройки.Вставить("ЗапретитьПовторениеПароляСредиПоследних", 0);
|
||||||
|
// Требование периодической работы в программе.
|
||||||
|
Настройки.Вставить("ПросрочкаРаботыВПрограммеДоЗапрещенияВхода", 0);
|
||||||
|
Настройки.Вставить("ПросрочкаРаботыВПрограммеДатаВключения", '00010101');
|
||||||
|
|
||||||
|
Возврат Настройки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавляет пароль в список используемых,
|
||||||
|
// если в настройках для входа заполнено свойство ЗапретитьПовторениеПароляСредиПоследних
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Пользователь - СправочникСсылка.Пользователи
|
||||||
|
// - СправочникСсылка.ВнешниеПользователи - пользователь для которого добавляется пароль
|
||||||
|
// СохраняемоеЗначениеПароля - Строка - хеш пароля
|
||||||
|
//
|
||||||
|
Процедура ДобавитьИспользованныйПароль(Пользователь, СохраняемоеЗначениеПароля) Экспорт
|
||||||
|
|
||||||
|
ПользователиСлужебный.ДобавитьИспользованныйПароль(Пользователь, СохраняемоеЗначениеПароля);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
// "Настройки прав и пользователей" доступны настройки входа, и доступность
|
// "Настройки прав и пользователей" доступны настройки входа, и доступность
|
||||||
// настроек ограничения срока действия в формах пользователя и внешнего пользователя.
|
// настроек ограничения срока действия в формах пользователя и внешнего пользователя.
|
||||||
// По умолчанию - Истина, а для базовых версий конфигурации - всегда Ложь.
|
// По умолчанию - Истина, а для базовых версий конфигурации - всегда Ложь.
|
||||||
|
// В модели сервиса получается из настроек Менеджера сервиса и не может быть переопределено.
|
||||||
//
|
//
|
||||||
// * РедактированиеРолей - Булево - определяет доступность интерфейса изменения ролей
|
// * РедактированиеРолей - Булево - определяет доступность интерфейса изменения ролей
|
||||||
// в карточках пользователя, внешнего пользователя и группы внешних пользователей
|
// в карточках пользователя, внешнего пользователя и группы внешних пользователей
|
||||||
|
|||||||
@@ -267,6 +267,7 @@
|
|||||||
//
|
//
|
||||||
Функция ОшибкаНедостаточноПравДляВходаВПрограмму(РегистрироватьВЖурнале = Истина) Экспорт
|
Функция ОшибкаНедостаточноПравДляВходаВПрограмму(РегистрироватьВЖурнале = Истина) Экспорт
|
||||||
|
|
||||||
|
//@skip-check using-isinrole
|
||||||
Если РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда // Не заменять на РолиДоступны.
|
Если РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда // Не заменять на РолиДоступны.
|
||||||
Возврат "";
|
Возврат "";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -277,6 +278,7 @@
|
|||||||
ИмяРолиБазовыеПрава = Метаданные.Роли.БазовыеПраваБСП.Имя;
|
ИмяРолиБазовыеПрава = Метаданные.Роли.БазовыеПраваБСП.Имя;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
//@skip-check using-isinrole
|
||||||
Если РольДоступна(ИмяРолиБазовыеПрава) Тогда // Не заменять на РолиДоступны.
|
Если РольДоступна(ИмяРолиБазовыеПрава) Тогда // Не заменять на РолиДоступны.
|
||||||
Возврат "";
|
Возврат "";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1279,12 +1281,16 @@
|
|||||||
Обработчик.Приоритет = 1;
|
Обработчик.Приоритет = 1;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
|
||||||
Обработчик = Обработчики.Добавить();
|
Обработчик = Обработчики.Добавить();
|
||||||
Обработчик.Версия = "3.0.2.192";
|
Обработчик.Версия = "3.0.2.192";
|
||||||
Обработчик.НачальноеЗаполнение = Истина;
|
Обработчик.НачальноеЗаполнение = Истина;
|
||||||
Обработчик.РежимВыполнения = "Оперативно";
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
Обработчик.Процедура = "ПользователиСлужебный.ПеренестиНастройкиДлиныИСложностиПаролейКонфигуратора";
|
Обработчик.Процедура = "ПользователиСлужебный.ПеренестиНастройкиДлиныИСложностиПаролейКонфигуратора";
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Обработчик = Обработчики.Добавить();
|
Обработчик = Обработчики.Добавить();
|
||||||
Обработчик.НачальноеЗаполнение = Истина;
|
Обработчик.НачальноеЗаполнение = Истина;
|
||||||
Обработчик.РежимВыполнения = "Оперативно";
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
@@ -1358,6 +1364,16 @@
|
|||||||
Обработчик.РежимВыполнения = "Оперативно";
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
Обработчик.Процедура = "Константы.ИспользоватьГруппыВнешнихПользователей.Обновить";
|
Обработчик.Процедура = "Константы.ИспользоватьГруппыВнешнихПользователей.Обновить";
|
||||||
|
|
||||||
|
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
|
||||||
|
Обработчик = Обработчики.Добавить();
|
||||||
|
Обработчик.Версия = "3.1.6.108";
|
||||||
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
|
Обработчик.Процедура = "Константы.УдалитьНастройкиВходаПользователей.ПеренестиНастройки";
|
||||||
|
Обработчик.Комментарий = НСтр("ru = 'Перенос настроек входа пользователей'");
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриОпределенииНастроек
|
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриОпределенииНастроек
|
||||||
@@ -1483,6 +1499,22 @@
|
|||||||
Набор.Идентификатор = Новый УникальныйИдентификатор("2bf06771-775a-406a-a5dc-45a10e98914f");
|
Набор.Идентификатор = Новый УникальныйИдентификатор("2bf06771-775a-406a-a5dc-45a10e98914f");
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// См. ОбщегоНазначенияПереопределяемый.ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СтруктураПоддерживаемыхВерсий - см. ОбщегоНазначенияПереопределяемый.ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов.ПоддерживаемыеВерсии
|
||||||
|
//
|
||||||
|
Процедура ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов(СтруктураПоддерживаемыхВерсий) Экспорт
|
||||||
|
|
||||||
|
МассивВерсий = Новый Массив;
|
||||||
|
МассивВерсий.Добавить("1.0.0.1");
|
||||||
|
|
||||||
|
СтруктураПоддерживаемыхВерсий.Вставить(
|
||||||
|
"НастройкиВходаВМоделиСервиса",
|
||||||
|
МассивВерсий);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчики событий подсистемы Обмен данными.
|
// Обработчики событий подсистемы Обмен данными.
|
||||||
|
|
||||||
// См. ОбменДаннымиПереопределяемый.ПриНастройкеПодчиненногоУзлаРИБ.
|
// См. ОбменДаннымиПереопределяемый.ПриНастройкеПодчиненногоУзлаРИБ.
|
||||||
@@ -1621,6 +1653,10 @@
|
|||||||
//
|
//
|
||||||
Процедура ИзменитьЗаданиеКонтрольАктивностиПользователей(Использование) Экспорт
|
Процедура ИзменитьЗаданиеКонтрольАктивностиПользователей(Использование) Экспорт
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
РегламентныеЗаданияСервер.УстановитьИспользованиеПредопределенногоРегламентногоЗадания(
|
РегламентныеЗаданияСервер.УстановитьИспользованиеПредопределенногоРегламентногоЗадания(
|
||||||
Метаданные.РегламентныеЗадания.КонтрольАктивностиПользователей, Использование);
|
Метаданные.РегламентныеЗадания.КонтрольАктивностиПользователей, Использование);
|
||||||
|
|
||||||
@@ -1629,6 +1665,10 @@
|
|||||||
// Вызывается при записи пользователя или внешнего пользователя, проверят срок действия.
|
// Вызывается при записи пользователя или внешнего пользователя, проверят срок действия.
|
||||||
Процедура ВключитьЗаданиеКонтрольАктивностиПользователейПриНеобходимости(Пользователь) Экспорт
|
Процедура ВключитьЗаданиеКонтрольАктивностиПользователейПриНеобходимости(Пользователь) Экспорт
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
|
||||||
@@ -1660,18 +1700,7 @@
|
|||||||
// См. ПользователиСлужебныйПовтИсп.Настройки
|
// См. ПользователиСлужебныйПовтИсп.Настройки
|
||||||
Функция НастройкиВхода() Экспорт
|
Функция НастройкиВхода() Экспорт
|
||||||
|
|
||||||
Настройки = Новый Структура;
|
Настройки = Пользователи.НовоеОписаниеНастроекВхода();
|
||||||
// Требования сложности.
|
|
||||||
Настройки.Вставить("ПарольДолженОтвечатьТребованиямСложности", Ложь);
|
|
||||||
Настройки.Вставить("МинимальнаяДлинаПароля", 0);
|
|
||||||
// Требования срока действия.
|
|
||||||
Настройки.Вставить("МаксимальныйСрокДействияПароля", 0);
|
|
||||||
Настройки.Вставить("МинимальныйСрокДействияПароля", 0);
|
|
||||||
Настройки.Вставить("ЗапретитьПовторениеПароляСредиПоследних", 0);
|
|
||||||
// Требование периодической работы в программе.
|
|
||||||
Настройки.Вставить("ПросрочкаРаботыВПрограммеДоЗапрещенияВхода", 0);
|
|
||||||
Настройки.Вставить("ПросрочкаРаботыВПрограммеДатаВключения", '00010101');
|
|
||||||
|
|
||||||
КопияНастроек = Новый ФиксированнаяСтруктура(Настройки);
|
КопияНастроек = Новый ФиксированнаяСтруктура(Настройки);
|
||||||
|
|
||||||
ПодготовленныеНастройки = Новый Структура;
|
ПодготовленныеНастройки = Новый Структура;
|
||||||
@@ -1679,32 +1708,47 @@
|
|||||||
ПодготовленныеНастройки.Вставить("ВнешниеПользователи", Настройки);
|
ПодготовленныеНастройки.Вставить("ВнешниеПользователи", Настройки);
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
|
||||||
СохраненныеНастройки = Константы.НастройкиВходаПользователей.Получить().Получить();
|
СохраненныеНастройки = Константы.НастройкиВходаПользователей.Получить().Получить();
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
СохраненныеНастройки = Константы.УдалитьНастройкиВходаПользователей.Получить().Получить();
|
||||||
|
Если СохраненныеНастройки = Неопределено Тогда
|
||||||
|
СохраненныеНастройки = Константы.НастройкиВходаПользователей.Получить().Получить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Ложь);
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
Если ТипЗнч(СохраненныеНастройки) <> Тип("Структура") Тогда
|
Если ТипЗнч(СохраненныеНастройки) <> Тип("Структура") Тогда
|
||||||
Возврат ПодготовленныеНастройки;
|
Возврат ПодготовленныеНастройки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого ПодготовленнаяНастройка Из ПодготовленныеНастройки Цикл
|
Для Каждого ПодготовленнаяНастройка Из ПодготовленныеНастройки Цикл
|
||||||
|
|
||||||
Если Не СохраненныеНастройки.Свойство(ПодготовленнаяНастройка.Ключ)
|
Если Не СохраненныеНастройки.Свойство(ПодготовленнаяНастройка.Ключ)
|
||||||
Или ТипЗнч(СохраненныеНастройки[ПодготовленнаяНастройка.Ключ]) <> Тип("Структура") Тогда
|
Или ТипЗнч(СохраненныеНастройки[ПодготовленнаяНастройка.Ключ]) <> Тип("Структура") Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НачальныеНастройки = ПодготовленнаяНастройка.Значение;
|
НачальныеНастройки = ПодготовленнаяНастройка.Значение;
|
||||||
ТекущиеНастройки = СохраненныеНастройки[ПодготовленнаяНастройка.Ключ];
|
ТекущиеНастройки = СохраненныеНастройки[ПодготовленнаяНастройка.Ключ];
|
||||||
|
|
||||||
Если ТипЗнч(ТекущиеНастройки) = Тип("Структура") Тогда
|
|
||||||
Для Каждого НачальнаяНастройка Из НачальныеНастройки Цикл
|
Для Каждого НачальнаяНастройка Из НачальныеНастройки Цикл
|
||||||
|
|
||||||
Если Не ТекущиеНастройки.Свойство(НачальнаяНастройка.Ключ)
|
Если Не ТекущиеНастройки.Свойство(НачальнаяНастройка.Ключ)
|
||||||
Или ТипЗнч(ТекущиеНастройки[НачальнаяНастройка.Ключ]) <> ТипЗнч(НачальнаяНастройка.Значение) Тогда
|
Или ТипЗнч(ТекущиеНастройки[НачальнаяНастройка.Ключ]) <> ТипЗнч(НачальнаяНастройка.Значение) Тогда
|
||||||
|
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НачальныеНастройки[НачальнаяНастройка.Ключ] = ТекущиеНастройки[НачальнаяНастройка.Ключ];
|
НачальныеНастройки[НачальнаяНастройка.Ключ] = ТекущиеНастройки[НачальнаяНастройка.Ключ];
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат ПодготовленныеНастройки;
|
Возврат ПодготовленныеНастройки;
|
||||||
@@ -1917,7 +1961,8 @@
|
|||||||
|
|
||||||
Если Не ДополнительныеПараметры.Свойство("ЭтоСлужебныйПользователь")
|
Если Не ДополнительныеПараметры.Свойство("ЭтоСлужебныйПользователь")
|
||||||
И ОбщегоНазначения.РазделениеВключено()
|
И ОбщегоНазначения.РазделениеВключено()
|
||||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ПользователиВМоделиСервиса") Тогда
|
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ПользователиВМоделиСервиса")
|
||||||
|
И Пользователь <> Пользователи.АвторизованныйПользователь() Тогда
|
||||||
|
|
||||||
МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса");
|
МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса");
|
||||||
ДействияСПользователемСервиса = МодульПользователиСлужебныйВМоделиСервиса.ПолучитьДействияСПользователемСервиса(
|
ДействияСПользователемСервиса = МодульПользователиСлужебныйВМоделиСервиса.ПолучитьДействияСПользователемСервиса(
|
||||||
@@ -2004,7 +2049,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Проверка минимального срока действия пароля.
|
// Проверка минимального срока действия пароля.
|
||||||
Если УровеньДоступа.НастройкиДляВхода Тогда
|
Если Не ОбщегоНазначения.РазделениеВключено() И УровеньДоступа.НастройкиДляВхода Тогда
|
||||||
Возврат Истина;
|
Возврат Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -2307,21 +2352,10 @@
|
|||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
Иначе
|
Иначе
|
||||||
СведенияОПользователе.ДатаНачалаИспользованияПароля = Неопределено;
|
|
||||||
Если Параметры.Пользователь.ДополнительныеСвойства.Свойство("СменаПароляПриВходеВПрограмму") Тогда
|
Если Параметры.Пользователь.ДополнительныеСвойства.Свойство("СменаПароляПриВходеВПрограмму") Тогда
|
||||||
СведенияОПользователе.ПотребоватьСменуПароляПриВходе = Ложь;
|
СведенияОПользователе.ПотребоватьСменуПароляПриВходе = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода
|
ОбновитьСведенияОбИспользованииПароля(СведенияОПользователе, СохраняемоеЗначениеПароля);
|
||||||
И ЗначениеЗаполнено(НастройкиВхода.ЗапретитьПовторениеПароляСредиПоследних) Тогда
|
|
||||||
|
|
||||||
ИспользованныеПароли.Добавить(СохраняемоеЗначениеПароля);
|
|
||||||
Пока ИспользованныеПароли.Количество() > НастройкиВхода.ЗапретитьПовторениеПароляСредиПоследних Цикл
|
|
||||||
ИспользованныеПароли.Удалить(0);
|
|
||||||
КонецЦикла;
|
|
||||||
Иначе
|
|
||||||
ИспользованныеПароли.Очистить();
|
|
||||||
КонецЕсли;
|
|
||||||
СведенияОПользователе.ИспользованныеПароли = Новый ХранилищеЗначения(ИспользованныеПароли);
|
|
||||||
НаборЗаписей.Записать();
|
НаборЗаписей.Записать();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2421,6 +2455,91 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавляет пароль в список используемых,
|
||||||
|
// если в настройках для входа заполнено свойство ЗапретитьПовторениеПароляСредиПоследних
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Пользователь - СправочникСсылка.Пользователи
|
||||||
|
// - СправочникСсылка.ВнешниеПользователи - пользователь для которого добавляется пароль
|
||||||
|
// СохраняемоеЗначениеПароля - Строка - хеш пароля
|
||||||
|
//
|
||||||
|
Процедура ДобавитьИспользованныйПароль(Пользователь, СохраняемоеЗначениеПароля) Экспорт
|
||||||
|
|
||||||
|
Блокировка = Новый БлокировкаДанных();
|
||||||
|
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СведенияОПользователях");
|
||||||
|
ЭлементБлокировки.УстановитьЗначение("Пользователь", Пользователь);
|
||||||
|
|
||||||
|
НачатьТранзакцию();
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
|
||||||
|
Блокировка.Заблокировать();
|
||||||
|
|
||||||
|
СведенияОПользователе = РегистрыСведений.СведенияОПользователях.СоздатьМенеджерЗаписи();
|
||||||
|
СведенияОПользователе.Пользователь = Пользователь;
|
||||||
|
СведенияОПользователе.Прочитать();
|
||||||
|
|
||||||
|
Если Не СведенияОПользователе.Выбран() Тогда
|
||||||
|
СведенияОПользователе.Пользователь = Пользователь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОбновитьСведенияОбИспользованииПароля(СведенияОПользователе, СохраняемоеЗначениеПароля);
|
||||||
|
|
||||||
|
СведенияОПользователе.Записать();
|
||||||
|
|
||||||
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
|
||||||
|
ОтменитьТранзакцию();
|
||||||
|
ВызватьИсключение;
|
||||||
|
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Обновляет данные использования пароля в записи сведений о пользователе
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СведенияОПользователе - РегистрСведенийМенеджерЗаписи.СведенияОПользователях
|
||||||
|
// - РегистрСведенийЗапись.СведенияОПользователях - запись регистра сведений
|
||||||
|
// СохраняемоеЗначениеПароля - Строка - хеш пароля
|
||||||
|
// НастройкиВхода - см. ПользователиСлужебный.НастройкиВхода
|
||||||
|
//
|
||||||
|
Процедура ОбновитьСведенияОбИспользованииПароля(СведенияОПользователе, СохраняемоеЗначениеПароля)
|
||||||
|
|
||||||
|
Если ТипЗнч(СведенияОПользователе.Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||||
|
НастройкиВхода = ПользователиСлужебныйПовтИсп.Настройки().ВнешниеПользователи;
|
||||||
|
Иначе
|
||||||
|
НастройкиВхода = ПользователиСлужебныйПовтИсп.Настройки().Пользователи;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИспользованныеПароли = СведенияОПользователе.ИспользованныеПароли.Получить();
|
||||||
|
Если ИспользованныеПароли = Неопределено Тогда
|
||||||
|
ИспользованныеПароли = Новый Массив();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Пользователи.ОбщиеНастройкиВходаИспользуются()
|
||||||
|
И ЗначениеЗаполнено(НастройкиВхода.ЗапретитьПовторениеПароляСредиПоследних) Тогда
|
||||||
|
|
||||||
|
ИспользованныеПароли.Добавить(СохраняемоеЗначениеПароля);
|
||||||
|
Пока ИспользованныеПароли.Количество() > НастройкиВхода.ЗапретитьПовторениеПароляСредиПоследних Цикл
|
||||||
|
ИспользованныеПароли.Удалить(0);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
ИспользованныеПароли.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДатаНачалаИспользованияПароля = ?(ОбщегоНазначения.РазделениеВключено(),
|
||||||
|
НачалоДня(ТекущаяДатаСеанса()),
|
||||||
|
Неопределено);
|
||||||
|
|
||||||
|
СведенияОПользователе.ДатаНачалаИспользованияПароля = ДатаНачалаИспользованияПароля;
|
||||||
|
СведенияОПользователе.ИспользованныеПароли = Новый ХранилищеЗначения(ИспользованныеПароли);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Процедуры и функции работы с пользователями.
|
// Процедуры и функции работы с пользователями.
|
||||||
|
|
||||||
@@ -3180,6 +3299,7 @@
|
|||||||
Если ПользовательИБ = Неопределено
|
Если ПользовательИБ = Неопределено
|
||||||
Или ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь() Тогда
|
Или ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь() Тогда
|
||||||
|
|
||||||
|
//@skip-check using-isinrole
|
||||||
Возврат РольДоступна(Метаданные.Роли.ПолныеПрава) // Не заменять на РолиДоступны.
|
Возврат РольДоступна(Метаданные.Роли.ПолныеПрава) // Не заменять на РолиДоступны.
|
||||||
И (РольДоступна(Метаданные.Роли.АдминистраторСистемы) // Не заменять на РолиДоступны.
|
И (РольДоступна(Метаданные.Роли.АдминистраторСистемы) // Не заменять на РолиДоступны.
|
||||||
Или ОбщегоНазначения.РазделениеВключено() );
|
Или ОбщегоНазначения.РазделениеВключено() );
|
||||||
@@ -5061,8 +5181,12 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяКонстанты = ?(Метаданные.Константы.Найти("УдалитьНастройкиВходаПользователей") = Неопределено,
|
||||||
|
"НастройкиВходаПользователей",
|
||||||
|
"УдалитьНастройкиВходаПользователей");
|
||||||
|
|
||||||
Блокировка = Новый БлокировкаДанных;
|
Блокировка = Новый БлокировкаДанных;
|
||||||
Блокировка.Добавить("Константа.НастройкиВходаПользователей");
|
Блокировка.Добавить("Константа." + ИмяКонстанты);
|
||||||
|
|
||||||
НачатьТранзакцию();
|
НачатьТранзакцию();
|
||||||
Попытка
|
Попытка
|
||||||
@@ -5079,7 +5203,7 @@
|
|||||||
НастройкиВхода.ВнешниеПользователи.ПарольДолженОтвечатьТребованиямСложности = СложныйПароль;
|
НастройкиВхода.ВнешниеПользователи.ПарольДолженОтвечатьТребованиямСложности = СложныйПароль;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Константы.НастройкиВходаПользователей.Установить(Новый ХранилищеЗначения(НастройкиВхода));
|
Константы[ИмяКонстанты].Установить(Новый ХранилищеЗначения(НастройкиВхода));
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
@@ -6851,10 +6975,6 @@
|
|||||||
// Обновляет дату последней активности и проверяет необходимость смены пароля.
|
// Обновляет дату последней активности и проверяет необходимость смены пароля.
|
||||||
Функция ТребуетсяСменитьПароль(ОписаниеОшибки = "", ПриЗапуске = Ложь, РегистрироватьВЖурнале = Истина)
|
Функция ТребуетсяСменитьПароль(ОписаниеОшибки = "", ПриЗапуске = Ложь, РегистрироватьВЖурнале = Истина)
|
||||||
|
|
||||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
|
||||||
Возврат Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
|
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
|
||||||
Если Не ЗначениеЗаполнено(ПользовательИБ.Имя) Тогда
|
Если Не ЗначениеЗаполнено(ПользовательИБ.Имя) Тогда
|
||||||
Возврат Ложь;
|
Возврат Ложь;
|
||||||
@@ -6880,11 +7000,26 @@
|
|||||||
Иначе
|
Иначе
|
||||||
СведенияОПользователе = НаборЗаписей[0];
|
СведенияОПользователе = НаборЗаписей[0];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Записать = Ложь;
|
Записать = Ложь;
|
||||||
|
|
||||||
Если СведенияОПользователе.ДатаПоследнейАктивности <> НачалоДняТекущейДатыСеанса Тогда
|
Если СведенияОПользователе.ДатаПоследнейАктивности <> НачалоДняТекущейДатыСеанса Тогда
|
||||||
|
|
||||||
СведенияОПользователе.ДатаПоследнейАктивности = НачалоДняТекущейДатыСеанса;
|
СведенияОПользователе.ДатаПоследнейАктивности = НачалоДняТекущейДатыСеанса;
|
||||||
Записать = Истина;
|
Записать = Истина;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено()
|
||||||
|
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ПользователиСервиса") Тогда
|
||||||
|
|
||||||
|
МодульПользователиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСервиса");
|
||||||
|
МодульПользователиСервиса.ОбновитьАктивностьПользователяСервиса(
|
||||||
|
ТекущийПользователь,
|
||||||
|
НачалоДняТекущейДатыСеанса);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИспользуемыйКлиент = СтандартныеПодсистемыСервер.ПараметрыКлиентаНаСервере().Получить("ИспользуемыйКлиент");
|
ИспользуемыйКлиент = СтандартныеПодсистемыСервер.ПараметрыКлиентаНаСервере().Получить("ИспользуемыйКлиент");
|
||||||
Если ИспользуемыйКлиент <> Неопределено
|
Если ИспользуемыйКлиент <> Неопределено
|
||||||
И СведенияОПользователе.ПоследнийИспользуемыйКлиент <> ИспользуемыйКлиент Тогда
|
И СведенияОПользователе.ПоследнийИспользуемыйКлиент <> ИспользуемыйКлиент Тогда
|
||||||
@@ -7548,6 +7683,10 @@
|
|||||||
Процедура ОтключитьНеактивныхИПросроченныхПользователей(ТолькоДляАвторизованногоПользователя = Ложь,
|
Процедура ОтключитьНеактивныхИПросроченныхПользователей(ТолькоДляАвторизованногоПользователя = Ложь,
|
||||||
ОписаниеОшибки = "", РегистрироватьВЖурнале = Истина)
|
ОписаниеОшибки = "", РегистрироватьВЖурнале = Истина)
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
Настройки = ПользователиСлужебныйПовтИсп.Настройки();
|
Настройки = ПользователиСлужебныйПовтИсп.Настройки();
|
||||||
@@ -8050,7 +8189,8 @@
|
|||||||
ДеревоРолей.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
|
ДеревоРолей.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
|
||||||
ДеревоРолей.Колонки.Добавить("НомерКартинки", Новый ОписаниеТипов("Число"));
|
ДеревоРолей.Колонки.Добавить("НомерКартинки", Новый ОписаниеТипов("Число"));
|
||||||
ПодготовитьДеревоРолей(ДеревоРолей.Строки, СкрытьРольПолныеПрава, ПоказатьТолькоВыбранныеРоли,
|
ПодготовитьДеревоРолей(ДеревоРолей.Строки, СкрытьРольПолныеПрава, ПоказатьТолькоВыбранныеРоли,
|
||||||
Параметры.КоллекцияРолей);
|
Параметры.КоллекцияРолей, ?(Параметры.Свойство("СтандартныеРолиРасширений"),
|
||||||
|
Параметры.СтандартныеРолиРасширений, Неопределено));
|
||||||
|
|
||||||
Параметры.Форма.ЗначениеВРеквизитФормы(ДеревоРолей, "Роли");
|
Параметры.Форма.ЗначениеВРеквизитФормы(ДеревоРолей, "Роли");
|
||||||
|
|
||||||
@@ -8154,7 +8294,8 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПодготовитьДеревоРолей(Знач Коллекция, Знач СкрытьРольПолныеПрава, Знач ПоказатьТолькоВыбранныеРоли, КоллекцияРолей)
|
Процедура ПодготовитьДеревоРолей(Знач Коллекция, Знач СкрытьРольПолныеПрава, Знач ПоказатьТолькоВыбранныеРоли,
|
||||||
|
КоллекцияРолей, СтандартныеРолиРасширений)
|
||||||
|
|
||||||
Индекс = Коллекция.Количество()-1;
|
Индекс = Коллекция.Количество()-1;
|
||||||
|
|
||||||
@@ -8162,12 +8303,15 @@
|
|||||||
Строка = Коллекция[Индекс];
|
Строка = Коллекция[Индекс];
|
||||||
|
|
||||||
ПодготовитьДеревоРолей(Строка.Строки, СкрытьРольПолныеПрава, ПоказатьТолькоВыбранныеРоли,
|
ПодготовитьДеревоРолей(Строка.Строки, СкрытьРольПолныеПрава, ПоказатьТолькоВыбранныеРоли,
|
||||||
КоллекцияРолей);
|
КоллекцияРолей, СтандартныеРолиРасширений);
|
||||||
|
|
||||||
Если Строка.ЭтоРоль Тогда
|
Если Строка.ЭтоРоль Тогда
|
||||||
Если СкрытьРольПолныеПрава
|
Если СкрытьРольПолныеПрава
|
||||||
И ( ВРег(Строка.Имя) = ВРег("ПолныеПрава")
|
И ( ВРег(Строка.Имя) = ВРег("ПолныеПрава")
|
||||||
ИЛИ ВРег(Строка.Имя) = ВРег("АдминистраторСистемы")) Тогда
|
ИЛИ ВРег(Строка.Имя) = ВРег("АдминистраторСистемы")
|
||||||
|
ИЛИ СтандартныеРолиРасширений <> Неопределено
|
||||||
|
И ( СтандартныеРолиРасширений.ПолныеПрава.Найти(Строка.Имя) <> Неопределено
|
||||||
|
Или СтандартныеРолиРасширений.АдминистраторСистемы.Найти(Строка.Имя) <> Неопределено)) Тогда
|
||||||
Коллекция.Удалить(Индекс);
|
Коллекция.Удалить(Индекс);
|
||||||
Иначе
|
Иначе
|
||||||
Строка.НомерКартинки = 7;
|
Строка.НомерКартинки = 7;
|
||||||
@@ -8280,6 +8424,7 @@
|
|||||||
КоллекцияРолей.Добавить().Роль = "ПолныеПрава";
|
КоллекцияРолей.Добавить().Роль = "ПолныеПрава";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
ЗаполнитьСтандартныеРолиРасширений(Параметры);
|
||||||
|
|
||||||
Если ПоказатьТолькоВыбранныеРоли Тогда
|
Если ПоказатьТолькоВыбранныеРоли Тогда
|
||||||
Если КоллекцияРолей.Количество() > 0 Тогда
|
Если КоллекцияРолей.Количество() > 0 Тогда
|
||||||
@@ -8297,12 +8442,27 @@
|
|||||||
Иначе
|
Иначе
|
||||||
ДобавитьУдалитьРолиПодсистемы(Параметры, ТекущиеДанные.ПолучитьЭлементы(), ТекущиеДанные.Пометка);
|
ДобавитьУдалитьРолиПодсистемы(Параметры, ТекущиеДанные.ПолучитьЭлементы(), ТекущиеДанные.Пометка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
ЗаполнитьСтандартныеРолиРасширений(Параметры);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОбновитьПометкуВыбранныхРолей(Параметры, Роли.ПолучитьЭлементы());
|
ОбновитьПометкуВыбранныхРолей(Параметры, Роли.ПолучитьЭлементы());
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗаполнитьСтандартныеРолиРасширений(Параметры)
|
||||||
|
|
||||||
|
Если Не Параметры.Свойство("СтандартныеРолиРасширений") Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||||
|
МодульПрофилиГруппДоступа = ОбщегоНазначения.ОбщийМодуль("Справочники.ПрофилиГруппДоступа");
|
||||||
|
МодульПрофилиГруппДоступа.ЗаполнитьСтандартныеРолиРасширений(Параметры.КоллекцияРолей,
|
||||||
|
Параметры.СтандартныеРолиРасширений);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Параметры - см. ОбработатьИнтерфейсРолей.Параметры
|
// Параметры - см. ОбработатьИнтерфейсРолей.Параметры
|
||||||
// Роль - Строка
|
// Роль - Строка
|
||||||
|
|||||||
@@ -261,11 +261,25 @@
|
|||||||
ИнтеграцияПодсистемБСП.ПриОпределенииНастроек(Настройки);
|
ИнтеграцияПодсистемБСП.ПриОпределенииНастроек(Настройки);
|
||||||
ПользователиПереопределяемый.ПриОпределенииНастроек(Настройки);
|
ПользователиПереопределяемый.ПриОпределенииНастроек(Настройки);
|
||||||
|
|
||||||
Если ОбщегоНазначения.РазделениеВключено()
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
Или СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации()
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ПользователиСервиса") Тогда
|
||||||
|
|
||||||
|
МодульПользователиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСервиса");
|
||||||
|
|
||||||
|
Настройки.Вставить(
|
||||||
|
"ОбщиеНастройкиВхода",
|
||||||
|
МодульПользователиСервиса.ИспользоватьОбщиеНастройкиВходаПользователейСервиса());
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
Настройки.Вставить("ОбщиеНастройкиВхода", Ложь);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации()
|
||||||
Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
||||||
|
|
||||||
Настройки.Вставить("ОбщиеНастройкиВхода", Ложь);
|
Настройки.Вставить("ОбщиеНастройкиВхода", Ложь);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВсеНастройки = ПользователиСлужебный.НастройкиВхода();
|
ВсеНастройки = ПользователиСлужебный.НастройкиВхода();
|
||||||
@@ -345,9 +359,11 @@
|
|||||||
ПравоДоступа("Администрирование", Метаданные, ПользовательИБ),
|
ПравоДоступа("Администрирование", Метаданные, ПользовательИБ),
|
||||||
ПравоДоступа("Администрирование", Метаданные)));
|
ПравоДоступа("Администрирование", Метаданные)));
|
||||||
|
|
||||||
|
//@skip-check using-isinrole
|
||||||
Свойства.Вставить("РольДоступнаАдминистраторСистемы",
|
Свойства.Вставить("РольДоступнаАдминистраторСистемы",
|
||||||
РольДоступна(Метаданные.Роли.АдминистраторСистемы)); // Не заменять на РолиДоступны.
|
РольДоступна(Метаданные.Роли.АдминистраторСистемы)); // Не заменять на РолиДоступны.
|
||||||
|
|
||||||
|
//@skip-check using-isinrole
|
||||||
Свойства.Вставить("РольДоступнаПолныеПрава",
|
Свойства.Вставить("РольДоступнаПолныеПрава",
|
||||||
РольДоступна(Метаданные.Роли.ПолныеПрава)); // Не заменять на РолиДоступны.
|
РольДоступна(Метаданные.Роли.ПолныеПрава)); // Не заменять на РолиДоступны.
|
||||||
|
|
||||||
|
|||||||
@@ -300,7 +300,6 @@
|
|||||||
АдресПоПолям = Адрес;
|
АдресПоПолям = Адрес;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|
||||||
ПереченьЭлементов = Новый ФиксированноеСоответствие(Новый Соответствие);
|
ПереченьЭлементов = Новый ФиксированноеСоответствие(Новый Соответствие);
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||||
|
|
||||||
@@ -2644,7 +2643,8 @@
|
|||||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||||
Если СтрСравнить(ТипМуниципальногоРайона, "м.р-н") = 0 Тогда
|
Если СтрСравнить(ТипМуниципальногоРайона, "м.р-н") = 0 Тогда
|
||||||
КодМуниципальногоРайона = "1";
|
КодМуниципальногоРайона = "1";
|
||||||
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "г.о.") = 0 Тогда
|
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "г.о.") = 0
|
||||||
|
Или СтрСравнить(ТипМуниципальногоРайона, "ф.т.") = 0 Тогда
|
||||||
КодМуниципальногоРайона = "2";
|
КодМуниципальногоРайона = "2";
|
||||||
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "вн.тер.") = 0
|
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "вн.тер.") = 0
|
||||||
Или СтрСравнить(ТипМуниципальногоРайона, "вн.тер. г.") = 0 Тогда
|
Или СтрСравнить(ТипМуниципальногоРайона, "вн.тер. г.") = 0 Тогда
|
||||||
@@ -4142,7 +4142,7 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ВывитьИИсправитьУстаревшиеАдреса() Экспорт
|
Процедура ВыявитьИИсправитьУстаревшиеАдреса() Экспорт
|
||||||
|
|
||||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
@@ -4377,4 +4377,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверить корректность кода города и номера телефона кодов страны.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПоляТелефона - см. УправлениеКонтактнойИнформациейКлиентСервер.СтруктураПолейТелефона
|
||||||
|
// СписокОшибок - СписокЗначений
|
||||||
|
//
|
||||||
|
Процедура ПроверитьКорректностьКодовСтраныИГорода(ПоляТелефона, СписокОшибок) Экспорт
|
||||||
|
|
||||||
|
РаботаСАдресамиКлиентСервер.ПроверитьКорректностьКодовСтраныИГорода(ПоляТелефона, СписокОшибок);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -80,22 +80,12 @@
|
|||||||
// Проверить корректность кода города и номера телефона кодов страны.
|
// Проверить корректность кода города и номера телефона кодов страны.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// КодСтраны - Строка
|
// ПоляТелефона - см. УправлениеКонтактнойИнформациейКлиентСервер.СтруктураПолейТелефона
|
||||||
// КодГорода - Строка
|
|
||||||
// НомерТелефона - Строка
|
|
||||||
// СписокОшибок - СписокЗначений
|
// СписокОшибок - СписокЗначений
|
||||||
//
|
//
|
||||||
Процедура ПроверитьКорректностьКодовСтраныИГорода(КодСтраны, КодГорода, НомерТелефона, СписокОшибок) Экспорт
|
Процедура ПроверитьКорректностьКодовСтраныИГорода(ПоляТелефона, СписокОшибок) Экспорт
|
||||||
|
|
||||||
Если КодСтраны = "7" ИЛИ КодСтраны = "+7" Тогда
|
РаботаСАдресамиКлиентСервер.ПроверитьКорректностьКодовСтраныИГорода(ПоляТелефона, СписокОшибок);
|
||||||
Если СтрДлина(УправлениеКонтактнойИнформациейКлиент.ОставитьТолькоЦифрыВСтроке(НомерТелефона)) > 7 Тогда
|
|
||||||
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'В России номер телефона не может быть больше 7 цифр'"));
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если СтрНачинаетсяС(КодГорода, "9") И СтрДлина(КодГорода) <> 3 Тогда
|
|
||||||
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'В России номера мобильных телефонов должны содержать 3 цифры'"));
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -764,6 +764,30 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверить корректность кода города и номера телефона кодов страны.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПоляТелефона - см. УправлениеКонтактнойИнформациейКлиентСервер.СтруктураПолейТелефона
|
||||||
|
// СписокОшибок - СписокЗначений
|
||||||
|
//
|
||||||
|
Процедура ПроверитьКорректностьКодовСтраныИГорода(ПоляТелефона, СписокОшибок) Экспорт
|
||||||
|
|
||||||
|
КодСтраны = ПоляТелефона.КодСтраны;
|
||||||
|
КодГорода = ПоляТелефона.КодГорода;
|
||||||
|
НомерТелефона = ПоляТелефона.НомерТелефона;
|
||||||
|
|
||||||
|
Если КодСтраны = "7" ИЛИ КодСтраны = "+7" Тогда
|
||||||
|
Если СтрДлина(УправлениеКонтактнойИнформациейКлиентСервер.ОставитьТолькоЦифрыВСтроке(НомерТелефона)) > 7 Тогда
|
||||||
|
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'В России номер телефона не может быть больше 7 цифр'"));
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СтрНачинаетсяС(КодГорода, "9") И СтрДлина(КодГорода) <> 3 Тогда
|
||||||
|
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'В России номера мобильных телефонов должны содержать 3 цифры'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -36,7 +36,8 @@
|
|||||||
| УчетныеЗаписиЭлектроннойПочты.Пользователь КАК ПользовательSMTP,
|
| УчетныеЗаписиЭлектроннойПочты.Пользователь КАК ПользовательSMTP,
|
||||||
| УчетныеЗаписиЭлектроннойПочты.ВремяОжидания КАК Таймаут,
|
| УчетныеЗаписиЭлектроннойПочты.ВремяОжидания КАК Таймаут,
|
||||||
| УчетныеЗаписиЭлектроннойПочты.ПротоколВходящейПочты КАК Протокол,
|
| УчетныеЗаписиЭлектроннойПочты.ПротоколВходящейПочты КАК Протокол,
|
||||||
| УчетныеЗаписиЭлектроннойПочты.ПриОтправкеПисемТребуетсяАвторизация КАК ПриОтправкеПисемТребуетсяАвторизация
|
| УчетныеЗаписиЭлектроннойПочты.ПриОтправкеПисемТребуетсяАвторизация КАК ПриОтправкеПисемТребуетсяАвторизация,
|
||||||
|
| УчетныеЗаписиЭлектроннойПочты.АвторизацияСПомощьюПочтовогоСервиса
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
@@ -53,10 +54,19 @@
|
|||||||
СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP";
|
СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP";
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗапись, "Пароль,ПарольSMTP");
|
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗапись,
|
||||||
|
"Пароль,ПарольSMTP,ТокенДоступа,СрокДействияТокенаДоступа,ТокенОбновления");
|
||||||
УстановитьПривилегированныйРежим(Ложь);
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
Результат = Новый ИнтернетПочтовыйПрофиль;
|
Результат = Новый ИнтернетПочтовыйПрофиль;
|
||||||
|
|
||||||
|
Если Выборка.АвторизацияСПомощьюПочтовогоСервиса Тогда
|
||||||
|
Если ЗначениеЗаполнено(Пароли.СрокДействияТокенаДоступа) И Пароли.СрокДействияТокенаДоступа - 60 <= ТекущаяДатаСеанса() Тогда
|
||||||
|
Пароли.ТокенДоступа = ОбновитьТокенДоступа(УчетнаяЗапись, Пароли.ТокенОбновления);
|
||||||
|
КонецЕсли;
|
||||||
|
Результат.ТокенДоступа = Пароли.ТокенДоступа;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ДляПолучения Тогда
|
Если ДляПолучения Тогда
|
||||||
Если Выборка.Протокол = "IMAP" Тогда
|
Если Выборка.Протокол = "IMAP" Тогда
|
||||||
ТребуемыеСвойства = СписокСвойствIMAP;
|
ТребуемыеСвойства = СписокСвойствIMAP;
|
||||||
@@ -1892,4 +1902,239 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса, ПоместитьПараметрыВТелоЗапроса = Истина) Экспорт
|
||||||
|
|
||||||
|
Заголовки = Новый Соответствие;
|
||||||
|
|
||||||
|
Если ПоместитьПараметрыВТелоЗапроса Тогда
|
||||||
|
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ТипЗнч(ПараметрыЗапроса) = Тип("Строка") Тогда
|
||||||
|
СтрокаПараметров = ПараметрыЗапроса;
|
||||||
|
Иначе
|
||||||
|
СписокПараметров = Новый Массив;
|
||||||
|
Для Каждого Параметр Из ПараметрыЗапроса Цикл
|
||||||
|
Значения = Параметр.Значение;
|
||||||
|
Если ТипЗнч(Параметр.Значение) <> Тип("Массив") Тогда
|
||||||
|
Значения = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Параметр.Значение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого Значение Из Значения Цикл
|
||||||
|
СписокПараметров.Добавить(Параметр.Ключ + "=" + КодироватьСтроку(Значение, СпособКодированияСтроки.КодировкаURL));
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЦикла;
|
||||||
|
СтрокаПараметров = СтрСоединить(СписокПараметров, "&");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ПоместитьПараметрыВТелоЗапроса Тогда
|
||||||
|
АдресРесурса = АдресРесурса + "?" + СтрокаПараметров;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
|
||||||
|
|
||||||
|
Если ПоместитьПараметрыВТелоЗапроса Тогда
|
||||||
|
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаПараметров);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат HTTPЗапрос;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ВыполнитьЗапрос(АдресСервера, АдресРесурса, ПараметрыЗапроса) Экспорт
|
||||||
|
|
||||||
|
Результат = Новый Структура;
|
||||||
|
Результат.Вставить("ЗапросВыполнен", Ложь);
|
||||||
|
Результат.Вставить("ОтветСервера", "");
|
||||||
|
|
||||||
|
HTTPЗапрос = ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса, Истина);
|
||||||
|
HTTPОтвет = Неопределено;
|
||||||
|
|
||||||
|
Прокси = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
|
||||||
|
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
|
||||||
|
Прокси = МодульПолучениеФайловИзИнтернета.ПолучитьПрокси("https");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
Соединение = Новый HTTPСоединение(АдресСервера, , , , Прокси,
|
||||||
|
60, ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение());
|
||||||
|
|
||||||
|
HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
|
||||||
|
Исключение
|
||||||
|
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
Если HTTPОтвет <> Неопределено Тогда
|
||||||
|
Если HTTPОтвет.КодСостояния <> 200 Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Запрос ""%1"" не выполнен. Код состояния: %2.'"), АдресРесурса, HTTPОтвет.КодСостояния) + Символы.ПС
|
||||||
|
+ HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||||
|
ЗаписьЖурналаРегистрации(ИмяСобытияАвторизацияПоПротоколуOAuth(),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Результат.ЗапросВыполнен = HTTPОтвет.КодСостояния = 200;
|
||||||
|
Результат.ОтветСервера = HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИмяСобытияАвторизацияПоПротоколуOAuth() Экспорт
|
||||||
|
|
||||||
|
Возврат НСтр("ru = 'Работа с почтовыми сообщениями.Авторизация на почтовом сервере'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СгенерироватьПроверочныйКод() Экспорт
|
||||||
|
|
||||||
|
ПроверочныйКод = "";
|
||||||
|
|
||||||
|
Буквы = "abcdefghijklmnopqrstuvwxyz";
|
||||||
|
Цифры = "1234567890";
|
||||||
|
ДополнительныеСимволы = "-._~";
|
||||||
|
|
||||||
|
ДопустимыеСимволы = Буквы + ВРег(Буквы) + Цифры + ДополнительныеСимволы;
|
||||||
|
ДлинаСтроки = СтрДлина(ДопустимыеСимволы);
|
||||||
|
|
||||||
|
ГенераторСлучайныхЧисел = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах());
|
||||||
|
|
||||||
|
Для Счетчик = 1 По 128 Цикл
|
||||||
|
Позиция = ГенераторСлучайныхЧисел.СлучайноеЧисло(1, ДлинаСтроки);
|
||||||
|
Символ = Сред(ДопустимыеСимволы, Позиция, 1);
|
||||||
|
ПроверочныйКод = ПроверочныйКод + Символ;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ПроверочныйКод;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция КодироватьСтрокуМетодомS256(Строка) Экспорт
|
||||||
|
|
||||||
|
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA256);
|
||||||
|
ХешированиеДанных.Добавить(Строка);
|
||||||
|
Результат = Base64URLСтрока(ХешированиеДанных.ХешСумма);
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция Base64URLСтрока(Значение)
|
||||||
|
|
||||||
|
Результат = Base64Строка(Значение);
|
||||||
|
Результат = СтрЗаменить(Результат, "+", "-");
|
||||||
|
Результат = СтрЗаменить(Результат, "/", "_");
|
||||||
|
Результат = СтрЗаменить(Результат, "=", "");
|
||||||
|
Результат = СтрЗаменить(Результат, Символы.ПС, "");
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция JSONВЗначение(Строка, ИменаСвойствСоЗначениямиДата = Неопределено) Экспорт
|
||||||
|
ЧтениеJSON = Новый ЧтениеJSON;
|
||||||
|
ЧтениеJSON.УстановитьСтроку(Строка);
|
||||||
|
Возврат ПрочитатьJSON(ЧтениеJSON, Истина, ИменаСвойствСоЗначениямиДата);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОбновитьТокенДоступа(Знач УчетнаяЗапись, Знач ТокенОбновления = Неопределено)
|
||||||
|
|
||||||
|
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УчетнаяЗапись,
|
||||||
|
"АдресЭлектроннойПочты, ИмяПочтовогоСервиса");
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ЗначенияРеквизитов.ИмяПочтовогоСервиса) Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не указано имя почтового сервиса для авторизации. Необходимо перенастроить почту.'");
|
||||||
|
ЗаписьЖурналаРегистрации(ИмяСобытияАвторизацияПоПротоколуOAuth(), УровеньЖурналаРегистрации.Ошибка, , УчетнаяЗапись,
|
||||||
|
ТекстОшибки);
|
||||||
|
Возврат "";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(ЗначенияРеквизитов.АдресЭлектроннойПочты);
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
НастройкиАвторизации = Справочники.НастройкиАвторизацииИнтернетСервисов.НастройкиАвторизацииИнтернетСервиса(
|
||||||
|
ЗначенияРеквизитов.ИмяПочтовогоСервиса, СтруктураURI.Хост);
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(НастройкиАвторизации.ИдентификаторПриложения) Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Настройки авторизации Интернет-сервиса ""%1"" не найдены для домена ""%2"". Необходимо перенастроить почту.'");
|
||||||
|
ЗаписьЖурналаРегистрации(ИмяСобытияАвторизацияПоПротоколуOAuth(), УровеньЖурналаРегистрации.Ошибка, , УчетнаяЗапись,
|
||||||
|
ТекстОшибки);
|
||||||
|
Возврат "";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(НастройкиАвторизации.АдресПолученияКлюча);
|
||||||
|
АдресСервера = СтруктураURI.Хост;
|
||||||
|
АдресРесурса = "/" + СтруктураURI.ПутьНаСервере;
|
||||||
|
|
||||||
|
ПараметрыЗапроса = Новый Структура;
|
||||||
|
ПараметрыЗапроса.Вставить("client_id", НастройкиАвторизации.ИдентификаторПриложения);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации.ИспользоватьПарольПриложения) Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("client_secret", НастройкиАвторизации.ПарольПриложения);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(НастройкиАвторизации["ЗапрашиваемыеРазрешения"]) Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("scope", НастройкиАвторизации["ЗапрашиваемыеРазрешения"]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыЗапроса.Вставить("refresh_token", ТокенОбновления);
|
||||||
|
ПараметрыЗапроса.Вставить("grant_type", "refresh_token");
|
||||||
|
|
||||||
|
ВремяЗапроса = ТекущаяДатаСеанса();
|
||||||
|
|
||||||
|
РезультатЗапроса = ВыполнитьЗапрос(АдресСервера, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
ПараметрыОтвета = JSONВЗначение(РезультатЗапроса.ОтветСервера);
|
||||||
|
Исключение
|
||||||
|
ПараметрыОтвета = Новый Соответствие;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
ТокенДоступа = ПараметрыОтвета["access_token"];
|
||||||
|
СрокДействияТокенаДоступа = ПараметрыОтвета["expires_in"];
|
||||||
|
ТокенОбновления = ПараметрыОтвета["refresh_token"];
|
||||||
|
КодОшибки = ПараметрыОтвета["error"];
|
||||||
|
ТекстОшибки = ПараметрыОтвета["error_description"];
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(КодОшибки) Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось получить ключи доступа к учетной записи почты %1 по причине:
|
||||||
|
|%2
|
||||||
|
|Ответ сервера:
|
||||||
|
|%3'"), ЗначенияРеквизитов.АдресЭлектроннойПочты, ТекстОшибки, РезультатЗапроса.ОтветСервера);
|
||||||
|
ЗаписьЖурналаРегистрации(ИмяСобытияАвторизацияПоПротоколуOAuth(),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||||
|
|
||||||
|
Возврат "";
|
||||||
|
ИначеЕсли Не РезультатЗапроса.ЗапросВыполнен Тогда
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось получить ключи доступа к учетной записи почты %1 по причине:
|
||||||
|
|Запрос не выполнен.
|
||||||
|
|Ответ сервера:
|
||||||
|
|%2'"), ЗначенияРеквизитов.АдресЭлектроннойПочты, РезультатЗапроса.ОтветСервера);
|
||||||
|
ЗаписьЖурналаРегистрации(ИмяСобытияАвторизацияПоПротоколуOAuth(), УровеньЖурналаРегистрации.Ошибка, , УчетнаяЗапись,
|
||||||
|
ТекстОшибки);
|
||||||
|
Возврат "";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СрокДействияТокенаДоступа) Тогда
|
||||||
|
СрокДействияТокенаДоступа = ВремяЗапроса + СрокДействияТокенаДоступа;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗапись, ТокенДоступа, "ТокенДоступа");
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗапись, СрокДействияТокенаДоступа, "СрокДействияТокенаДоступа");
|
||||||
|
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗапись, ТокенОбновления, "ТокенОбновления");
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
|
Возврат ТокенДоступа;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -108,29 +108,38 @@
|
|||||||
// не найден или отсутствует часть обязательной информации о файле и ВызыватьИсключение отсутствует
|
// не найден или отсутствует часть обязательной информации о файле и ВызыватьИсключение отсутствует
|
||||||
// или принимает значение Истина, вызывает исключение. Свойства структуры:
|
// или принимает значение Истина, вызывает исключение. Свойства структуры:
|
||||||
// * Ссылка - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
|
// * Ссылка - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
|
||||||
// * СсылкаНаДвоичныеДанныеФайла - Строка - адрес во временном хранилище, по которому помещены данные.
|
// * СсылкаНаДвоичныеДанныеФайла - Строка - адрес во временном хранилище, по которому помещены данные файла.
|
||||||
|
// * Владелец - ОпределяемыйТип.ВладелецФайлов - ссылка объект-владелец файла.
|
||||||
// * ОтносительныйПуть - Строка - относительный путь файла.
|
// * ОтносительныйПуть - Строка - относительный путь файла.
|
||||||
// * ДатаМодификацииУниверсальная - Дата - дата изменения фала.
|
// * ДатаМодификацииУниверсальная - Дата - дата изменения файла в UTC.
|
||||||
// * ИмяФайла - Строка - имя файла.
|
// * ИмяФайла - Строка - имя файла, например, "документ.txt".
|
||||||
// * Наименование - Строка - наименование файла в справочнике хранения файлов.
|
// * Наименование - Строка - наименование файла (в справочнике хранения файлов).
|
||||||
// * Расширение - Строка - расширение файла без точки.
|
// * Расширение - Строка - расширение файла без точки.
|
||||||
// * Размер - Число - размер файла.
|
// * Размер - Число - размер файла в байтах.
|
||||||
// * Редактирует - СправочникСсылка.Пользователи
|
// * Редактирует - СправочникСсылка.Пользователи
|
||||||
// - СправочникСсылка.ВнешниеПользователи
|
// - СправочникСсылка.ВнешниеПользователи
|
||||||
// - Неопределено - ссылка на пользователя, занявшего файл.
|
// - Неопределено - пользователь, занявший файл для редактирования.
|
||||||
|
// * ДатаЗаема - Дата - дата и время, когда файл был открыт для редактирования.
|
||||||
// * ПодписанЭП - Булево - признак того, что файл подписан.
|
// * ПодписанЭП - Булево - признак того, что файл подписан.
|
||||||
// * Зашифрован - Булево - признак того, что файл зашифрован.
|
// * Зашифрован - Булево - признак того, что файл зашифрован.
|
||||||
// * Версия - ОпределяемыйТип.ПрисоединенныйФайл - если справочник файлов поддерживает создание
|
// * МассивСертификатовШифрования - см. ЭлектроннаяПодпись.СертификатыШифрования
|
||||||
|
// * ПометкаУдаления - Булево - признак того, что файл помечен на удаление.
|
||||||
|
// * НавигационнаяСсылка - Строка - навигационная ссылка на файл.
|
||||||
|
// * ХранитьВерсии - Булево - признак того, что у файла хранятся версии.
|
||||||
|
// * ТекущаяВерсия - ОпределяемыйТип.ПрисоединенныйФайл - если справочник файлов поддерживает создание
|
||||||
// версий, содержит ссылку на текущую версию файла. В ином случае содержит
|
// версий, содержит ссылку на текущую версию файла. В ином случае содержит
|
||||||
// ссылку на файл.
|
// ссылку на файл.
|
||||||
|
// * Версия - ОпределяемыйТип.ПрисоединенныйФайл - аналогично выше.
|
||||||
// * НомерВерсии - Число - если справочник файлов поддерживает создание версий, содержит номер
|
// * НомерВерсии - Число - если справочник файлов поддерживает создание версий, содержит номер
|
||||||
// текущей версии файла, иначе - 0.
|
// текущей версии файла, иначе - 0.
|
||||||
|
// * АвторТекущейВерсии - СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов
|
||||||
|
// - СправочникСсылка.Пользователи
|
||||||
|
// - СправочникСсылка.ВнешниеПользователи - пользователь, отредактировавший файл.
|
||||||
// * Том - СправочникСсылка.ТомаХраненияФайлов - том хранения файла.
|
// * Том - СправочникСсылка.ТомаХраненияФайлов - том хранения файла.
|
||||||
// * Автор - СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов
|
// * Автор - СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов
|
||||||
// - СправочникСсылка.Пользователи
|
// - СправочникСсылка.Пользователи
|
||||||
// - СправочникСсылка.ВнешниеПользователи - автор файла.
|
// - СправочникСсылка.ВнешниеПользователи - автор файла.
|
||||||
// * СтатусИзвлеченияТекста - ПеречислениеСсылка.СтатусыИзвлеченияТекстаФайлов - статус извлечения текста
|
// * СтатусИзвлеченияТекста - Строка - статус извлечения текста из файла.
|
||||||
// из файла.
|
|
||||||
// * ПолноеНаименованиеВерсии - Строка - если справочник файлов поддерживает создание версий, содержит полное
|
// * ПолноеНаименованиеВерсии - Строка - если справочник файлов поддерживает создание версий, содержит полное
|
||||||
// наименование текущей версии файла. В ином случае содержит полное
|
// наименование текущей версии файла. В ином случае содержит полное
|
||||||
// наименование файла.
|
// наименование файла.
|
||||||
@@ -142,6 +151,7 @@
|
|||||||
// * ПапкаДляСохранитьКак - Строка - путь к каталогу сохранения.
|
// * ПапкаДляСохранитьКак - Строка - путь к каталогу сохранения.
|
||||||
// * ФайлРедактируется - Булево - признак того, что файл занят для редактирования.
|
// * ФайлРедактируется - Булево - признак того, что файл занят для редактирования.
|
||||||
// * ФайлРедактируетТекущийПользователь - Булево - признак того, что файл занят для редактирования текущим пользователем.
|
// * ФайлРедактируетТекущийПользователь - Булево - признак того, что файл занят для редактирования текущим пользователем.
|
||||||
|
// * Кодировка - Строка - кодировка текстового файла.
|
||||||
// * Служебный - Булево - признак того, что файл является служебным.
|
// * Служебный - Булево - признак того, что файл является служебным.
|
||||||
//
|
//
|
||||||
// Пример:
|
// Пример:
|
||||||
@@ -157,11 +167,8 @@
|
|||||||
// МассивДанныхФайлов.Добавить(РаботаСФайлами.ДанныеФайла(Выборка.Файл, ПараметрыДанныхФайла));
|
// МассивДанныхФайлов.Добавить(РаботаСФайлами.ДанныеФайла(Выборка.Файл, ПараметрыДанныхФайла));
|
||||||
// КонецЦикла;
|
// КонецЦикла;
|
||||||
//
|
//
|
||||||
//
|
Функция ДанныеФайла(Знач ПрисоединенныйФайл, Знач ДополнительныеПараметры = Неопределено,
|
||||||
Функция ДанныеФайла(Знач ПрисоединенныйФайл,
|
Знач УдалитьПолучатьСсылкуНаДвоичныеДанные = Истина, Знач УдалитьДляРедактирования = Ложь) Экспорт
|
||||||
Знач ДополнительныеПараметры = Неопределено,
|
|
||||||
Знач УдалитьПолучатьСсылкуНаДвоичныеДанные = Истина,
|
|
||||||
Знач УдалитьДляРедактирования = Ложь) Экспорт
|
|
||||||
|
|
||||||
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
|
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
|
||||||
|
|
||||||
@@ -203,8 +210,7 @@
|
|||||||
|
|
||||||
ПоддерживаетсяХранениеВерсий = (ТипЗнч(ПрисоединенныйФайл) = Тип("СправочникСсылка.Файлы"));
|
ПоддерживаетсяХранениеВерсий = (ТипЗнч(ПрисоединенныйФайл) = Тип("СправочникСсылка.Файлы"));
|
||||||
ИспользуетсяВерсионированиеФайлов = ПоддерживаетсяХранениеВерсий
|
ИспользуетсяВерсионированиеФайлов = ПоддерживаетсяХранениеВерсий
|
||||||
И ПрисоединенныйФайл.ХранитьВерсии
|
И ПрисоединенныйФайл.ХранитьВерсии И ЗначениеЗаполнено(ПрисоединенныйФайл.ТекущаяВерсия);
|
||||||
И ЗначениеЗаполнено(ПрисоединенныйФайл.ТекущаяВерсия);
|
|
||||||
|
|
||||||
Если ПолучатьСсылкуНаДвоичныеДанные Тогда
|
Если ПолучатьСсылкуНаДвоичныеДанные Тогда
|
||||||
Если ИспользуетсяВерсионированиеФайлов Тогда
|
Если ИспользуетсяВерсионированиеФайлов Тогда
|
||||||
|
|||||||
@@ -681,6 +681,9 @@
|
|||||||
Процедура ПолеПредпросмотраНажатие(Форма, Элемент, СтандартнаяОбработка, Просмотр = Ложь) Экспорт
|
Процедура ПолеПредпросмотраНажатие(Форма, Элемент, СтандартнаяОбработка, Просмотр = Ложь) Экспорт
|
||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
|
Если Форма.ТолькоПросмотр Или Элемент.ТолькоПросмотр Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
НомерЭлемента = Число(СтрЗаменить(Элемент.Имя, "ПолеКартинкиПрисоединенногоФайла", ""));
|
НомерЭлемента = Число(СтрЗаменить(Элемент.Имя, "ПолеКартинкиПрисоединенногоФайла", ""));
|
||||||
ТолькоОдинФайл = Форма.ПараметрыРаботыСФайлами[НомерЭлемента].ТолькоОдинФайл;
|
ТолькоОдинФайл = Форма.ПараметрыРаботыСФайлами[НомерЭлемента].ТолькоОдинФайл;
|
||||||
@@ -716,11 +719,15 @@
|
|||||||
//
|
//
|
||||||
Процедура ПолеПредпросмотраПеретаскивание(Форма, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) Экспорт
|
Процедура ПолеПредпросмотраПеретаскивание(Форма, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) Экспорт
|
||||||
|
|
||||||
|
СтандартнаяОбработка = Ложь;
|
||||||
|
Если Форма.ТолькоПросмотр Или Элемент.ТолькоПросмотр Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
НомерЭлемента = Число(СтрЗаменить(Элемент.Имя, "ПолеКартинкиПрисоединенногоФайла", ""));
|
НомерЭлемента = Число(СтрЗаменить(Элемент.Имя, "ПолеКартинкиПрисоединенногоФайла", ""));
|
||||||
ТолькоОдинФайл = Форма.ПараметрыРаботыСФайлами[НомерЭлемента].ТолькоОдинФайл;
|
ТолькоОдинФайл = Форма.ПараметрыРаботыСФайлами[НомерЭлемента].ТолькоОдинФайл;
|
||||||
ВладелецПрисоединенныхФайлов = ЗначениеПараметраПрисоединенногоФайла(Форма, Число(НомерЭлемента), "ПутьКДаннымВладельца");
|
ВладелецПрисоединенныхФайлов = ЗначениеПараметраПрисоединенногоФайла(Форма, Число(НомерЭлемента), "ПутьКДаннымВладельца");
|
||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
|
||||||
ПараметрыОбработчика = Новый Структура;
|
ПараметрыОбработчика = Новый Структура;
|
||||||
ПараметрыОбработчика.Вставить("Действие", "Перетаскивание");
|
ПараметрыОбработчика.Вставить("Действие", "Перетаскивание");
|
||||||
ПараметрыОбработчика.Вставить("Форма", Форма);
|
ПараметрыОбработчика.Вставить("Форма", Форма);
|
||||||
|
|||||||
@@ -1305,12 +1305,11 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
|
|
||||||
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -4921,20 +4920,22 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
РегистрыСведений.КодировкиФайлов.ЗаписатьКодировкуВерсииФайла(Версия.Ссылка, КодировкаПредВерсии);
|
РегистрыСведений.КодировкиФайлов.ЗаписатьКодировкуВерсииФайла(Версия.Ссылка, КодировкаПредВерсии);
|
||||||
|
Если БлокироватьВерсию Тогда
|
||||||
|
РазблокироватьДанныеДляРедактирования(СсылкаНаВерсию, УникальныйИдентификаторФормы);
|
||||||
|
КонецЕсли;
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
Если БлокироватьВерсию Тогда
|
||||||
|
РазблокироватьДанныеДляРедактирования(СсылкаНаВерсию, УникальныйИдентификаторФормы);
|
||||||
|
КонецЕсли;
|
||||||
МенеджерФайлов.ПослеОбновленияДанныхФайла(Контекст, Ложь);
|
МенеджерФайлов.ПослеОбновленияДанныхФайла(Контекст, Ложь);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
МенеджерФайлов.ПослеОбновленияДанныхФайла(Контекст, Истина);
|
МенеджерФайлов.ПослеОбновленияДанныхФайла(Контекст, Истина);
|
||||||
|
|
||||||
Если БлокироватьВерсию Тогда
|
|
||||||
РазблокироватьДанныеДляРедактирования(Версия.Ссылка, УникальныйИдентификаторФормы);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЕстьПравоСохранения Тогда
|
Если ЕстьПравоСохранения Тогда
|
||||||
НавигационнаяСсылкаФайла = ПолучитьНавигационнуюСсылку(ФайлСсылка);
|
НавигационнаяСсылкаФайла = ПолучитьНавигационнуюСсылку(ФайлСсылка);
|
||||||
ИсторияРаботыПользователя.Добавить(НавигационнаяСсылкаФайла);
|
ИсторияРаботыПользователя.Добавить(НавигационнаяСсылкаФайла);
|
||||||
@@ -4967,7 +4968,7 @@
|
|||||||
БлокировкаДанных.Заблокировать();
|
БлокировкаДанных.Заблокировать();
|
||||||
|
|
||||||
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
|
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
|
||||||
ЗаблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, , УникальныйИдентификатор);
|
ЗаблокироватьДанныеДляРедактирования(ФайлСсылка, , УникальныйИдентификатор);
|
||||||
|
|
||||||
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
|
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
|
||||||
РезультатИзвлеченияТекста = ИзвлечьТекст(АдресВременногоХранилищаТекста);
|
РезультатИзвлеченияТекста = ИзвлечьТекст(АдресВременногоХранилищаТекста);
|
||||||
@@ -4979,6 +4980,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -5035,11 +5037,12 @@
|
|||||||
ЗаполнитьЗначенияСвойств(ФайлОбъект, ХранениеВерсии);
|
ЗаполнитьЗначенияСвойств(ФайлОбъект, ХранениеВерсии);
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
|
|
||||||
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
|||||||
@@ -197,12 +197,13 @@
|
|||||||
ФайлОбъект.Редактирует = Справочники.Пользователи.ПустаяСсылка();
|
ФайлОбъект.Редактирует = Справочники.Пользователи.ПустаяСсылка();
|
||||||
ФайлОбъект.ДатаЗаема = Дата("00010101000000");
|
ФайлОбъект.ДатаЗаема = Дата("00010101000000");
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
|
|
||||||
|
|
||||||
РаботаСФайламиПереопределяемый.ПриОсвобожденииФайла(ДанныеФайла, УникальныйИдентификатор);
|
РаботаСФайламиПереопределяемый.ПриОсвобожденииФайла(ДанныеФайла, УникальныйИдентификатор);
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -261,7 +262,6 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ФайлОбъект.ДатаЗаема = ТекущаяДатаСеанса();
|
ФайлОбъект.ДатаЗаема = ТекущаяДатаСеанса();
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
|
|
||||||
|
|
||||||
НавигационнаяСсылкаТекущейВерсии = ДанныеФайла.НавигационнаяСсылкаТекущейВерсии;
|
НавигационнаяСсылкаТекущейВерсии = ДанныеФайла.НавигационнаяСсылкаТекущейВерсии;
|
||||||
РабочийКаталогВладельца = ДанныеФайла.РабочийКаталогВладельца;
|
РабочийКаталогВладельца = ДанныеФайла.РабочийКаталогВладельца;
|
||||||
@@ -272,10 +272,12 @@
|
|||||||
|
|
||||||
РаботаСФайламиПереопределяемый.ПриЗахватеФайла(ДанныеФайла, УникальныйИдентификатор);
|
РаботаСФайламиПереопределяемый.ПриЗахватеФайла(ДанныеФайла, УникальныйИдентификатор);
|
||||||
|
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -727,8 +729,6 @@
|
|||||||
|
|
||||||
СсылкаНаВерсию = ?(ВерсияСсылка = Неопределено, ФайлСсылка, ВерсияСсылка);
|
СсылкаНаВерсию = ?(ВерсияСсылка = Неопределено, ФайлСсылка, ВерсияСсылка);
|
||||||
|
|
||||||
ВерсияЗаблокирована = Ложь;
|
|
||||||
|
|
||||||
Блокировка = Новый БлокировкаДанных;
|
Блокировка = Новый БлокировкаДанных;
|
||||||
ЭлементБлокировки = Блокировка.Добавить(СсылкаНаВерсию.Метаданные().ПолноеИмя());
|
ЭлементБлокировки = Блокировка.Добавить(СсылкаНаВерсию.Метаданные().ПолноеИмя());
|
||||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", СсылкаНаВерсию);
|
ЭлементБлокировки.УстановитьЗначение("Ссылка", СсылкаНаВерсию);
|
||||||
@@ -752,10 +752,7 @@
|
|||||||
Версия = СсылкаНаВерсию.ПолучитьОбъект();
|
Версия = СсылкаНаВерсию.ПолучитьОбъект();
|
||||||
ЗаблокироватьДанныеДляРедактирования(СсылкаНаВерсию, , УникальныйИдентификаторФормы);
|
ЗаблокироватьДанныеДляРедактирования(СсылкаНаВерсию, , УникальныйИдентификаторФормы);
|
||||||
|
|
||||||
ВерсияЗаблокирована = Истина;
|
|
||||||
|
|
||||||
Версия.ТипХраненияФайла = ТипХраненияФайлов;
|
Версия.ТипХраненияФайла = ТипХраненияФайлов;
|
||||||
|
|
||||||
Если Версия.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
|
Если Версия.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
|
||||||
СвойстваВерсии = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
|
СвойстваВерсии = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
|
||||||
ЗаполнитьЗначенияСвойств(СвойстваВерсии, Версия);
|
ЗаполнитьЗначенияСвойств(СвойстваВерсии, Версия);
|
||||||
@@ -837,20 +834,19 @@
|
|||||||
Версия.Записать();
|
Версия.Записать();
|
||||||
МенеджерФайла.ПриОбновленииДанныхФайла(Контекст, Версия.Ссылка);
|
МенеджерФайла.ПриОбновленииДанныхФайла(Контекст, Версия.Ссылка);
|
||||||
|
|
||||||
Если ВерсияЗаблокирована Тогда
|
|
||||||
РазблокироватьДанныеДляРедактирования(Версия.Ссылка, УникальныйИдентификаторФормы);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
РегистрыСведений.КодировкиФайлов.ЗаписатьКодировкуВерсииФайла(Версия.Ссылка, КодировкаПредВерсии);
|
РегистрыСведений.КодировкиФайлов.ЗаписатьКодировкуВерсииФайла(Версия.Ссылка, КодировкаПредВерсии);
|
||||||
Если СведенияОФайле.ХранитьВерсии Тогда
|
Если СведенияОФайле.ХранитьВерсии Тогда
|
||||||
РаботаСФайламиСлужебный.ОбновитьВерсиюВФайле(ФайлСсылка, Версия.Ссылка, СведенияОФайле.АдресВременногоХранилищаТекста, УникальныйИдентификаторФормы);
|
РаботаСФайламиСлужебный.ОбновитьВерсиюВФайле(ФайлСсылка, Версия.Ссылка, СведенияОФайле.АдресВременногоХранилищаТекста, УникальныйИдентификаторФормы);
|
||||||
Иначе
|
Иначе
|
||||||
РаботаСФайламиСлужебный.ОбновитьТекстВФайле(ФайлСсылка, СведенияОФайле.АдресВременногоХранилищаТекста, УникальныйИдентификаторФормы);
|
РаботаСФайламиСлужебный.ОбновитьТекстВФайле(ФайлСсылка, СведенияОФайле.АдресВременногоХранилищаТекста, УникальныйИдентификаторФормы);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
РазблокироватьДанныеДляРедактирования(СсылкаНаВерсию, УникальныйИдентификаторФормы);
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(СсылкаНаВерсию, УникальныйИдентификаторФормы);
|
||||||
МенеджерФайла.ПослеОбновленияДанныхФайла(Контекст, Ложь);
|
МенеджерФайла.ПослеОбновленияДанныхФайла(Контекст, Ложь);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
@@ -2593,6 +2589,7 @@
|
|||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ФайлСсылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -2617,28 +2614,28 @@
|
|||||||
Попытка
|
Попытка
|
||||||
|
|
||||||
Блокировка.Заблокировать();
|
Блокировка.Заблокировать();
|
||||||
|
ЗаблокироватьДанныеДляРедактирования(ДанныеФайла.Версия, , УникальныйИдентификатор);
|
||||||
|
ЗаблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, , УникальныйИдентификатор);
|
||||||
|
|
||||||
ВерсияОбъект = ДанныеФайла.Версия.ПолучитьОбъект();
|
ВерсияОбъект = ДанныеФайла.Версия.ПолучитьОбъект();
|
||||||
ЗаблокироватьДанныеДляРедактирования(ВерсияОбъект.Ссылка, , УникальныйИдентификатор);
|
|
||||||
|
|
||||||
ВерсияОбъект.Размер = РазмерФайла;
|
ВерсияОбъект.Размер = РазмерФайла;
|
||||||
|
|
||||||
// Чтобы прошла запись ранее подписанного объекта.
|
// Чтобы прошла запись ранее подписанного объекта.
|
||||||
ВерсияОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", Истина);
|
ВерсияОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", Истина);
|
||||||
ВерсияОбъект.Записать();
|
ВерсияОбъект.Записать();
|
||||||
РазблокироватьДанныеДляРедактирования(ВерсияОбъект.Ссылка, УникальныйИдентификатор);
|
|
||||||
|
|
||||||
ФайлОбъект = ДанныеФайла.Ссылка.ПолучитьОбъект();
|
ФайлОбъект = ДанныеФайла.Ссылка.ПолучитьОбъект();
|
||||||
ЗаблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, , УникальныйИдентификатор);
|
|
||||||
// Чтобы прошла запись ранее подписанного объекта.
|
// Чтобы прошла запись ранее подписанного объекта.
|
||||||
ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", Истина);
|
ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", Истина);
|
||||||
ФайлОбъект.Записать();
|
ФайлОбъект.Записать();
|
||||||
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
|
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Версия, УникальныйИдентификатор);
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
|
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Версия, УникальныйИдентификатор);
|
||||||
|
РазблокироватьДанныеДляРедактирования(ДанныеФайла.Ссылка, УникальныйИдентификатор);
|
||||||
ВызватьИсключение;
|
ВызватьИсключение;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
|||||||
@@ -5165,7 +5165,7 @@
|
|||||||
Процедура ОчиститьРабочийКаталог(ОбработчикРезультата, РазмерФайловВРабочемКаталоге, РазмерДобавляемогоФайла, ОчищатьВсе) Экспорт
|
Процедура ОчиститьРабочийКаталог(ОбработчикРезультата, РазмерФайловВРабочемКаталоге, РазмерДобавляемогоФайла, ОчищатьВсе) Экспорт
|
||||||
|
|
||||||
#Если ВебКлиент Тогда
|
#Если ВебКлиент Тогда
|
||||||
ВернутьРезультатПослеПоказаПредупреждения(ОбработчикРезультата, НСтр("ru = 'Очистка рабочего каталога не поддерживается в веб-клиенте.'"), Неопределено);
|
ВернутьРезультатПослеПоказаПредупреждения(ОбработчикРезультата, НСтр("ru = 'Очистка рабочего каталога возможна только в приложении (тонкий клиент).'"), Неопределено);
|
||||||
Возврат;
|
Возврат;
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
|
|
||||||
@@ -5200,7 +5200,6 @@
|
|||||||
СреднийРазмерФайла = ПараметрыВыполнения.РазмерФайловВРабочемКаталоге / ТаблицаФайлов.Количество();
|
СреднийРазмерФайла = ПараметрыВыполнения.РазмерФайловВРабочемКаталоге / ТаблицаФайлов.Количество();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|
||||||
Если ПараметрыВыполнения.ОчищатьВсе Тогда
|
Если ПараметрыВыполнения.ОчищатьВсе Тогда
|
||||||
СколькоНадоОсвободитьМеста = 0;
|
СколькоНадоОсвободитьМеста = 0;
|
||||||
Иначе
|
Иначе
|
||||||
@@ -5228,8 +5227,14 @@
|
|||||||
//
|
//
|
||||||
Процедура ОчиститьРабочийКаталогДляОткрываемогоФайла(ПараметрыВыполнения)
|
Процедура ОчиститьРабочийКаталогДляОткрываемогоФайла(ПараметрыВыполнения)
|
||||||
|
|
||||||
|
Индекс = 0;
|
||||||
|
Заголовок = НСтр("ru = 'Очистка рабочего каталога'");
|
||||||
|
Текст = НСтр("ru = 'Пожалуйста, подождите...'");
|
||||||
|
Состояние(Заголовок, 1, Текст);
|
||||||
Для каждого Элемент Из ПараметрыВыполнения.ТаблицаФайлов Цикл
|
Для каждого Элемент Из ПараметрыВыполнения.ТаблицаФайлов Цикл
|
||||||
|
|
||||||
|
Индекс = Индекс + 1;
|
||||||
|
|
||||||
ПолныйПуть = ПараметрыВыполнения.ИмяКаталога + Элемент.Путь;
|
ПолныйПуть = ПараметрыВыполнения.ИмяКаталога + Элемент.Путь;
|
||||||
ФайлНаДиске = Новый Файл(ПолныйПуть);
|
ФайлНаДиске = Новый Файл(ПолныйПуть);
|
||||||
ФайлНаДиске.УстановитьТолькоЧтение(Ложь);
|
ФайлНаДиске.УстановитьТолькоЧтение(Ложь);
|
||||||
@@ -5254,7 +5259,6 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Удаление из регистра сведений.
|
|
||||||
РаботаСФайламиСлужебныйВызовСервера.УдалитьИзРегистра(Элемент.Версия);
|
РаботаСФайламиСлужебныйВызовСервера.УдалитьИзРегистра(Элемент.Версия);
|
||||||
|
|
||||||
Если ПараметрыВыполнения.СколькоНадоОсвободитьМеста > 0 Тогда
|
Если ПараметрыВыполнения.СколькоНадоОсвободитьМеста > 0 Тогда
|
||||||
@@ -5264,6 +5268,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Индекс % 10 = 0 Тогда
|
||||||
|
Прогресс = ?(ПараметрыВыполнения.СколькоНадоОсвободитьМеста > 0,
|
||||||
|
(ПараметрыВыполнения.СколькоНадоОсвободитьМеста - ПараметрыВыполнения.СколькоОсталось) * 100 / ПараметрыВыполнения.СколькоНадоОсвободитьМеста,
|
||||||
|
Индекс * 100 / ПараметрыВыполнения.ТаблицаФайлов.Количество());
|
||||||
|
Состояние(Заголовок, Прогресс, Текст);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -9629,7 +9640,7 @@
|
|||||||
|
|
||||||
Если Не РасширениеПоддерживается Тогда
|
Если Не РасширениеПоддерживается Тогда
|
||||||
ТекстПредупреждения =
|
ТекстПредупреждения =
|
||||||
НСтр("ru = 'Сравнение файлов поддерживается только для файлов следующих типов:
|
НСтр("ru = 'Сравнение файлов возможно только для файлов следующих типов:
|
||||||
| Текстовый документ (.txt)
|
| Текстовый документ (.txt)
|
||||||
| Документ формата RTF (.rtf)
|
| Документ формата RTF (.rtf)
|
||||||
| Документ Microsoft Word (.doc, .docx)
|
| Документ Microsoft Word (.doc, .docx)
|
||||||
@@ -9662,11 +9673,11 @@
|
|||||||
ПараметрыВыполнения.Вставить("Ссылка2", ВторойФайл);
|
ПараметрыВыполнения.Вставить("Ссылка2", ВторойФайл);
|
||||||
ПараметрыВыполнения.Вставить("ВладелецВерсии", ВладелецВерсии);
|
ПараметрыВыполнения.Вставить("ВладелецВерсии", ВладелецВерсии);
|
||||||
|
|
||||||
СравнениеВерсийАвтомат(-1, ПараметрыВыполнения);
|
СравнитьФайлыСлужебный(-1, ПараметрыВыполнения);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура СравнениеВерсийАвтомат(Результат, ПараметрыВыполнения) Экспорт
|
Процедура СравнитьФайлыСлужебный(Результат, ПараметрыВыполнения) Экспорт
|
||||||
|
|
||||||
Если Результат <> -1 Тогда
|
Если Результат <> -1 Тогда
|
||||||
Если ПараметрыВыполнения.ТекущийШаг = 1 Тогда
|
Если ПараметрыВыполнения.ТекущийШаг = 1 Тогда
|
||||||
@@ -9702,7 +9713,7 @@
|
|||||||
|
|
||||||
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
|
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
|
||||||
// Первый вызов - еще не инициализирована настройка.
|
// Первый вызов - еще не инициализирована настройка.
|
||||||
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
|
Обработчик = Новый ОписаниеОповещения("СравнитьФайлыСлужебный", ЭтотОбъект, ПараметрыВыполнения);
|
||||||
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВыборСпособаСравненияВерсий", ,
|
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВыборСпособаСравненияВерсий", ,
|
||||||
ЭтотОбъект, , , , Обработчик);
|
ЭтотОбъект, , , , Обработчик);
|
||||||
Возврат;
|
Возврат;
|
||||||
@@ -9729,14 +9740,14 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПараметрыВыполнения.ТекущийШаг = 3 Тогда
|
Если ПараметрыВыполнения.ТекущийШаг = 3 Тогда
|
||||||
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
|
Обработчик = Новый ОписаниеОповещения("СравнитьФайлыСлужебный", ЭтотОбъект, ПараметрыВыполнения);
|
||||||
ПолучитьФайлВерсииВРабочийКаталог(
|
ПолучитьФайлВерсииВРабочийКаталог(
|
||||||
Обработчик, ПараметрыВыполнения.ДанныеФайла1, ПараметрыВыполнения.ПолноеИмяФайла1);
|
Обработчик, ПараметрыВыполнения.ДанныеФайла1, ПараметрыВыполнения.ПолноеИмяФайла1);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПараметрыВыполнения.ТекущийШаг = 4 Тогда
|
Если ПараметрыВыполнения.ТекущийШаг = 4 Тогда
|
||||||
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
|
Обработчик = Новый ОписаниеОповещения("СравнитьФайлыСлужебный", ЭтотОбъект, ПараметрыВыполнения);
|
||||||
ПолучитьФайлВерсииВРабочийКаталог(
|
ПолучитьФайлВерсииВРабочийКаталог(
|
||||||
Обработчик, ПараметрыВыполнения.ДанныеФайла2, ПараметрыВыполнения.ПолноеИмяФайла2);
|
Обработчик, ПараметрыВыполнения.ДанныеФайла2, ПараметрыВыполнения.ПолноеИмяФайла2);
|
||||||
Возврат;
|
Возврат;
|
||||||
|
|||||||
@@ -5746,13 +5746,13 @@
|
|||||||
// 2. открыть форму ошибки
|
// 2. открыть форму ошибки
|
||||||
// 3. возврат результат успеха.
|
// 3. возврат результат успеха.
|
||||||
//
|
//
|
||||||
Процедура ВывестиИнформацию(ОповещениеОЗавершении, ТекстСообщения, ТаймаАут = Неопределено, Заголовок = "", ПараметрыОперации = Неопределено) Экспорт
|
Процедура ВывестиИнформацию(ОповещениеОЗавершении, ТекстСообщения, ТаймАут = Неопределено, Заголовок = "", ПараметрыОперации = Неопределено) Экспорт
|
||||||
|
|
||||||
ПараметрыЦикла = Новый Структура();
|
ПараметрыЦикла = Новый Структура();
|
||||||
ПараметрыЦикла.Вставить("ВидОперации", НСтр("ru = 'Вывести информацию пользователю'", КодЯзыка()));
|
ПараметрыЦикла.Вставить("ВидОперации", НСтр("ru = 'Вывести информацию пользователю'", КодЯзыка()));
|
||||||
ПараметрыЦикла.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
|
ПараметрыЦикла.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
|
||||||
ПараметрыЦикла.Вставить("ТекстСообщения", ТекстСообщения);
|
ПараметрыЦикла.Вставить("ТекстСообщения", ТекстСообщения);
|
||||||
ПараметрыЦикла.Вставить("ТаймАут", ТаймаАут);
|
ПараметрыЦикла.Вставить("ТаймАут", ТаймАут);
|
||||||
ПараметрыЦикла.Вставить("Заголовок", Заголовок);
|
ПараметрыЦикла.Вставить("Заголовок", Заголовок);
|
||||||
ПараметрыЦикла.Вставить("ПараметрыОперации", ПроверитьПараметрыОперации(ПараметрыОперации));
|
ПараметрыЦикла.Вставить("ПараметрыОперации", ПроверитьПараметрыОперации(ПараметрыОперации));
|
||||||
|
|
||||||
@@ -5797,14 +5797,14 @@
|
|||||||
// 2. открыть форму ошибки
|
// 2. открыть форму ошибки
|
||||||
// 3. возврат результат успеха.
|
// 3. возврат результат успеха.
|
||||||
//
|
//
|
||||||
Процедура ВывестиВопрос(ОповещениеОЗавершении, ТекстСообщения, СписокКоманд, ТаймаАут = Неопределено, Заголовок = "", ПараметрыОперации = Неопределено) Экспорт
|
Процедура ВывестиВопрос(ОповещениеОЗавершении, ТекстСообщения, СписокКоманд, ТаймАут = Неопределено, Заголовок = "", ПараметрыОперации = Неопределено) Экспорт
|
||||||
|
|
||||||
ПараметрыЦикла = Новый Структура();
|
ПараметрыЦикла = Новый Структура();
|
||||||
ПараметрыЦикла.Вставить("ВидОперации", НСтр("ru = 'Вопрос пользователю'", КодЯзыка()));
|
ПараметрыЦикла.Вставить("ВидОперации", НСтр("ru = 'Вопрос пользователю'", КодЯзыка()));
|
||||||
ПараметрыЦикла.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
|
ПараметрыЦикла.Вставить("ОповещениеОЗавершении", ОповещениеОЗавершении);
|
||||||
ПараметрыЦикла.Вставить("ТекстСообщения", ТекстСообщения);
|
ПараметрыЦикла.Вставить("ТекстСообщения", ТекстСообщения);
|
||||||
ПараметрыЦикла.Вставить("СписокКоманд", СписокКоманд);
|
ПараметрыЦикла.Вставить("СписокКоманд", СписокКоманд);
|
||||||
ПараметрыЦикла.Вставить("ТаймАут", ТаймаАут);
|
ПараметрыЦикла.Вставить("ТаймАут", ТаймАут);
|
||||||
ПараметрыЦикла.Вставить("Заголовок", Заголовок);
|
ПараметрыЦикла.Вставить("Заголовок", Заголовок);
|
||||||
ПараметрыЦикла.Вставить("ПараметрыОперации", ПроверитьПараметрыОперации(ПараметрыОперации));
|
ПараметрыЦикла.Вставить("ПараметрыОперации", ПроверитьПараметрыОперации(ПараметрыОперации));
|
||||||
|
|
||||||
|
|||||||
@@ -1367,6 +1367,106 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура СброситьРазмерыИПоложениеОкна(Форма) Экспорт
|
||||||
|
|
||||||
|
Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяФормы = Форма.ИмяФормы;
|
||||||
|
НовыйКлючСохраненияПоложенияОкна = СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", "_");
|
||||||
|
КлючОбъектаХранения = ИмяФормы + "/ВременныеКлючиСохраненияПоложенияОкна";
|
||||||
|
ИмяПользователя = ИмяПользователя();
|
||||||
|
НачалоДня = НачалоДня(ТекущаяУниверсальнаяДата());
|
||||||
|
ГраницаУстаревания = НачалоДня - 2*24*60*60;
|
||||||
|
|
||||||
|
Ключи = ХранилищеСистемныхНастроек.Загрузить(КлючОбъектаХранения);
|
||||||
|
|
||||||
|
Если ТипЗнч(Ключи) = Тип("Соответствие") Тогда
|
||||||
|
ИменаНастроек = Новый Массив;
|
||||||
|
ИменаНастроек.Добавить("/НастройкиОкна");
|
||||||
|
ИменаНастроек.Добавить("/НастройкиОкнаВебКлиента");
|
||||||
|
ИменаНастроек.Добавить("/НастройкиОкнаМобильногоКлиента");
|
||||||
|
ИменаНастроек.Добавить("/Такси/НастройкиОкна");
|
||||||
|
ИменаНастроек.Добавить("/Такси/НастройкиОкнаВебКлиента");
|
||||||
|
ИменаНастроек.Добавить("/Такси/НастройкиОкнаМобильногоКлиента");
|
||||||
|
Для Каждого КлючИЗначение Из Ключи Цикл
|
||||||
|
ТекущийДень = КлючИЗначение.Ключ;
|
||||||
|
Если ТипЗнч(ТекущийДень) <> Тип("Дата") Тогда
|
||||||
|
Ключи = Неопределено;
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
Если ТекущийДень > ГраницаУстаревания Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
КлючиТекущегоДня = КлючИЗначение.Значение;
|
||||||
|
Если ТипЗнч(КлючиТекущегоДня) <> Тип("Массив") Тогда
|
||||||
|
Ключи = Неопределено;
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
Для Каждого ТекущийКлюч Из КлючиТекущегоДня Цикл
|
||||||
|
НачалоКлючаОбъекта = ИмяФормы + "/" + ТекущийКлюч;
|
||||||
|
Для Каждого ИмяНастройки Из ИменаНастроек Цикл
|
||||||
|
ХранилищеСистемныхНастроек.Удалить(НачалоКлючаОбъекта + ИмяНастройки, "", ИмяПользователя);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЦикла;
|
||||||
|
Ключи.Удалить(ТекущийДень);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОчиститьСтарыеКлючи = ТипЗнч(Ключи) <> Тип("Соответствие");
|
||||||
|
Если ОчиститьСтарыеКлючи Тогда
|
||||||
|
Ключи = Новый Соответствие;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КлючиДня = Ключи.Получить(НачалоДня);
|
||||||
|
Если ТипЗнч(КлючиДня) <> Тип("Массив") Тогда
|
||||||
|
КлючиДня = Новый Массив;
|
||||||
|
Ключи.Вставить(НачалоДня, КлючиДня);
|
||||||
|
КонецЕсли;
|
||||||
|
КлючиДня.Добавить(НовыйКлючСохраненияПоложенияОкна);
|
||||||
|
ХранилищеСистемныхНастроек.Сохранить(КлючОбъектаХранения,, Ключи);
|
||||||
|
|
||||||
|
Форма.КлючСохраненияПоложенияОкна = НовыйКлючСохраненияПоложенияОкна;
|
||||||
|
|
||||||
|
Если Не ОчиститьСтарыеКлючи Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Отбор = Новый Структура("Пользователь", ИмяПользователя);
|
||||||
|
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
|
||||||
|
Пока Истина Цикл
|
||||||
|
Попытка
|
||||||
|
ЕстьСледующей = Выборка.Следующий();
|
||||||
|
Исключение
|
||||||
|
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||||
|
ЗаписьЖурналаРегистрации(
|
||||||
|
НСтр("ru = 'Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка,,,
|
||||||
|
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||||
|
Прервать;
|
||||||
|
КонецПопытки;
|
||||||
|
Если Не ЕстьСледующей Тогда
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не СтрНачинаетсяС(Выборка.КлючОбъекта, ИмяФормы)
|
||||||
|
Или Выборка.КлючНастроек <> ""
|
||||||
|
Или Выборка.КлючОбъекта = КлючОбъектаХранения Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
ЧастиКлючаОбъекта = СтрРазделить(Выборка.КлючОбъекта, "/");
|
||||||
|
Если ЧастиКлючаОбъекта.Количество() < 2 Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
ПоследняяЧастьКлюча = ЧастиКлючаОбъекта[ЧастиКлючаОбъекта.ВГраница()];
|
||||||
|
Если СтрНайти(ПоследняяЧастьКлюча, "НастройкиОкна") > 0
|
||||||
|
Или СтрНайти(ПоследняяЧастьКлюча, "WindowSettings") > 0 Тогда
|
||||||
|
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, "", ИмяПользователя);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Прочие процедуры и функции.
|
// Прочие процедуры и функции.
|
||||||
|
|
||||||
@@ -1656,7 +1756,7 @@
|
|||||||
|
|
||||||
Типы.Добавить(Метаданные.Константы.АдресПубликацииИнформационнойБазыВИнтернете);
|
Типы.Добавить(Метаданные.Константы.АдресПубликацииИнформационнойБазыВИнтернете);
|
||||||
Типы.Добавить(Метаданные.Константы.АдресПубликацииИнформационнойБазыВЛокальнойСети);
|
Типы.Добавить(Метаданные.Константы.АдресПубликацииИнформационнойБазыВЛокальнойСети);
|
||||||
|
Типы.Добавить(Метаданные.Константы.ИдентификаторИнформационнойБазы);
|
||||||
Типы.Добавить(Метаданные.Справочники.ВерсииРасширений);
|
Типы.Добавить(Метаданные.Справочники.ВерсииРасширений);
|
||||||
Типы.Добавить(Метаданные.Справочники.ИдентификаторыОбъектовРасширений);
|
Типы.Добавить(Метаданные.Справочники.ИдентификаторыОбъектовРасширений);
|
||||||
Типы.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений);
|
Типы.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений);
|
||||||
@@ -2405,30 +2505,40 @@
|
|||||||
Если Константы.ИспользоватьРазделениеПоОбластямДанных.Получить() Тогда
|
Если Константы.ИспользоватьРазделениеПоОбластямДанных.Получить() Тогда
|
||||||
|
|
||||||
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Ложь);
|
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Ложь);
|
||||||
|
НовыеЗначения.Вставить("СтандартныеПодсистемыВАвтономномРежиме", Ложь);
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||||
|
|
||||||
НовыеЗначения.Вставить("ЭтоАвтономноеРабочееМесто", Ложь)
|
НовыеЗначения.Вставить("ЭтоАвтономноеРабочееМесто", Ложь);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
ИначеЕсли ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса")
|
||||||
|
И ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
||||||
|
|
||||||
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Ложь);
|
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Ложь);
|
||||||
|
|
||||||
|
// При обновлении АРМ синхронизируем значения константы с ЭтоАвтономноеРабочееМесто
|
||||||
|
НовыеЗначения.Вставить("СтандартныеПодсистемыВАвтономномРежиме", Истина);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Истина);
|
НовыеЗначения.Вставить("НеИспользоватьРазделениеПоОбластямДанных", Истина);
|
||||||
|
НовыеЗначения.Вставить("СтандартныеПодсистемыВАвтономномРежиме", Ложь);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Для каждого КлючИЗначения Из НовыеЗначения Цикл
|
Для каждого КлючИЗначения Из НовыеЗначения Цикл
|
||||||
|
|
||||||
Если КлючИЗначения.Ключ = "НеИспользоватьРазделениеПоОбластямДанных"
|
Если КлючИЗначения.Ключ = "НеИспользоватьРазделениеПоОбластямДанных"
|
||||||
И Константы[КлючИЗначения.Ключ].Получить() <> КлючИЗначения.Значение Тогда
|
ИЛИ КлючИЗначения.Ключ = "СтандартныеПодсистемыВАвтономномРежиме" Тогда
|
||||||
|
|
||||||
|
Если Константы[КлючИЗначения.Ключ].Получить() <> КлючИЗначения.Значение Тогда
|
||||||
|
|
||||||
Константы[КлючИЗначения.Ключ].Установить(КлючИЗначения.Значение);
|
Константы[КлючИЗначения.Ключ].Установить(КлючИЗначения.Значение);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли КлючИЗначения.Ключ = "ЭтоАвтономноеРабочееМесто"
|
ИначеЕсли КлючИЗначения.Ключ = "ЭтоАвтономноеРабочееМесто"
|
||||||
И ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() = Истина Тогда
|
И ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() = Истина Тогда
|
||||||
|
|
||||||
|
|||||||
@@ -262,7 +262,7 @@
|
|||||||
Функция ЗначениеФлажкаУдалятьПоРасписанию() Экспорт
|
Функция ЗначениеФлажкаУдалятьПоРасписанию() Экспорт
|
||||||
|
|
||||||
Отбор = Новый Структура;
|
Отбор = Новый Структура;
|
||||||
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченных);
|
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов);
|
||||||
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
||||||
|
|
||||||
Для Каждого Задание Из Задания Цикл
|
Для Каждого Задание Из Задания Цикл
|
||||||
|
|||||||
File renamed without changes.
+2
-2
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9162a85e-a385-42b0-b809-da916fce44b7">
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9162a85e-a385-42b0-b809-da916fce44b7">
|
||||||
<name>УдалениеПомеченныхПовтИсп</name>
|
<name>УдалениеПомеченныхОбъектовПовтИсп</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Удаление помеченных повт исп</value>
|
<value>Удаление помеченных объектов повт исп</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<server>true</server>
|
<server>true</server>
|
||||||
<externalConnection>true</externalConnection>
|
<externalConnection>true</externalConnection>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
|
Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
|
||||||
|
|
||||||
Зависимость = Настройки.Добавить();
|
Зависимость = Настройки.Добавить();
|
||||||
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.УдалениеПомеченных;
|
Зависимость.РегламентноеЗадание = Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов;
|
||||||
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ИспользоватьУдалениеПомеченныхОбъектов;
|
Зависимость.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ИспользоватьУдалениеПомеченныхОбъектов;
|
||||||
Зависимость.ВключатьПриВключенииФункциональнойОпции = Ложь;
|
Зависимость.ВключатьПриВключенииФункциональнойОпции = Ложь;
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
// См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов.
|
// См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов.
|
||||||
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
||||||
ШаблоныЗаданий.Добавить("УдалениеПомеченных");
|
ШаблоныЗаданий.Добавить("УдалениеПомеченных");
|
||||||
ШаблоныЗаданий.Добавить(Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов.Имя);
|
ШаблоныЗаданий.Добавить(Метаданные.РегламентныеЗадания.КонтрольУдаленияПомеченныхОбъектов.Имя);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок.
|
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок.
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
ПараметрыЗадания.Вставить("ИнтервалПовтораПриАварийномЗавершении", 10);
|
ПараметрыЗадания.Вставить("ИнтервалПовтораПриАварийномЗавершении", 10);
|
||||||
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
|
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
|
||||||
|
|
||||||
РегламентныеЗаданияСервер.УстановитьПараметрыРегламентногоЗадания(Метаданные.РегламентныеЗадания.УдалениеПомеченных,
|
РегламентныеЗаданияСервер.УстановитьПараметрыРегламентногоЗадания(Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов,
|
||||||
ПараметрыЗадания);
|
ПараметрыЗадания);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
//
|
//
|
||||||
Процедура УдалениеПомеченныхПоРасписанию() Экспорт
|
Процедура УдалениеПомеченныхПоРасписанию() Экспорт
|
||||||
|
|
||||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УдалениеПомеченных);
|
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов);
|
||||||
УдаляемыеОбъекты = УдалениеПомеченныхОбъектов.ПомеченныеНаУдаление(,Истина);
|
УдаляемыеОбъекты = УдалениеПомеченныхОбъектов.ПомеченныеНаУдаление(,Истина);
|
||||||
УдалитьПомеченныеОбъектыСлужебный(
|
УдалитьПомеченныеОбъектыСлужебный(
|
||||||
УдаляемыеОбъекты,
|
УдаляемыеОбъекты,
|
||||||
@@ -286,22 +286,21 @@
|
|||||||
// Формирует список объектов метаданных, в которых разрешено наличие битых ссылок.
|
// Формирует список объектов метаданных, в которых разрешено наличие битых ссылок.
|
||||||
// Результат кешируется.
|
// Результат кешируется.
|
||||||
//
|
//
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Массив из ОбъектМетаданных
|
// Массив из ОбъектМетаданных
|
||||||
//
|
//
|
||||||
Функция ИсключенияПоискаСсылокРазрешающихУдаление() Экспорт
|
Функция ИсключенияПоискаСсылокРазрешающихУдаление() Экспорт
|
||||||
Возврат УдалениеПомеченныхПовтИсп.ИсключенияПоискаСсылокРазрешающихУдаление();
|
Возврат УдалениеПомеченныхОбъектовПовтИсп.ИсключенияПоискаСсылокРазрешающихУдаление();
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Снимает блокировку с объектов по истечении времени жизни сеанса удаления объектов.
|
// Снимает блокировку с объектов по истечении времени жизни сеанса удаления объектов.
|
||||||
// Для прекращения контроля использования удаляемых объектов при аварийном завершении сеанса удаления объектов.
|
// Для снятия запрета использования удаляемых объектов в новых объектах
|
||||||
|
// в случае аварийного завершения сеанса удаления помеченных объектов.
|
||||||
//
|
//
|
||||||
Процедура ПроверкаАктивностиСеансаУдаленияОбъектов() Экспорт
|
Процедура КонтрольУдаленияПомеченныхОбъектов() Экспорт
|
||||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.КонтрольУдаленияПомеченныхОбъектов);
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
Если НЕ ПроверятьИспользованиеУдаляемыхОбъектов() Тогда
|
Если НЕ ПроверятьИспользованиеУдаляемыхОбъектов() Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -338,17 +337,15 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает число секунд, в течение которых должна держаться блокировка использования удаляемого объекта
|
// Возвращает максимальное количество секунд, в течение которого должен быть установлен
|
||||||
|
// запрет использования удаляемого объекта в других объектах. Значение равно трем часам.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Число
|
// Число
|
||||||
//
|
//
|
||||||
Функция ВремяЖизниБлокировки() Экспорт
|
Функция ВремяЖизниБлокировки() Экспорт
|
||||||
|
|
||||||
Перем ВремяЖизниБлокировки;
|
Возврат 3 * 60 * 60;
|
||||||
|
|
||||||
ВремяЖизниБлокировки = 3 * 60 * 60;
|
|
||||||
Возврат ВремяЖизниБлокировки;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -672,8 +669,9 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
// Отключает контроль использования удаляемых объектов. Отключает регламентное задание, если обработаны все удаляемых объекты.
|
// Отключает контроль использования удаляемых объектов.
|
||||||
// Не используется для неразделенного сеанса в модули сервиса.
|
// Отключает регламентное задание, если обработаны все удаляемые объекты.
|
||||||
|
// Не используется для неразделенного сеанса в модели сервиса.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Идентификатор - УникальныйИдентификатор
|
// Идентификатор - УникальныйИдентификатор
|
||||||
@@ -698,7 +696,7 @@
|
|||||||
|
|
||||||
Фильтр = Новый Структура(
|
Фильтр = Новый Структура(
|
||||||
"Метаданные",
|
"Метаданные",
|
||||||
Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
Метаданные.РегламентныеЗадания.КонтрольУдаленияПомеченныхОбъектов);
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
@@ -747,7 +745,7 @@
|
|||||||
|
|
||||||
Фильтр = Новый Структура(
|
Фильтр = Новый Структура(
|
||||||
"Метаданные",
|
"Метаданные",
|
||||||
Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
Метаданные.РегламентныеЗадания.КонтрольУдаленияПомеченныхОбъектов);
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
@@ -861,8 +859,7 @@
|
|||||||
КешТиповУдаляемыхОбъектов = Новый Соответствие;
|
КешТиповУдаляемыхОбъектов = Новый Соответствие;
|
||||||
Для Каждого УдаляемыйСсылка Из УдаляемыеОбъекты Цикл
|
Для Каждого УдаляемыйСсылка Из УдаляемыеОбъекты Цикл
|
||||||
ТипУдаляемого = ТипЗнч(УдаляемыйСсылка);
|
ТипУдаляемого = ТипЗнч(УдаляемыйСсылка);
|
||||||
УдаляемыйИнформация = ИнформацияОТипе(ТипУдаляемого,
|
УдаляемыйИнформация = ИнформацияОТипе(ТипУдаляемого, КешТиповУдаляемыхОбъектов);
|
||||||
КешТиповУдаляемыхОбъектов);
|
|
||||||
|
|
||||||
УзелТипа = УзлыПервогоУровня.Получить(ТипУдаляемого);
|
УзелТипа = УзлыПервогоУровня.Получить(ТипУдаляемого);
|
||||||
Если УзелТипа = Неопределено Тогда
|
Если УзелТипа = Неопределено Тогда
|
||||||
@@ -1564,7 +1561,7 @@
|
|||||||
|
|
||||||
ПериодОбновленияЗначения = 60000;
|
ПериодОбновленияЗначения = 60000;
|
||||||
|
|
||||||
ДанныеКонстанты = УдалениеПомеченныхПовтИсп.ПроверятьИспользованиеУдаляемыхОбъектов();
|
ДанныеКонстанты = УдалениеПомеченныхОбъектовПовтИсп.ПроверятьИспользованиеУдаляемыхОбъектов();
|
||||||
Если ТекущаяУниверсальнаяДатаВМиллисекундах() - ДанныеКонстанты.МеткаВремени > ПериодОбновленияЗначения Тогда
|
Если ТекущаяУниверсальнаяДатаВМиллисекундах() - ДанныеКонстанты.МеткаВремени > ПериодОбновленияЗначения Тогда
|
||||||
ДанныеКонстанты.Значение = Константы.ПроверятьИспользованиеУдаляемыхОбъектов.Получить();
|
ДанныеКонстанты.Значение = Константы.ПроверятьИспользованиеУдаляемыхОбъектов.Получить();
|
||||||
ДанныеКонстанты.МеткаВремени = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
ДанныеКонстанты.МеткаВремени = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
УдалятьПомеченныеОбъекты = Изменения.Использование;
|
УдалятьПомеченныеОбъекты = Изменения.Использование;
|
||||||
|
|
||||||
Отбор = Новый Структура;
|
Отбор = Новый Структура;
|
||||||
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченных);
|
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов);
|
||||||
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
||||||
|
|
||||||
Для Каждого Задание Из Задания Цикл
|
Для Каждого Задание Из Задания Цикл
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
Результат.Вставить("РазделениеВключено", ОбщегоНазначения.РазделениеВключено());
|
Результат.Вставить("РазделениеВключено", ОбщегоНазначения.РазделениеВключено());
|
||||||
|
|
||||||
Отбор = Новый Структура;
|
Отбор = Новый Структура;
|
||||||
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченных);
|
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.УдалениеПомеченныхОбъектов);
|
||||||
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
|
||||||
Если Задания.Количество() > 0 Тогда
|
Если Задания.Количество() > 0 Тогда
|
||||||
Задания = Задания[0];
|
Задания = Задания[0];
|
||||||
|
|||||||
@@ -3228,6 +3228,15 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Объект.ЭтоНовый()
|
||||||
|
И ОбщегоНазначения.ИнформационнаяБазаФайловая()
|
||||||
|
И Не ПропуститьПроверкуДоступа(Отказ, Объект) Тогда
|
||||||
|
|
||||||
|
Блокировка = Новый БлокировкаДанных;
|
||||||
|
Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
|
||||||
|
Блокировка.Заблокировать();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
СвойстваВидовДоступа = СвойстваВидовДоступа();
|
СвойстваВидовДоступа = СвойстваВидовДоступа();
|
||||||
ЗначенияДоступаСГруппами = СвойстваВидовДоступа.ЗначенияДоступаСГруппами;
|
ЗначенияДоступаСГруппами = СвойстваВидовДоступа.ЗначенияДоступаСГруппами;
|
||||||
|
|
||||||
@@ -23011,8 +23020,7 @@
|
|||||||
Параметры = КэшПараметровОграничения().ОграниченияСписков.Получить(ПолноеИмя);
|
Параметры = КэшПараметровОграничения().ОграниченияСписков.Получить(ПолноеИмя);
|
||||||
|
|
||||||
Если Параметры = Неопределено Тогда
|
Если Параметры = Неопределено Тогда
|
||||||
ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, Ложь);
|
ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, Параметры);
|
||||||
Параметры = КэшПараметровОграничения().ОграниченияСписков.Получить(ПолноеИмя);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ДляВнешнихПользователей = Null Тогда
|
Если ДляВнешнихПользователей = Null Тогда
|
||||||
@@ -23032,53 +23040,35 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Для функций СвойстваСпискаКакВедущего, ПараметрыОграничения.
|
// Для функций СвойстваСпискаКакВедущего, ПараметрыОграничения.
|
||||||
Процедура ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, ДействующиеПараметрыОбновлены,
|
Процедура ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, Параметры,
|
||||||
ДобавляемыеОграниченияСписков = Неопределено, ОбщийКонтекст = Неопределено, ПовторныйВызов = Ложь)
|
ОбщийКонтекст = Неопределено, ПовторныйВызов = Ложь)
|
||||||
|
|
||||||
Если ОбщийКонтекст = Неопределено Тогда
|
Если ОбщийКонтекст = Неопределено Тогда
|
||||||
ОбщийКонтекст = ОбщийКонтекстРасчетаПараметровОграничения(ПолноеИмя);
|
ОбщийКонтекст = ОбщийКонтекстРасчетаПараметровОграничения(ПолноеИмя);
|
||||||
ОбщийКонтекст.Вставить("ОписанияОграничений", Новый Соответствие);
|
ОбщийКонтекст.Вставить("ОписанияОграничений", Новый Соответствие);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПараметрыОграниченияСписков = Новый Соответствие;
|
|
||||||
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(ИдентификаторТранзакции, ОбщийКонтекст, Ложь);
|
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(ИдентификаторТранзакции, ОбщийКонтекст, Ложь);
|
||||||
ПолноеИмяПриЗацикливании = "";
|
|
||||||
|
|
||||||
ДобавитьПараметрыОграниченияСписка(ПолноеИмя, ПараметрыОграниченияСписков,
|
ВерсияОграничений = ДействующиеПараметры.ВерсииОграниченийСписков.Получить(ПолноеИмя);
|
||||||
ДействующиеПараметры, ДействующиеПараметрыОбновлены, ИдентификаторТранзакции, ОбщийКонтекст);
|
РассчитанныеПараметры = РассчитанныеПараметрыОграничения(ПолноеИмя, ОбщийКонтекст, ДействующиеПараметры);
|
||||||
|
|
||||||
Если ДействующиеПараметрыОбновлены Тогда
|
Если ВерсияОграничений <> РассчитанныеПараметры.Версия Тогда
|
||||||
Если ПовторныйВызов Тогда
|
Если ПовторныйВызов Тогда
|
||||||
ПолноеИмяПриЗацикливании = ПолноеИмя;
|
|
||||||
Иначе
|
|
||||||
ЗаполнитьПараметрыОграничения(ПолноеИмя,
|
|
||||||
ИдентификаторТранзакции, Ложь, ДобавляемыеОграниченияСписков, ОбщийКонтекст, Истина);
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ПолноеИмяПриЗацикливании) Тогда
|
|
||||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'Не удалось обновить параметры ограничения доступа списка ""%1""
|
НСтр("ru = 'Не удалось обновить параметры ограничения доступа списка ""%1""
|
||||||
|из-за нестабильной строки свойств версии параметров для вычисления хеш-суммы.'"),
|
|из-за нестабильной строки свойств версии параметров для вычисления хеш-суммы.'"),
|
||||||
ПолноеИмяПриЗацикливании);
|
ПолноеИмя);
|
||||||
ВызватьИсключение ТекстОшибки;
|
ВызватьИсключение ТекстОшибки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(ИдентификаторТранзакции, ОбщийКонтекст, Истина);
|
||||||
Если ПараметрыОграниченияСписков.Количество() = 0 Тогда
|
ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, Параметры, ОбщийКонтекст, Истина);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ДобавляемыеОграниченияСписков <> Неопределено Тогда
|
Параметры = ОбщегоНазначения.ФиксированныеДанные(РассчитанныеПараметры);
|
||||||
ДобавляемыеОграниченияСписков = ПараметрыОграниченияСписков;
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Кэш = КэшПараметровОграничения();
|
КэшПараметровОграничения().ОграниченияСписков.Вставить(ПолноеИмя, Параметры);
|
||||||
|
|
||||||
Для Каждого КлючИЗначение Из ПараметрыОграниченияСписков Цикл
|
|
||||||
Кэш.ОграниченияСписков.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -23265,28 +23255,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Для процедуры ЗаполнитьПараметрыОграничения.
|
|
||||||
Процедура ДобавитьПараметрыОграниченияСписка(ПолноеИмя, ПараметрыОграниченияСписков, ДействующиеПараметры,
|
|
||||||
ДействующиеПараметрыОбновлены, ИдентификаторТранзакции, ОбщийКонтекст)
|
|
||||||
|
|
||||||
Если КэшПараметровОграничения().ОграниченияСписков.Получить(ПолноеИмя) <> Неопределено Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ВерсияОграничений = ДействующиеПараметры.ВерсииОграниченийСписков.Получить(ПолноеИмя);
|
|
||||||
РассчитанныеПараметры = РассчитанныеПараметрыОграничения(ПолноеИмя, ОбщийКонтекст, ДействующиеПараметры);
|
|
||||||
|
|
||||||
Если ВерсияОграничений <> РассчитанныеПараметры.Версия Тогда
|
|
||||||
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(ИдентификаторТранзакции, ОбщийКонтекст, Истина);
|
|
||||||
ДействующиеПараметрыОбновлены = Истина;
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПараметрыОграниченияСписков.Вставить(ПолноеИмя,
|
|
||||||
ОбщегоНазначения.ФиксированныеДанные(РассчитанныеПараметры));
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Для процедуры ДобавитьПараметрыОграниченияСписка.
|
// Для процедуры ДобавитьПараметрыОграниченияСписка.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
|
|||||||
@@ -2719,7 +2719,7 @@
|
|||||||
// Адрес, Телефон, Факс, ВебСтраница. Значение по умолчанию - Ложь.
|
// Адрес, Телефон, Факс, ВебСтраница. Значение по умолчанию - Ложь.
|
||||||
// * НастройкиПроверки - Неопределено - для типов Другое, ВебСтраница, Skype.
|
// * НастройкиПроверки - Неопределено - для типов Другое, ВебСтраница, Skype.
|
||||||
// - Структура - состав полей зависит от типа контактной информации:
|
// - Структура - состав полей зависит от типа контактной информации:
|
||||||
// ** ТолькоНациональныйАдрес - Булево - для типа Адрес. Если Истина, если возможен ввод только российских адресов.
|
// ** ТолькоНациональныйАдрес - Булево - для типа Адрес. Если Истина, если возможен ввод только национальных адресов.
|
||||||
// ** ПроверятьКорректность - Булево - для типа Адрес. Если Истина, если требуется запрещать пользователю записывать
|
// ** ПроверятьКорректность - Булево - для типа Адрес. Если Истина, если требуется запрещать пользователю записывать
|
||||||
// некорректные адреса.
|
// некорректные адреса.
|
||||||
// ** СкрыватьНеактуальныеАдреса - Булево - для типа Адрес. Если Истина, если не требуется показывать
|
// ** СкрыватьНеактуальныеАдреса - Булево - для типа Адрес. Если Истина, если не требуется показывать
|
||||||
@@ -4494,7 +4494,7 @@
|
|||||||
Возврат Ложь;
|
Возврат Ложь;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ВывестиСообщениеПользователю(ТекстСообщения, ИмяРеквизита, ПолеРеквизита)
|
Процедура ВывестиСообщениеПользователю(ТекстСообщения, ИмяРеквизита, ПолеРеквизита = "")
|
||||||
|
|
||||||
ИмяРеквизита = ?(ПустаяСтрока(ПолеРеквизита), ИмяРеквизита, "");
|
ИмяРеквизита = ?(ПустаяСтрока(ПолеРеквизита), ИмяРеквизита, "");
|
||||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,, ПолеРеквизита, ИмяРеквизита);
|
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,, ПолеРеквизита, ИмяРеквизита);
|
||||||
@@ -4862,13 +4862,45 @@
|
|||||||
// Параметры:
|
// Параметры:
|
||||||
// Источник - ОбъектXDTO - контактная информацией.
|
// Источник - ОбъектXDTO - контактная информацией.
|
||||||
// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки.
|
// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки.
|
||||||
// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке.
|
// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке к реквизиту на форме.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие.
|
// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие.
|
||||||
//
|
//
|
||||||
Функция ОшибкиЗаполненияТелефона(Источник, ВидИнформации, ИмяРеквизита = "")
|
Функция ОшибкиЗаполненияТелефона(Источник, ВидИнформации, ИмяРеквизита = "")
|
||||||
|
|
||||||
|
Если Не ВидИнформации.ПроверятьКорректность Тогда
|
||||||
Возврат 0;
|
Возврат 0;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЕстьОшибки = Ложь;
|
||||||
|
|
||||||
|
СведенияОТелефоне = СведенияОТелефоне(Источник);
|
||||||
|
|
||||||
|
МодульРаботаСАдресами = Неопределено;
|
||||||
|
Если Метаданные.Обработки.Найти("РасширенныйВводКонтактнойИнформации") <> Неопределено Тогда
|
||||||
|
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СписокОшибок = УправлениеКонтактнойИнформациейКлиентСервер.ОшибкиЗаполненияТелефона(СведенияОТелефоне, МодульРаботаСАдресами);
|
||||||
|
|
||||||
|
Для Каждого Элемент Из СписокОшибок Цикл
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ИмяРеквизита) Тогда
|
||||||
|
ВывестиСообщениеПользователю(Элемент.Представление, ИмяРеквизита);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЕстьОшибки = Истина;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ЕстьОшибки И ВидИнформации.ПроверятьКорректность Тогда
|
||||||
|
Возврат 2;
|
||||||
|
ИначеЕсли ЕстьОшибки Тогда
|
||||||
|
Возврат 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат 0;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Проверяет контактную информацию веб страницы и сообщает об ошибках. Возвращает флаг наличия ошибок.
|
// Проверяет контактную информацию веб страницы и сообщает об ошибках. Возвращает флаг наличия ошибок.
|
||||||
|
|||||||
@@ -1766,14 +1766,4 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
Функция ОставитьТолькоЦифрыВСтроке(Знач Строка) Экспорт
|
|
||||||
|
|
||||||
ЛишниеСимволы = СтрСоединить(СтрРазделить(Строка, "0123456789"), "");
|
|
||||||
Результат = СтрСоединить(СтрРазделить(Строка, ЛишниеСимволы), "");
|
|
||||||
|
|
||||||
Возврат Результат;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -601,6 +601,83 @@
|
|||||||
// АПК: 1297-вкл
|
// АПК: 1297-вкл
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
// Возвращает список ошибок заполнения в виде списка значений
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СведенияОТелефоне - см. СтруктураПолейТелефона
|
||||||
|
// МодульДополнительныхПроверок - Произвольный
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СписокЗначений - ошибки заполнения телефона:
|
||||||
|
// * Представление - описание ошибки.
|
||||||
|
// * Значение - XPath для поля.
|
||||||
|
//
|
||||||
|
Функция ОшибкиЗаполненияТелефона(СведенияОТелефоне, МодульДополнительныхПроверок = Неопределено) Экспорт
|
||||||
|
|
||||||
|
СписокОшибок = Новый СписокЗначений;
|
||||||
|
ПолныйНомерТелефона = СведенияОТелефоне.КодСтраны + СведенияОТелефоне.КодГорода + СведенияОТелефоне.НомерТелефона;
|
||||||
|
|
||||||
|
КодСтраныТолькоЦифры = ОставитьТолькоЦифрыВСтроке(СведенияОТелефоне.КодСтраны);
|
||||||
|
Если ЗначениеЗаполнено(СведенияОТелефоне.КодСтраны) И ПустаяСтрока(КодСтраныТолькоЦифры) Тогда
|
||||||
|
СписокОшибок.Добавить("КодСтраны", НСтр("ru = 'Код страны содержит недопустимые символы'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НомерТелефонаТолькоЦифры = ОставитьТолькоЦифрыВСтроке(СведенияОТелефоне.Представление);
|
||||||
|
Если ПустаяСтрока(НомерТелефонаТолькоЦифры) Тогда
|
||||||
|
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'Номер телефона не содержит цифр'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПолныйНомерТелефонаТолькоЦифры = ОставитьТолькоЦифрыВСтроке(ПолныйНомерТелефона);
|
||||||
|
Если СтрДлина(ПолныйНомерТелефонаТолькоЦифры) > 15 Тогда
|
||||||
|
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'Номер телефона слишком длинный'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СведенияОТелефоне.КодСтраны) И НомерТелефонаСодержитНедопустимыеСимволы(СведенияОТелефоне.КодСтраны) Тогда
|
||||||
|
СписокОшибок.Добавить("КодСтраны", НСтр("ru = 'Код страны содержит недопустимые символы'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СведенияОТелефоне.КодГорода) И НомерТелефонаСодержитНедопустимыеСимволы(СведенияОТелефоне.КодГорода) Тогда
|
||||||
|
СписокОшибок.Добавить("КодГорода", НСтр("ru = 'Код города содержит недопустимые символы'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СведенияОТелефоне.НомерТелефона) И НомерТелефонаСодержитНедопустимыеСимволы(СведенияОТелефоне.НомерТелефона) Тогда
|
||||||
|
СписокОшибок.Добавить("НомерТелефона", НСтр("ru = 'Номер телефона содержит недопустимые символы'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МодульДополнительныхПроверок <> Неопределено Тогда
|
||||||
|
МодульДополнительныхПроверок.ПроверитьКорректностьКодовСтраныИГорода(СведенияОТелефоне, СписокОшибок);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат СписокОшибок;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОставитьТолькоЦифрыВСтроке(Знач Строка) Экспорт
|
||||||
|
|
||||||
|
ЛишниеСимволы = СтрСоединить(СтрРазделить(Строка, "0123456789"), "");
|
||||||
|
Результат = СтрСоединить(СтрРазделить(Строка, ЛишниеСимволы), "");
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверяет, содержит ли строка только ~
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// СтрокаПроверки - Строка - строка для проверки.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы.
|
||||||
|
//
|
||||||
|
Функция НомерТелефонаСодержитНедопустимыеСимволы(Знач СтрокаПроверки)
|
||||||
|
|
||||||
|
СписокДопустимыхСимволов = "+-.,() wp1234567890";
|
||||||
|
Возврат СтрРазделить(СтрокаПроверки, СписокДопустимыхСимволов, Ложь).Количество() > 0;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -862,7 +862,7 @@
|
|||||||
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда
|
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда
|
||||||
|
|
||||||
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||||
МодульРаботаСАдресами.ВывитьИИсправитьУстаревшиеАдреса();
|
МодульРаботаСАдресами.ВыявитьИИсправитьУстаревшиеАдреса();
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -1551,17 +1551,11 @@
|
|||||||
//
|
//
|
||||||
// Возвращаемое значение
|
// Возвращаемое значение
|
||||||
// ТаблицаЗначений:
|
// ТаблицаЗначений:
|
||||||
// ТипФайлаТабличногоДокумента - ТипФайлаТабличногоДокумента - значение в платформе,
|
// * ТипФайлаТабличногоДокумента - ТипФайлаТабличногоДокумента - значение, соответствующее формату.
|
||||||
// соответствующее
|
// * Ссылка - ПеречислениеСсылка.ФорматыСохраненияОтчетов
|
||||||
// формату;
|
// * Представление - Строка - представление типа файла (заполняется из перечисления).
|
||||||
// Ссылка - ПеречислениеСсылка.ФорматыСохраненияОтчетов - ссылка на метаданные,
|
// * Расширение - Строка - тип файла для операционной системы.
|
||||||
// где хранится
|
// * Картинка - Картинка - значок формата.
|
||||||
// представление;
|
|
||||||
// Представление - Строка - представление типа
|
|
||||||
// файла (заполняется из перечисления);
|
|
||||||
// Расширение - Строка - тип файла для
|
|
||||||
// операционной системы;
|
|
||||||
// Картинка - Картинка - значок формата.
|
|
||||||
//
|
//
|
||||||
Функция НастройкиФорматовСохраненияТабличногоДокумента() Экспорт
|
Функция НастройкиФорматовСохраненияТабличногоДокумента() Экспорт
|
||||||
|
|
||||||
|
|||||||
@@ -1662,11 +1662,12 @@
|
|||||||
|
|
||||||
Записать = Ложь;
|
Записать = Ложь;
|
||||||
Если Объект = Неопределено Тогда
|
Если Объект = Неопределено Тогда
|
||||||
Если СвойстваНабора.ДочерниеНаборы = Неопределено
|
Если СвойстваНабора.ЭтоГруппа
|
||||||
Или СвойстваНабора.ДочерниеНаборы.Количество() = 0 Тогда
|
Или (СвойстваНабора.ДочерниеНаборы <> Неопределено
|
||||||
Объект = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент();
|
И СвойстваНабора.ДочерниеНаборы.Количество() <> 0) Тогда
|
||||||
Иначе
|
|
||||||
Объект = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьГруппу();
|
Объект = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьГруппу();
|
||||||
|
Иначе
|
||||||
|
Объект = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если Родитель <> Неопределено Тогда
|
Если Родитель <> Неопределено Тогда
|
||||||
Объект.Родитель = Родитель;
|
Объект.Родитель = Родитель;
|
||||||
|
|||||||
@@ -95,7 +95,6 @@
|
|||||||
Результат.Вставить("ТипШаблона", "Письмо");
|
Результат.Вставить("ТипШаблона", "Письмо");
|
||||||
Результат.Вставить("Назначение", "");
|
Результат.Вставить("Назначение", "");
|
||||||
Результат.Вставить("ПолноеИмяТипаНазначения", "");
|
Результат.Вставить("ПолноеИмяТипаНазначения", "");
|
||||||
Результат.Вставить("ФорматПисьма", ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML"));
|
|
||||||
Результат.Вставить("УпаковатьВАрхив", Ложь);
|
Результат.Вставить("УпаковатьВАрхив", Ложь);
|
||||||
Результат.Вставить("ТранслитерироватьИменаФайлов", Ложь);
|
Результат.Вставить("ТранслитерироватьИменаФайлов", Ложь);
|
||||||
Результат.Вставить("ПеревестиВТранслит", Ложь);
|
Результат.Вставить("ПеревестиВТранслит", Ложь);
|
||||||
@@ -113,6 +112,8 @@
|
|||||||
Результат.Вставить("Наименование", "");
|
Результат.Вставить("Наименование", "");
|
||||||
Результат.Вставить("ПараметрыСообщения", Новый Структура);
|
Результат.Вставить("ПараметрыСообщения", Новый Структура);
|
||||||
Результат.Вставить("ПодписьИПечать", Ложь);
|
Результат.Вставить("ПодписьИПечать", Ложь);
|
||||||
|
Результат.Вставить("РасширенныйСписокПолучателей", Ложь);
|
||||||
|
Результат.Вставить("ФорматПисьма", ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML"));
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
|
|||||||
@@ -796,6 +796,10 @@
|
|||||||
ПараметрыШаблона.ТипШаблона = "SMS";
|
ПараметрыШаблона.ТипШаблона = "SMS";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПараметрыОтправки.ДополнительныеПараметры.Свойство("РасширенныйСписокПолучателей") Тогда
|
||||||
|
ПараметрыШаблона.РасширенныйСписокПолучателей = ПараметрыОтправки.ДополнительныеПараметры.РасширенныйСписокПолучателей;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
МенеджерОбъекта = Неопределено;
|
МенеджерОбъекта = Неопределено;
|
||||||
Если ПараметрыОтправки.Свойство("Предмет") И ЗначениеЗаполнено(ПараметрыОтправки.Предмет) Тогда
|
Если ПараметрыОтправки.Свойство("Предмет") И ЗначениеЗаполнено(ПараметрыОтправки.Предмет) Тогда
|
||||||
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(ПараметрыОтправки.Предмет));
|
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(ПараметрыОтправки.Предмет));
|
||||||
|
|||||||
@@ -1777,106 +1777,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура СброситьРазмерыИПоложениеОкна(Форма) Экспорт
|
|
||||||
|
|
||||||
Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИмяФормы = Форма.ИмяФормы;
|
|
||||||
НовыйКлючСохраненияПоложенияОкна = СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", "_");
|
|
||||||
КлючОбъектаХранения = ИмяФормы + "/ВременныеКлючиСохраненияПоложенияОкна";
|
|
||||||
ИмяПользователя = ИмяПользователя();
|
|
||||||
НачалоДня = НачалоДня(ТекущаяУниверсальнаяДата());
|
|
||||||
ГраницаУстаревания = НачалоДня - 2*24*60*60;
|
|
||||||
|
|
||||||
Ключи = ХранилищеСистемныхНастроек.Загрузить(КлючОбъектаХранения);
|
|
||||||
|
|
||||||
Если ТипЗнч(Ключи) = Тип("Соответствие") Тогда
|
|
||||||
ИменаНастроек = Новый Массив;
|
|
||||||
ИменаНастроек.Добавить("/НастройкиОкна");
|
|
||||||
ИменаНастроек.Добавить("/НастройкиОкнаВебКлиента");
|
|
||||||
ИменаНастроек.Добавить("/НастройкиОкнаМобильногоКлиента");
|
|
||||||
ИменаНастроек.Добавить("/Такси/НастройкиОкна");
|
|
||||||
ИменаНастроек.Добавить("/Такси/НастройкиОкнаВебКлиента");
|
|
||||||
ИменаНастроек.Добавить("/Такси/НастройкиОкнаМобильногоКлиента");
|
|
||||||
Для Каждого КлючИЗначение Из Ключи Цикл
|
|
||||||
ТекущийДень = КлючИЗначение.Ключ;
|
|
||||||
Если ТипЗнч(ТекущийДень) <> Тип("Дата") Тогда
|
|
||||||
Ключи = Неопределено;
|
|
||||||
Прервать;
|
|
||||||
КонецЕсли;
|
|
||||||
Если ТекущийДень > ГраницаУстаревания Тогда
|
|
||||||
Продолжить;
|
|
||||||
КонецЕсли;
|
|
||||||
КлючиТекущегоДня = КлючИЗначение.Значение;
|
|
||||||
Если ТипЗнч(КлючиТекущегоДня) <> Тип("Массив") Тогда
|
|
||||||
Ключи = Неопределено;
|
|
||||||
Прервать;
|
|
||||||
КонецЕсли;
|
|
||||||
Для Каждого ТекущийКлюч Из КлючиТекущегоДня Цикл
|
|
||||||
НачалоКлючаОбъекта = ИмяФормы + "/" + ТекущийКлюч;
|
|
||||||
Для Каждого ИмяНастройки Из ИменаНастроек Цикл
|
|
||||||
ХранилищеСистемныхНастроек.Удалить(НачалоКлючаОбъекта + ИмяНастройки, "", ИмяПользователя);
|
|
||||||
КонецЦикла;
|
|
||||||
КонецЦикла;
|
|
||||||
Ключи.Удалить(ТекущийДень);
|
|
||||||
КонецЦикла;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ОчиститьСтарыеКлючи = ТипЗнч(Ключи) <> Тип("Соответствие");
|
|
||||||
Если ОчиститьСтарыеКлючи Тогда
|
|
||||||
Ключи = Новый Соответствие;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КлючиДня = Ключи.Получить(НачалоДня);
|
|
||||||
Если ТипЗнч(КлючиДня) <> Тип("Массив") Тогда
|
|
||||||
КлючиДня = Новый Массив;
|
|
||||||
Ключи.Вставить(НачалоДня, КлючиДня);
|
|
||||||
КонецЕсли;
|
|
||||||
КлючиДня.Добавить(НовыйКлючСохраненияПоложенияОкна);
|
|
||||||
ХранилищеСистемныхНастроек.Сохранить(КлючОбъектаХранения,, Ключи);
|
|
||||||
|
|
||||||
Форма.КлючСохраненияПоложенияОкна = НовыйКлючСохраненияПоложенияОкна;
|
|
||||||
|
|
||||||
Если Не ОчиститьСтарыеКлючи Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Отбор = Новый Структура("Пользователь", ИмяПользователя);
|
|
||||||
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
|
|
||||||
Пока Истина Цикл
|
|
||||||
Попытка
|
|
||||||
ЕстьСледующей = Выборка.Следующий();
|
|
||||||
Исключение
|
|
||||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
|
||||||
ЗаписьЖурналаРегистрации(
|
|
||||||
НСтр("ru = 'Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
|
||||||
УровеньЖурналаРегистрации.Ошибка,,,
|
|
||||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
|
||||||
Прервать;
|
|
||||||
КонецПопытки;
|
|
||||||
Если Не ЕстьСледующей Тогда
|
|
||||||
Прервать;
|
|
||||||
КонецЕсли;
|
|
||||||
Если Не СтрНачинаетсяС(Выборка.КлючОбъекта, ИмяФормы)
|
|
||||||
Или Выборка.КлючНастроек <> ""
|
|
||||||
Или Выборка.КлючОбъекта = КлючОбъектаХранения Тогда
|
|
||||||
Продолжить;
|
|
||||||
КонецЕсли;
|
|
||||||
ЧастиКлючаОбъекта = СтрРазделить(Выборка.КлючОбъекта, "/");
|
|
||||||
Если ЧастиКлючаОбъекта.Количество() < 2 Тогда
|
|
||||||
Продолжить;
|
|
||||||
КонецЕсли;
|
|
||||||
ПоследняяЧастьКлюча = ЧастиКлючаОбъекта[ЧастиКлючаОбъекта.ВГраница()];
|
|
||||||
Если СтрНайти(ПоследняяЧастьКлюча, "НастройкиОкна") > 0
|
|
||||||
Или СтрНайти(ПоследняяЧастьКлюча, "WindowSettings") > 0 Тогда
|
|
||||||
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, "", ИмяПользователя);
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Обновление информационной базы.
|
// Обновление информационной базы.
|
||||||
|
|
||||||
@@ -4343,7 +4243,7 @@
|
|||||||
ПредставлениеКлассификатора.Колонки.Добавить("Причина",
|
ПредставлениеКлассификатора.Колонки.Добавить("Причина",
|
||||||
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(500)));
|
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(500)));
|
||||||
ПредставлениеКлассификатора.Колонки.Добавить("Решение",
|
ПредставлениеКлассификатора.Колонки.Добавить("Решение",
|
||||||
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(500)));
|
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(750)));
|
||||||
ПредставлениеКлассификатора.Колонки.Добавить("СпособУстранения",
|
ПредставлениеКлассификатора.Колонки.Добавить("СпособУстранения",
|
||||||
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(500)));
|
Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(500)));
|
||||||
ПредставлениеКлассификатора.Колонки.Добавить("Ссылка",
|
ПредставлениеКлассификатора.Колонки.Добавить("Ссылка",
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a22da5f4-17b3-4d36-af20-4b41712cca0b">
|
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="92b3f980-1c93-42e2-ba1d-372940c24422">
|
||||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="37b03872-fd22-4a91-aa14-20ac21a39b7f"/>
|
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="2b12dda9-0fbd-448e-81bd-e18451d93f5f"/>
|
||||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="4524d8b6-091b-4c03-b028-669729d6fb3c"/>
|
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="1699dfbf-13ad-46d3-8e11-8bda66256ef7"/>
|
||||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="694341a3-d446-492b-9d91-aff62a0403c3"/>
|
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="70223a5f-c904-486f-b158-225dfb9c8990"/>
|
||||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="0abf53f1-3e7a-48bb-ba64-28b6aa792b04"/>
|
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="13e5e33f-78b5-4e64-a413-3881962a3cb1"/>
|
||||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="6ac83ae2-7764-4bef-801b-84c488c9988c"/>
|
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="d72c87ef-36ba-493c-afbf-f6beced5f7fb"/>
|
||||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="49aa51d5-db18-4ce3-91c1-964f9f72e6b5"/>
|
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="eab014bd-61f9-4aa2-a92b-5177ca6b9821"/>
|
||||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="4219f7b4-553d-4092-b946-569014897938"/>
|
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="6b833a13-0ec0-4656-a507-2a3191355c5d"/>
|
||||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>Russian</scriptVariant>
|
<scriptVariant>Russian</scriptVariant>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||||
<vendor>Фирма "1С"</vendor>
|
<vendor>Фирма "1С"</vendor>
|
||||||
<version>3.1.6.100</version>
|
<version>3.1.6.118</version>
|
||||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||||
<includeHelpInContents>true</includeHelpInContents>
|
<includeHelpInContents>true</includeHelpInContents>
|
||||||
<usedMobileApplicationFunctionalities>
|
<usedMobileApplicationFunctionalities>
|
||||||
@@ -1189,10 +1189,10 @@
|
|||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектов</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектов</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектовКлиент</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовКлиент</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектовПереопределяемый</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовПереопределяемый</commonModules>
|
||||||
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовПовтИсп</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебный</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебный</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебныйВызовСервера</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебныйВызовСервера</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебныйКлиентСервер</commonModules>
|
<commonModules>CommonModule.УдалениеПомеченныхОбъектовСлужебныйКлиентСервер</commonModules>
|
||||||
<commonModules>CommonModule.УдалениеПомеченныхПовтИсп</commonModules>
|
|
||||||
<commonModules>CommonModule.УправлениеДоступом</commonModules>
|
<commonModules>CommonModule.УправлениеДоступом</commonModules>
|
||||||
<commonModules>CommonModule.УправлениеДоступомПереопределяемый</commonModules>
|
<commonModules>CommonModule.УправлениеДоступомПереопределяемый</commonModules>
|
||||||
<commonModules>CommonModule.УправлениеДоступомСлужебный</commonModules>
|
<commonModules>CommonModule.УправлениеДоступомСлужебный</commonModules>
|
||||||
@@ -1419,6 +1419,7 @@
|
|||||||
<scheduledJobs>ScheduledJob.ИзвлечениеТекста</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ИзвлечениеТекста</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ИсправлениеУстаревшихАдресов</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ИсправлениеУстаревшихАдресов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.КонтрольАктивностиПользователей</scheduledJobs>
|
<scheduledJobs>ScheduledJob.КонтрольАктивностиПользователей</scheduledJobs>
|
||||||
|
<scheduledJobs>ScheduledJob.КонтрольУдаленияПомеченныхОбъектов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.МониторингЗадач</scheduledJobs>
|
<scheduledJobs>ScheduledJob.МониторингЗадач</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОбновлениеАгрегатов</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОбновлениеАгрегатов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОбновлениеДоступаНаУровнеЗаписей</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОбновлениеДоступаНаУровнеЗаписей</scheduledJobs>
|
||||||
@@ -1427,7 +1428,6 @@
|
|||||||
<scheduledJobs>ScheduledJob.ОбновлениеСостоянияЗаявленияНаВыпускСертификата</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОбновлениеСостоянияЗаявленияНаВыпускСертификата</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОбновлениеСтатусовДоставкиSMS</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОбновлениеСтатусовДоставкиSMS</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОбработкаСервисовИнтеграции</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОбработкаСервисовИнтеграции</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОтключениеПроверкиИспользованияУдаляемыхОбъектов</scheduledJobs>
|
|
||||||
<scheduledJobs>ScheduledJob.ОтложенноеОбновлениеИБ</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОтложенноеОбновлениеИБ</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОтправкаSMS</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОтправкаSMS</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ОчисткаЗамеровВремени</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ОчисткаЗамеровВремени</scheduledJobs>
|
||||||
@@ -1449,7 +1449,7 @@
|
|||||||
<scheduledJobs>ScheduledJob.СтартОтложенныхПроцессов</scheduledJobs>
|
<scheduledJobs>ScheduledJob.СтартОтложенныхПроцессов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.УведомлениеИсполнителейОНовыхЗадачах</scheduledJobs>
|
<scheduledJobs>ScheduledJob.УведомлениеИсполнителейОНовыхЗадачах</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.УдалениеНеактуальнойИнформацииСинхронизации</scheduledJobs>
|
<scheduledJobs>ScheduledJob.УдалениеНеактуальнойИнформацииСинхронизации</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.УдалениеПомеченных</scheduledJobs>
|
<scheduledJobs>ScheduledJob.УдалениеПомеченныхОбъектов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.УдалениеУстаревшихПараметровРаботыВерсийРасширений</scheduledJobs>
|
<scheduledJobs>ScheduledJob.УдалениеУстаревшихПараметровРаботыВерсийРасширений</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.УстановкаПериодаРассчитанныхИтогов</scheduledJobs>
|
<scheduledJobs>ScheduledJob.УстановкаПериодаРассчитанныхИтогов</scheduledJobs>
|
||||||
<scheduledJobs>ScheduledJob.ЭкспортОценкиПроизводительности</scheduledJobs>
|
<scheduledJobs>ScheduledJob.ЭкспортОценкиПроизводительности</scheduledJobs>
|
||||||
@@ -1789,11 +1789,13 @@
|
|||||||
<constants>Constant.СписокРасширенийФайловOpenDocument</constants>
|
<constants>Constant.СписокРасширенийФайловOpenDocument</constants>
|
||||||
<constants>Constant.СписокРасширенийФайловOpenDocumentОбластиДанных</constants>
|
<constants>Constant.СписокРасширенийФайловOpenDocumentОбластиДанных</constants>
|
||||||
<constants>Constant.СпособХраненияФайлов</constants>
|
<constants>Constant.СпособХраненияФайлов</constants>
|
||||||
|
<constants>Constant.СтандартныеПодсистемыВАвтономномРежиме</constants>
|
||||||
<constants>Constant.СтатусОбновленияКонфигурации</constants>
|
<constants>Constant.СтатусОбновленияКонфигурации</constants>
|
||||||
<constants>Constant.УчетнаяЗаписьДляВосстановленияПароля</constants>
|
<constants>Constant.УчетнаяЗаписьДляВосстановленияПароля</constants>
|
||||||
<constants>Constant.ХранитьФайлыВТомахНаДиске</constants>
|
<constants>Constant.ХранитьФайлыВТомахНаДиске</constants>
|
||||||
<constants>Constant.ЭтоАвтономноеРабочееМесто</constants>
|
<constants>Constant.ЭтоАвтономноеРабочееМесто</constants>
|
||||||
<constants>Constant.УдалитьЛогинДоступаКСервисуMorpher</constants>
|
<constants>Constant.УдалитьЛогинДоступаКСервисуMorpher</constants>
|
||||||
|
<constants>Constant.УдалитьНастройкиВходаПользователей</constants>
|
||||||
<commonForms>CommonForm.АвтономнаяРабота</commonForms>
|
<commonForms>CommonForm.АвтономнаяРабота</commonForms>
|
||||||
<commonForms>CommonForm.АвтономнаяРаботаВМоделиСервиса</commonForms>
|
<commonForms>CommonForm.АвтономнаяРаботаВМоделиСервиса</commonForms>
|
||||||
<commonForms>CommonForm.АдреснаяКнига</commonForms>
|
<commonForms>CommonForm.АдреснаяКнига</commonForms>
|
||||||
@@ -1918,6 +1920,7 @@
|
|||||||
<catalogs>Catalog.МакетыПечатныхФорм</catalogs>
|
<catalogs>Catalog.МакетыПечатныхФорм</catalogs>
|
||||||
<catalogs>Catalog.НаборыГруппДоступа</catalogs>
|
<catalogs>Catalog.НаборыГруппДоступа</catalogs>
|
||||||
<catalogs>Catalog.НаборыДополнительныхРеквизитовИСведений</catalogs>
|
<catalogs>Catalog.НаборыДополнительныхРеквизитовИСведений</catalogs>
|
||||||
|
<catalogs>Catalog.НастройкиАвторизацииИнтернетСервисов</catalogs>
|
||||||
<catalogs>Catalog.ОбщиеВнешниеКомпоненты</catalogs>
|
<catalogs>Catalog.ОбщиеВнешниеКомпоненты</catalogs>
|
||||||
<catalogs>Catalog.ПапкиФайлов</catalogs>
|
<catalogs>Catalog.ПапкиФайлов</catalogs>
|
||||||
<catalogs>Catalog.ПапкиЭлектронныхПисем</catalogs>
|
<catalogs>Catalog.ПапкиЭлектронныхПисем</catalogs>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{6,1,1,9f44c960-df00-4076-8041-eaa1d3afa88f,1,e3032068-eca1-4932-ba4a-df0c13f23b85,"3.1.6.100","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6688,1,0,a22da5f4-17b3-4d36-af20-4b41712cca0b,a22da5f4-17b3-4d36-af20-4b41712cca0b,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7Line truncated
|
{6,1,1,e67e4a81-24b9-4b21-94b8-aec88bc7ce16,1,da2b293d-795a-4b3f-9280-a0ba68dc66b8,"3.1.6.118","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6704,1,0,92b3f980-1c93-42e2-ba1d-372940c24422,92b3f980-1c93-42e2-ba1d-372940c24422,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7Line truncated
|
||||||
Whitespace-only changes.
Whitespace-only changes.
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="766c9bee-b0fc-4a7f-b88e-cd8c4aad73b8">
|
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ae039438-89af-4217-910d-476115f51ab2">
|
||||||
<producedTypes>
|
<producedTypes>
|
||||||
<managerType typeId="950c9fb9-004c-4aea-9952-da77fd857482" valueTypeId="1de2030d-fef3-4c93-99d2-afe629a74798"/>
|
<managerType typeId="b4b73017-0460-47f4-9f8e-75fb41de4b6b" valueTypeId="23f537c1-5429-4e2e-8d30-e8e7337c1766"/>
|
||||||
<valueManagerType typeId="25e29d89-5baf-4310-a1cc-99c252daf10a" valueTypeId="fa9d15fc-cf10-47dc-b3b3-8de30db13827"/>
|
<valueManagerType typeId="3150f1e9-15ca-4111-bd54-7bbe6a1c3c8f" valueTypeId="d46916b8-5446-4df1-b43c-3f4229a948ac"/>
|
||||||
<valueKeyType typeId="7aedb719-b816-50c6-83eb-1e8b8329e723" valueTypeId="d5b4a76d-79a2-5a64-b09c-a5be745b4e27"/>
|
<valueKeyType typeId="93c2c5af-7bb3-4b0b-96de-fae40a4b7855" valueTypeId="731618b2-b245-4d62-8a0f-63739f5b7146"/>
|
||||||
</producedTypes>
|
</producedTypes>
|
||||||
<name>НастройкиВходаПользователей</name>
|
<name>НастройкиВходаПользователей</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
|
|||||||
Whitespace-only changes.
Whitespace-only changes.
Loaded 100 of 194 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user