3_1_8_302
This commit is contained in:
1 parent
bf143472d7
commit
3efc44c50b
271 files changed
+17523
-6311
No files matched your search
@@ -62,7 +62,8 @@
|
|||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонструкторФормул") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонструкторФормул") Тогда
|
||||||
МодульКонструкторФормул = ОбщегоНазначения.ОбщийМодуль("КонструкторФормул");
|
МодульКонструкторФормул = ОбщегоНазначения.ОбщийМодуль("КонструкторФормул");
|
||||||
ПредставлениеФормулы = МодульКонструкторФормул.ПредставлениеФормулы(ПараметрыФормулы());
|
ПредставлениеФормулы = МодульКонструкторФормул.ПредставлениеФормулы(ПараметрыФормулы(
|
||||||
|
Объект.ФормулаРасчетаКурса, УникальныйИдентификатор));
|
||||||
Иначе
|
Иначе
|
||||||
Элементы.ФормулаРасчетаКурса.КнопкаВыбора = Ложь;
|
Элементы.ФормулаРасчетаКурса.КнопкаВыбора = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -307,19 +308,19 @@
|
|||||||
МодульКонструкторФормулКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("КонструкторФормулКлиент");
|
МодульКонструкторФормулКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("КонструкторФормулКлиент");
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗавершенииРедактированияФормулы", ЭтотОбъект);
|
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗавершенииРедактированияФормулы", ЭтотОбъект);
|
||||||
МодульКонструкторФормулКлиент.НачатьРедактированиеФормулы(ПараметрыФормулы(), ОписаниеОповещения);
|
МодульКонструкторФормулКлиент.НачатьРедактированиеФормулы(ПараметрыФормулы(Объект.ФормулаРасчетаКурса, УникальныйИдентификатор), ОписаниеОповещения);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервереБезКонтекста
|
||||||
Функция ПараметрыФормулы()
|
Функция ПараметрыФормулы(ФормулаРасчетаКурса, УникальныйИдентификатор)
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонструкторФормул") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонструкторФормул") Тогда
|
||||||
МодульКонструкторФормул = ОбщегоНазначения.ОбщийМодуль("КонструкторФормул");
|
МодульКонструкторФормул = ОбщегоНазначения.ОбщийМодуль("КонструкторФормул");
|
||||||
|
|
||||||
ПараметрыФормулы = МодульКонструкторФормул.ПараметрыРедактированияФормулы();
|
ПараметрыФормулы = МодульКонструкторФормул.ПараметрыРедактированияФормулы();
|
||||||
ПараметрыФормулы.Формула = Объект.ФормулаРасчетаКурса;
|
ПараметрыФормулы.Формула = ФормулаРасчетаКурса;
|
||||||
ПараметрыФормулы.СкобкиОперандов = Ложь;
|
ПараметрыФормулы.СкобкиОперандов = Ложь;
|
||||||
ПараметрыФормулы.Операнды = ОперандыФормулыРасчетаКурса(УникальныйИдентификатор);
|
ПараметрыФормулы.Операнды = ОперандыФормулыРасчетаКурса(УникальныйИдентификатор);
|
||||||
ПараметрыФормулы.Операторы = ОператорыФормулыРасчетаКурса(УникальныйИдентификатор);
|
ПараметрыФормулы.Операторы = ОператорыФормулыРасчетаКурса(УникальныйИдентификатор);
|
||||||
|
|||||||
@@ -29,9 +29,9 @@
|
|||||||
Если Наименование <> "" И ВариантыОтчетов.НаименованиеЗанято(Отчет, Ссылка, Наименование) Тогда
|
Если Наименование <> "" И ВариантыОтчетов.НаименованиеЗанято(Отчет, Ссылка, Наименование) Тогда
|
||||||
Отказ = Истина;
|
Отказ = Истина;
|
||||||
ОбщегоНазначения.СообщитьПользователю(
|
ОбщегоНазначения.СообщитьПользователю(
|
||||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" занято, укажите другое наименование.'"), Наименование),
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
,
|
НСтр("ru = '""%1"" занято, укажите другое наименование.'"), Наименование),
|
||||||
"Наименование");
|
,"Наименование");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -341,21 +341,19 @@
|
|||||||
|
|
||||||
Если ПометкаУдаления Или Не Предопределенный Тогда
|
Если ПометкаУдаления Или Не Предопределенный Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
ИначеЕсли Не ЗначениеЗаполнено(Отчет) Тогда
|
|
||||||
ТекстОшибки = НеЗаполненоПоле("Отчет");
|
|
||||||
ИначеЕсли Не ЗначениеЗаполнено(ТипОтчета) Тогда
|
|
||||||
ТекстОшибки = НеЗаполненоПоле("ТипОтчета");
|
|
||||||
ИначеЕсли ТипОтчета <> ВариантыОтчетов.ТипОтчета(Отчет) Тогда
|
|
||||||
ТекстОшибки = НСтр("ru = 'Противоречивые значения полей ""%1"" и ""%2""'");
|
|
||||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, "ТипОтчета", "Отчет");
|
|
||||||
ИначеЕсли Не ЗначениеЗаполнено(ПредопределенныйВариант)
|
|
||||||
И (ТипОтчета = Перечисления.ТипыОтчетов.Внутренний Или ТипОтчета = Перечисления.ТипыОтчетов.Расширение) Тогда
|
|
||||||
ТекстОшибки = НеЗаполненоПоле("ПредопределенныйВариант");
|
|
||||||
Иначе
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВызватьИсключение ТекстОшибки;
|
Если Не ЗначениеЗаполнено(Отчет) Тогда
|
||||||
|
ВызватьИсключение НеЗаполненоПоле("Отчет");
|
||||||
|
ИначеЕсли Не ЗначениеЗаполнено(ТипОтчета) Тогда
|
||||||
|
ВызватьИсключение НеЗаполненоПоле("ТипОтчета");
|
||||||
|
ИначеЕсли ТипОтчета <> ВариантыОтчетов.ТипОтчета(Отчет) Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Противоречивые значения полей ""%1"" и ""%2""'");
|
||||||
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, "ТипОтчета", "Отчет");
|
||||||
|
ИначеЕсли Не ЗначениеЗаполнено(ПредопределенныйВариант)
|
||||||
|
И (ТипОтчета = Перечисления.ТипыОтчетов.Внутренний Или ТипОтчета = Перечисления.ТипыОтчетов.Расширение) Тогда
|
||||||
|
ВызватьИсключение НеЗаполненоПоле("ПредопределенныйВариант");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -752,7 +752,7 @@
|
|||||||
<titleLocation>Right</titleLocation>
|
<titleLocation>Right</titleLocation>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>OnChange</event>
|
<event>OnChange</event>
|
||||||
<name>ТелефонCДобавочнымНомеромПриИзменении</name>
|
<name>ТелефонСДобавочнымНомеромПриИзменении</name>
|
||||||
</handlers>
|
</handlers>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ТелефонCДобавочнымНомеромРасширеннаяПодсказка</name>
|
<name>ТелефонCДобавочнымНомеромРасширеннаяПодсказка</name>
|
||||||
|
|||||||
@@ -319,14 +319,14 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ТелефонCДобавочнымНомеромПриИзменении(Элемент)
|
Процедура ТелефонСДобавочнымНомеромПриИзменении(Элемент)
|
||||||
|
|
||||||
ОбновитьДоступностьЭлементовТелефонаФакса(ЭтотОбъект);
|
ОбновитьДоступностьЭлементовТелефонаФакса(ЭтотОбъект);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура МаскаПриВводеНомераТелефонаПриИзменении(Элемент)
|
Процедура МаскаПриВводеНомераТелефонаПриИзменении(Элемент)
|
||||||
|
|
||||||
ОбновитьДоступностьЭлементовТелефонаФакса(ЭтотОбъект);
|
ОбновитьДоступностьЭлементовТелефонаФакса(ЭтотОбъект);
|
||||||
|
|
||||||
|
|||||||
@@ -600,14 +600,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ВидКонтактнойИнформации.ЭтоГруппа И ПустаяСтрока(ВидКонтактнойИнформации.ВидРедактирования) Тогда
|
Если Не ВидКонтактнойИнформации.ЭтоГруппа И ПустаяСтрока(ВидКонтактнойИнформации.ВидРедактирования) Тогда
|
||||||
Если ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда
|
Если ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница
|
||||||
|
Или ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда
|
||||||
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
|
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
|
||||||
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
|
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
|
||||||
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Skype
|
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Skype
|
||||||
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
||||||
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВвода";
|
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВвода";
|
||||||
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
|
||||||
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
|
|
||||||
Иначе
|
Иначе
|
||||||
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог";
|
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -2227,7 +2227,7 @@
|
|||||||
</userVisible>
|
</userVisible>
|
||||||
<toolTip>
|
<toolTip>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Не включен вход в программу, нет прав или
|
<value>Не включен вход в программу, нет прав для входа или
|
||||||
нет ни одного права запуска (тонкий клиент, веб-клиент)</value>
|
нет ни одного права запуска (тонкий клиент, веб-клиент)</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
|
|||||||
@@ -594,8 +594,8 @@
|
|||||||
</userVisible>
|
</userVisible>
|
||||||
<toolTip>
|
<toolTip>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>У пользователя нет ни одного права запуска (тонкий клиент, веб-клиент,
|
<value>У пользователя нет ни одного права запуска
|
||||||
толстый клиент, automation, внешнее соединение)</value>
|
(например, тонкий клиент, веб-клиент)</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>НетПравНаЗапускНадписьРасширеннаяПодсказка</name>
|
<name>НетПравНаЗапускНадписьРасширеннаяПодсказка</name>
|
||||||
@@ -646,6 +646,110 @@
|
|||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>ГруппаНетПравНаВход</name>
|
||||||
|
<id>397</id>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>НетПравНаВходКартинка</name>
|
||||||
|
<id>399</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав на вход картинка</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>НетПравНаВходКартинкаРасширеннаяПодсказка</name>
|
||||||
|
<id>401</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>НетПравНаВходКартинкаКонтекстноеМеню</name>
|
||||||
|
<id>400</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||||
|
<picture xsi:type="core:PictureRef">
|
||||||
|
<picture>CommonPicture.Предупреждение</picture>
|
||||||
|
</picture>
|
||||||
|
<fileDragMode>AsFileRef</fileDragMode>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>НетПравНаВходНадпись</name>
|
||||||
|
<id>402</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав для входа</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Пользователю не назначены минимальные права для работы в программе</value>
|
||||||
|
</toolTip>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>НетПравНаВходНадписьРасширеннаяПодсказка</name>
|
||||||
|
<id>404</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>НетПравНаВходНадписьКонтекстноеМеню</name>
|
||||||
|
<id>403</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав на вход</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ГруппаНетПравНаВходРасширеннаяПодсказка</name>
|
||||||
|
<id>398</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>
|
||||||
|
<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>346</id>
|
<id>346</id>
|
||||||
|
|||||||
@@ -1821,10 +1821,14 @@
|
|||||||
Если Форма.ВходВПрограммуРазрешен Тогда
|
Если Форма.ВходВПрограммуРазрешен Тогда
|
||||||
Элементы.ГруппаНетПрав.Видимость = Форма.НаличиеПрав.НетПрав;
|
Элементы.ГруппаНетПрав.Видимость = Форма.НаличиеПрав.НетПрав;
|
||||||
Элементы.ГруппаНетПравНаЗапуск.Видимость = Не Форма.НаличиеПрав.НетПрав
|
Элементы.ГруппаНетПравНаЗапуск.Видимость = Не Форма.НаличиеПрав.НетПрав
|
||||||
|
И Форма.НаличиеПрав.НедостаточноПравДляЗапуска;
|
||||||
|
Элементы.ГруппаНетПравНаВход.Видимость = Не Форма.НаличиеПрав.НетПрав
|
||||||
|
И Не Форма.НаличиеПрав.НедостаточноПравДляЗапуска
|
||||||
И Форма.НаличиеПрав.НедостаточноПравДляВхода;
|
И Форма.НаличиеПрав.НедостаточноПравДляВхода;
|
||||||
Иначе
|
Иначе
|
||||||
Элементы.ГруппаНетПрав.Видимость = Ложь;
|
Элементы.ГруппаНетПрав.Видимость = Ложь;
|
||||||
Элементы.ГруппаНетПравНаЗапуск.Видимость = Ложь;
|
Элементы.ГруппаНетПравНаЗапуск.Видимость = Ложь;
|
||||||
|
Элементы.ГруппаНетПравНаВход.Видимость = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Настройка возможности изменения.
|
// Настройка возможности изменения.
|
||||||
|
|||||||
@@ -1704,6 +1704,10 @@
|
|||||||
<horizontalAlign>Left</horizontalAlign>
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</autoCommandBar>
|
</autoCommandBar>
|
||||||
|
<handlers>
|
||||||
|
<event>OnLoadDataFromSettingsAtServer</event>
|
||||||
|
<name>ПриЗагрузкеДанныхИзНастроекНаСервере</name>
|
||||||
|
</handlers>
|
||||||
<handlers>
|
<handlers>
|
||||||
<event>OnCreateAtServer</event>
|
<event>OnCreateAtServer</event>
|
||||||
<name>ПриСозданииНаСервере</name>
|
<name>ПриСозданииНаСервере</name>
|
||||||
|
|||||||
@@ -494,8 +494,9 @@
|
|||||||
// Проверка имен действий в форме.
|
// Проверка имен действий в форме.
|
||||||
Если СтрНайти(", Просмотр, Редактирование,", ", " + ДействияВФорме.Роли + ",") = 0 Тогда
|
Если СтрНайти(", Просмотр, Редактирование,", ", " + ДействияВФорме.Роли + ",") = 0 Тогда
|
||||||
ДействияВФорме.Роли = "";
|
ДействияВФорме.Роли = "";
|
||||||
ИначеЕсли ПользователиСлужебный.ЗапретРедактированияРолей() Тогда
|
ИначеЕсли ДействияВФорме.Роли = "Редактирование"
|
||||||
ДействияВФорме.Роли = "";
|
И ПользователиСлужебный.ЗапретРедактированияРолей() Тогда
|
||||||
|
ДействияВФорме.Роли = "Просмотр";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если СтрНайти(", Просмотр, Редактирование,", ", " + ДействияВФорме.СоставГруппы + ",") = 0 Тогда
|
Если СтрНайти(", Просмотр, Редактирование,", ", " + ДействияВФорме.СоставГруппы + ",") = 0 Тогда
|
||||||
ДействияВФорме.СвойстваПользователяИБ = "";
|
ДействияВФорме.СвойстваПользователяИБ = "";
|
||||||
|
|||||||
@@ -883,7 +883,7 @@
|
|||||||
<userVisible/>
|
<userVisible/>
|
||||||
</cmiFragmentRecord>
|
</cmiFragmentRecord>
|
||||||
<cmiFragmentRecord>
|
<cmiFragmentRecord>
|
||||||
<command>CommonCommand.СкрытьПерсональныеДанныеСубъектов</command>
|
<command>0</command>
|
||||||
<userVisible/>
|
<userVisible/>
|
||||||
</cmiFragmentRecord>
|
</cmiFragmentRecord>
|
||||||
</commandBar>
|
</commandBar>
|
||||||
|
|||||||
@@ -2159,66 +2159,42 @@
|
|||||||
// ПолноеИмя - Строка
|
// ПолноеИмя - Строка
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Тип
|
// - Тип
|
||||||
// Строка
|
// - Строка
|
||||||
//
|
//
|
||||||
Функция КлючОбъектаМетаданных(ПолноеИмя)
|
Функция КлючОбъектаМетаданных(ПолноеИмя)
|
||||||
|
|
||||||
ПозицияТочки = СтрНайти(ПолноеИмя, ".");
|
ПозицияТочки = СтрНайти(ПолноеИмя, ".");
|
||||||
|
|
||||||
КлассОМ = Лев( ПолноеИмя, ПозицияТочки-1);
|
КлассОбъектаМетаданных = ВРег(Лев( ПолноеИмя, ПозицияТочки - 1));
|
||||||
ИмяОМ = Сред(ПолноеИмя, ПозицияТочки+1);
|
ИмяОбъектаМетаданных = Сред(ПолноеИмя, ПозицияТочки + 1);
|
||||||
|
|
||||||
Если ВРег(КлассОМ) = ВРег("ПланОбмена") Тогда
|
Если КлассОбъектаМетаданных = ВРег("ПланОбмена")
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
Или КлассОбъектаМетаданных = ВРег("Справочник")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("Документ")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("ПланВидовХарактеристик")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("ПланСчетов")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("ПланВидовРасчета")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("БизнесПроцесс")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("Задача") Тогда
|
||||||
|
Возврат Тип(КлассОбъектаМетаданных + "Ссылка." + ИмяОбъектаМетаданных);
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Роль") Тогда
|
ИначеЕсли КлассОбъектаМетаданных = ВРег("Роль") Тогда
|
||||||
Возврат КлючРоли(Метаданные.Роли[ИмяОМ]);
|
Возврат КлючРоли(Метаданные.Роли[ИмяОбъектаМетаданных]);
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Константа") Тогда
|
ИначеЕсли КлассОбъектаМетаданных = ВРег("Константа")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("ЖурналДокументов") Тогда
|
||||||
Возврат ТипЗнч(ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя));
|
Возврат ТипЗнч(ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя));
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Справочник") Тогда
|
ИначеЕсли КлассОбъектаМетаданных = ВРег("Отчет")
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
Или КлассОбъектаМетаданных = ВРег("Обработка") Тогда
|
||||||
|
Возврат Тип(КлассОбъектаМетаданных + "Объект." + ИмяОбъектаМетаданных);
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Документ") Тогда
|
ИначеЕсли КлассОбъектаМетаданных = ВРег("РегистрСведений")
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
Или КлассОбъектаМетаданных = ВРег("РегистрНакопления")
|
||||||
|
Или КлассОбъектаМетаданных = ВРег("РегистрБухгалтерии")
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("ЖурналДокументов") Тогда
|
Или КлассОбъектаМетаданных = ВРег("РегистрРасчета") Тогда
|
||||||
Возврат ТипЗнч(ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя));
|
Возврат Тип(КлассОбъектаМетаданных + "КлючЗаписи." + ИмяОбъектаМетаданных);
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Отчет") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Объект." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Обработка") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Объект." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("ПланВидовХарактеристик") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("ПланСчетов") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("ПланВидовРасчета") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("РегистрСведений") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "КлючЗаписи." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("РегистрНакопления") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "КлючЗаписи." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("РегистрБухгалтерии") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "КлючЗаписи." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("РегистрРасчета") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "КлючЗаписи." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("БизнесПроцесс") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
|
||||||
|
|
||||||
ИначеЕсли ВРег(КлассОМ) = ВРег("Задача") Тогда
|
|
||||||
Возврат Тип(КлассОМ + "Ссылка." + ИмяОМ);
|
|
||||||
Иначе
|
Иначе
|
||||||
// Без ключа объекта метаданных.
|
// Без ключа объекта метаданных.
|
||||||
Возврат Тип("Неопределено");
|
Возврат Тип("Неопределено");
|
||||||
@@ -3637,11 +3613,9 @@
|
|||||||
УстановленныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.БазаДанных);
|
УстановленныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.БазаДанных);
|
||||||
ОтключенныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансОтключенные);
|
ОтключенныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансОтключенные);
|
||||||
АктивныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансАктивные);
|
АктивныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансАктивные);
|
||||||
Если АктивныеРасширения.Количество() > 0 Тогда
|
Если АктивныеРасширения.Количество() > 0
|
||||||
ИмяРасширения = УстановленныеРасширения[0].Имя;
|
Или ОтключенныеРасширения.Количество() > 0
|
||||||
ИначеЕсли ОтключенныеРасширения.Количество() > 0 Тогда
|
Или УстановленныеРасширения.Количество() > 0 Тогда
|
||||||
ИмяРасширения = УстановленныеРасширения[0].Имя;
|
|
||||||
ИначеЕсли УстановленныеРасширения.Количество() > 0 Тогда
|
|
||||||
ИмяРасширения = УстановленныеРасширения[0].Имя;
|
ИмяРасширения = УстановленныеРасширения[0].Имя;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -3326,7 +3326,7 @@
|
|||||||
</userVisible>
|
</userVisible>
|
||||||
<toolTip>
|
<toolTip>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Не включен вход в программу, нет прав или
|
<value>Не включен вход в программу, нет прав для входа или
|
||||||
нет ни одного права запуска (тонкий клиент, веб-клиент,
|
нет ни одного права запуска (тонкий клиент, веб-клиент,
|
||||||
толстый клиент, automation, внешнее соединение)</value>
|
толстый клиент, automation, внешнее соединение)</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
|
|||||||
@@ -987,7 +987,8 @@
|
|||||||
</userVisible>
|
</userVisible>
|
||||||
<toolTip>
|
<toolTip>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>У пользователя нет ни одного права запуска (тонкий клиент, веб-клиент)</value>
|
<value>У пользователя нет ни одного права запуска
|
||||||
|
(например, тонкий клиент, веб-клиент)</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>НетПравНаЗапускНадписьРасширеннаяПодсказка</name>
|
<name>НетПравНаЗапускНадписьРасширеннаяПодсказка</name>
|
||||||
@@ -1038,6 +1039,110 @@
|
|||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:FormGroup">
|
||||||
|
<name>ГруппаНетПравНаВход</name>
|
||||||
|
<id>440</id>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>НетПравНаВходКартинка</name>
|
||||||
|
<id>442</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав на вход картинка</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>НетПравНаВходКартинкаРасширеннаяПодсказка</name>
|
||||||
|
<id>444</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>НетПравНаВходКартинкаКонтекстноеМеню</name>
|
||||||
|
<id>443</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||||
|
<picture xsi:type="core:PictureRef">
|
||||||
|
<picture>CommonPicture.Предупреждение</picture>
|
||||||
|
</picture>
|
||||||
|
<fileDragMode>AsFileRef</fileDragMode>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Decoration">
|
||||||
|
<name>НетПравНаВходНадпись</name>
|
||||||
|
<id>445</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав для входа</value>
|
||||||
|
</title>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<toolTip>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Пользователю не назначены минимальные права для работы в программе</value>
|
||||||
|
</toolTip>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>НетПравНаВходНадписьРасширеннаяПодсказка</name>
|
||||||
|
<id>447</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<contextMenu>
|
||||||
|
<name>НетПравНаВходНадписьКонтекстноеМеню</name>
|
||||||
|
<id>446</id>
|
||||||
|
<autoFill>true</autoFill>
|
||||||
|
</contextMenu>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</items>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Нет прав на вход</value>
|
||||||
|
</title>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ГруппаНетПравНаВходРасширеннаяПодсказка</name>
|
||||||
|
<id>441</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>
|
||||||
|
<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>331</id>
|
<id>331</id>
|
||||||
@@ -3217,6 +3322,7 @@
|
|||||||
<autoMaxHeight>true</autoMaxHeight>
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
<placementArea>UserCmds</placementArea>
|
<placementArea>UserCmds</placementArea>
|
||||||
<representationInContextMenu>Auto</representationInContextMenu>
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
|
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
||||||
</items>
|
</items>
|
||||||
<items xsi:type="form:Button">
|
<items xsi:type="form:Button">
|
||||||
<name>ФормаОчиститьФотографию</name>
|
<name>ФормаОчиститьФотографию</name>
|
||||||
|
|||||||
@@ -965,17 +965,19 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Картинка = Новый Картинка(ПолучитьИзВременногоХранилища(Результат.Хранение));
|
#Если Не ВебКлиент Тогда
|
||||||
Если Картинка.Формат() = ФорматКартинки.НеизвестныйФормат Тогда
|
Картинка = Новый Картинка(ПолучитьИзВременногоХранилища(Результат.Хранение));
|
||||||
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать файл с изображением.'"));
|
Если Картинка.Формат() = ФорматКартинки.НеизвестныйФормат Тогда
|
||||||
Возврат;
|
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать файл с изображением.'"));
|
||||||
КонецЕсли;
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Картинка.РазмерФайла() > 2 * 1024 * 1024 Тогда
|
||||||
|
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать файл с изображением меньше 2 Мб.'"));
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
Если Картинка.РазмерФайла() > 2 * 1024 * 1024 Тогда
|
|
||||||
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать файл с изображением меньше 2 Мб.'"));
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЭтоАдресВременногоХранилища(АдресФотографии) Тогда
|
Если ЭтоАдресВременногоХранилища(АдресФотографии) Тогда
|
||||||
УдалитьИзВременногоХранилища(АдресФотографии);
|
УдалитьИзВременногоХранилища(АдресФотографии);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2535,10 +2537,14 @@
|
|||||||
Если Форма.ВходВПрограммуРазрешен Тогда
|
Если Форма.ВходВПрограммуРазрешен Тогда
|
||||||
Элементы.ГруппаНетПрав.Видимость = Форма.НаличиеПрав.НетПрав;
|
Элементы.ГруппаНетПрав.Видимость = Форма.НаличиеПрав.НетПрав;
|
||||||
Элементы.ГруппаНетПравНаЗапуск.Видимость = Не Форма.НаличиеПрав.НетПрав
|
Элементы.ГруппаНетПравНаЗапуск.Видимость = Не Форма.НаличиеПрав.НетПрав
|
||||||
|
И Форма.НаличиеПрав.НедостаточноПравДляЗапуска;
|
||||||
|
Элементы.ГруппаНетПравНаВход.Видимость = Не Форма.НаличиеПрав.НетПрав
|
||||||
|
И Не Форма.НаличиеПрав.НедостаточноПравДляЗапуска
|
||||||
И Форма.НаличиеПрав.НедостаточноПравДляВхода;
|
И Форма.НаличиеПрав.НедостаточноПравДляВхода;
|
||||||
Иначе
|
Иначе
|
||||||
Элементы.ГруппаНетПрав.Видимость = Ложь;
|
Элементы.ГруппаНетПрав.Видимость = Ложь;
|
||||||
Элементы.ГруппаНетПравНаЗапуск.Видимость = Ложь;
|
Элементы.ГруппаНетПравНаЗапуск.Видимость = Ложь;
|
||||||
|
Элементы.ГруппаНетПравНаВход.Видимость = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Настройка возможности изменения.
|
// Настройка возможности изменения.
|
||||||
|
|||||||
@@ -671,6 +671,10 @@
|
|||||||
<userVisible>
|
<userVisible>
|
||||||
<common>true</common>
|
<common>true</common>
|
||||||
</userVisible>
|
</userVisible>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Группа расписание</value>
|
||||||
|
</title>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ГруппаРасписаниеРасширеннаяПодсказка</name>
|
<name>ГруппаРасписаниеРасширеннаяПодсказка</name>
|
||||||
<id>157</id>
|
<id>157</id>
|
||||||
|
|||||||
@@ -14,7 +14,9 @@
|
|||||||
УстановитьУсловноеОформление();
|
УстановитьУсловноеОформление();
|
||||||
|
|
||||||
РазрешеноНастраиватьПравилаПроверкиУчета = ПравоДоступа("Изменение", Метаданные.Справочники.ПравилаПроверкиУчета);
|
РазрешеноНастраиватьПравилаПроверкиУчета = ПравоДоступа("Изменение", Метаданные.Справочники.ПравилаПроверкиУчета);
|
||||||
Элементы.ФормаВыполнитьПроверку.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
ЭтоПолноправныйПользователь = Пользователи.ЭтоПолноправныйПользователь(, Ложь);
|
||||||
|
Элементы.ФормаВыполнитьПроверку.Видимость = ЭтоПолноправныйПользователь;
|
||||||
|
Элементы.ФормаВыполнитьВсеПроверки.Видимость = ЭтоПолноправныйПользователь;
|
||||||
Элементы.СписокКонтекстноеМенюВыполнитьПроверку.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
Элементы.СписокКонтекстноеМенюВыполнитьПроверку.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
||||||
Элементы.ФормаВосстановитьПоНачальномуЗаполнению.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
Элементы.ФормаВосстановитьПоНачальномуЗаполнению.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
УстановитьПутьДоПроцедурыОбработчика(ЭтотОбъект, МетаданныеТекущейПроверки);
|
УстановитьПутьДоПроцедурыОбработчика(ЭтотОбъект, МетаданныеТекущейПроверки);
|
||||||
|
|
||||||
РазрешеноНастраиватьПравилаПроверкиУчета = ПравоДоступа("Изменение", Метаданные.Справочники.ПравилаПроверкиУчета);
|
РазрешеноНастраиватьПравилаПроверкиУчета = ПравоДоступа("Изменение", Метаданные.Справочники.ПравилаПроверкиУчета);
|
||||||
Элементы.ФормаВыполнитьПроверку.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
Элементы.ФормаВыполнитьПроверку.Видимость = Пользователи.ЭтоПолноправныйПользователь(, Ложь);
|
||||||
Элементы.ФормаУстановитьСтандартныеНастройки.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
Элементы.ФормаУстановитьСтандартныеНастройки.Видимость = РазрешеноНастраиватьПравилаПроверкиУчета;
|
||||||
|
|
||||||
УстановитьНачальныеНастройкиРасписания();
|
УстановитьНачальныеНастройкиРасписания();
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВызватьИсключение НСтр("ru = 'Не заполнено поле ""Отчет""'");
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не заполнено поле ""%1"".'"), "Отчет");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -26,10 +26,9 @@
|
|||||||
Процедура ПроверитьЗаполнениеПредопределенного(Отказ)
|
Процедура ПроверитьЗаполнениеПредопределенного(Отказ)
|
||||||
Если ПометкаУдаления Тогда
|
Если ПометкаУдаления Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
ИначеЕсли Не ЗначениеЗаполнено(Отчет) Тогда
|
КонецЕсли;
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не заполнено поле ""%1""'"), "Отчет");
|
Если Не ЗначениеЗаполнено(Отчет) Тогда
|
||||||
Иначе
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не заполнено поле ""%1"".'"), "Отчет");
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -127,28 +127,6 @@
|
|||||||
Настройка.НетВLinux = Истина;
|
Настройка.НетВLinux = Истина;
|
||||||
Настройка.НетВMacOS = Истина;
|
Настройка.НетВMacOS = Истина;
|
||||||
|
|
||||||
// Microsoft Strong Cryptographic Provider
|
|
||||||
Настройка = Настройки.Добавить();
|
|
||||||
Настройка.Представление = НСтр("ru = 'Microsoft Strong CSP'");
|
|
||||||
Настройка.ИмяПрограммы = "Microsoft Strong Cryptographic Provider";
|
|
||||||
Настройка.ТипПрограммы = 1;
|
|
||||||
Настройка.АлгоритмПодписи = "RSA_SIGN"; // Один вариант.
|
|
||||||
Настройка.АлгоритмХеширования = "MD5"; // Варианты: SHA-1, MD2, MD4, MD5.
|
|
||||||
Настройка.АлгоритмШифрования = "RC2"; // Варианты: RC2, RC4, DES, 3DES.
|
|
||||||
Настройка.Идентификатор = "MicrosoftStrong";
|
|
||||||
|
|
||||||
Настройка.АлгоритмыПодписи.Добавить("RSA_SIGN");
|
|
||||||
Настройка.АлгоритмыХеширования.Добавить("SHA-1");
|
|
||||||
Настройка.АлгоритмыХеширования.Добавить("MD2");
|
|
||||||
Настройка.АлгоритмыХеширования.Добавить("MD4");
|
|
||||||
Настройка.АлгоритмыХеширования.Добавить("MD5");
|
|
||||||
Настройка.АлгоритмыШифрования.Добавить("RC2");
|
|
||||||
Настройка.АлгоритмыШифрования.Добавить("RC4");
|
|
||||||
Настройка.АлгоритмыШифрования.Добавить("DES");
|
|
||||||
Настройка.АлгоритмыШифрования.Добавить("3DES");
|
|
||||||
Настройка.НетВLinux = Истина;
|
|
||||||
Настройка.НетВMacOS = Истина;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
|
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
|
||||||
|
|||||||
@@ -2816,6 +2816,10 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Элементы.ПаролиШифрование.Видимость = Истина;
|
Элементы.ПаролиШифрование.Видимость = Истина;
|
||||||
Элементы.ГруппаПарольАрхива.Видимость = Ложь;
|
Элементы.ГруппаПарольАрхива.Видимость = Ложь;
|
||||||
|
Элементы.ПаролиШифрование.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
|
||||||
|
Элементы.ПаролиШифрование.РасширеннаяПодсказка.Заголовок = НСтр("ru = 'Установка и настройка паролей и шифрования.
|
||||||
|
|При рассылке отчетов по электронной почте необходимо учитывать,
|
||||||
|
|что некоторые почтовые сервера могут не принимать зашифрованные файлы.'");
|
||||||
Иначе
|
Иначе
|
||||||
Элементы["ГруппаСертификатДляШифрования"].Видимость = ?(Форма.Объект.Личная, Истина, Ложь);
|
Элементы["ГруппаСертификатДляШифрования"].Видимость = ?(Форма.Объект.Личная, Истина, Ложь);
|
||||||
Элементы.ГруппаПарольАрхива.Видимость = Истина;
|
Элементы.ГруппаПарольАрхива.Видимость = Истина;
|
||||||
@@ -2827,6 +2831,8 @@
|
|||||||
Элементы.ПаролиШифрование.Видимость = Истина;
|
Элементы.ПаролиШифрование.Видимость = Истина;
|
||||||
Элементы.ГруппаПарольАрхива.Видимость = Ложь;
|
Элементы.ГруппаПарольАрхива.Видимость = Ложь;
|
||||||
Элементы.ПаролиШифрование.Доступность = Объект.Архивировать;
|
Элементы.ПаролиШифрование.Доступность = Объект.Архивировать;
|
||||||
|
Элементы.ПаролиШифрование.ОтображениеПодсказки = ОтображениеПодсказки.Авто;
|
||||||
|
Элементы.ПаролиШифрование.РасширеннаяПодсказка.Заголовок = НСтр("ru = 'Установка и настройка паролей.'");
|
||||||
Иначе
|
Иначе
|
||||||
Элементы.ГруппаПарольАрхива.Видимость = Истина;
|
Элементы.ГруппаПарольАрхива.Видимость = Истина;
|
||||||
Элементы.ПаролиШифрование.Видимость = Ложь;
|
Элементы.ПаролиШифрование.Видимость = Ложь;
|
||||||
@@ -3162,15 +3168,11 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
Расписание.Месяцы = ВсеМесяцы;
|
Расписание.Месяцы = ВсеМесяцы;
|
||||||
|
|
||||||
Если Вариант = 1 Тогда // "Каждый день"
|
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Ежедневно; // "Каждый день"
|
||||||
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Ежедневно;
|
Если Вариант = 2 Тогда // "Каждый второй день"
|
||||||
|
|
||||||
ИначеЕсли Вариант = 2 Тогда // "Каждый второй день"
|
|
||||||
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Ежедневно;
|
|
||||||
Расписание.ПериодПовтораДней = 2;
|
Расписание.ПериодПовтораДней = 2;
|
||||||
|
|
||||||
ИначеЕсли Вариант = 3 Тогда // "Каждый четвертый день"
|
ИначеЕсли Вариант = 3 Тогда // "Каждый четвертый день"
|
||||||
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Ежедневно;
|
|
||||||
Расписание.ПериодПовтораДней = 4;
|
Расписание.ПериодПовтораДней = 4;
|
||||||
|
|
||||||
ИначеЕсли Вариант = 4 Тогда // "По будням"
|
ИначеЕсли Вариант = 4 Тогда // "По будням"
|
||||||
@@ -3220,10 +3222,6 @@
|
|||||||
|
|
||||||
ИначеЕсли Вариант = 12 Тогда // "Другое..."
|
ИначеЕсли Вариант = 12 Тогда // "Другое..."
|
||||||
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное;
|
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное;
|
||||||
|
|
||||||
Иначе
|
|
||||||
Объект.ПериодичностьРасписания = Перечисления.ПериодичностиРасписанийРассылокОтчетов.Ежедневно;
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// по дням недели
|
// по дням недели
|
||||||
@@ -3802,6 +3800,9 @@
|
|||||||
Элемент.Ширина = 70;
|
Элемент.Ширина = 70;
|
||||||
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
||||||
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_СертификатДляШифрованияПриИзменении");
|
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_СертификатДляШифрованияПриИзменении");
|
||||||
|
Элемент.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
|
||||||
|
Элемент.РасширеннаяПодсказка.Заголовок = НСтр("ru = 'При рассылке отчетов по электронной почте необходимо учитывать,
|
||||||
|
|что некоторые почтовые сервера могут не принимать зашифрованные файлы.'");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@
|
|||||||
|
|
||||||
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОбъектаМетаданных, Ложь);
|
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОбъектаМетаданных, Ложь);
|
||||||
|
|
||||||
Если ПолучателиМетаданные = Неопределено Тогда
|
Если ПолучателиМетаданные = Неопределено Или ПолучателиМетаданные = Null Тогда
|
||||||
Возврат КоличествоПолучателей;
|
Возврат КоличествоПолучателей;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -250,7 +250,7 @@
|
|||||||
</dataPath>
|
</dataPath>
|
||||||
<toolTip>
|
<toolTip>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Используется с объектами адресации</value>
|
<value>Используется без объектов адресации</value>
|
||||||
</toolTip>
|
</toolTip>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ИспользуетсяБезОбъектовАдресацииExtendedTooltip</name>
|
<name>ИспользуетсяБезОбъектовАдресацииExtendedTooltip</name>
|
||||||
|
|||||||
+2
-5
@@ -159,11 +159,8 @@
|
|||||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодготовитьГруппуПодтверждения(ЭтотОбъект, "Проверка", "", "");
|
МодульСервисКриптографииDSSПодтверждениеСервер.ПодготовитьГруппуПодтверждения(ЭтотОбъект, "Проверка", "", "");
|
||||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодтверждениеПриИзмененииСертификата(ЭтотОбъект, Сертификат);
|
МодульСервисКриптографииDSSПодтверждениеСервер.ПодтверждениеПриИзмененииСертификата(ЭтотОбъект, Сертификат);
|
||||||
|
|
||||||
ИначеЕсли ЭтоВстроенныйКриптопровайдер Тогда
|
ИначеЕсли ЭтоВстроенныйКриптопровайдер
|
||||||
Элементы.ГруппаВводаПароля.Видимость = Ложь;
|
Или (Не СтандартныеПроверки И Не ВводитьПароль) Тогда
|
||||||
|
|
||||||
ИначеЕсли Не СтандартныеПроверки
|
|
||||||
И Не ВводитьПароль Тогда
|
|
||||||
Элементы.ГруппаВводаПароля.Видимость = Ложь;
|
Элементы.ГруппаВводаПароля.Видимость = Ложь;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
BIN
Binary file not shown.
+1
-1
@@ -837,7 +837,7 @@
|
|||||||
<usePurposes>MobileDevice</usePurposes>
|
<usePurposes>MobileDevice</usePurposes>
|
||||||
</forms>
|
</forms>
|
||||||
<templates uuid="5189beb9-b939-4f97-aca0-c2f3492ac8b9">
|
<templates uuid="5189beb9-b939-4f97-aca0-c2f3492ac8b9">
|
||||||
<name>КомпонентаExtraCryptoAPI_3_0_2_23</name>
|
<name>КомпонентаExtraCryptoAPI_3_0_2_24</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Компонента ExtraCryptoAPI</value>
|
<value>Компонента ExtraCryptoAPI</value>
|
||||||
|
|||||||
@@ -38,16 +38,9 @@
|
|||||||
|
|
||||||
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
|
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
|
||||||
|
|
||||||
Если Не СтандартнаяОбработка Тогда
|
Если Не СтандартнаяОбработка
|
||||||
// Обрабатывается в другом месте.
|
Или Не Параметры.Свойство("РазрешитьДанныеКлассификатора")
|
||||||
Возврат;
|
Или Не Параметры.РазрешитьДанныеКлассификатора Тогда
|
||||||
|
|
||||||
ИначеЕсли Не Параметры.Свойство("РазрешитьДанныеКлассификатора") Тогда
|
|
||||||
// Поведение по умолчанию, подбор только справочника.
|
|
||||||
Возврат;
|
|
||||||
|
|
||||||
ИначеЕсли Истина <> Параметры.РазрешитьДанныеКлассификатора Тогда
|
|
||||||
// Подбор классификатора отключен, поведение по умолчанию.
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -84,11 +84,7 @@
|
|||||||
|
|
||||||
ИначеЕсли ВидФормы = "ФормаОбъекта" Тогда
|
ИначеЕсли ВидФормы = "ФормаОбъекта" Тогда
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
Если Параметры.Свойство("Ключ") Тогда
|
ВыбраннаяФорма = Метаданные.Обработки.УправлениеПодключениемDSS.Формы.ФормаУчетнойЗаписи;
|
||||||
ВыбраннаяФорма = Метаданные.Обработки.УправлениеПодключениемDSS.Формы.ФормаУчетнойЗаписи;
|
|
||||||
Иначе
|
|
||||||
ВыбраннаяФорма = Метаданные.Обработки.УправлениеПодключениемDSS.Формы.ФормаУчетнойЗаписи;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИначеЕсли ВидФормы = "ФормаВыбора" Тогда
|
ИначеЕсли ВидФормы = "ФормаВыбора" Тогда
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
|
|||||||
@@ -383,28 +383,17 @@
|
|||||||
|
|
||||||
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаТипТабличногоВопроса Тогда
|
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаТипТабличногоВопроса Тогда
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = ТипТабличногоВопроса <> ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПустаяСсылка");
|
Элементы.КнопкаВперед.Доступность = ТипТабличногоВопроса <> ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПустаяСсылка");
|
||||||
|
|
||||||
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.Составной") Тогда
|
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.Составной") Тогда
|
||||||
|
|
||||||
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаСоставной;
|
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаСоставной;
|
||||||
|
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда
|
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда
|
||||||
|
|
||||||
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВСтроках;
|
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВСтроках;
|
||||||
|
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
|
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
|
||||||
|
|
||||||
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВКолонках;
|
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВКолонках;
|
||||||
|
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
|
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
|
||||||
|
|
||||||
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВСтрокахИКолонках;
|
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаОтветыВСтрокахИКолонках;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаПустая;
|
Элементы.СтраницыТипТабличногоВопросаКартинки.ТекущаяСтраница = Элементы.СтраницаКартинкаПустая;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаВопросы Тогда
|
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаВопросы Тогда
|
||||||
@@ -415,27 +404,16 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.Составной") Тогда
|
Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.Составной") Тогда
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() > 0);
|
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() > 0);
|
||||||
|
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках")
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда
|
Или ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() > 1);
|
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() > 1);
|
||||||
|
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда
|
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() > 1);
|
|
||||||
|
|
||||||
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
|
ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() = 3);
|
Элементы.КнопкаВперед.Доступность = (Вопросы.Количество() = 3);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаРезультирующаяТаблица Тогда
|
ИначеЕсли ТекущаяСтраница = Элементы.СтраницаРезультирующаяТаблица Тогда
|
||||||
|
|
||||||
Элементы.КнопкаВперед.Доступность = ЗначениеЗаполнено(Формулировка);
|
Элементы.КнопкаВперед.Доступность = ЗначениеЗаполнено(Формулировка);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -168,23 +168,21 @@
|
|||||||
СтрокаНазначение = ДеревоАнкеты.НайтиПоИдентификатору(Строка);
|
СтрокаНазначение = ДеревоАнкеты.НайтиПоИдентификатору(Строка);
|
||||||
СтрокаПеретаскивание = ДеревоАнкеты.НайтиПоИдентификатору(ПараметрыПеретаскивания.Значение);
|
СтрокаПеретаскивание = ДеревоАнкеты.НайтиПоИдентификатору(ПараметрыПеретаскивания.Значение);
|
||||||
|
|
||||||
Если (СтрокаПеретаскивание.ТипСтроки = "Раздел") И (СтрокаНазначение.ТипСтроки = "Вопрос") Тогда
|
Если (СтрокаПеретаскивание.ТипСтроки = "Раздел") И (СтрокаНазначение.ТипСтроки = "Вопрос")
|
||||||
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
Или (СтрокаПеретаскивание.ТипСтроки = "Вопрос") И (СтрокаНазначение.ТипСтроки = "Корень") Тогда
|
||||||
ИначеЕсли (СтрокаПеретаскивание.ТипСтроки = "Вопрос") И (СтрокаНазначение.ТипСтроки = "Корень") Тогда
|
|
||||||
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
||||||
ИначеЕсли (СтрокаПеретаскивание.ТипСтроки = "Раздел") И (СтрокаНазначение.ТипСтроки = "Раздел") Тогда
|
ИначеЕсли (СтрокаПеретаскивание.ТипСтроки = "Раздел") И (СтрокаНазначение.ТипСтроки = "Раздел") Тогда
|
||||||
Если СтрокаПеретаскивание.ВопросШаблона = СтрокаНазначение.ВопросШаблона Тогда
|
Если СтрокаПеретаскивание.ВопросШаблона = СтрокаНазначение.ВопросШаблона Тогда
|
||||||
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Родитель = СтрокаНазначение.ПолучитьРодителя();
|
Родитель = СтрокаНазначение.ПолучитьРодителя();
|
||||||
Пока Родитель.ТипСтроки <> "Корень" Цикл
|
Пока Родитель.ТипСтроки <> "Корень" Цикл
|
||||||
Если Родитель = СтрокаПеретаскивание Тогда
|
Если Родитель = СтрокаПеретаскивание Тогда
|
||||||
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
||||||
Возврат;
|
Возврат;
|
||||||
Иначе
|
КонецЕсли;
|
||||||
Родитель = Родитель.ПолучитьРодителя();
|
Родитель = Родитель.ПолучитьРодителя();
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
-18
@@ -276,7 +276,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Управляет видимостью страниц и элементов формы.
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура УправлениеВидимостью()
|
Процедура УправлениеВидимостью()
|
||||||
|
|
||||||
@@ -291,42 +290,25 @@
|
|||||||
ДоступностьНеобходимостьПояснениеКомментария();
|
ДоступностьНеобходимостьПояснениеКомментария();
|
||||||
|
|
||||||
Если Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Строка") Тогда
|
Если Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Строка") Тогда
|
||||||
|
|
||||||
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.СтраницаСтрока;
|
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.СтраницаСтрока;
|
||||||
|
|
||||||
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Число") Тогда
|
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Число") Тогда
|
||||||
|
|
||||||
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.СтраницаЧисло;
|
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.СтраницаЧисло;
|
||||||
|
|
||||||
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ЗначениеИнформационнойБазы") Тогда
|
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ЗначениеИнформационнойБазы") Тогда
|
||||||
|
|
||||||
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.Пустая;
|
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.Пустая;
|
||||||
|
|
||||||
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз")
|
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз")
|
||||||
ИЛИ Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.НесколькоВариантовИз") Тогда
|
ИЛИ Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.НесколькоВариантовИз") Тогда
|
||||||
|
|
||||||
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.ВариантыОтветов;
|
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.ВариантыОтветов;
|
||||||
|
|
||||||
ДоступностьТаблицыВариантыОтветов(ЭтотОбъект);
|
ДоступностьТаблицыВариантыОтветов(ЭтотОбъект);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.Пустая;
|
Элементы.ЗависимыеПараметры.ТекущаяСтраница = Элементы.Пустая;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз") Тогда
|
Если Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз") Тогда
|
||||||
|
|
||||||
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидПереключателяОтображать;
|
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидПереключателяОтображать;
|
||||||
|
|
||||||
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Булево") Тогда
|
ИначеЕсли Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Булево") Тогда
|
||||||
|
|
||||||
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидОтображенияБулевоОтображать;
|
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидОтображенияБулевоОтображать;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидПереключателяНеОтображать;
|
Элементы.ГруппаВидПереключателя.ТекущаяСтраница = Элементы.ГруппаВидПереключателяНеОтображать;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -83,45 +83,17 @@
|
|||||||
// Устанавливает тип значения ПВХ в зависимости от типа ответа.
|
// Устанавливает тип значения ПВХ в зависимости от типа ответа.
|
||||||
Процедура УстановкаТипаПВХ()
|
Процедура УстановкаТипаПВХ()
|
||||||
|
|
||||||
ТипыОтветовНаВопрос = Перечисления.ТипыОтветовНаВопрос;
|
Если ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Строка Или ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
||||||
|
ТипЗначения = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(Длина));
|
||||||
// Квалификаторы
|
ИначеЕсли ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Число Тогда
|
||||||
КЧ = Новый КвалификаторыЧисла(?(Длина = 0,15,Длина),Точность);
|
ТипЗначения = Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(?(Длина = 0, 15, Длина), Точность));
|
||||||
КС = Новый КвалификаторыСтроки(Длина);
|
ИначеЕсли ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Дата Тогда
|
||||||
КД = Новый КвалификаторыДаты(ЧастиДаты.Дата);
|
ТипЗначения = Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.Дата));
|
||||||
|
ИначеЕсли ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Булево Тогда
|
||||||
// Описание типов
|
ТипЗначения = Новый ОписаниеТипов("Булево");
|
||||||
ОписаниеТиповЧисло = Новый ОписаниеТипов("Число",,КЧ);
|
ИначеЕсли ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз
|
||||||
ОписаниеТиповСтрока = Новый ОписаниеТипов("Строка", , КС);
|
ИЛИ ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
|
||||||
ОписаниеТиповДата = Новый ОписаниеТипов("Дата",КД , , );
|
ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.ВариантыОтветовАнкет");
|
||||||
ОписаниеТиповБулево = Новый ОписаниеТипов("Булево");
|
|
||||||
ОписаниеТиповВО = Новый ОписаниеТипов("СправочникСсылка.ВариантыОтветовАнкет");
|
|
||||||
|
|
||||||
Если ТипОтвета = ТипыОтветовНаВопрос.Строка Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповСтрока;
|
|
||||||
|
|
||||||
ИначеЕсли ТипОтвета = ТипыОтветовНаВопрос.Текст Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповСтрока;
|
|
||||||
|
|
||||||
ИначеЕсли ТипОтвета = ТипыОтветовНаВопрос.Число Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповЧисло;
|
|
||||||
|
|
||||||
ИначеЕсли ТипОтвета = ТипыОтветовНаВопрос.Дата Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповДата;
|
|
||||||
|
|
||||||
ИначеЕсли ТипОтвета = ТипыОтветовНаВопрос.Булево Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповБулево;
|
|
||||||
|
|
||||||
ИначеЕсли ТипОтвета =ТипыОтветовНаВопрос.ОдинВариантИз
|
|
||||||
ИЛИ ТипОтвета = ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
|
|
||||||
|
|
||||||
ТипЗначения = ОписаниеТиповВО;
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
+20
-24
@@ -1977,17 +1977,8 @@
|
|||||||
Элементы.УточнениеНаборовКомментарий.Гиперссылка = Истина;
|
Элементы.УточнениеНаборовКомментарий.Гиперссылка = Истина;
|
||||||
|
|
||||||
Элементы.УточнениеНаборовИзменить.Доступность = ЗначениеЗаполнено(Объект.Ссылка);
|
Элементы.УточнениеНаборовИзменить.Доступность = ЗначениеЗаполнено(Объект.Ссылка);
|
||||||
|
Элементы.УточнениеНаборовИзменить.Видимость = СписокНаборов.Количество() >= 2 И ЗначениеЗаполнено(ТекущийНаборСвойств);
|
||||||
Если СписокНаборов.Количество() < 2 Тогда
|
|
||||||
|
|
||||||
Элементы.УточнениеНаборовИзменить.Видимость = Ложь;
|
|
||||||
|
|
||||||
ИначеЕсли ЗначениеЗаполнено(ТекущийНаборСвойств) Тогда
|
|
||||||
Элементы.УточнениеНаборовИзменить.Видимость = Истина;
|
|
||||||
Иначе
|
|
||||||
Элементы.УточнениеНаборовИзменить.Видимость = Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если СписокНаборов.Количество() = 0 Тогда
|
Если СписокНаборов.Количество() = 0 Тогда
|
||||||
Элементы.УточнениеНаборовКомментарий.Гиперссылка = Ложь;
|
Элементы.УточнениеНаборовКомментарий.Гиперссылка = Ложь;
|
||||||
Элементы.УточнениеНаборовИзменить.Видимость = Ложь;
|
Элементы.УточнениеНаборовИзменить.Видимость = Ложь;
|
||||||
@@ -2177,9 +2168,15 @@
|
|||||||
|Список значений этого сведения будет общим с исходным сведением.
|
|Список значений этого сведения будет общим с исходным сведением.
|
||||||
|С помощью этого варианта удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных сведений.
|
|С помощью этого варианта удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных сведений.
|
||||||
|При этом можно отредактировать наименование и ряд других свойств сведения.'");
|
|При этом можно отредактировать наименование и ряд других свойств сведения.'");
|
||||||
СоздатьКопированием = НСтр("ru = 'Сделать копию сведения
|
Если РеквизитСоСпискомДополнительныхЗначений Тогда
|
||||||
|
|
СоздатьКопированием = НСтр("ru = 'Сделать копию сведения
|
||||||
|Будет создана копия сведения%1'");
|
|
|
||||||
|
|Будет создана копия сведения и всех его значений.'")
|
||||||
|
Иначе
|
||||||
|
СоздатьКопированием = НСтр("ru = 'Сделать копию сведения
|
||||||
|
|
|
||||||
|
|Будет создана копия сведения.'");
|
||||||
|
КонецЕсли;
|
||||||
Иначе
|
Иначе
|
||||||
ДобавитьОбщий = НСтр("ru = 'Добавить реквизит как есть (рекомендуется)
|
ДобавитьОбщий = НСтр("ru = 'Добавить реквизит как есть (рекомендуется)
|
||||||
|
|
|
|
||||||
@@ -2189,21 +2186,20 @@
|
|||||||
|Список значений этого реквизита будет общим с исходным реквизитом.
|
|Список значений этого реквизита будет общим с исходным реквизитом.
|
||||||
|С помощью этого варианта удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
|
|С помощью этого варианта удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
|
||||||
|При этом можно отредактировать наименование и ряд других свойств реквизита.'");
|
|При этом можно отредактировать наименование и ряд других свойств реквизита.'");
|
||||||
СоздатьКопированием = НСтр("ru = 'Сделать копию реквизита
|
Если РеквизитСоСпискомДополнительныхЗначений Тогда
|
||||||
|
|
СоздатьКопированием = НСтр("ru = 'Сделать копию реквизита
|
||||||
|Будет создана копия реквизита%1'");
|
|
|
||||||
|
|Будет создана копия реквизита и всех его значений.'");
|
||||||
|
Иначе
|
||||||
|
СоздатьКопированием = НСтр("ru = 'Сделать копию реквизита
|
||||||
|
|
|
||||||
|
|Будет создана копия реквизита.'");
|
||||||
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СписокВыбора = Элементы.РежимДобавленияРеквизита.СписокВыбора;
|
СписокВыбора = Элементы.РежимДобавленияРеквизита.СписокВыбора;
|
||||||
СписокВыбора.Очистить();
|
СписокВыбора.Очистить();
|
||||||
|
|
||||||
Если РеквизитСоСпискомДополнительныхЗначений Тогда
|
|
||||||
ШаблонВставки = " " + НСтр("ru = 'и всех его значений.'");
|
|
||||||
Иначе
|
|
||||||
ШаблонВставки = ".";
|
|
||||||
КонецЕсли;
|
|
||||||
СоздатьКопированием = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СоздатьКопированием, ШаблонВставки);
|
|
||||||
|
|
||||||
СписокВыбора.Добавить("ДобавитьОбщийРеквизитВНабор", ДобавитьОбщий);
|
СписокВыбора.Добавить("ДобавитьОбщийРеквизитВНабор", ДобавитьОбщий);
|
||||||
Если РеквизитСоСпискомДополнительныхЗначений Тогда
|
Если РеквизитСоСпискомДополнительныхЗначений Тогда
|
||||||
СписокВыбора.Добавить("СоздатьПоОбразцу", СделатьПоОбразцу);
|
СписокВыбора.Добавить("СоздатьПоОбразцу", СделатьПоОбразцу);
|
||||||
|
|||||||
+4
-8
@@ -82,10 +82,6 @@
|
|||||||
<metadata>InformationRegister.ЗамерыВремени</metadata>
|
<metadata>InformationRegister.ЗамерыВремени</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
|
||||||
<metadata>ScheduledJob.ПолучениеСубъектовДляСкрытияПерсональныхДанных</metadata>
|
|
||||||
<use>DontUse</use>
|
|
||||||
</content>
|
|
||||||
<content>
|
<content>
|
||||||
<metadata>Constant.НастройкаПроксиСервера</metadata>
|
<metadata>Constant.НастройкаПроксиСервера</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
@@ -178,10 +174,6 @@
|
|||||||
<metadata>Constant.АдресДляВосстановленияПароляУчетнойЗаписи</metadata>
|
<metadata>Constant.АдресДляВосстановленияПароляУчетнойЗаписи</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
<content>
|
|
||||||
<metadata>ScheduledJob.СкрытиеПерсональныхДанныхСубъектов</metadata>
|
|
||||||
<use>DontUse</use>
|
|
||||||
</content>
|
|
||||||
<content>
|
<content>
|
||||||
<metadata>Catalog.ИдентификаторыОбъектовМетаданных</metadata>
|
<metadata>Catalog.ИдентификаторыОбъектовМетаданных</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
@@ -614,6 +606,10 @@
|
|||||||
<metadata>ScheduledJob.ЗагрузкаКурсовВалют</metadata>
|
<metadata>ScheduledJob.ЗагрузкаКурсовВалют</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
|
<content>
|
||||||
|
<metadata>ScheduledJob.РасчетСроковХраненияПерсональныхДанных</metadata>
|
||||||
|
<use>DontUse</use>
|
||||||
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>InformationRegister.БуферОперацийСтатистики</metadata>
|
<metadata>InformationRegister.БуферОперацийСтатистики</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Copyright (c) 2023, ООО 1С-Софт
|
|
||||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
|
||||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
|
||||||
// Текст лицензии доступен по ссылке:
|
|
||||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#Область ОбработчикиСобытий
|
|
||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
|
||||||
|
|
||||||
ПараметрыВопроса = ЗащитаПерсональныхДанныхВызовСервера.ПараметрыВопросаПодтвержденияСкрытия(ПараметрКоманды);
|
|
||||||
|
|
||||||
Субъекты = ПараметрыВопроса.Субъекты;
|
|
||||||
Если Субъекты.Количество() > 0 Тогда
|
|
||||||
|
|
||||||
Оповещение = Новый ОписаниеОповещения("ОбработкаКомандыЗавершение", ЭтотОбъект, Субъекты);
|
|
||||||
ПоказатьВопрос(Оповещение, ПараметрыВопроса.ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
|
||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура ОбработкаКомандыЗавершение(Результат, Субъекты) Экспорт
|
|
||||||
|
|
||||||
Если Результат = КодВозвратаДиалога.Да Тогда
|
|
||||||
|
|
||||||
ЗащитаПерсональныхДанныхВызовСервера.СкрытьПерсональныеДанныеСубъектов(Субъекты, Истина);
|
|
||||||
Оповестить("СкрытыПерсональныеДанные");
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<mdclass:CommonCommand xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6c66ff27-19af-4728-95a8-463fd1c4dcd3">
|
|
||||||
<name>СкрытьПерсональныеДанныеСубъектов</name>
|
|
||||||
<synonym>
|
|
||||||
<key>ru</key>
|
|
||||||
<value>Скрыть ПДн</value>
|
|
||||||
</synonym>
|
|
||||||
<group>FormCommandBarImportant</group>
|
|
||||||
<commandParameterType>
|
|
||||||
<types>DefinedType.СубъектПерсональныхДанных</types>
|
|
||||||
</commandParameterType>
|
|
||||||
<parameterUseMode>Multiple</parameterUseMode>
|
|
||||||
<representation>Auto</representation>
|
|
||||||
<toolTip>
|
|
||||||
<key>ru</key>
|
|
||||||
<value>Скрыть персональные данные субъектов</value>
|
|
||||||
</toolTip>
|
|
||||||
</mdclass:CommonCommand>
|
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
|
|
||||||
Если ЛокализуемыеРеквизитыВШапке[Параметры.ИмяРеквизита] <> Неопределено Тогда
|
Если ЛокализуемыеРеквизитыВШапке[Параметры.ИмяРеквизита] <> Неопределено Тогда
|
||||||
ОписаниеЯзыка = ОписаниеЯзыка(ОсновнойЯзык);
|
ОписаниеЯзыка = ОписаниеЯзыка(ОсновнойЯзык);
|
||||||
Если ЗначениеЗаполнено(СуффиксОсновногоЯзыка) Тогда
|
Если ЗначениеЗаполнено(СуффиксОсновногоЯзыка) И Параметры.Объект <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
||||||
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
||||||
Иначе
|
ИначеЕсли Параметры.Объект <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксОсновногоЯзыка];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@
|
|||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
||||||
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка1];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка1];
|
||||||
Иначе
|
ИначеЕсли Параметры.Объект <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка1];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка1];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
||||||
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
ИначеЕсли Параметры.ЗначенияРеквизитов <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка2];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ЗначенияРеквизитов[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка2];
|
||||||
Иначе
|
ИначеЕсли Параметры.Объект <> Неопределено Тогда
|
||||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка2];
|
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.Объект[Параметры.ИмяРеквизита + СуффиксДополнительногоЯзыка2];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -234,9 +234,9 @@
|
|||||||
|
|
||||||
Для каждого Язык Из Языки Цикл
|
Для каждого Язык Из Языки Цикл
|
||||||
|
|
||||||
Если СтрСравнить(Язык.КодЯзыка, ТекущийКодЯзыка) = 0 Тогда
|
Если СтрСравнить(Язык.КодЯзыка, ТекущийКодЯзыка) = 0
|
||||||
Результат.Вставить("СтрокаНаТекущемЯзыке", ЭтотОбъект[Язык.Имя]);
|
Или (СтрСравнить(Язык.КодЯзыка, ОсновнойЯзык) = 0
|
||||||
ИначеЕсли СтрСравнить(Язык.КодЯзыка, ОсновнойЯзык) = 0 И Не Результат.Свойство("СтрокаНаТекущемЯзыке") Тогда
|
И Не Результат.Свойство("СтрокаНаТекущемЯзыке")) Тогда
|
||||||
Результат.Вставить("СтрокаНаТекущемЯзыке", ЭтотОбъект[Язык.Имя]);
|
Результат.Вставить("СтрокаНаТекущемЯзыке", ЭтотОбъект[Язык.Имя]);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
+20
-20
@@ -5,11 +5,11 @@
|
|||||||
<value>Регистрация событий доступа к персональным данным</value>
|
<value>Регистрация событий доступа к персональным данным</value>
|
||||||
</title>
|
</title>
|
||||||
<items xsi:type="form:Table">
|
<items xsi:type="form:Table">
|
||||||
<name>ОбластиПерсональныхДанных</name>
|
<name>КатегорииПерсональныхДанных</name>
|
||||||
<id>7</id>
|
<id>7</id>
|
||||||
<title>
|
<title>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Области персональных данных</value>
|
<value>Категории персональных данных</value>
|
||||||
</title>
|
</title>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
@@ -17,20 +17,20 @@
|
|||||||
<common>true</common>
|
<common>true</common>
|
||||||
</userVisible>
|
</userVisible>
|
||||||
<dataPath xsi:type="form:DataPath">
|
<dataPath xsi:type="form:DataPath">
|
||||||
<segments>ОбластиПерсональныхДанных</segments>
|
<segments>КатегорииПерсональныхДанных</segments>
|
||||||
</dataPath>
|
</dataPath>
|
||||||
<titleLocation>None</titleLocation>
|
<titleLocation>None</titleLocation>
|
||||||
<autoCommandBar>
|
<autoCommandBar>
|
||||||
<name>ОбластиПерсональныхДанныхКоманднаяПанель</name>
|
<name>КатегорииПерсональныхДанныхКоманднаяПанель</name>
|
||||||
<id>9</id>
|
<id>9</id>
|
||||||
<horizontalAlign>Left</horizontalAlign>
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</autoCommandBar>
|
</autoCommandBar>
|
||||||
<searchStringAddition>
|
<searchStringAddition>
|
||||||
<name>ОбластиПерсональныхДанныхSearchString</name>
|
<name>КатегорииПерсональныхДанныхСтрокаПоиска</name>
|
||||||
<id>13</id>
|
<id>13</id>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ОбластиПерсональныхДанныхSearchStringExtendedTooltip</name>
|
<name>КатегорииПерсональныхДанныхСтрокаПоискаРасширеннаяПодсказка</name>
|
||||||
<id>15</id>
|
<id>15</id>
|
||||||
<type>Label</type>
|
<type>Label</type>
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
@@ -40,20 +40,20 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</extendedTooltip>
|
</extendedTooltip>
|
||||||
<contextMenu>
|
<contextMenu>
|
||||||
<name>ОбластиПерсональныхДанныхSearchStringContextMenu</name>
|
<name>КатегорииПерсональныхДанныхСтрокаПоискаКонтекстноеМеню</name>
|
||||||
<id>14</id>
|
<id>14</id>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<source>ОбластиПерсональныхДанных</source>
|
<source>КатегорииПерсональныхДанных</source>
|
||||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</searchStringAddition>
|
</searchStringAddition>
|
||||||
<viewStatusAddition>
|
<viewStatusAddition>
|
||||||
<name>ОбластиПерсональныхДанныхViewStatus</name>
|
<name>КатегорииПерсональныхДанныхСостояниеПросмотра</name>
|
||||||
<id>16</id>
|
<id>16</id>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ОбластиПерсональныхДанныхViewStatusExtendedTooltip</name>
|
<name>КатегорииПерсональныхДанныхСостояниеПросмотраРасширеннаяПодсказка</name>
|
||||||
<id>18</id>
|
<id>18</id>
|
||||||
<type>Label</type>
|
<type>Label</type>
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
@@ -63,21 +63,21 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</extendedTooltip>
|
</extendedTooltip>
|
||||||
<contextMenu>
|
<contextMenu>
|
||||||
<name>ОбластиПерсональныхДанныхViewStatusContextMenu</name>
|
<name>КатегорииПерсональныхДанныхСостояниеПросмотраКонтекстноеМеню</name>
|
||||||
<id>17</id>
|
<id>17</id>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<type>ViewStatusAddition</type>
|
<type>ViewStatusAddition</type>
|
||||||
<source>ОбластиПерсональныхДанных</source>
|
<source>КатегорииПерсональныхДанных</source>
|
||||||
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
|
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</viewStatusAddition>
|
</viewStatusAddition>
|
||||||
<searchControlAddition>
|
<searchControlAddition>
|
||||||
<name>ОбластиПерсональныхДанныхSearchControl</name>
|
<name>КатегорииПерсональныхДанныхУправлениеПоиском</name>
|
||||||
<id>19</id>
|
<id>19</id>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ОбластиПерсональныхДанныхSearchControlExtendedTooltip</name>
|
<name>КатегорииПерсональныхДанныхУправлениеПоискомРасширеннаяПодсказка</name>
|
||||||
<id>21</id>
|
<id>21</id>
|
||||||
<type>Label</type>
|
<type>Label</type>
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
@@ -87,18 +87,18 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</extendedTooltip>
|
</extendedTooltip>
|
||||||
<contextMenu>
|
<contextMenu>
|
||||||
<name>ОбластиПерсональныхДанныхSearchControlContextMenu</name>
|
<name>КатегорииПерсональныхДанныхУправлениеПоискомКонтекстноеМеню</name>
|
||||||
<id>20</id>
|
<id>20</id>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<type>SearchControlAddition</type>
|
<type>SearchControlAddition</type>
|
||||||
<source>ОбластиПерсональныхДанных</source>
|
<source>КатегорииПерсональныхДанных</source>
|
||||||
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
|
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
</extInfo>
|
</extInfo>
|
||||||
</searchControlAddition>
|
</searchControlAddition>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>ОбластиПерсональныхДанныхExtendedTooltip</name>
|
<name>КатегорииПерсональныхДанныхРасширеннаяПодсказка</name>
|
||||||
<id>11</id>
|
<id>11</id>
|
||||||
<type>Label</type>
|
<type>Label</type>
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</extendedTooltip>
|
</extendedTooltip>
|
||||||
<contextMenu>
|
<contextMenu>
|
||||||
<name>ОбластиПерсональныхДанныхКонтекстноеМеню</name>
|
<name>КатегорииПерсональныхДанныхКонтекстноеМеню</name>
|
||||||
<id>8</id>
|
<id>8</id>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
@@ -223,10 +223,10 @@
|
|||||||
<showTitle>auto</showTitle>
|
<showTitle>auto</showTitle>
|
||||||
<showCloseButton>true</showCloseButton>
|
<showCloseButton>true</showCloseButton>
|
||||||
<attributes>
|
<attributes>
|
||||||
<name>ОбластиПерсональныхДанных</name>
|
<name>КатегорииПерсональныхДанных</name>
|
||||||
<title>
|
<title>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Области персональных данных</value>
|
<value>Категории персональных данных</value>
|
||||||
</title>
|
</title>
|
||||||
<id>1</id>
|
<id>1</id>
|
||||||
<valueType>
|
<valueType>
|
||||||
|
|||||||
@@ -29,6 +29,25 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовТаблицыФормыКатегорииПерсональныхДанных
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ПриИзмененииКатегорииПерсональныхДанныхИспользование(Элемент)
|
||||||
|
|
||||||
|
ДанныеТекущейСтроки = ЭтотОбъект.КатегорииПерсональныхДанных.НайтиПоИдентификатору(
|
||||||
|
Элементы.КатегорииПерсональныхДанных.ТекущаяСтрока);
|
||||||
|
|
||||||
|
ПодчиненныеСтроки = ДанныеТекущейСтроки.ПолучитьЭлементы();
|
||||||
|
Если ПодчиненныеСтроки.Количество() > 0 Тогда
|
||||||
|
Для Каждого СтрокаДерева Из ПодчиненныеСтроки Цикл
|
||||||
|
СтрокаДерева.Использование = ДанныеТекущейСтроки.Использование;
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбработчикиКомандФормы
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
|
|||||||
@@ -1112,12 +1112,9 @@
|
|||||||
ОбновитьЗначение(ОписаниеПрограммы.УстановленаНаСервере, "");
|
ОбновитьЗначение(ОписаниеПрограммы.УстановленаНаСервере, "");
|
||||||
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
||||||
Возврат;
|
Возврат;
|
||||||
ИначеЕсли ОписаниеПрограммы.ЭтоВстроенныйКриптопровайдер Тогда
|
ИначеЕсли ОписаниеПрограммы.ЭтоВстроенныйКриптопровайдер
|
||||||
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
Или ЭлектроннаяПодписьСлужебныйКлиентСервер.РазмещениеСертификата(ОписаниеПрограммы.ТипРазмещения) = "ОблачнаяПодпись" Тогда
|
||||||
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Истина);
|
|
||||||
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
|
||||||
Возврат;
|
|
||||||
ИначеЕсли ЭлектроннаяПодписьСлужебныйКлиентСервер.РазмещениеСертификата(ОписаниеПрограммы.ТипРазмещения) = "ОблачнаяПодпись" Тогда
|
|
||||||
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
||||||
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Истина);
|
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Истина);
|
||||||
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
||||||
@@ -1491,10 +1488,7 @@
|
|||||||
ОбновитьЗначение(Строка.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
ОбновитьЗначение(Строка.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
||||||
ОбновитьЗначение(Строка.Установлена, Истина);
|
ОбновитьЗначение(Строка.Установлена, Истина);
|
||||||
ИначеЕсли ЭлектроннаяПодписьСлужебныйКлиентСервер.РазмещениеСертификата(СтрокаВыборки.ТипРазмещения) = "ОблачнаяПодпись"
|
ИначеЕсли ЭлектроннаяПодписьСлужебныйКлиентСервер.РазмещениеСертификата(СтрокаВыборки.ТипРазмещения) = "ОблачнаяПодпись"
|
||||||
И Не Строка.ПометкаУдаления Тогда
|
И Не Строка.ПометкаУдаления Или СтрокаВыборки.ТипРазмещения = 5 Тогда
|
||||||
ОбновитьЗначение(Строка.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
|
||||||
ОбновитьЗначение(Строка.Установлена, Истина);
|
|
||||||
ИначеЕсли СтрокаВыборки.ТипРазмещения = 5 Тогда
|
|
||||||
ОбновитьЗначение(Строка.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
ОбновитьЗначение(Строка.РезультатПроверки, НСтр("ru = 'Доступен.'"));
|
||||||
ОбновитьЗначение(Строка.Установлена, Истина);
|
ОбновитьЗначение(Строка.Установлена, Истина);
|
||||||
ИначеЕсли Строка.ТипРазмещения = 1 И (Настройки.ПроверятьЭлектронныеПодписиНаСервере Или Настройки.СоздаватьЭлектронныеПодписиНаСервере) Тогда
|
ИначеЕсли Строка.ТипРазмещения = 1 И (Настройки.ПроверятьЭлектронныеПодписиНаСервере Или Настройки.СоздаватьЭлектронныеПодписиНаСервере) Тогда
|
||||||
|
|||||||
@@ -94,13 +94,9 @@
|
|||||||
НСтр("ru = 'Не выполнены дополнительные процедуры обработки данных'");
|
НСтр("ru = 'Не выполнены дополнительные процедуры обработки данных'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ВремяНачалаОбновления) И Не ЗначениеЗаполнено(ВремяОкончанияОбновления) Тогда
|
Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость =
|
||||||
Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость = Ложь;
|
(Пользователи.ЭтоПолноправныйПользователь() И Не ОбщегоНазначения.РазделениеВключено())
|
||||||
ИначеЕсли Пользователи.ЭтоПолноправныйПользователь() И Не ОбщегоНазначения.РазделениеВключено() Тогда
|
И (ЗначениеЗаполнено(ВремяНачалаОбновления) Или ЗначениеЗаполнено(ВремяОкончанияОбновления));
|
||||||
Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость = Истина;
|
|
||||||
Иначе
|
|
||||||
Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость = Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КлиентСервернаяБаза = Не ОбщегоНазначения.ИнформационнаяБазаФайловая();
|
КлиентСервернаяБаза = Не ОбщегоНазначения.ИнформационнаяБазаФайловая();
|
||||||
|
|
||||||
|
|||||||
@@ -852,10 +852,6 @@
|
|||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Страница сообщение не отправлено</value>
|
<value>Страница сообщение не отправлено</value>
|
||||||
</title>
|
</title>
|
||||||
<toolTip>
|
|
||||||
<key>ru</key>
|
|
||||||
<value>Страница сообщение отправлено</value>
|
|
||||||
</toolTip>
|
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>СтраницаСообщениеНеОтправленоРасширеннаяПодсказка</name>
|
<name>СтраницаСообщениеНеОтправленоРасширеннаяПодсказка</name>
|
||||||
<id>102</id>
|
<id>102</id>
|
||||||
|
|||||||
@@ -347,9 +347,9 @@
|
|||||||
|
|
||||||
НаименованиеВложения = Элемент.ТекущиеДанные[Элемент.ТекущийЭлемент.Имя];
|
НаименованиеВложения = Элемент.ТекущиеДанные[Элемент.ТекущийЭлемент.Имя];
|
||||||
|
|
||||||
Для Каждого Вложение Из Вложения Цикл
|
Для Позиция = -Вложения.Количество() + 1 По 0 Цикл
|
||||||
Если Вложение.Представление = НаименованиеВложения Тогда
|
Если Вложения.Получить(-Позиция).Представление = НаименованиеВложения Тогда
|
||||||
Вложения.Удалить(Вложение);
|
Вложения.Удалить(-Позиция);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@@ -428,10 +428,11 @@
|
|||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
СохранитьАдресОтвета(АдресОтвета, Ложь);
|
СохранитьАдресОтвета(АдресОтвета, Ложь);
|
||||||
|
|
||||||
Для Каждого ЭлементаАдресОтвета Из Элементы.АдресОтвета.СписокВыбора Цикл
|
Для Позиция = -Элементы.АдресОтвета.СписокВыбора.Количество() + 1 По 0 Цикл
|
||||||
|
ЭлементаАдресОтвета = Элементы.АдресОтвета.СписокВыбора.Получить(-Позиция);
|
||||||
Если ЭлементаАдресОтвета.Значение = АдресОтвета
|
Если ЭлементаАдресОтвета.Значение = АдресОтвета
|
||||||
И ЭлементаАдресОтвета.Представление = АдресОтвета Тогда
|
И ЭлементаАдресОтвета.Представление = АдресОтвета Тогда
|
||||||
Элементы.АдресОтвета.СписокВыбора.Удалить(ЭлементаАдресОтвета);
|
Элементы.АдресОтвета.СписокВыбора.Удалить(-Позиция);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@@ -866,10 +867,11 @@
|
|||||||
СписокАдресовОтвета = Новый СписокЗначений();
|
СписокАдресовОтвета = Новый СписокЗначений();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого ЭлементАдресОтвета Из СписокАдресовОтвета Цикл
|
Для Позиция = -СписокАдресовОтвета.Количество() + 1 По 0 Цикл
|
||||||
|
ЭлементАдресОтвета = СписокАдресовОтвета.Получить(-Позиция);
|
||||||
Если ЭлементАдресОтвета.Значение = АдресОтвета
|
Если ЭлементАдресОтвета.Значение = АдресОтвета
|
||||||
И ЭлементАдресОтвета.Представление = АдресОтвета Тогда
|
И ЭлементАдресОтвета.Представление = АдресОтвета Тогда
|
||||||
СписокАдресовОтвета.Удалить(ЭлементАдресОтвета);
|
СписокАдресовОтвета.Удалить(-Позиция);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
|||||||
@@ -395,21 +395,19 @@
|
|||||||
|
|
||||||
НастройкаПечатнойФормы = НастройкаТекущейПечатнойФормы();
|
НастройкаПечатнойФормы = НастройкаТекущейПечатнойФормы();
|
||||||
|
|
||||||
Если ИмяСобытия = "Запись_ПользовательскиеМакетыПечати"
|
Если (ИмяСобытия = "Запись_ПользовательскиеМакетыПечати"
|
||||||
И Источник.ВладелецФормы = ЭтотОбъект
|
И Источник.ВладелецФормы = ЭтотОбъект
|
||||||
И Параметр.ИмяОбъектаМетаданныхМакета = НастройкаПечатнойФормы.ПутьКМакету Тогда
|
И Параметр.ИмяОбъектаМетаданныхМакета = НастройкаПечатнойФормы.ПутьКМакету)
|
||||||
ПодключитьОбработчикОжидания("ОбновитьТекущуюПечатнуюФорму",0.1, Истина);
|
Или (ИмяСобытия = "Запись_ТабличныйДокумент"
|
||||||
ИначеЕсли (ИмяСобытия = "ОтказОтИзмененияМакета"
|
И Источник.ВладелецФормы = ЭтотОбъект
|
||||||
Или ИмяСобытия = "ОтменаРедактированияТабличногоДокумента"
|
И ЗначениеЗаполнено(Параметр.ИмяОбъектаМетаданныхМакета)
|
||||||
|
И СтрЗаканчиваетсяНа(НастройкаПечатнойФормы.ПутьКМакету, Параметр.ИмяОбъектаМетаданныхМакета)) Тогда
|
||||||
|
ПодключитьОбработчикОжидания("ОбновитьТекущуюПечатнуюФорму", 0.1, Истина);
|
||||||
|
ИначеЕсли (ИмяСобытия = "ОтказОтИзмененияМакета" Или ИмяСобытия = "ОтменаРедактированияТабличногоДокумента"
|
||||||
И Источник.ВладелецФормы = ЭтотОбъект
|
И Источник.ВладелецФормы = ЭтотОбъект
|
||||||
И ЗначениеЗаполнено(Параметр.ИмяОбъектаМетаданныхМакета)
|
И ЗначениеЗаполнено(Параметр.ИмяОбъектаМетаданныхМакета)
|
||||||
И СтрЗаканчиваетсяНа(НастройкаПечатнойФормы.ПутьКМакету, Параметр.ИмяОбъектаМетаданныхМакета)) Тогда
|
И СтрЗаканчиваетсяНа(НастройкаПечатнойФормы.ПутьКМакету, Параметр.ИмяОбъектаМетаданныхМакета)) Тогда
|
||||||
ОтобразитьСостояниеТекущейПечатнойФормы();
|
ОтобразитьСостояниеТекущейПечатнойФормы();
|
||||||
ИначеЕсли ИмяСобытия = "Запись_ТабличныйДокумент"
|
|
||||||
И Источник.ВладелецФормы = ЭтотОбъект
|
|
||||||
И ЗначениеЗаполнено(Параметр.ИмяОбъектаМетаданныхМакета)
|
|
||||||
И СтрЗаканчиваетсяНа(НастройкаПечатнойФормы.ПутьКМакету, Параметр.ИмяОбъектаМетаданныхМакета) Тогда
|
|
||||||
ПодключитьОбработчикОжидания("ОбновитьТекущуюПечатнуюФорму",0.1, Истина);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументовОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
|
УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументовОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
|
||||||
@@ -737,6 +735,9 @@
|
|||||||
Для каждого Параметр Из СтруктураПараметров Цикл
|
Для каждого Параметр Из СтруктураПараметров Цикл
|
||||||
СтруктураПараметров.Вставить(Параметр.Ключ, ОбщегоНазначения.СкопироватьРекурсивно(Параметры[Параметр.Ключ]));
|
СтруктураПараметров.Вставить(Параметр.Ключ, ОбщегоНазначения.СкопироватьРекурсивно(Параметры[Параметр.Ключ]));
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
СтруктураПараметров.ПараметрыПечати.ДополнительныеПараметры.Вставить("ПодписьИПечать",
|
||||||
|
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПечатьДокументовOfficeOpen", "ПодписьИПечать", Ложь));
|
||||||
|
|
||||||
|
|
||||||
СтруктураПараметров.Вставить("ИменаМакетов", ИменаМакетов);
|
СтруктураПараметров.Вставить("ИменаМакетов", ИменаМакетов);
|
||||||
|
|
||||||
|
|||||||
@@ -180,13 +180,12 @@
|
|||||||
ОповещениеПродолжениеВыбора = Новый ОписаниеОповещения("ОбработкаВыбораПродолжение", ЭтотОбъект, ПараметрыВыбора);
|
ОповещениеПродолжениеВыбора = Новый ОписаниеОповещения("ОбработкаВыбораПродолжение", ЭтотОбъект, ПараметрыВыбора);
|
||||||
Оповещение = Новый ОписаниеОповещения("ПриЗавершенииФормированияПечатныхФорм", ЭтотОбъект, ОповещениеПродолжениеВыбора);
|
Оповещение = Новый ОписаниеОповещения("ПриЗавершенииФормированияПечатныхФорм", ЭтотОбъект, ОповещениеПродолжениеВыбора);
|
||||||
|
|
||||||
Если ВыбранноеЗначение.Свойство("Присоединить") И ВыбранноеЗначение.ВариантСохранения = "Присоединить" И ВыбранноеЗначение.Подписать Тогда
|
Если ТребуетсяПереформирование Тогда
|
||||||
ВыполнитьОбработкуОповещения(ОповещениеПродолжениеВыбора);
|
НачатьПолучениеПечатныхФорм(СтруктураЕдиногоДокумента, Оповещение);
|
||||||
ИначеЕсли ТребуетсяПереформирование Тогда
|
|
||||||
НачатьПолучениеПечатныхФорм(СтруктураЕдиногоДокумента, Оповещение)
|
|
||||||
Иначе
|
Иначе
|
||||||
ВыполнитьОбработкуОповещения(ОповещениеПродолжениеВыбора);
|
ВыполнитьОбработкуОповещения(ОповещениеПродолжениеВыбора);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
@@ -750,19 +749,17 @@
|
|||||||
ВыбранноеЗначение.Свойство("ВариантСохранения", ВариантСохранения);
|
ВыбранноеЗначение.Свойство("ВариантСохранения", ВариантСохранения);
|
||||||
СписокВложений = Неопределено;
|
СписокВложений = Неопределено;
|
||||||
Если ОбъединитьДокументы И ВариантСохранения <> "Присоединить" Тогда
|
Если ОбъединитьДокументы И ВариантСохранения <> "Присоединить" Тогда
|
||||||
Вложение = Новый Структура("АдресВоВременномХранилище, Название, Печать, Представление, ОбъектПечати");
|
Вложение = ОписаниеФайла(СтруктураЕдиногоДокумента.ИмяФайлаПечатнойФормы);
|
||||||
Вложение.АдресВоВременномХранилище = СтруктураЕдиногоДокумента.АдресПечатнойФормы;
|
Вложение.АдресВоВременномХранилище = СтруктураЕдиногоДокумента.АдресПечатнойФормы;
|
||||||
Вложение.Название = СтруктураЕдиногоДокумента.ИмяФайлаПечатнойФормы;
|
Вложение.ОбъектПечати = ВыбранноеЗначение.ОбъектПечати;
|
||||||
Вложение.Печать = Истина;
|
|
||||||
Вложение.Представление = СтруктураЕдиногоДокумента.ИмяФайлаПечатнойФормы;
|
|
||||||
Вложение.ОбъектПечати = ВыбранноеЗначение.ОбъектПечати;
|
|
||||||
СписокВложений = Новый Массив;
|
СписокВложений = Новый Массив;
|
||||||
СписокВложений.Добавить(Вложение);
|
СписокВложений.Добавить(Вложение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ВыбранноеЗначение.Вставить("СписокВложений", СписокВложений);
|
ВыбранноеЗначение.Вставить("СписокВложений", СписокВложений);
|
||||||
|
|
||||||
|
ФайлыВоВременномХранилище = ПоместитьОфисныеДокументыВоВременноеХранилище(ВыбранноеЗначение,,Истина);
|
||||||
|
|
||||||
Если ВыбранноеЗначение.Подписать Тогда
|
Если ВыбранноеЗначение.Подписать Тогда
|
||||||
ФайлыВоВременномХранилище = ПоместитьОфисныеДокументыВоВременноеХранилище(ВыбранноеЗначение,,Истина);
|
|
||||||
|
|
||||||
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("ОбщаяФорма.СохранениеПечатнойФормы") Тогда
|
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("ОбщаяФорма.СохранениеПечатнойФормы") Тогда
|
||||||
Если ВыбранноеЗначение.ВариантСохранения = "Присоединить" Тогда
|
Если ВыбранноеЗначение.ВариантСохранения = "Присоединить" Тогда
|
||||||
@@ -777,6 +774,8 @@
|
|||||||
|
|
||||||
ПодписатьФайлы(ФайлыВоВременномХранилище, ПараметрыВыбора);
|
ПодписатьФайлы(ФайлыВоВременномХранилище, ПараметрыВыбора);
|
||||||
Иначе
|
Иначе
|
||||||
|
ПараметрыВыбора.ВыбранноеЗначение.Вставить("СписокВложений",
|
||||||
|
ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ВыбранноеЗначение));
|
||||||
ЗавершениеОбработкиВыбора(Истина, ПараметрыВыбора);
|
ЗавершениеОбработкиВыбора(Истина, ПараметрыВыбора);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -830,9 +829,8 @@
|
|||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ЗавершениеОбработкиВыбора(Результат, ПараметрыВыбора) Экспорт
|
Процедура ЗавершениеОбработкиВыбора(Результат, ПараметрыВыбора) Экспорт
|
||||||
Если Результат = Ложь Тогда
|
Если Результат = Ложь
|
||||||
Возврат;
|
Или (ТипЗнч(Результат) = Тип("Структура") И Результат.Свойство("Успех") И Не Результат.Успех) Тогда
|
||||||
ИначеЕсли ТипЗнч(Результат) = Тип("Структура") И Результат.Свойство("Успех") И Не Результат.Успех Тогда
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -848,8 +846,7 @@
|
|||||||
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ВыбранноеЗначение);
|
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ВыбранноеЗначение);
|
||||||
СохранитьПечатныеФормыВКаталог(ФайлыВоВременномХранилище, ВыбранноеЗначение.ПапкаДляСохранения);
|
СохранитьПечатныеФормыВКаталог(ФайлыВоВременномХранилище, ВыбранноеЗначение.ПапкаДляСохранения);
|
||||||
Иначе
|
Иначе
|
||||||
ФайлыВоВременномХранилище = ПоместитьОфисныеДокументыВоВременноеХранилище(ВыбранноеЗначение);
|
СохранитьПечатныеФормыВКаталог(ВыбранноеЗначение.СписокВложений, ВыбранноеЗначение.ПапкаДляСохранения);
|
||||||
СохранитьПечатныеФормыВКаталог(ФайлыВоВременномХранилище, ВыбранноеЗначение.ПапкаДляСохранения);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
@@ -1288,9 +1285,7 @@
|
|||||||
ЗаписьZipФайла.Записать();
|
ЗаписьZipФайла.Записать();
|
||||||
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяАрхива);
|
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяАрхива);
|
||||||
ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификаторХранилища);
|
ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификаторХранилища);
|
||||||
ОписаниеФайла = Новый Структура;
|
ОписаниеФайла = ОписаниеФайла(АрхивОбъекта.Значение.Представление);
|
||||||
ОписаниеФайла.Вставить("Представление", АрхивОбъекта.Значение.Представление);
|
|
||||||
|
|
||||||
ОписаниеФайла.Вставить("ОбъектПечати", АрхивОбъекта.Ключ);
|
ОписаниеФайла.Вставить("ОбъектПечати", АрхивОбъекта.Ключ);
|
||||||
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище);
|
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище);
|
||||||
Результат.Добавить(ОписаниеФайла);
|
Результат.Добавить(ОписаниеФайла);
|
||||||
@@ -1358,10 +1353,8 @@
|
|||||||
ДвоичныеДанные.Записать(ПолноеИмяФайла);
|
ДвоичныеДанные.Записать(ПолноеИмяФайла);
|
||||||
ЗаписьZipФайла.Добавить(ПолноеИмяФайла);
|
ЗаписьZipФайла.Добавить(ПолноеИмяФайла);
|
||||||
Иначе
|
Иначе
|
||||||
ОписаниеФайла = Новый Структура;
|
ОписаниеФайла = ОписаниеФайла(ИмяФайла);
|
||||||
ОписаниеФайла.Вставить("Представление", ИмяФайла);
|
|
||||||
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ФайлОфисногоДокумента.Ключ);
|
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ФайлОфисногоДокумента.Ключ);
|
||||||
ОписаниеФайла.Вставить("ЭтоОфисныйДокумент", Истина);
|
|
||||||
ОписаниеФайла.Вставить("ОбъектПечати", ОбъектПечати);
|
ОписаниеФайла.Вставить("ОбъектПечати", ОбъектПечати);
|
||||||
Результат.Добавить(ОписаниеФайла);
|
Результат.Добавить(ОписаниеФайла);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1387,10 +1380,8 @@
|
|||||||
ДвоичныеДанные.Записать(ПолноеИмяФайла);
|
ДвоичныеДанные.Записать(ПолноеИмяФайла);
|
||||||
ЗаписьZipФайла.Добавить(ПолноеИмяФайла);
|
ЗаписьZipФайла.Добавить(ПолноеИмяФайла);
|
||||||
Иначе
|
Иначе
|
||||||
ОписаниеФайла = Новый Структура;
|
ОписаниеФайла = ОписаниеФайла(ИмяФайла);
|
||||||
ОписаниеФайла.Вставить("Представление", ИмяФайла);
|
|
||||||
ОписаниеФайла.Вставить("АдресВоВременномХранилище", НастройкаПечатнойФормы.АдресВоВременномХранилище);
|
ОписаниеФайла.Вставить("АдресВоВременномХранилище", НастройкаПечатнойФормы.АдресВоВременномХранилище);
|
||||||
ОписаниеФайла.Вставить("ЭтоОфисныйДокумент", Истина);
|
|
||||||
ОписаниеФайла.Вставить("ОбъектПечати", НастройкаПечатнойФормы.ОбъектПечати);
|
ОписаниеФайла.Вставить("ОбъектПечати", НастройкаПечатнойФормы.ОбъектПечати);
|
||||||
Результат.Добавить(ОписаниеФайла);
|
Результат.Добавить(ОписаниеФайла);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1403,8 +1394,7 @@
|
|||||||
ЗаписьZipФайла.Записать();
|
ЗаписьZipФайла.Записать();
|
||||||
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяАрхива);
|
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяАрхива);
|
||||||
ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификаторХранилища);
|
ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификаторХранилища);
|
||||||
ОписаниеФайла = Новый Структура;
|
ОписаниеФайла = ОписаниеФайла(ПолучитьИмяФайлаДляАрхива(ПереводитьИменаФайловВТранслит, НастройкиПечатныхФормВр));
|
||||||
ОписаниеФайла.Вставить("Представление", ПолучитьИмяФайлаДляАрхива(ПереводитьИменаФайловВТранслит, НастройкиПечатныхФормВр));
|
|
||||||
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище);
|
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище);
|
||||||
Если ПереданныеНастройки.Свойство("ОбъектПечати") Тогда
|
Если ПереданныеНастройки.Свойство("ОбъектПечати") Тогда
|
||||||
ОписаниеФайла.Вставить("ОбъектПечати", ПереданныеНастройки.ОбъектПечати);
|
ОписаниеФайла.Вставить("ОбъектПечати", ПереданныеНастройки.ОбъектПечати);
|
||||||
@@ -1565,6 +1555,17 @@
|
|||||||
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания());
|
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания());
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция ОписаниеФайла(НаименованиеФайла = "")
|
||||||
|
ОписаниеФайла = Новый Структура;
|
||||||
|
ОписаниеФайла.Вставить("АдресВоВременномХранилище", "");
|
||||||
|
ОписаниеФайла.Вставить("Название", НаименованиеФайла);
|
||||||
|
ОписаниеФайла.Вставить("Печать", Истина);
|
||||||
|
ОписаниеФайла.Вставить("Представление", НаименованиеФайла);
|
||||||
|
ОписаниеФайла.Вставить("ОбъектПечати", Неопределено);
|
||||||
|
ОписаниеФайла.Вставить("ЭтоОфисныйДокумент", Истина);
|
||||||
|
Возврат ОписаниеФайла;
|
||||||
|
КонецФункции
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,9 +30,6 @@
|
|||||||
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
|
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
|
||||||
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подписи будут добавлены архивные метки времени'");
|
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подписи будут добавлены архивные метки времени'");
|
||||||
Элементы.ТипПодписи.Видимость = Ложь;
|
Элементы.ТипПодписи.Видимость = Ложь;
|
||||||
ИначеЕсли Параметры.РежимПродления = "НеобработанныеПодписи" Тогда
|
|
||||||
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
|
|
||||||
Элементы.ТипПодписи.Видимость = Истина;
|
|
||||||
Иначе
|
Иначе
|
||||||
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
|
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
|
||||||
Элементы.ТипПодписи.Видимость = Истина;
|
Элементы.ТипПодписи.Видимость = Истина;
|
||||||
|
|||||||
@@ -4493,12 +4493,10 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если СледующийУровень Тогда
|
Если СледующийУровень Тогда
|
||||||
Если Строка.Тип = "НастройкиКомпоновкиДанных" И Не Строка.ФлажокДоступен Тогда
|
Если (Строка.Тип = "НастройкиКомпоновкиДанных" И Не Строка.ФлажокДоступен)
|
||||||
ПараметрыВыполнения.Оборачивать = Ложь;
|
Или Строка.ПолучитьЭлементы().Количество() > 1
|
||||||
ИначеЕсли Строка.ПолучитьЭлементы().Количество() > 1 Тогда
|
Или (Строка.Тип = "КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных"
|
||||||
ПараметрыВыполнения.Оборачивать = Ложь;
|
И Строка.Подтип = "ТаблицаКолонки") Тогда
|
||||||
ИначеЕсли Строка.Тип = "КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных"
|
|
||||||
И Строка.Подтип = "ТаблицаКолонки" Тогда
|
|
||||||
ПараметрыВыполнения.Оборачивать = Ложь;
|
ПараметрыВыполнения.Оборачивать = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -3351,7 +3351,9 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция НаименованиеЗемельногоУчастка() Экспорт
|
Функция НаименованиеЗемельногоУчастка() Экспорт
|
||||||
|
// АПК: 1036-выкл Данные адресного классификатора, не локализуются
|
||||||
Возврат "Зем. участок";
|
Возврат "Зем. участок";
|
||||||
|
// АПК: 1036-вкл
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПредставлениеУровняАдреса(Адрес, ИмяУровня) Экспорт
|
Функция ПредставлениеУровняАдреса(Адрес, ИмяУровня) Экспорт
|
||||||
|
|||||||
@@ -574,63 +574,43 @@
|
|||||||
ИмяВопроса = АнкетированиеКлиентСервер.ПолучитьИмяВопроса(СтрокаДерева.КлючСтроки);
|
ИмяВопроса = АнкетированиеКлиентСервер.ПолучитьИмяВопроса(СтрокаДерева.КлючСтроки);
|
||||||
|
|
||||||
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
|
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Формулировка",ОписаниеТипаСтроки));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Формулировка", ОписаниеТипаСтроки));
|
||||||
|
|
||||||
Если СтрокаДерева.ТипВопроса = Перечисления.ТипыВопросовШаблонаАнкеты.Табличный Тогда
|
Если СтрокаДерева.ТипВопроса = Перечисления.ТипыВопросовШаблонаАнкеты.Табличный Тогда
|
||||||
|
|
||||||
ДобавитьРеквизитыТабличныйВопрос(СтрокаДерева,ДобавляемыеРеквизиты,Форма);
|
ДобавитьРеквизитыТабличныйВопрос(СтрокаДерева,ДобавляемыеРеквизиты,Форма);
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипВопроса = Перечисления.ТипыВопросовШаблонаАнкеты.Комплексный Тогда
|
ИначеЕсли СтрокаДерева.ТипВопроса = Перечисления.ТипыВопросовШаблонаАнкеты.Комплексный Тогда
|
||||||
|
|
||||||
ДобавитьРеквизитыКомплексныйВопрос(СтрокаДерева, ДобавляемыеРеквизиты, Форма);
|
ДобавитьРеквизитыКомплексныйВопрос(СтрокаДерева, ДобавляемыеРеквизиты, Форма);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Если СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Строка Тогда
|
Если СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Строка
|
||||||
|
Или СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
||||||
|
|
||||||
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(СтрокаДерева.Длина));
|
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(СтрокаДерева.Длина));
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаСтроки,,СтрокаДерева.Формулировка));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса, ОписаниеТипаСтроки,, СтрокаДерева.Формулировка));
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
|
||||||
|
|
||||||
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(СтрокаДерева.Длина));
|
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаСтроки,,СтрокаДерева.Формулировка));
|
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Булево Тогда
|
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Булево Тогда
|
||||||
|
|
||||||
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
|
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаБулево,,СтрокаДерева.Формулировка));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаБулево,, СтрокаДерева.Формулировка));
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Дата Тогда
|
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Дата Тогда
|
||||||
|
ОписаниеТипаДата = Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.Дата));
|
||||||
ОписаниеТипаДата = Новый ОписаниеТипов("Дата",Новый КвалификаторыДаты(ЧастиДаты.Дата));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаДата,, СтрокаДерева.Формулировка));
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаДата,,СтрокаДерева.Формулировка));
|
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Число Тогда
|
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Число Тогда
|
||||||
|
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(СтрокаДерева.Длина, СтрокаДерева.Точность));
|
||||||
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(СтрокаДерева.Длина,СтрокаДерева.Точность));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаЧисло,, СтрокаДерева.Формулировка));
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,ОписаниеТипаЧисло,,СтрокаДерева.Формулировка));
|
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ЗначениеИнформационнойБазы
|
||||||
|
Или СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ЗначениеИнформационнойБазы Тогда
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,СтрокаДерева.ТипЗначения,, СтрокаДерева.Формулировка));
|
||||||
|
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,СтрокаДерева.ТипЗначения,,СтрокаДерева.Формулировка));
|
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда
|
|
||||||
|
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,СтрокаДерева.ТипЗначения,,СтрокаДерева.Формулировка));
|
|
||||||
|
|
||||||
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
|
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
|
||||||
|
|
||||||
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос,Форма);
|
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос,Форма);
|
||||||
|
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(150));
|
||||||
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150));
|
|
||||||
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
|
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
|
||||||
|
|
||||||
Счетчик = 0;
|
Счетчик = 0;
|
||||||
|
|
||||||
Для каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл
|
Для каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл
|
||||||
Счетчик = Счетчик + 1;
|
Счетчик = Счетчик + 1;
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Реквизит_" + Счетчик,ОписаниеТипаБулево,,ВариантОтвета.Представление));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(
|
||||||
|
ИмяВопроса + "_Реквизит_" + Счетчик, ОписаниеТипаБулево,, ВариантОтвета.Представление));
|
||||||
Если ВариантОтвета.ТребуетОткрытогоОтвета Тогда
|
Если ВариантОтвета.ТребуетОткрытогоОтвета Тогда
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Комментарий_" + Счетчик,ОписаниеТипаСтроки));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Комментарий_" + Счетчик,ОписаниеТипаСтроки));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -639,10 +619,9 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если (СтрокаДерева.ТипОтвета <> Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз) И (СтрокаДерева.ТребуетсяКомментарий) Тогда
|
Если (СтрокаДерева.ТипОтвета <> Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз) И (СтрокаДерева.ТребуетсяКомментарий) Тогда
|
||||||
|
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(150));
|
||||||
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150));
|
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(
|
||||||
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Комментарий",ОписаниеТипаСтроки,,СтрокаДерева.ПояснениеКомментария));
|
ИмяВопроса + "_Комментарий", ОписаниеТипаСтроки,, СтрокаДерева.ПояснениеКомментария));
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -947,7 +926,7 @@
|
|||||||
|
|
||||||
Если СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Строка Тогда
|
Если СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Строка Тогда
|
||||||
|
|
||||||
Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"),ЭлементГруппаВопросКомментарий);
|
Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"), ЭлементГруппаВопросКомментарий);
|
||||||
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
||||||
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
||||||
Элемент.АвтоОтметкаНезаполненного = СтрокаТаблицы.Обязательный;
|
Элемент.АвтоОтметкаНезаполненного = СтрокаТаблицы.Обязательный;
|
||||||
@@ -957,7 +936,7 @@
|
|||||||
|
|
||||||
ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
||||||
|
|
||||||
Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"),ЭлементГруппаВопросКомментарий);
|
Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"), ЭлементГруппаВопросКомментарий);
|
||||||
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
||||||
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
||||||
Элемент.АвтоОтметкаНезаполненного = СтрокаТаблицы.Обязательный;
|
Элемент.АвтоОтметкаНезаполненного = СтрокаТаблицы.Обязательный;
|
||||||
|
|||||||
@@ -459,10 +459,11 @@
|
|||||||
|
|
||||||
ПараметрыБлокировки = СохраненныеПараметрыБлокировки();
|
ПараметрыБлокировки = СохраненныеПараметрыБлокировки();
|
||||||
|
|
||||||
Если ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено Тогда
|
// Установлен признак необходимости принятия решения о блокировке
|
||||||
Возврат Истина; // Установлен признак необходимости принятия решения о блокировке.
|
// или блокировка работы с внешними ресурсами подтверждена администратором.
|
||||||
ИначеЕсли ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Истина Тогда
|
Если ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено
|
||||||
Возврат Истина; // Блокировка работы с внешними ресурсами подтверждена администратором.
|
Или ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Истина Тогда
|
||||||
|
Возврат Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||||
|
|||||||
@@ -3744,6 +3744,11 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
|
ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
|
||||||
|
|
||||||
|
Если ПустаяСтрока(ВыражениеДетальныхЗаписей) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ВыражениеСодержитАгрегатнуюФункцию(ВыражениеДетальныхЗаписей) Тогда
|
Если ВыражениеСодержитАгрегатнуюФункцию(ВыражениеДетальныхЗаписей) Тогда
|
||||||
ВыражениеИтоговыхЗаписей = ВыражениеДетальныхЗаписей;
|
ВыражениеИтоговыхЗаписей = ВыражениеДетальныхЗаписей;
|
||||||
Иначе
|
Иначе
|
||||||
|
|||||||
@@ -99,18 +99,14 @@
|
|||||||
|
|
||||||
Контакты = Неопределено;
|
Контакты = Неопределено;
|
||||||
|
|
||||||
|
// На основании контакта
|
||||||
Если ЯвляетсяКонтактом(ДанныеЗаполнения) И Не ДанныеЗаполнения.ЭтоГруппа Тогда
|
Если ЯвляетсяКонтактом(ДанныеЗаполнения) И Не ДанныеЗаполнения.ЭтоГруппа Тогда
|
||||||
// На основании контакта
|
|
||||||
Контакты = Новый Массив;
|
Контакты = Новый Массив;
|
||||||
Контакты.Добавить(ДанныеЗаполнения);
|
Контакты.Добавить(ДанныеЗаполнения);
|
||||||
|
|
||||||
ИначеЕсли ВзаимодействияКлиентСервер.ЯвляетсяПредметом(ДанныеЗаполнения) Тогда
|
// На основании предмета или взаимодействия
|
||||||
// На основании предмета
|
ИначеЕсли ВзаимодействияКлиентСервер.ЯвляетсяПредметом(ДанныеЗаполнения)
|
||||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ДанныеЗаполнения);
|
Или ВзаимодействияКлиентСервер.ЯвляетсяВзаимодействием(ДанныеЗаполнения) Тогда
|
||||||
Контакты = МенеджерОбъекта.ПолучитьКонтакты(ДанныеЗаполнения);
|
|
||||||
|
|
||||||
ИначеЕсли ВзаимодействияКлиентСервер.ЯвляетсяВзаимодействием(ДанныеЗаполнения) Тогда
|
|
||||||
// На основании взаимодействия.
|
|
||||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ДанныеЗаполнения);
|
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ДанныеЗаполнения);
|
||||||
Контакты = МенеджерОбъекта.ПолучитьКонтакты(ДанныеЗаполнения);
|
Контакты = МенеджерОбъекта.ПолучитьКонтакты(ДанныеЗаполнения);
|
||||||
|
|
||||||
@@ -611,6 +607,20 @@
|
|||||||
НоваяСтрока.Контакт = ПолучательПисьма.ИсточникКонтактнойИнформации;
|
НоваяСтрока.Контакт = ПолучательПисьма.ИсточникКонтактнойИнформации;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого ПолучательОтвета Из Сообщение.ПолучателиОтвета Цикл
|
||||||
|
НоваяСтрока = Письмо["ПолучателиОтвета"].Добавить();
|
||||||
|
НоваяСтрока.Адрес = ПолучательОтвета.Адрес;
|
||||||
|
НоваяСтрока.Представление = ПолучательОтвета.Представление;
|
||||||
|
НоваяСтрока.Контакт = ПолучательОтвета.ИсточникКонтактнойИнформации;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого ПолучательСкрытыхКопий Из Сообщение.ПолучателиСкрытыхКопий Цикл
|
||||||
|
НоваяСтрока = Письмо["ПолучателиСкрытыхКопий"].Добавить();
|
||||||
|
НоваяСтрока.Адрес = ПолучательСкрытыхКопий.Адрес;
|
||||||
|
НоваяСтрока.Представление = ПолучательСкрытыхКопий.Представление;
|
||||||
|
НоваяСтрока.Контакт = ПолучательСкрытыхКопий.ИсточникКонтактнойИнформации;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
Письмо.СписокПолучателейПисьма = ВзаимодействияКлиентСервер.ПолучитьПредставлениеСпискаАдресатов(Письмо.ПолучателиПисьма, Ложь);
|
Письмо.СписокПолучателейПисьма = ВзаимодействияКлиентСервер.ПолучитьПредставлениеСпискаАдресатов(Письмо.ПолучателиПисьма, Ложь);
|
||||||
Письмо.СтатусПисьма = ?(ОбщегоНазначения.ИнформационнаяБазаФайловая(),
|
Письмо.СтатусПисьма = ?(ОбщегоНазначения.ИнформационнаяБазаФайловая(),
|
||||||
Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик,
|
Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик,
|
||||||
@@ -774,7 +784,15 @@
|
|||||||
// * СообщенияПользователю - ФиксированныйМассив
|
// * СообщенияПользователю - ФиксированныйМассив
|
||||||
// * Получатели - ТаблицаЗначений:
|
// * Получатели - ТаблицаЗначений:
|
||||||
// ** Представление - Строка
|
// ** Представление - Строка
|
||||||
// ** АдресВоВременномХранилище - Строка
|
// ** Адрес - Строка - адрес во временном хранилище
|
||||||
|
// ** ИсточникКонтактнойИнформации - ОпределяемыеТип.ВладелецКонтактнойИнформации
|
||||||
|
// * ПолучателиОтвета
|
||||||
|
// ** Представление - Строка
|
||||||
|
// ** Адрес - Строка - адрес во временном хранилище
|
||||||
|
// ** ИсточникКонтактнойИнформации - ОпределяемыеТип.ВладелецКонтактнойИнформации
|
||||||
|
// * ПолучателиСкрытыхКопий
|
||||||
|
// ** Представление - Строка
|
||||||
|
// ** Адрес - Строка - адрес во временном хранилище
|
||||||
// ** ИсточникКонтактнойИнформации - ОпределяемыеТип.ВладелецКонтактнойИнформации
|
// ** ИсточникКонтактнойИнформации - ОпределяемыеТип.ВладелецКонтактнойИнформации
|
||||||
// * Вложения - ТаблицаЗначений:
|
// * Вложения - ТаблицаЗначений:
|
||||||
// ** Представление - Строка
|
// ** Представление - Строка
|
||||||
@@ -803,6 +821,20 @@
|
|||||||
Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
|
Получатели.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
|
||||||
|
|
||||||
Сообщение.Вставить("Получатели", Получатели);
|
Сообщение.Вставить("Получатели", Получатели);
|
||||||
|
|
||||||
|
ПолучателиОтвета = Новый ТаблицаЗначений;
|
||||||
|
ПолучателиОтвета.Колонки.Добавить("Адрес", ТипСтрока);
|
||||||
|
ПолучателиОтвета.Колонки.Добавить("Представление", ТипСтрока);
|
||||||
|
ПолучателиОтвета.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
|
||||||
|
|
||||||
|
Сообщение.Вставить("ПолучателиОтвета", ПолучателиОтвета);
|
||||||
|
|
||||||
|
ПолучателиСкрытыхКопий = Новый ТаблицаЗначений;
|
||||||
|
ПолучателиСкрытыхКопий.Колонки.Добавить("Адрес", ТипСтрока);
|
||||||
|
ПолучателиСкрытыхКопий.Колонки.Добавить("Представление", ТипСтрока);
|
||||||
|
ПолучателиСкрытыхКопий.Колонки.Добавить("ИсточникКонтактнойИнформации", Метаданные.ОпределяемыеТипы.ВладелецКонтактнойИнформации.Тип);
|
||||||
|
|
||||||
|
Сообщение.Вставить("ПолучателиСкрытыхКопий", ПолучателиСкрытыхКопий);
|
||||||
|
|
||||||
Вложения = Новый ТаблицаЗначений;
|
Вложения = Новый ТаблицаЗначений;
|
||||||
Вложения.Колонки.Добавить("Представление", ТипСтрока);
|
Вложения.Колонки.Добавить("Представление", ТипСтрока);
|
||||||
@@ -1307,7 +1339,7 @@
|
|||||||
// ПарыЗамен - Соответствие - содержит пары значений оригинал и дубль.
|
// ПарыЗамен - Соответствие - содержит пары значений оригинал и дубль.
|
||||||
// НеобработанныеЗначенияОригиналов - Массив из Структура:
|
// НеобработанныеЗначенияОригиналов - Массив из Структура:
|
||||||
// * ЗаменяемоеЗначение - ЛюбаяСсылка - оригинальное значение заменяемого объекта.
|
// * ЗаменяемоеЗначение - ЛюбаяСсылка - оригинальное значение заменяемого объекта.
|
||||||
// * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам.
|
// * ИспользуемыеСвязи - см. ОбщегоНазначения.СвязиПодчиненныхОбъектовПоТипам.
|
||||||
// * ЗначениеКлючевыхРеквизитов - Структура - Ключ - имя реквизита, значение - значение реквизита.
|
// * ЗначениеКлючевыхРеквизитов - Структура - Ключ - имя реквизита, значение - значение реквизита.
|
||||||
//
|
//
|
||||||
Процедура ПриПоискеЗаменыСсылок(ПарыЗамен, НеобработанныеЗначенияОригиналов) Экспорт
|
Процедура ПриПоискеЗаменыСсылок(ПарыЗамен, НеобработанныеЗначенияОригиналов) Экспорт
|
||||||
@@ -1329,15 +1361,11 @@
|
|||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
|
ОтменитьТранзакцию();
|
||||||
Если ТранзакцияАктивна() Тогда
|
ЗаписьЖурналаРегистрации(НСтр("ru='Поиск и замена ссылок'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||||
ОтменитьТранзакцию();
|
УровеньЖурналаРегистрации.Ошибка,
|
||||||
КонецЕсли;
|
НеобработанныйДубль.ЗаменяемоеЗначение.Метаданные,,
|
||||||
ЗаписьЖурналаРегистрации(НСтр("ru='Поиск и замена ссылок'", ОбщегоНазначения.КодОсновногоЯзыка())
|
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
,УровеньЖурналаРегистрации.Ошибка
|
|
||||||
,НеобработанныйДубль.ЗаменяемоеЗначение.Метаданные
|
|
||||||
,,ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
|
||||||
|
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1413,7 +1441,7 @@
|
|||||||
Иначе
|
Иначе
|
||||||
Адрес = Параметры.Адрес;
|
Адрес = Параметры.Адрес;
|
||||||
ДоменныйАдрес = ПолучитьДоменныйАдресДляПоиска(Параметры.Адрес);
|
ДоменныйАдрес = ПолучитьДоменныйАдресДляПоиска(Параметры.Адрес);
|
||||||
ВариантыПоискаПоСтроке = ПолучитьВариантыПоискаПоСтроке(Параметры.Представление, Параметры.Адрес);
|
ВариантыПоискаПоСтроке = ВариантыПоискаПоСтроке(Параметры.Представление, Параметры.Адрес);
|
||||||
Представление = Параметры.Представление;
|
Представление = Параметры.Представление;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1536,11 +1564,11 @@
|
|||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// СписокЗначений
|
// СписокЗначений
|
||||||
//
|
//
|
||||||
Функция ПолучитьВариантыПоискаПоСтроке(Представление, Адрес)
|
Функция ВариантыПоискаПоСтроке(Представление, Адрес)
|
||||||
|
|
||||||
Если ПустаяСтрока(Представление) Тогда
|
Если ПустаяСтрока(Представление) Тогда
|
||||||
Возврат Адрес;
|
Возврат Адрес;
|
||||||
ИначеЕсли ПустаяСтрока(Адрес) Тогда
|
ИначеЕсли ПустаяСтрока(Адрес) Тогда
|
||||||
Возврат Представление;
|
Возврат Представление;
|
||||||
ИначеЕсли СокрЛП(Представление) = СокрЛП(Адрес) Тогда
|
ИначеЕсли СокрЛП(Представление) = СокрЛП(Адрес) Тогда
|
||||||
Возврат Адрес;
|
Возврат Адрес;
|
||||||
@@ -2748,9 +2776,8 @@
|
|||||||
//
|
//
|
||||||
Процедура ДозаполнитьПоляКонтактов(Контакт, Представление, Адрес, ТипКонтактнойИнформации = Неопределено) Экспорт
|
Процедура ДозаполнитьПоляКонтактов(Контакт, Представление, Адрес, ТипКонтактнойИнформации = Неопределено) Экспорт
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Контакт) Тогда
|
Если Не ЗначениеЗаполнено(Контакт)
|
||||||
Возврат;
|
Или (Не ПустаяСтрока(Представление) И Не ПустаяСтрока(Адрес)) Тогда
|
||||||
ИначеЕсли Не ПустаяСтрока(Представление) И Не ПустаяСтрока(Адрес) Тогда
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -1914,16 +1914,10 @@
|
|||||||
ДополнительныеПараметрыОтправки.Заменить = Истина;
|
ДополнительныеПараметрыОтправки.Заменить = Истина;
|
||||||
ДополнительныеПараметрыОтправки.ОтсрочкаДоставки = 3;
|
ДополнительныеПараметрыОтправки.ОтсрочкаДоставки = 3;
|
||||||
ДополнительныеПараметрыОтправки.СобытиеЖурналаПриОтсрочкеДоставки =
|
ДополнительныеПараметрыОтправки.СобытиеЖурналаПриОтсрочкеДоставки =
|
||||||
НСтр("ru = 'Длительные операция.Отложенная доставка прогресса'",
|
НСтр("ru = 'Длительные операции.Отложенная доставка прогресса'",
|
||||||
ОбщегоНазначения.КодОсновногоЯзыка());
|
ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
Попытка
|
|
||||||
ВызватьИсключение НСтр("ru = 'Стек вызовов:'");
|
|
||||||
Исключение
|
|
||||||
СтекВызовов = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
|
||||||
КонецПопытки;
|
|
||||||
ДополнительныеПараметрыОтправки.КомментарийЖурналаПриОтсрочкеДоставки =
|
ДополнительныеПараметрыОтправки.КомментарийЖурналаПриОтсрочкеДоставки =
|
||||||
НСтр("ru = 'Отправка прогресса чаще одного раза в 3 сек.'")
|
НСтр("ru = 'Отправка прогресса чаще одного раза в 3 сек.'");
|
||||||
+ Символы.ПС + СтекВызовов;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СерверныеОповещения.ОтправитьСерверноеОповещениеСИдентификаторомГруппы(ИмяОповещения(),
|
СерверныеОповещения.ОтправитьСерверноеОповещениеСИдентификаторомГруппы(ИмяОповещения(),
|
||||||
@@ -1964,7 +1958,10 @@
|
|||||||
|
|
||||||
ПоследнийИдентификатор = ПоследнийИдентификатор(ИдентификаторЗадания);
|
ПоследнийИдентификатор = ПоследнийИдентификатор(ИдентификаторЗадания);
|
||||||
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ПоследнийИдентификатор);
|
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ПоследнийИдентификатор);
|
||||||
Если ФоновоеЗадание <> Неопределено Тогда
|
|
||||||
|
Если ФоновоеЗадание <> Неопределено
|
||||||
|
И Не МонопольныйРежимВФоновомЗадании(ФоновоеЗадание) Тогда
|
||||||
|
|
||||||
Сообщения = ФоновоеЗадание.ПолучитьСообщенияПользователю(Истина);
|
Сообщения = ФоновоеЗадание.ПолучитьСообщенияПользователю(Истина);
|
||||||
Для Каждого Сообщение Из Сообщения Цикл
|
Для Каждого Сообщение Из Сообщения Цикл
|
||||||
// @skip-check query-in-loop - ветка с запросом вызывается только при первом вызове в сеансе
|
// @skip-check query-in-loop - ветка с запросом вызывается только при первом вызове в сеансе
|
||||||
@@ -1974,6 +1971,31 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// ФоновоеЗадание - ФоновоеЗадание - задание, активность которого нужно учесть.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево - если Истина, значит в сеансе установлен монопольный режим и
|
||||||
|
// хотя бы одно фоновое задание активно (то есть запись в сеансе недоступна).
|
||||||
|
//
|
||||||
|
Функция МонопольныйРежимВФоновомЗадании(ФоновоеЗадание = Неопределено)
|
||||||
|
|
||||||
|
Если Не МонопольныйРежим() Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ФоновоеЗадание <> Неопределено
|
||||||
|
И ФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
|
||||||
|
Возврат Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Отбор = Новый Структура;
|
||||||
|
Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
|
||||||
|
|
||||||
|
Возврат ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор).Количество() > 0;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция ЕстьФоновыеЗаданияВФайловойИБ()
|
Функция ЕстьФоновыеЗаданияВФайловойИБ()
|
||||||
|
|
||||||
ЗапущеноЗаданийВФайловойИБ = 0;
|
ЗапущеноЗаданийВФайловойИБ = 0;
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -8,23 +8,24 @@
|
|||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
// Запускает изменение настроек скрытия персональных данных субъектов в соответствии с измененными
|
// Запускает изменение настроек уничтожения персональных данных субъектов в соответствии с измененными
|
||||||
// настройками системы.
|
// настройками системы.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы.
|
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы.
|
||||||
// ПараметрыМетода - см. НастройкиСкрытияПерсональныхДанныхСистемы
|
// ПараметрыМетода - см. НастройкиУничтоженияПерсональныхДанныхСистемы
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// см. ДлительныеОперации.ВыполнитьВФоне.
|
// см. ДлительныеОперации.ВыполнитьВФоне.
|
||||||
//
|
//
|
||||||
Функция ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Знач ИдентификаторФормы, Знач ПараметрыМетода) Экспорт
|
Функция ЗапуститьДлительнуюОперациюИзменениеНастроекУничтоженияПДн(Знач ИдентификаторФормы, Знач ПараметрыМетода) Экспорт
|
||||||
|
|
||||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
|
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
|
||||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Изменение настроек скрытия персональных данных'");
|
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Изменение настроек уничтожения персональных данных'");
|
||||||
ПараметрыВыполнения.ОжидатьЗавершение = 0;
|
ПараметрыВыполнения.ОжидатьЗавершение = 0;
|
||||||
|
|
||||||
Возврат ДлительныеОперации.ВыполнитьВФоне("ЗащитаПерсональныхДанных.ИзменитьНастройкиСкрытияПерсональныхДанных", ПараметрыМетода, ПараметрыВыполнения);
|
Возврат ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВыполнения,
|
||||||
|
"ЗащитаПерсональныхДанных.ИзменитьНастройкиУничтоженияПерсональныхДанных", ПараметрыМетода);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -32,16 +33,16 @@
|
|||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура:
|
// Структура:
|
||||||
// * ИспользоватьСкрытиеПерсональныхДанных - Булево - признак использования скрытия персональных данных субъектов.
|
// * ИспользоватьУничтожениеПерсональныхДанных - Булево - признак использования уничтожения персональных данных
|
||||||
// * ДнейДоСкрытияПерсональныхДанных - Число - дней до скрытия персональных данных субъектов.
|
// субъектов.
|
||||||
//
|
//
|
||||||
Функция НастройкиСкрытияПерсональныхДанныхСистемы() Экспорт
|
Функция НастройкиУничтоженияПерсональныхДанныхСистемы() Экспорт
|
||||||
|
|
||||||
НастройкиСкрытия = Новый Структура;
|
НастройкиУничтожения = Новый Структура;
|
||||||
НастройкиСкрытия.Вставить("ИспользоватьСкрытиеПерсональныхДанных", Константы.ИспользоватьСкрытиеПерсональныхДанныхСубъектов.Получить());
|
НастройкиУничтожения.Вставить("ИспользоватьУничтожениеПерсональныхДанных",
|
||||||
НастройкиСкрытия.Вставить("ДнейДоСкрытияПерсональныхДанных", Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить());
|
Константы.ИспользоватьСкрытиеПерсональныхДанныхСубъектов.Получить());
|
||||||
|
|
||||||
Возврат НастройкиСкрытия;
|
Возврат НастройкиУничтожения;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -49,110 +50,17 @@
|
|||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
Функция ПараметрыВопросаПодтвержденияСкрытия(Субъекты) Экспорт
|
|
||||||
|
|
||||||
ТекстВопроса = "";
|
|
||||||
ПараметрыВопроса = Новый Структура;
|
|
||||||
|
|
||||||
СкрываемыеСубъекты = Новый Массив;
|
|
||||||
СкрываемыеСубъектыБезСогласия = Новый Массив;
|
|
||||||
СкрываемыеСубъектыССогласием = Новый Массив;
|
|
||||||
|
|
||||||
ДатаСеанса = НачалоДня(ТекущаяДатаСеанса());
|
|
||||||
ПустаяДата = Дата(1, 1, 1);
|
|
||||||
|
|
||||||
ДнейДоСкрытия = ЗащитаПерсональныхДанных.ДнейДоСкрытияПерсональныхДанныхСубъектов();
|
|
||||||
НастройкиСубъектов = ЗащитаПерсональныхДанных.ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
|
||||||
|
|
||||||
Для Каждого НастройкиСкрытия Из НастройкиСубъектов Цикл
|
|
||||||
|
|
||||||
Субъект = НастройкиСкрытия.Ключ;
|
|
||||||
Настройки = НастройкиСкрытия.Значение;
|
|
||||||
|
|
||||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
|
||||||
Или Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
|
||||||
|
|
||||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено Тогда
|
|
||||||
ТекстПричины = НСтр("ru = 'Скрытие ранее отменено по причине: %1.'");
|
|
||||||
ТекстПричины = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПричины, Настройки.ПричинаОтменыСкрытия);
|
|
||||||
Иначе
|
|
||||||
ТекстПричины = НСтр("ru = 'Скрытие уже выполнено.'");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта ""%1"" не могут быть скрыты.
|
|
||||||
|%2'");
|
|
||||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Субъект, ТекстПричины);
|
|
||||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
|
|
||||||
|
|
||||||
Продолжить;
|
|
||||||
|
|
||||||
ИначеЕсли ЗначениеЗаполнено(Настройки.Основание)
|
|
||||||
И (Настройки.ДатаСкрытия = ПустаяДата Или Настройки.ДатаСкрытия - ДнейДоСкрытия * 86400 > ДатаСеанса) Тогда
|
|
||||||
СкрываемыеСубъектыССогласием.Добавить(Субъект);
|
|
||||||
Иначе
|
|
||||||
СкрываемыеСубъектыБезСогласия.Добавить(Субъект);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СкрываемыеСубъекты.Добавить(Субъект);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(СкрываемыеСубъектыБезСогласия) Тогда
|
|
||||||
|
|
||||||
Заголовок = НСтр("ru = 'Будут скрыты персональные данные субъектов:'");
|
|
||||||
ТекстВопроса = ПредставлениеСпискаСубъектов(Заголовок, СкрываемыеСубъектыБезСогласия);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(СкрываемыеСубъектыССогласием) Тогда
|
|
||||||
|
|
||||||
Заголовок = НСтр("ru = 'Несмотря на полученное согласие на обработку ПДн, будут скрыты персональные данные субъектов:'");
|
|
||||||
ТекстВопроса = ?(ЗначениеЗаполнено(ТекстВопроса), ТекстВопроса + Символы.ПС, "") + ПредставлениеСпискаСубъектов(Заголовок, СкрываемыеСубъектыССогласием);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ТекстВопроса) Тогда
|
|
||||||
ТекстВопроса = ТекстВопроса + Символы.ПС + НСтр("ru = 'Восстановление данных будет невозможно. Продолжить?'");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПараметрыВопроса.Вставить("Субъекты", СкрываемыеСубъекты);
|
|
||||||
ПараметрыВопроса.Вставить("ТекстВопроса", ТекстВопроса);
|
|
||||||
|
|
||||||
Возврат ПараметрыВопроса;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ПредставлениеСпискаСубъектов(Заголовок, Субъекты)
|
|
||||||
|
|
||||||
ПредставлениеСписка = "";
|
|
||||||
ПредставлениеСписка = Заголовок + Символы.ПС;
|
|
||||||
|
|
||||||
Если Субъекты.Количество() = 1 Тогда
|
|
||||||
ПредставлениеСписка = СтрЗаменить(ПредставлениеСписка, НСтр("ru = 'субъектов'"), НСтр("ru = 'субъекта'"));
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Номер = 1;
|
|
||||||
Для Каждого Субъект Из Субъекты Цикл
|
|
||||||
|
|
||||||
ПредставлениеСписка = ПредставлениеСписка + ?(Номер <> 1, ", ", "");
|
|
||||||
ПредставлениеСписка = ПредставлениеСписка + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1'"), Субъект);
|
|
||||||
|
|
||||||
Номер = Номер + 1;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат ПредставлениеСписка + "." + Символы.ПС;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Процедура СкрытьПерсональныеДанныеСубъектов(Субъекты, СообщатьОбИсключениях = Ложь) Экспорт
|
|
||||||
|
|
||||||
ЗащитаПерсональныхДанных.СкрытьПерсональныеДанныеСубъектов(Субъекты, СообщатьОбИсключениях);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура СохранитьПоложениеОтбораПоказыватьСоСкрытымиПДн(ИмяФормы, ПоложениеОтбора) Экспорт
|
Процедура СохранитьПоложениеОтбораПоказыватьСоСкрытымиПДн(ИмяФормы, ПоложениеОтбора) Экспорт
|
||||||
|
|
||||||
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(ИмяФормы, "ПоказыватьСоСкрытымиПДн", ПоложениеОтбора);
|
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(ИмяФормы, "ПоказыватьСоСкрытымиПДн", ПоложениеОтбора);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// См. ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектов
|
||||||
|
Функция ТипыСубъектов() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗащитаПерсональныхДанных.ТипыСубъектов();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -26,7 +26,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Субъект = ПараметрыПечати.ОбъектыПечати[0];
|
Субъект = ПараметрыПечати.ОбъектыПечати[0];
|
||||||
ОткрытьФорму("Документ.СогласиеНаОбработкуПерсональныхДанных.ФормаОбъекта", Новый Структура("Субъект", Субъект), ПараметрыПечати.Форма);
|
ОткрытьФорму("Документ.СогласиеНаОбработкуПерсональныхДанных.ФормаОбъекта", Новый Структура("Субъект", Субъект),
|
||||||
|
ПараметрыПечати.Форма);
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -34,7 +35,7 @@
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Процедуры и функции для встраивания подсистемы в формы объектов конфигурации.
|
// Процедуры и функции для встраивания подсистемы в формы объектов конфигурации.
|
||||||
|
|
||||||
// Определяет, что указанное событие - это событие о скрытии персональных данных субъектов
|
// Определяет, что указанное событие - это событие об уничтожении персональных данных субъектов
|
||||||
// и обновляет объект управляемой формы.
|
// и обновляет объект управляемой формы.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@@ -43,13 +44,13 @@
|
|||||||
//
|
//
|
||||||
Процедура ОбработкаОповещенияФормы(Форма, ИмяСобытия) Экспорт
|
Процедура ОбработкаОповещенияФормы(Форма, ИмяСобытия) Экспорт
|
||||||
|
|
||||||
Если ИмяСобытия = "ИзмененаДатаСкрытияПерсональныхДанных" Или ИмяСобытия = "СкрытыПерсональныеДанные" Тогда
|
Если ИмяСобытия = "ИзмененаДатаУничтоженияПерсональныхДанных" Или ИмяСобытия = "УничтоженыПерсональныеДанные" Тогда
|
||||||
Форма.Прочитать();
|
Форма.Прочитать();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Определяет, что указанное событие - это событие о скрытии персональных данных субъектов
|
// Определяет, что указанное событие - это событие об уничтожении персональных данных субъектов
|
||||||
// и обновляет данные в таблице субъектов.
|
// и обновляет данные в таблице субъектов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@@ -58,7 +59,7 @@
|
|||||||
//
|
//
|
||||||
Процедура ОбработкаОповещенияФормыСписка(СписокФормы, ИмяСобытия) Экспорт
|
Процедура ОбработкаОповещенияФормыСписка(СписокФормы, ИмяСобытия) Экспорт
|
||||||
|
|
||||||
Если ИмяСобытия = "ИзмененаДатаСкрытияПерсональныхДанных" Или ИмяСобытия = "СкрытыПерсональныеДанные" Тогда
|
Если ИмяСобытия = "ИзмененаДатаУничтоженияПерсональныхДанных" Или ИмяСобытия = "УничтоженыПерсональныеДанные" Тогда
|
||||||
СписокФормы.Обновить();
|
СписокФормы.Обновить();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -82,8 +83,8 @@
|
|||||||
Кнопка.Пометка = ПоказыватьСоСкрытымиПДн;
|
Кнопка.Пометка = ПоказыватьСоСкрытымиПДн;
|
||||||
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьСоСкрытымиПДн", ПоказыватьСоСкрытымиПДн);
|
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьСоСкрытымиПДн", ПоказыватьСоСкрытымиПДн);
|
||||||
|
|
||||||
ЗащитаПерсональныхДанныхВызовСервера.СохранитьПоложениеОтбораПоказыватьСоСкрытымиПДн(
|
ЗащитаПерсональныхДанныхВызовСервера.СохранитьПоложениеОтбораПоказыватьСоСкрытымиПДн(Форма.ИмяФормы,
|
||||||
Форма.ИмяФормы, ПоказыватьСоСкрытымиПДн);
|
ПоказыватьСоСкрытымиПДн);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -92,43 +93,41 @@
|
|||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
// Настраивает элементы формы НастройкиПользователейИПрав обработки ПанельАдминистрированияБСП.
|
// Настраивает элементы формы НастройкиПользователейИПрав обработки ПанельАдминистрированияБСП.
|
||||||
// Запускает фоновое изменение настроек скрытия персональных данных.
|
// Запускает фоновое изменение настроек уничтожения персональных данных.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Форма - ФормаКлиентскогоПриложения - настраиваемая форма.
|
// Форма - ФормаКлиентскогоПриложения - настраиваемая форма.
|
||||||
//
|
//
|
||||||
Процедура НастройкиСкрытияПерсональныхДанныхПриИзменении(Форма) Экспорт
|
Процедура НастройкиУничтоженияПерсональныхДанныхПриИзменении(Форма) Экспорт
|
||||||
|
|
||||||
Элементы = Форма.Элементы;
|
Элементы = Форма.Элементы;
|
||||||
НаборКонстант = Форма.НаборКонстант;
|
НаборКонстант = Форма.НаборКонстант;
|
||||||
|
|
||||||
ПараметрыВыполнения = Новый Структура;
|
ПараметрыВыполнения = ЗащитаПерсональныхДанныхВызовСервера.НастройкиУничтоженияПерсональныхДанныхСистемы();
|
||||||
ПараметрыВыполнения.Вставить("ДнейДоСкрытияПерсональныхДанных", НаборКонстант.ДнейДоСкрытияПерсональныхДанныхСубъектов);
|
ПараметрыВыполнения.ИспользоватьУничтожениеПерсональныхДанных =
|
||||||
ПараметрыВыполнения.Вставить("ИспользоватьСкрытиеПерсональныхДанных", НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов);
|
НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов;
|
||||||
|
|
||||||
ФоновоеЗадание = ЗащитаПерсональныхДанныхВызовСервера.ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Форма.УникальныйИдентификатор, ПараметрыВыполнения);
|
ДлительнаяОперация = ЗащитаПерсональныхДанныхВызовСервера.ЗапуститьДлительнуюОперациюИзменениеНастроекУничтоженияПДн(
|
||||||
|
Форма.УникальныйИдентификатор, ПараметрыВыполнения);
|
||||||
|
|
||||||
ДоступностьЭлементов = Новый Соответствие;
|
ДоступностьЭлементов = Новый Соответствие;
|
||||||
ДоступностьЭлементов.Вставить(Элементы.ИспользоватьСкрытиеПерсональныхДанных.Имя, Элементы.ИспользоватьСкрытиеПерсональныхДанных.Доступность);
|
ДоступностьЭлементов.Вставить(Элементы.ИспользоватьУничтожениеПерсональныхДанных.Имя,
|
||||||
ДоступностьЭлементов.Вставить(Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Имя, Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Доступность);
|
Элементы.ИспользоватьУничтожениеПерсональныхДанных.Доступность);
|
||||||
|
|
||||||
Если ФоновоеЗадание <> Неопределено
|
Если ДлительнаяОперация <> Неопределено И ДлительнаяОперация.Статус = "Выполняется" Тогда
|
||||||
И ФоновоеЗадание.Статус = "Выполняется" Тогда
|
Элементы.ИспользоватьУничтожениеПерсональныхДанных.Доступность = Ложь;
|
||||||
|
Элементы.ДекорацияОжиданиеИзмененияИспользованияУничтоженияПДн.Видимость = Истина;
|
||||||
Элементы.ИспользоватьСкрытиеПерсональныхДанных.Доступность = Ложь;
|
|
||||||
Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Доступность = Ложь;
|
|
||||||
|
|
||||||
Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость = Истина;
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ДополнительныеПараметры = ДополнительныеПараметрыИзмененияНастроекСкрытияПерсональныхДанных(Форма, ДоступностьЭлементов);
|
ДополнительныеПараметры = ДополнительныеПараметрыИзмененияНастроекУничтоженияПерсональныхДанных(Форма,
|
||||||
|
ДоступностьЭлементов);
|
||||||
|
|
||||||
НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(Форма);
|
НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(Форма);
|
||||||
НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
|
НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
|
||||||
|
|
||||||
Обработчик = Новый ОписаниеОповещения("ПослеИзмененияНастроекСкрытияПерсональныхДанных", ЭтотОбъект, ДополнительныеПараметры);
|
Обработчик = Новый ОписаниеОповещения("ПослеИзмененияНастроекУничтоженияПерсональныхДанных", ЭтотОбъект,
|
||||||
ДлительныеОперацииКлиент.ОжидатьЗавершение(ФоновоеЗадание, Обработчик, НастройкиОжидания);
|
ДополнительныеПараметры);
|
||||||
|
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Обработчик, НастройкиОжидания);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -137,10 +136,10 @@
|
|||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ФоновоеЗадание
|
// ФоновоеЗадание - ФоновоеЗадание
|
||||||
// ДополнительныеПараметры - см. ДополнительныеПараметрыИзмененияНастроекСкрытияПерсональныхДанных
|
// ДополнительныеПараметры - см. ДополнительныеПараметрыИзмененияНастроекУничтоженияПерсональныхДанных
|
||||||
//
|
//
|
||||||
Процедура ПослеИзмененияНастроекСкрытияПерсональныхДанных(ФоновоеЗадание, ДополнительныеПараметры) Экспорт
|
Процедура ПослеИзмененияНастроекУничтоженияПерсональныхДанных(ФоновоеЗадание, ДополнительныеПараметры) Экспорт
|
||||||
|
|
||||||
Форма = ДополнительныеПараметры.Форма;
|
Форма = ДополнительныеПараметры.Форма;
|
||||||
ДоступностьЭлементов = ДополнительныеПараметры.ДоступностьЭлементов;
|
ДоступностьЭлементов = ДополнительныеПараметры.ДоступностьЭлементов;
|
||||||
@@ -160,25 +159,25 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Если Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость Тогда
|
Если Элементы.ДекорацияОжиданиеИзмененияИспользованияУничтоженияПДн.Видимость Тогда
|
||||||
Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость = Ложь;
|
Элементы.ДекорацияОжиданиеИзмененияИспользованияУничтоженияПДн.Видимость = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ФоновоеЗадание <> Неопределено
|
Если ФоновоеЗадание <> Неопределено
|
||||||
И ФоновоеЗадание.Статус = "Выполнено" Тогда
|
И ФоновоеЗадание.Статус = "Выполнено" Тогда
|
||||||
|
|
||||||
Оповестить("Запись_НаборКонстант", Новый Структура, "ИспользоватьСкрытиеПерсональныхДанныхСубъектов");
|
Оповестить("Запись_НаборКонстант", Новый Структура, "ИспользоватьСкрытиеПерсональныхДанныхСубъектов");
|
||||||
ПоказатьОповещениеПользователя(НСтр("ru = 'Настройки скрытия персональных данных изменены.'"));
|
ПоказатьОповещениеПользователя(НСтр("ru = 'Настройки уничтожения персональных данных изменены.'"));
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
СтарыеНастройкиСистемы = ЗащитаПерсональныхДанныхВызовСервера.НастройкиСкрытияПерсональныхДанныхСистемы();
|
СтарыеНастройкиСистемы = ЗащитаПерсональныхДанныхВызовСервера.НастройкиУничтоженияПерсональныхДанныхСистемы();
|
||||||
|
|
||||||
НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов = СтарыеНастройкиСистемы.ИспользоватьСкрытиеПерсональныхДанных;
|
НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов =
|
||||||
НаборКонстант.ДнейДоСкрытияПерсональныхДанныхСубъектов = СтарыеНастройкиСистемы.ДнейДоСкрытияПерсональныхДанных;
|
СтарыеНастройкиСистемы.ИспользоватьУничтожениеПерсональныхДанных;
|
||||||
|
|
||||||
Если ФоновоеЗадание <> Неопределено Тогда
|
Если ФоновоеЗадание <> Неопределено Тогда
|
||||||
ТекстОшибки = НСтр("ru = 'Не удалось изменить настройки скрытия персональных данных.
|
ТекстОшибки = НСтр("ru = 'Не удалось изменить настройки уничтожения персональных данных.
|
||||||
|См. подробности в журнале регистрации.'");
|
|См. подробности в журнале регистрации.'");
|
||||||
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки);
|
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -187,16 +186,27 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// Форма - ФормаКлиентскогоПриложения
|
||||||
|
// ДоступностьЭлементов - Соответствие из КлючИЗначение:
|
||||||
|
// * Ключ - Строка
|
||||||
|
// * Значение - Булево
|
||||||
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура:
|
// Структура -дополнительные параметры изменения настроек уничтожения персональных данных:
|
||||||
// * ДоступностьЭлементов - Соответствие
|
|
||||||
// * Форма - ФормаКлиентскогоПриложения
|
// * Форма - ФормаКлиентскогоПриложения
|
||||||
|
// * ДоступностьЭлементов - Соответствие из КлючИЗначение:
|
||||||
|
// * Ключ - Строка
|
||||||
|
// * Значение - Булево
|
||||||
//
|
//
|
||||||
Функция ДополнительныеПараметрыИзмененияНастроекСкрытияПерсональныхДанных(Форма, ДоступностьЭлементов)
|
Функция ДополнительныеПараметрыИзмененияНастроекУничтоженияПерсональныхДанных(Форма, ДоступностьЭлементов)
|
||||||
|
|
||||||
ДополнительныеПараметры = Новый Структура;
|
ДополнительныеПараметры = Новый Структура;
|
||||||
ДополнительныеПараметры.Вставить("Форма", Форма);
|
ДополнительныеПараметры.Вставить("Форма", Форма);
|
||||||
ДополнительныеПараметры.Вставить("ДоступностьЭлементов", ДоступностьЭлементов);
|
ДополнительныеПараметры.Вставить("ДоступностьЭлементов", ДоступностьЭлементов);
|
||||||
Возврат ДополнительныеПараметры
|
|
||||||
|
Возврат ДополнительныеПараметры;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -24,14 +24,14 @@
|
|||||||
// альтернативные - символом "|";
|
// альтернативные - символом "|";
|
||||||
// * ПоляДоступа - Строка - имена полей доступа через запятую. Обращение (попытка доступа) к этим полям
|
// * ПоляДоступа - Строка - имена полей доступа через запятую. Обращение (попытка доступа) к этим полям
|
||||||
// приводит к записи журнала;
|
// приводит к записи журнала;
|
||||||
// * ОбластьДанных - Строка - идентификатор области данных, если их несколько. Необязательно для заполнения.
|
// * ОбластьДанных - Строка - идентификатор категории данных.
|
||||||
//
|
//
|
||||||
// Пример:
|
// Пример:
|
||||||
// Сведения = ТаблицаСведений.Добавить();
|
// Сведения = ТаблицаСведений.Добавить();
|
||||||
// Сведения.Объект = "Справочник.ФизическиеЛица";
|
// Сведения.Объект = "Справочник.ФизическиеЛица";
|
||||||
// Сведения.ПоляРегистрации = "Ссылка";
|
// Сведения.ПоляРегистрации = "Ссылка";
|
||||||
// Сведения.ПоляДоступа = "Наименование,ДатаРождения";
|
// Сведения.ПоляДоступа = "Наименование";
|
||||||
// Сведения.ОбластьДанных = "ЛичныеДанные";
|
// Сведения.ОбластьДанных = "ФИО";
|
||||||
//
|
//
|
||||||
// Сведения = ТаблицаСведений.Добавить();
|
// Сведения = ТаблицаСведений.Добавить();
|
||||||
// Сведения.Объект = "Справочник.ФизическиеЛица";
|
// Сведения.Объект = "Справочник.ФизическиеЛица";
|
||||||
@@ -48,12 +48,12 @@
|
|||||||
// Обеспечивает составление коллекции областей персональных данных.
|
// Обеспечивает составление коллекции областей персональных данных.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОбластиПерсональныхДанных - ТаблицаЗначений:
|
// КатегорииПерсональныхДанных - ТаблицаЗначений:
|
||||||
// * Имя - Строка - идентификатор области данных.
|
// * Имя - Строка - идентификатор категории данных.
|
||||||
// * Представление - Строка - пользовательское представление области данных.
|
// * Представление - Строка - пользовательское представление категории данных.
|
||||||
// * Родитель - Строка - идентификатор родительской области данных.
|
// * Родитель - Строка - идентификатор родительской категории данных.
|
||||||
//
|
//
|
||||||
Процедура ЗаполнитьОбластиПерсональныхДанных(ОбластиПерсональныхДанных) Экспорт
|
Процедура ЗаполнитьОбластиПерсональныхДанных(КатегорииПерсональныхДанных) Экспорт
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -63,8 +63,12 @@
|
|||||||
// переданных в качестве параметров, субъектов.
|
// переданных в качестве параметров, субъектов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// СубъектыПерсональныхДанных - ДанныеФормыКоллекция - содержит сведения о субъектах.
|
// СубъектыПерсональныхДанных - Массив из Структура - содержит сведения о субъектах:
|
||||||
// ДатаАктуальности - Дата - дата, на которую нужно заполнить сведения.
|
// * Субъект - ОпределяемыйТип.СубъектПерсональныхДанных
|
||||||
|
// * ФИО - Строка
|
||||||
|
// * Адрес - Строка
|
||||||
|
// * ПаспортныеДанные - Строка
|
||||||
|
// ДатаАктуальности - Дата - дата, на которую нужно заполнить сведения.
|
||||||
//
|
//
|
||||||
Процедура ДополнитьДанныеСубъектовПерсональныхДанных(СубъектыПерсональныхДанных, ДатаАктуальности) Экспорт
|
Процедура ДополнитьДанныеСубъектовПерсональныхДанных(СубъектыПерсональныхДанных, ДатаАктуальности) Экспорт
|
||||||
|
|
||||||
@@ -75,7 +79,7 @@
|
|||||||
// Вызывается при заполнении формы "Согласие на обработку персональных данных" данными организации.
|
// Вызывается при заполнении формы "Согласие на обработку персональных данных" данными организации.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Организация - ОпределяемыйТип.Организация - оператор персональных данных.
|
// Организация - ОпределяемыйТип.Организация - оператор персональных данных.
|
||||||
// ДанныеОрганизации - Структура - данные об организации (адрес, ФИО ответственного и т.д.).
|
// ДанныеОрганизации - Структура - данные об организации (адрес, ФИО ответственного и т.д.).
|
||||||
// ДатаАктуальности - Дата - дата, на которую нужно заполнить сведения.
|
// ДатаАктуальности - Дата - дата, на которую нужно заполнить сведения.
|
||||||
//
|
//
|
||||||
@@ -98,17 +102,139 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Позволяет проверить возможность скрытия персональных данных и задать состав исключений для записи в данных.
|
// Возвращает организацию по умолчанию.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОпределяемыйТип.Организация
|
||||||
|
//
|
||||||
|
Функция ОрганизацияПоУмолчанию() Экспорт
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#Область УничтожениеПерсональныхДанных
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Уничтожение персональных данных (ПДн) выполняется при проведении документа "Акт об уничтожении персональных данных".
|
||||||
|
// При этом выполняется поиск объектов информационной базы, в которых содержатся ПДн субъектов.
|
||||||
|
// Состав таких объектов и их полей описывается в методе ПриЗаполненииСведенийОбУничтожаемыхПерсональныхДанных.
|
||||||
|
// В найденных объектах значения реквизитов, содержащих ПДн, очищаются или заменяются случайными значениями.
|
||||||
|
// Запись объекта с уничтоженными ПДн выполняется в режиме загрузки. В случае необходимости выполнения дополнительных
|
||||||
|
// действий, при уничтожении ПДн перед записью и после записи объекта можно использовать обработчики
|
||||||
|
// ПередУничтожениемПерсональныхДанных и ПослеУничтоженияПерсональныхДанных соответственно.
|
||||||
|
|
||||||
|
// Заполняет таблицу значений с описанием объектов метаданных и их полей, в которых содержатся персональные данные
|
||||||
|
// субъектов, подлежащие уничтожению.
|
||||||
|
//
|
||||||
|
// Например, персональные данные физического лицо могут храниться в самом справочнике ФизическиеЛица,
|
||||||
|
// в регистре сведений ФИОФизическихЛиц, в документе ВедомостьНаВыплатуЗарплатыВБанк и т.д.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ТаблицаСведений - ТаблицаЗначений:
|
||||||
|
// * Объект - Строка - полное имя объекта метаданных, в котором содержатся персональные данные субъекта.
|
||||||
|
// Например, "Справочник.ФизическиеЛица".
|
||||||
|
// * ПолеСубъект - Строка - имя поля объекта, в котором содержится ссылка на субъекта.
|
||||||
|
// Для стандартных реквизитов используется имя реквизита, например "Ссылка".
|
||||||
|
// Для остальных полей используется полное имя объекта метаданных реквизита, например
|
||||||
|
// "Документ.ВедомостьНаВыплатуЗарплатыВБанк.ТабличнаяЧасть.Состав.Реквизит.ФизическоеЛицо"
|
||||||
|
// * Поля - Массив из Строка, Строка - имена полей объекта, в которых содержатся персональные данные субъекта
|
||||||
|
// Для стандартных реквизитов используется имя реквизита, например "Наименование".
|
||||||
|
// Для остальных полей используется полное имя объекта метаданных реквизита, например
|
||||||
|
// "Справочник.ФизическиеЛица.Реквизит.ФИО"
|
||||||
|
// * КатегорияДанных - Строка - категория, к которой относятся персональные данные.
|
||||||
|
//
|
||||||
|
// Пример:
|
||||||
|
//
|
||||||
|
// НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
// НовыеСведения.Объект = "Справочник.ФизическиеЛица";
|
||||||
|
// НовыеСведения.ПолеСубъект = "Ссылка";
|
||||||
|
// НовыеСведения.Поля = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("Наименование");
|
||||||
|
// НовыеСведения.КатегорияДанных = "ФИО";
|
||||||
|
//
|
||||||
|
// НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
// НовыеСведения.Объект = "Документ.ВедомостьНаВыплатуЗарплатыВБанк";
|
||||||
|
// НовыеСведения.ПолеСубъект = "Документ.ВедомостьНаВыплатуЗарплатыВБанк.ТабличнаяЧасть.Состав.Реквизит.ФизическоеЛицо";
|
||||||
|
// НовыеСведения.Поля = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
|
||||||
|
// "Документ.ВедомостьНаВыплатуЗарплатыВБанк.ТабличнаяЧасть.Состав.Реквизит.СНИЛС");
|
||||||
|
// НовыеСведения.КатегорияДанных = "СНИЛС";
|
||||||
|
//
|
||||||
|
Процедура ПриЗаполненииСведенийОбУничтожаемыхПерсональныхДанных(ТаблицаСведений) Экспорт
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Позволяет выполнить дополнительные действия перед уничтожением персональных данных субъектов. В том числе, отказаться
|
||||||
|
// от уничтожения персональных данных, добавив субъекта в таблицу исключений с указанием причины отказа от уничтожения.
|
||||||
|
// Или же добавить в массив субъектов других субъектов, данные которых тоже должны быть уничтожены. Например, если при
|
||||||
|
// уничтожении данных физического лица должны быть уничтожены данные связанных с ним кандидатов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Субъекты - Массив - ссылки на объекты данных, чьи персональные данные будут скрыты.
|
// Субъекты - Массив из ОпределяемыйТип.СубъектПерсональныхДанных - ссылки на объекты данных, чьи персональные данные
|
||||||
// ТаблицаИсключений - ТаблицаЗначений - таблица, в которую добавляются субъекты и причины отказа их скрытия.
|
// будут уничтожены.
|
||||||
// Состав полей см. в функции ЗащитаПерсональныхДанных.НоваяТаблицаИсключений.
|
// ТаблицаИсключений - ТаблицаЗначений:
|
||||||
|
// * Субъект - ОпределяемыйТип.СубъектПерсональныхДанных
|
||||||
|
// * ПричинаОтменыУничтожения - Строка
|
||||||
|
// - ТаблицаЗначений - в которую добавляются субъекты и причины отказа уничтожения их данных
|
||||||
// ОтказОтСкрытия - Булево - (по умолчанию Истина) признак отказа от скрытия. Если определены причины отказа
|
// ОтказОтСкрытия - Булево - (по умолчанию Истина) признак отказа от скрытия. Если определены причины отказа
|
||||||
// от скрытия, то параметру необходимо установить значение Ложь.
|
// от скрытия, то параметру необходимо установить значение Ложь.
|
||||||
//
|
//
|
||||||
Процедура ПередСкрытиемПерсональныхДанныхСубъектов(Субъекты, ТаблицаИсключений, ОтказОтСкрытия) Экспорт
|
Процедура ПередСкрытиемПерсональныхДанныхСубъектов(Субъекты, ТаблицаИсключений, ОтказОтСкрытия) Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Позволяет выполнить дополнительные действия при уничтожении персональных данных перед записью объекта,
|
||||||
|
// а также отказаться от записи объекта.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Объект - СправочникОбъект,ДокументОбъект
|
||||||
|
// Субъекты - Массив из ОпределяемыйТип.СубъектПерсональныхДанных
|
||||||
|
// ВыполнитьЗаписьОбъекта - Булево - если Ложь, то запись объекта не выполняется.
|
||||||
|
//
|
||||||
|
Процедура ПередУничтожениемПерсональныхДанных(Объект, Субъекты, ВыполнитьЗаписьОбъекта) Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Позволяет выполнить дополнительные действия при уничтожении персональных данных после записи объекта.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Объект - СправочникОбъект,ДокументОбъект
|
||||||
|
// Субъекты - Массив из ОпределяемыйТип.СубъектПерсональныхДанных
|
||||||
|
//
|
||||||
|
Процедура ПослеУничтоженияПерсональныхДанных(Объект, Субъекты) Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Срок хранения ПДн - это дата после которой необходимо уничтожить ПДн субъекта. Ранее этой даты уничтожить ПДн нельзя.
|
||||||
|
// Сроки хранения ПДн рассчитываются автоматически регламентным заданием РасчетСроковХраненияПерсональныхДанных.
|
||||||
|
// При наступлении события, которое влияет на срок хранения ПДн, необходимо с помощью метода
|
||||||
|
// ЗащитаПерсональныхДанных.ДобавитьСубъектыДляРасчетаСроковХранения зарегистрировать субъекта для расчета срока хранения.
|
||||||
|
// Такими событиями могут быть, например, создание нового физического лица, ввод согласия на обработку ПДн или
|
||||||
|
// прием сотрудника на работу.
|
||||||
|
// При расчете сроков хранения ПДн, в процедуре ПриРасчетеСроковХраненияПерсональныхДанных заполняется таблица значений,
|
||||||
|
// в которую различные подсистемы добавляют рассчитанные сроки хранения. Датой, при наступлении которой данные подлежат
|
||||||
|
// уничтожению, будет определена самая поздняя из всех заполненных для этого субъекта.
|
||||||
|
|
||||||
|
// Позволяет добавить в таблицу значений информацию о сроках хранения персональных данных.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ДанныеСубъектов - ТаблицаЗначений:
|
||||||
|
// * Субъект - ОпределяемыйТип.СубъектПерсональныхДанных - ссылка на субъекта.
|
||||||
|
// * ДатаСобытия - Дата - дата события, которое потребовало обновления срока хранения персональных данных.
|
||||||
|
// СрокиХранения - ТаблицаЗначений:
|
||||||
|
// * Субъект - ОпределяемыйТип.СубъектПерсональныхДанных - ссылка на субъекта
|
||||||
|
// * СрокХранения - Дата - дата, до которой должны храниться персональные данные субъекта и при наступлении которой,
|
||||||
|
// они должны быть уничтожены.
|
||||||
|
// * Организация - ОпределяемыйТип.Организация - ссылка на организацию субъекта (если организацию определить
|
||||||
|
// невозможно, не заполняется)
|
||||||
|
// * Комментарий - Строка - произвольная строка с пояснением к рассчитанному сроку хранения.
|
||||||
|
//
|
||||||
|
Процедура ПриРасчетеСроковХраненияПерсональныхДанных(ДанныеСубъектов, СрокиХранения) Экспорт
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -8,247 +8,80 @@
|
|||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
// Функция формирует структуру, необходимую для установки индекса картинки
|
// См. ЗащитаПерсональныхДанныхСлужебный.НомераКартинокСобытий152ФЗ
|
||||||
// в таблице событий журнала регистрации.
|
|
||||||
//
|
|
||||||
Функция НомераКартинокСобытий152ФЗ() Экспорт
|
Функция НомераКартинокСобытий152ФЗ() Экспорт
|
||||||
|
|
||||||
НомераКартинок = Новый Соответствие;
|
Возврат ЗащитаПерсональныхДанныхСлужебный.НомераКартинокСобытий152ФЗ();
|
||||||
НомераКартинок.Вставить("_$Session$_.Authentication", 1);
|
|
||||||
НомераКартинок.Вставить("_$Session$_.AuthenticationError", 2);
|
|
||||||
НомераКартинок.Вставить("_$Session$_.Start", 3);
|
|
||||||
НомераКартинок.Вставить("_$Session$_.Finish", 4);
|
|
||||||
НомераКартинок.Вставить("_$Access$_.Access", 5);
|
|
||||||
НомераКартинок.Вставить("_$Access$_.AccessDenied", 6);
|
|
||||||
|
|
||||||
Возврат Новый ФиксированноеСоответствие(НомераКартинок);
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает полные имена объектов метаданных содержащих персональные данные.
|
// См. ЗащитаПерсональныхДанныхСлужебный.ИменаИсточниковПерсональныхДанных
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Нет
|
|
||||||
//
|
|
||||||
// Возвращаемое значение
|
|
||||||
// Массив - массив строк. Например: "РегистрСведений.ДокументыФизическихЛиц".
|
|
||||||
//
|
|
||||||
Функция ИменаИсточниковПерсональныхДанных() Экспорт
|
Функция ИменаИсточниковПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
ТаблицаСведений = ЗащитаПерсональныхДанныхПовтИсп.СведенияОПерсональныхДанных();
|
Возврат ЗащитаПерсональныхДанныхСлужебный.ИменаИсточниковПерсональныхДанных();
|
||||||
ТаблицаСведений.Сортировать("Объект");
|
|
||||||
|
|
||||||
ИменаИсточников = ТаблицаСведений.ВыгрузитьКолонку("Объект");
|
|
||||||
ИменаИсточников = ОбщегоНазначенияКлиентСервер.СвернутьМассив(ИменаИсточников);
|
|
||||||
|
|
||||||
Возврат Новый ФиксированныйМассив(ИменаИсточников);
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает полные имена реквизитов объекта метаданных содержащего персональные данные по его полному имени.
|
// См. ЗащитаПерсональныхДанныхСлужебный.ИменаРеквизитовИсточникаСодержащихСубъект
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ИмяИсточника - Строка - полное имя источника метаданных. Например: "Справочник.ФизическиеЛица".
|
|
||||||
//
|
|
||||||
// Возвращаемое значение
|
|
||||||
// Массив - массив строк. Например: "ФизическоеЛицо" или "ФизическиеЛица.ФизическоеЛицо".
|
|
||||||
//
|
|
||||||
Функция ИменаРеквизитовИсточникаСодержащихСубъект(ИмяИсточника) Экспорт
|
Функция ИменаРеквизитовИсточникаСодержащихСубъект(ИмяИсточника) Экспорт
|
||||||
|
|
||||||
ИменаРеквизитовСодержащихСубъект = Новый Массив;
|
Возврат ЗащитаПерсональныхДанныхСлужебный.ИменаРеквизитовИсточникаСодержащихСубъект(ИмяИсточника);
|
||||||
МетаданныеПоТипамСубъекта = ЗащитаПерсональныхДанныхПовтИсп.МетаданныеПоТипамСубъекта();
|
|
||||||
|
|
||||||
МетаданныеИсточника = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ИмяИсточника); // ОбъектМетаданныхСправочник
|
|
||||||
ИсточникЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(МетаданныеИсточника);
|
|
||||||
ТипыСсылкиИсточника = ?(ИсточникЭтоРегистр, Новый Массив, МетаданныеИсточника.СтандартныеРеквизиты.Ссылка.Тип.Типы());
|
|
||||||
ИсточникИмеетВладельца = ОбщегоНазначения.ЭтоСправочник(МетаданныеИсточника) И МетаданныеИсточника.Владельцы.Количество() > 0;
|
|
||||||
|
|
||||||
ПоляСведений = ИменаПолейСведенийОПерсональныхДанныхОбъекта(ИмяИсточника);
|
|
||||||
ПоляДоступа = ПоляСведений.ПоляДоступа;
|
|
||||||
ПоляРегистрации = ПоляСведений.ПоляРегистрации;
|
|
||||||
|
|
||||||
ИменаТЧСодержащихСведения = Новый Массив;
|
|
||||||
|
|
||||||
Если Не ИсточникЭтоРегистр Тогда
|
|
||||||
|
|
||||||
ИменаТабличныхЧастей = Новый Массив;
|
|
||||||
ТабличныеЧасти = МетаданныеИсточника.ТабличныеЧасти;
|
|
||||||
|
|
||||||
Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
|
|
||||||
ИменаТабличныхЧастей.Добавить(ТабличнаяЧасть.Имя);
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
ИменаТЧСодержащихСведения = ИменаТЧОбъектаСодержащихСведенияОПерсональныхДанных(ИменаТабличныхЧастей, ПоляДоступа);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Для Каждого ТипСубъектаИМетаданные Из МетаданныеПоТипамСубъекта Цикл
|
|
||||||
|
|
||||||
ТипСубъекта = ТипСубъектаИМетаданные.Ключ;
|
|
||||||
МетаданныеСубъекта = ТипСубъектаИМетаданные.Значение;
|
|
||||||
|
|
||||||
ИменаРеквизитовИсточника = Новый Массив;
|
|
||||||
ИменаРеквизитовТЧИсточника = Новый Соответствие;
|
|
||||||
|
|
||||||
Если ИсточникЭтоРегистр Тогда
|
|
||||||
|
|
||||||
ИменаИзмеренийТипа = ЗащитаПерсональныхДанных.ИменаИзмеренийРегистраПоТипу(МетаданныеИсточника, ТипСубъекта);
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаРеквизитовИсточника, ИменаИзмеренийТипа);
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Если ТипыСсылкиИсточника.Найти(ТипСубъекта) <> Неопределено Тогда
|
|
||||||
ИменаРеквизитовИсточника.Добавить("Ссылка");
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Если ИсточникИмеетВладельца Тогда
|
|
||||||
|
|
||||||
Если МетаданныеИсточника.Владельцы.Содержит(МетаданныеСубъекта) Тогда
|
|
||||||
ИменаРеквизитовИсточника.Добавить("Владелец");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ИменаРеквизитовИсточника.Количество() = 0 Тогда
|
|
||||||
|
|
||||||
ИменаРеквизитовТипа = ЗащитаПерсональныхДанных.ИменаРеквизитовПоТипу(МетаданныеИсточника, ТипСубъекта);
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаРеквизитовИсточника, ИменаРеквизитовТипа);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Для Каждого ИмяТабличнойЧасти Из ИменаТЧСодержащихСведения Цикл
|
|
||||||
|
|
||||||
ИменаРеквизитовТЧТипа = ЗащитаПерсональныхДанных.ИменаРеквизитовТЧОбъектаПоТипу(МетаданныеИсточника, ИмяТабличнойЧасти, ТипСубъекта, Истина);
|
|
||||||
Если ИменаРеквизитовТЧТипа.Количество() > 0 Тогда
|
|
||||||
ИменаРеквизитовТЧИсточника.Вставить(ИмяТабличнойЧасти, ИменаРеквизитовТЧТипа);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Для Каждого ИмяРеквизита Из ИменаРеквизитовИсточника Цикл
|
|
||||||
|
|
||||||
Если ПоляРегистрации.Найти(ИмяРеквизита) <> Неопределено Тогда
|
|
||||||
ИменаРеквизитовСодержащихСубъект.Добавить(ИмяРеквизита);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Для Каждого ТЧИРеквизиты Из ИменаРеквизитовТЧИсточника Цикл
|
|
||||||
|
|
||||||
ИменаРеквизитовТЧ = ТЧИРеквизиты.Значение;
|
|
||||||
Для Каждого ИмяРеквизита Из ИменаРеквизитовТЧ Цикл
|
|
||||||
|
|
||||||
Если ПоляРегистрации.Найти(ИмяРеквизита) <> Неопределено Тогда
|
|
||||||
ИменаРеквизитовСодержащихСубъект.Добавить(ИмяРеквизита);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Если ИменаРеквизитовСодержащихСубъект.Количество() > 0 Тогда
|
|
||||||
Прервать;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат Новый ФиксированныйМассив(ИменаРеквизитовСодержащихСубъект);
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает имена полей регистрации и полей доступа сведений о персональных данных объекта по его полному имени.
|
// См. ЗащитаПерсональныхДанныхСлужебный.КраткоеИмяПоля
|
||||||
//
|
Функция КраткоеИмяПоля(ПолноеИмяПоля, ПолноеИмяОбъекта) Экспорт
|
||||||
// Параметры:
|
|
||||||
// ИмяОбъекта - Строка - полное имя объекта метаданных. Например: "Справочник.ФизическиеЛица".
|
|
||||||
//
|
|
||||||
// Возвращаемое значение
|
|
||||||
// Структура:
|
|
||||||
/// ПоляРегистрации - Массив - массив строк. Например: "ФизическоеЛицо" или "ФизическиеЛица.ФизическоеЛицо".
|
|
||||||
/// ПоляДоступа - Массив - массив строк. Например: "ИНН" или "ФизическиеЛица.ИНН".
|
|
||||||
//
|
|
||||||
Функция ИменаПолейСведенийОПерсональныхДанныхОбъекта(ИмяОбъекта)
|
|
||||||
|
|
||||||
ИменаПолейРегистрации = Новый Массив;
|
Возврат ЗащитаПерсональныхДанныхСлужебный.КраткоеИмяПоля(ПолноеИмяПоля, ПолноеИмяОбъекта);
|
||||||
ИменаПолейДоступа = Новый Массив;
|
|
||||||
|
|
||||||
ТаблицаСведений = ЗащитаПерсональныхДанныхПовтИсп.СведенияОПерсональныхДанных();
|
|
||||||
СтрокиСведений = ТаблицаСведений.НайтиСтроки(Новый Структура("Объект", ИмяОбъекта));
|
|
||||||
|
|
||||||
Для Каждого СтрокаСведений Из СтрокиСведений Цикл
|
|
||||||
|
|
||||||
ПоляДоступа = СтрРазделить(СтрокаСведений.ПоляДоступа, ",");
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаПолейДоступа, ПоляДоступа, Истина);
|
|
||||||
|
|
||||||
ПоляРегистрации = СтрРазделить(СтрокаСведений.ПоляРегистрации, ",|");
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаПолейРегистрации, ПоляРегистрации, Истина);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат Новый Структура("ПоляДоступа,ПоляРегистрации", ИменаПолейДоступа, ИменаПолейРегистрации);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ИменаТЧОбъектаСодержащихСведенияОПерсональныхДанных(ИменаТЧОбъекта, ИменаРеквизитов)
|
|
||||||
|
|
||||||
ИменаТЧСодержащихСведения = Новый Массив;
|
|
||||||
|
|
||||||
Для Каждого ИмяТЧОбъекта Из ИменаТЧОбъекта Цикл
|
|
||||||
|
|
||||||
ПодстрокаПоиска = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1.", ИмяТЧОбъекта);
|
|
||||||
Для Каждого ИмяРеквизита Из ИменаРеквизитов Цикл
|
|
||||||
|
|
||||||
Если СтрНайти(ИмяРеквизита, ПодстрокаПоиска) <> 0 Тогда
|
|
||||||
|
|
||||||
ИменаТЧСодержащихСведения.Добавить(ИмяТЧОбъекта);
|
|
||||||
Прервать;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат ИменаТЧСодержащихСведения;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// См. ЗащитаПерсональныхДанныхСлужебный.СведенияОПерсональныхДанных
|
||||||
Функция СведенияОПерсональныхДанных() Экспорт
|
Функция СведенияОПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
Возврат ЗащитаПерсональныхДанных.СведенияОПерсональныхДанных();
|
Возврат ЗащитаПерсональныхДанныхСлужебный.СведенияОПерсональныхДанных();
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращаемое значение:
|
// См. ЗащитаПерсональныхДанныхСлужебный.УничтожаемыеПерсональныеДанные
|
||||||
// ФиксированноеСоответствие из КлючИЗначение:
|
Функция УничтожаемыеПерсональныеДанные() Экспорт
|
||||||
// * Ключ - Тип
|
|
||||||
// * Значение - ОбъектМетаданных
|
Возврат ЗащитаПерсональныхДанныхСлужебный.УничтожаемыеПерсональныеДанные();
|
||||||
//
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// См. ЗащитаПерсональныхДанныхСлужебный.КатегорииПерсональныхДанных
|
||||||
|
Функция КатегорииПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗащитаПерсональныхДанныхСлужебный.КатегорииПерсональныхДанных();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// см. ЗащитаПерсональныхДанныхСлужебный.КатегорииПерсональныхДанных
|
||||||
Функция МетаданныеПоТипамСубъекта() Экспорт
|
Функция МетаданныеПоТипамСубъекта() Экспорт
|
||||||
|
|
||||||
ТипыСубъектов = ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектов();
|
Возврат ЗащитаПерсональныхДанныхСлужебный.МетаданныеПоТипамСубъекта();
|
||||||
|
|
||||||
МетаданныеПоТипуСубъектов = Новый Соответствие;
|
|
||||||
Для Каждого ТипСубъекта Из ТипыСубъектов Цикл
|
|
||||||
МетаданныеПоТипуСубъектов.Вставить(ТипСубъекта, Метаданные.НайтиПоТипу(ТипСубъекта));
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат Новый ФиксированноеСоответствие(МетаданныеПоТипуСубъектов);
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращаемое значение:
|
// см. ЗащитаПерсональныхДанныхСлужебный.ТипыСубъектов
|
||||||
// ФиксированныйМассив - типы субъектов персональных данных.
|
|
||||||
//
|
|
||||||
Функция ТипыСубъектов() Экспорт
|
Функция ТипыСубъектов() Экспорт
|
||||||
|
|
||||||
ТипыСубъектов = Метаданные.ОпределяемыеТипы.СубъектПерсональныхДанных.Тип.Типы();
|
Возврат ЗащитаПерсональныхДанныхСлужебный.ТипыСубъектов();
|
||||||
ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(ТипыСубъектов, Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных"));
|
|
||||||
|
|
||||||
Возврат Новый ФиксированныйМассив(ТипыСубъектов);
|
КонецФункции
|
||||||
|
|
||||||
|
// см. ЗащитаПерсональныхДанныхСлужебный.ИменаМетаданныхПоТипамСубъекта
|
||||||
|
Функция ИменаМетаданныхПоТипамСубъекта() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗащитаПерсональныхДанныхСлужебный.ИменаМетаданныхПоТипамСубъекта();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// См. ЗащитаПерсональныхДанныхСлужебный.ПредставлениеКатегорииПерсональныхДанных
|
||||||
|
Функция ПредставлениеКатегорииПерсональныхДанных(ИмяКатегории) Экспорт
|
||||||
|
|
||||||
|
Возврат ЗащитаПерсональныхДанныхСлужебный.ПредставлениеКатегорииПерсональныхДанных(ИмяКатегории);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,522 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (c) 2023, ООО 1С-Софт
|
||||||
|
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||||
|
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||||
|
// Текст лицензии доступен по ссылке:
|
||||||
|
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
// Функция формирует структуру, необходимую для установки индекса картинки в таблице событий журнала регистрации.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ФиксированноеСоответствие из КлючИЗначение:
|
||||||
|
// * Ключ - Строка
|
||||||
|
// * Значение - Число
|
||||||
|
//
|
||||||
|
Функция НомераКартинокСобытий152ФЗ() Экспорт
|
||||||
|
|
||||||
|
НомераКартинок = Новый Соответствие;
|
||||||
|
НомераКартинок.Вставить("_$Session$_.Authentication", 1);
|
||||||
|
НомераКартинок.Вставить("_$Session$_.AuthenticationError", 2);
|
||||||
|
НомераКартинок.Вставить("_$Session$_.Start", 3);
|
||||||
|
НомераКартинок.Вставить("_$Session$_.Finish", 4);
|
||||||
|
НомераКартинок.Вставить("_$Access$_.Access", 5);
|
||||||
|
НомераКартинок.Вставить("_$Access$_.AccessDenied", 6);
|
||||||
|
|
||||||
|
Возврат Новый ФиксированноеСоответствие(НомераКартинок);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ТаблицаЗначений:
|
||||||
|
// * Объект - Строка
|
||||||
|
// * ПоляРегистрации - Строка
|
||||||
|
// * ПоляДоступа - Строка
|
||||||
|
// * ОбластьДанных - Строка
|
||||||
|
//
|
||||||
|
Функция СведенияОПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
|
// Таблица сведений о персональных данных.
|
||||||
|
ТаблицаСведений = Новый ТаблицаЗначений;
|
||||||
|
ТаблицаСведений.Колонки.Добавить("Объект", Новый ОписаниеТипов("Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("ПоляРегистрации", Новый ОписаниеТипов("Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("ПоляДоступа", Новый ОписаниеТипов("Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("ОбластьДанных", Новый ОписаниеТипов("Строка"));
|
||||||
|
|
||||||
|
// Сведения о персональных данных в самой подсистеме.
|
||||||
|
НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
НовыеСведения.Объект = "Документ.СогласиеНаОбработкуПерсональныхДанных";
|
||||||
|
НовыеСведения.ПоляРегистрации = "Субъект,ФИОСубъекта";
|
||||||
|
НовыеСведения.ПоляДоступа = "ФИОСубъекта,АдресСубъекта,ПаспортныеДанные,СрокДействия";
|
||||||
|
НовыеСведения.ОбластьДанных = "ОбработкаПерсональныхДанных";
|
||||||
|
|
||||||
|
НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
НовыеСведения.Объект = "РегистрСведений.СогласияНаОбработкуПерсональныхДанных";
|
||||||
|
НовыеСведения.ПоляРегистрации = "Субъект";
|
||||||
|
НовыеСведения.ПоляДоступа = "СрокДействия";
|
||||||
|
НовыеСведения.ОбластьДанных = "ОбработкаПерсональныхДанных";
|
||||||
|
|
||||||
|
// Заполнение таблицы сведений потребителями.
|
||||||
|
ЗащитаПерсональныхДанныхПереопределяемый.ЗаполнитьСведенияОПерсональныхДанных(ТаблицаСведений);
|
||||||
|
|
||||||
|
Возврат ТаблицаСведений;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ТаблицаЗначений:
|
||||||
|
// * Имя - Строка
|
||||||
|
// * Представление - Строка
|
||||||
|
// * Родитель - Строка
|
||||||
|
//
|
||||||
|
Функция КатегорииПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
|
// Соответствие идентификаторов категорий и их пользовательских представлений.
|
||||||
|
КатегорииДанных = Новый ТаблицаЗначений;
|
||||||
|
КатегорииДанных.Колонки.Добавить("Имя", Новый ОписаниеТипов("Строка"));
|
||||||
|
КатегорииДанных.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
|
||||||
|
КатегорииДанных.Колонки.Добавить("Родитель", Новый ОписаниеТипов("Строка"));
|
||||||
|
|
||||||
|
НоваяКатегория = КатегорииДанных.Добавить();
|
||||||
|
НоваяКатегория.Имя = "ОбработкаПерсональныхДанных";
|
||||||
|
НоваяКатегория.Представление = НСтр("ru = 'Обработка ПДн'");
|
||||||
|
|
||||||
|
// Заполнение категорий потребителями.
|
||||||
|
ЗащитаПерсональныхДанныхПереопределяемый.ЗаполнитьОбластиПерсональныхДанных(КатегорииДанных);
|
||||||
|
|
||||||
|
Возврат КатегорииДанных;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает полные имена объектов метаданных, содержащих персональные данные.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив из Строка - например: "РегистрСведений.ДокументыФизическихЛиц".
|
||||||
|
//
|
||||||
|
Функция ИменаИсточниковПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
|
ТаблицаСведений = ЗащитаПерсональныхДанных.СведенияОПерсональныхДанных();
|
||||||
|
ТаблицаСведений.Сортировать("Объект");
|
||||||
|
|
||||||
|
ИменаИсточников = ТаблицаСведений.ВыгрузитьКолонку("Объект");
|
||||||
|
ИменаИсточников = ОбщегоНазначенияКлиентСервер.СвернутьМассив(ИменаИсточников);
|
||||||
|
|
||||||
|
Возврат Новый ФиксированныйМассив(ИменаИсточников);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает таблицу значений с описанием полей объектов для уничтожения персональных данных.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ТаблицаЗначений:
|
||||||
|
// * Объект - Строка - полное имя объекта метаданных
|
||||||
|
// * ПолеСубъект - Строка - полное имя поля Объекта со ссылкой на Субъект
|
||||||
|
// * Поля - Массив из Строка, Строка - имена полей Объекта, в которых находятся персональные данные Субъекта
|
||||||
|
// * КатегорияДанных - Строка - категория персональных данных
|
||||||
|
//
|
||||||
|
Функция УничтожаемыеПерсональныеДанные() Экспорт
|
||||||
|
|
||||||
|
// Таблица сведений о персональных данных.
|
||||||
|
ТаблицаСведений = Новый ТаблицаЗначений;
|
||||||
|
ТаблицаСведений.Колонки.Добавить("Объект", Новый ОписаниеТипов("Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("ПолеСубъект", Новый ОписаниеТипов("Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("Поля", Новый ОписаниеТипов("Массив,Строка"));
|
||||||
|
ТаблицаСведений.Колонки.Добавить("КатегорияДанных", Новый ОписаниеТипов("Строка"));
|
||||||
|
|
||||||
|
ТаблицаСведений.Индексы.Добавить("Объект");
|
||||||
|
|
||||||
|
// Сведения о персональных данных в самой подсистеме.
|
||||||
|
ЗаполнитьСведенияОбУничтожаемыхПерсональныхДанных(ТаблицаСведений);
|
||||||
|
|
||||||
|
// Заполнение таблицы сведений потребителями.
|
||||||
|
ЗащитаПерсональныхДанныхПереопределяемый.ПриЗаполненииСведенийОбУничтожаемыхПерсональныхДанных(ТаблицаСведений);
|
||||||
|
|
||||||
|
Возврат ТаблицаСведений;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ЗаполнитьСведенияОбУничтожаемыхПерсональныхДанных(ТаблицаСведений)
|
||||||
|
|
||||||
|
МетаданныеДокумента = Метаданные.Документы.СогласиеНаОбработкуПерсональныхДанных;
|
||||||
|
ИмяОбъекта = МетаданныеДокумента.ПолноеИмя();
|
||||||
|
ИмяПоляСубъект = МетаданныеДокумента.Реквизиты.Субъект.ПолноеИмя();
|
||||||
|
|
||||||
|
НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
НовыеСведения.Объект = ИмяОбъекта;
|
||||||
|
НовыеСведения.ПолеСубъект = ИмяПоляСубъект;
|
||||||
|
НовыеСведения.Поля = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
|
||||||
|
МетаданныеДокумента.Реквизиты.ФИОСубъекта.ПолноеИмя());
|
||||||
|
НовыеСведения.КатегорияДанных = "ФИО";
|
||||||
|
|
||||||
|
НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
НовыеСведения.Объект = ИмяОбъекта;
|
||||||
|
НовыеСведения.ПолеСубъект = ИмяПоляСубъект;
|
||||||
|
НовыеСведения.Поля = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
|
||||||
|
МетаданныеДокумента.Реквизиты.АдресСубъекта.ПолноеИмя());
|
||||||
|
НовыеСведения.КатегорияДанных = "МестоРегистрацииПроживания";
|
||||||
|
|
||||||
|
НовыеСведения = ТаблицаСведений.Добавить();
|
||||||
|
НовыеСведения.Объект = ИмяОбъекта;
|
||||||
|
НовыеСведения.ПолеСубъект = ИмяПоляСубъект;
|
||||||
|
НовыеСведения.Поля = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
|
||||||
|
МетаданныеДокумента.Реквизиты.ПаспортныеДанные.ПолноеИмя());
|
||||||
|
НовыеСведения.КатегорияДанных = "ПаспортныеДанные";
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Возвращает представление категории персональных данных по имени.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяКатегории - Строка
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - представление категории персональных данных
|
||||||
|
//
|
||||||
|
Функция ПредставлениеКатегорииПерсональныхДанных(ИмяКатегории) Экспорт
|
||||||
|
|
||||||
|
ПредставлениеКатегории = "";
|
||||||
|
|
||||||
|
КатегорииПерсональныхДанных = ЗащитаПерсональныхДанных.КатегорииПерсональныхДанных();
|
||||||
|
НайденнаяСтрока = КатегорииПерсональныхДанных.Найти(ИмяКатегории, "Имя");
|
||||||
|
Если НайденнаяСтрока <> Неопределено Тогда
|
||||||
|
ПредставлениеКатегории = НайденнаяСтрока.Представление;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ПредставлениеКатегории;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает полные имена реквизитов объекта метаданных содержащего персональные данные по его полному имени.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяИсточника - Строка - полное имя источника метаданных. Например: "Справочник.ФизическиеЛица".
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив из Строка - пример: "ФизическоеЛицо" или "ФизическиеЛица.ФизическоеЛицо".
|
||||||
|
//
|
||||||
|
Функция ИменаРеквизитовИсточникаСодержащихСубъект(ИмяИсточника) Экспорт
|
||||||
|
|
||||||
|
ПоляСведений = ИменаПолейСведенийОПерсональныхДанныхОбъекта(ИмяИсточника);
|
||||||
|
ПоляСодержащиеСубъект = ПоляСведений.ПоляСодержащиеСубъект;
|
||||||
|
ПоляПерсональныхДанных = ПоляСведений.ПоляПерсональныхДанных;
|
||||||
|
|
||||||
|
ИменаРеквизитовСодержащихСубъект = Новый Массив; // Массив из Строка
|
||||||
|
МетаданныеПоТипамСубъекта = ЗащитаПерсональныхДанных.МетаданныеПоТипамСубъекта();
|
||||||
|
|
||||||
|
МетаданныеИсточника = Метаданные.НайтиПоПолномуИмени(ИмяИсточника); // ОбъектМетаданныхДокумент, ОбъектМетаданныхСправочник, ОбъектМетаданныхРегистрСведений
|
||||||
|
ИсточникЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(МетаданныеИсточника);
|
||||||
|
ТипыСсылкиИсточника = ?(ИсточникЭтоРегистр, Новый Массив, МетаданныеИсточника.СтандартныеРеквизиты.Ссылка.Тип.Типы());
|
||||||
|
ИсточникИмеетВладельца = ОбщегоНазначения.ЭтоСправочник(МетаданныеИсточника)
|
||||||
|
И МетаданныеИсточника.Владельцы.Количество() > 0;
|
||||||
|
|
||||||
|
ИменаТЧСодержащихСведения = Новый Массив; // Массив из Строка
|
||||||
|
|
||||||
|
Если Не ИсточникЭтоРегистр Тогда
|
||||||
|
|
||||||
|
ИменаТабличныхЧастей = Новый Массив; // Массив из Строка
|
||||||
|
ТабличныеЧасти = МетаданныеИсточника.ТабличныеЧасти;
|
||||||
|
|
||||||
|
Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
|
||||||
|
ИменаТабличныхЧастей.Добавить(ТабличнаяЧасть.Имя);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ИменаТЧСодержащихСведения = ИменаТЧОбъектаСодержащихСведенияОПерсональныхДанных(ИменаТабличныхЧастей,
|
||||||
|
ПоляПерсональныхДанных, ПоляСодержащиеСубъект);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого ТипСубъектаИМетаданные Из МетаданныеПоТипамСубъекта Цикл
|
||||||
|
|
||||||
|
ТипСубъекта = ТипСубъектаИМетаданные.Ключ; // Тип
|
||||||
|
МетаданныеСубъекта = ТипСубъектаИМетаданные.Значение;
|
||||||
|
|
||||||
|
ИменаРеквизитовИсточника = Новый Массив; // Массив из Строка
|
||||||
|
ИменаРеквизитовТЧИсточника = Новый Соответствие;
|
||||||
|
|
||||||
|
Если ИсточникЭтоРегистр Тогда
|
||||||
|
|
||||||
|
ИменаИзмеренийТипа = ИменаИзмеренийРегистраПоТипу(МетаданныеИсточника, ТипСубъекта);
|
||||||
|
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаРеквизитовИсточника, ИменаИзмеренийТипа);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Если ТипыСсылкиИсточника.Найти(ТипСубъекта) <> Неопределено Тогда
|
||||||
|
ИменаРеквизитовИсточника.Добавить("Ссылка");
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Если ИсточникИмеетВладельца Тогда
|
||||||
|
|
||||||
|
Если МетаданныеИсточника.Владельцы.Содержит(МетаданныеСубъекта) Тогда
|
||||||
|
ИменаРеквизитовИсточника.Добавить("Владелец");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ИменаРеквизитовИсточника.Количество() = 0 Тогда
|
||||||
|
|
||||||
|
ИменаРеквизитовТипа = ИменаРеквизитовПоТипу(МетаданныеИсточника, ТипСубъекта);
|
||||||
|
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаРеквизитовИсточника, ИменаРеквизитовТипа);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого ИмяТабличнойЧасти Из ИменаТЧСодержащихСведения Цикл
|
||||||
|
|
||||||
|
ИменаРеквизитовТЧТипа = ИменаРеквизитовТЧОбъектаПоТипу(МетаданныеИсточника, ИмяТабличнойЧасти,
|
||||||
|
ТипСубъекта);
|
||||||
|
Если ИменаРеквизитовТЧТипа.Количество() > 0 Тогда
|
||||||
|
ИменаРеквизитовТЧИсточника.Вставить(ИмяТабличнойЧасти, ИменаРеквизитовТЧТипа);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого ИмяРеквизита Из ИменаРеквизитовИсточника Цикл
|
||||||
|
|
||||||
|
Если ПоляСодержащиеСубъект.Найти(ИмяРеквизита) <> Неопределено Тогда
|
||||||
|
ИменаРеквизитовСодержащихСубъект.Добавить(ИмяРеквизита);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого ТЧИРеквизиты Из ИменаРеквизитовТЧИсточника Цикл
|
||||||
|
|
||||||
|
ИменаРеквизитовТЧ = ТЧИРеквизиты.Значение; // Массив из Строка
|
||||||
|
Для Каждого ИмяРеквизита Из ИменаРеквизитовТЧ Цикл
|
||||||
|
|
||||||
|
Если ПоляСодержащиеСубъект.Найти(ИмяРеквизита) <> Неопределено Тогда
|
||||||
|
ИменаРеквизитовСодержащихСубъект.Добавить(ИмяРеквизита);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ИменаРеквизитовСодержащихСубъект.Количество() > 0 Тогда
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый ФиксированныйМассив(ИменаРеквизитовСодержащихСубъект);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает по полному имени объекта имена полей, содержащих уничтожаемые персональные данные субъекта,
|
||||||
|
// и имена полей, содержащих ссылку на субъекта.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяОбъекта - Строка - полное имя объекта метаданных. Пример: "Справочник.ФизическиеЛица".
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - имена полей скрываемых персональных данных объекта:
|
||||||
|
// * ПоляПерсональныхДанных - Массив из Строка - например: "ИНН" или "ФизическиеЛица.ИНН".
|
||||||
|
// * ПоляСодержащиеСубъект - Массив из Строка - например: "ФизическоеЛицо" или "ФизическиеЛица.ФизическоеЛицо".
|
||||||
|
//
|
||||||
|
Функция ИменаПолейСведенийОПерсональныхДанныхОбъекта(ИмяОбъекта)
|
||||||
|
|
||||||
|
ИменаПолейСодержащихСубъект = Новый Массив; // Массив из Строка
|
||||||
|
ИменаСкрываемыхПолей = Новый Массив; // Массив из Строка
|
||||||
|
|
||||||
|
ТаблицаСведений = ЗащитаПерсональныхДанных.УничтожаемыеПерсональныеДанные();
|
||||||
|
СтрокиСведений = ТаблицаСведений.НайтиСтроки(Новый Структура("Объект", ИмяОбъекта));
|
||||||
|
|
||||||
|
Для Каждого СтрокаСведений Из СтрокиСведений Цикл
|
||||||
|
|
||||||
|
Если ТипЗнч(СтрокаСведений.Поля) = Тип("Строка") Тогда
|
||||||
|
СкрываемыеПоля = СтрРазделить(СтрокаСведений.Поля, ",");
|
||||||
|
Иначе
|
||||||
|
СкрываемыеПоля = СтрокаСведений.Поля;
|
||||||
|
КонецЕсли;
|
||||||
|
Для Каждого ИмяПоля Из СкрываемыеПоля Цикл
|
||||||
|
ИменаСкрываемыхПолей.Добавить(КраткоеИмяПоля(ИмяПоля, ИмяОбъекта));
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ПоляСодержащиеСубъект = СтрРазделить(СтрокаСведений.ПолеСубъект, ",|");
|
||||||
|
Для Каждого ИмяПоля Из ПоляСодержащиеСубъект Цикл
|
||||||
|
ИменаПолейСодержащихСубъект.Добавить(КраткоеИмяПоля(ИмяПоля, ИмяОбъекта));
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый Структура("ПоляПерсональныхДанных,ПоляСодержащиеСубъект",
|
||||||
|
ОбщегоНазначенияКлиентСервер.СвернутьМассив(ИменаСкрываемыхПолей),
|
||||||
|
ОбщегоНазначенияКлиентСервер.СвернутьМассив(ИменаПолейСодержащихСубъект));
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИменаТЧОбъектаСодержащихСведенияОПерсональныхДанных(ИменаТЧОбъекта, Знач ИменаРеквизитов,
|
||||||
|
Знач ПоляСодержащиеСубъект)
|
||||||
|
|
||||||
|
ИменаТЧСодержащихСведения = Новый Массив; // Массив из Строка
|
||||||
|
|
||||||
|
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИменаРеквизитов, ПоляСодержащиеСубъект);
|
||||||
|
|
||||||
|
Для Каждого ИмяТЧОбъекта Из ИменаТЧОбъекта Цикл
|
||||||
|
|
||||||
|
ПодстрокаПоиска = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1.", ИмяТЧОбъекта);
|
||||||
|
Для Каждого ИмяРеквизита Из ИменаРеквизитов Цикл
|
||||||
|
|
||||||
|
Если СтрНайти(ИмяРеквизита, ПодстрокаПоиска) <> 0 Тогда
|
||||||
|
|
||||||
|
ИменаТЧСодержащихСведения.Добавить(ИмяТЧОбъекта);
|
||||||
|
Прервать;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ИменаТЧСодержащихСведения;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Преобразует полное имя поля в краткую форму.
|
||||||
|
// Например, "Документ.АктОбУничтоженииПерсональныхДанных.ТабличнаяЧасть.КатегорииДанных.Реквизит.ИмяОбъекта"
|
||||||
|
// преобразуется в "КатегорииДанных.ИмяОбъекта".
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолноеИмяПоля - Строка, Произвольный - полное имя поля
|
||||||
|
// ПолноеИмяОбъекта - Строка - полное имя объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - краткое имя поля
|
||||||
|
//
|
||||||
|
Функция КраткоеИмяПоля(ПолноеИмяПоля, ПолноеИмяОбъекта) Экспорт
|
||||||
|
|
||||||
|
ИмяПоля = СтрЗаменить(СокрЛП(ПолноеИмяПоля), ПолноеИмяОбъекта, "");
|
||||||
|
|
||||||
|
Если СтрНайти(ИмяПоля, ".ТабличнаяЧасть.") > 0 Тогда
|
||||||
|
ИмяПоля = СтрЗаменить(СтрЗаменить(ИмяПоля, ".Реквизит.", "."), ".ТабличнаяЧасть.", "");
|
||||||
|
Иначе
|
||||||
|
ИмяПоля = СтрЗаменить(ИмяПоля, ".Реквизит.", "");
|
||||||
|
ИмяПоля = СтрЗаменить(ИмяПоля, ".Измерение.", "");
|
||||||
|
ИмяПоля = СтрЗаменить(ИмяПоля, ".Ресурс.", "");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ИмяПоля;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ФиксированноеСоответствие из КлючИЗначение:
|
||||||
|
// * Ключ - Тип
|
||||||
|
// * Значение - ОбъектМетаданных
|
||||||
|
//
|
||||||
|
Функция МетаданныеПоТипамСубъекта() Экспорт
|
||||||
|
|
||||||
|
ТипыСубъектов = ЗащитаПерсональныхДанных.ТипыСубъектов();
|
||||||
|
|
||||||
|
МетаданныеПоТипуСубъектов = Новый Соответствие;
|
||||||
|
Для Каждого ТипСубъекта Из ТипыСубъектов Цикл
|
||||||
|
МетаданныеПоТипуСубъектов.Вставить(ТипСубъекта, Метаданные.НайтиПоТипу(ТипСубъекта));
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый ФиксированноеСоответствие(МетаданныеПоТипуСубъектов);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ФиксированныйМассив из Тип - типы субъектов персональных данных.
|
||||||
|
//
|
||||||
|
Функция ТипыСубъектов() Экспорт
|
||||||
|
|
||||||
|
ТипыСубъектов = Метаданные.ОпределяемыеТипы.СубъектПерсональныхДанных.Тип.Типы();
|
||||||
|
ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(ТипыСубъектов,
|
||||||
|
Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных"));
|
||||||
|
|
||||||
|
Возврат Новый ФиксированныйМассив(ТипыСубъектов);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ФиксированныйМассив из Строка - полные имена объектов метаданных
|
||||||
|
//
|
||||||
|
Функция ИменаМетаданныхПоТипамСубъекта() Экспорт
|
||||||
|
|
||||||
|
ТипыСубъектов = ЗащитаПерсональныхДанных.ТипыСубъектов();
|
||||||
|
|
||||||
|
ИменаМетаданных = Новый Массив; // Массив из Строка
|
||||||
|
Для Каждого ТипСубъекта Из ТипыСубъектов Цикл
|
||||||
|
ИменаМетаданных.Добавить(Метаданные.НайтиПоТипу(ТипСубъекта).ПолноеИмя());
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый ФиксированныйМассив(ИменаМетаданных);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// МетаданныеОбъекта - ОбъектМетаданныхДокумент, ОбъектМетаданныхСправочник
|
||||||
|
// Тип - Тип
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив из Строка
|
||||||
|
//
|
||||||
|
Функция ИменаРеквизитовПоТипу(МетаданныеОбъекта, Тип)
|
||||||
|
|
||||||
|
ИменаРеквизитов = Новый Массив; // Массив из Строка
|
||||||
|
|
||||||
|
Для Каждого Реквизит Из МетаданныеОбъекта.Реквизиты Цикл
|
||||||
|
Если Реквизит.Тип.СодержитТип(Тип) Тогда
|
||||||
|
ИменаРеквизитов.Добавить(Реквизит.Имя);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ИменаРеквизитов;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// МетаданныеОбъекта - ОбъектМетаданныхДокумент, ОбъектМетаданныхСправочник
|
||||||
|
// ИмяТабличнойЧасти - Строка
|
||||||
|
// Тип - Тип
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив из Строка
|
||||||
|
//
|
||||||
|
Функция ИменаРеквизитовТЧОбъектаПоТипу(МетаданныеОбъекта, ИмяТабличнойЧасти, Тип)
|
||||||
|
|
||||||
|
ИменаРеквизитов = Новый Массив; // Массив из Строка
|
||||||
|
МетаданныеТЧ = МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти);
|
||||||
|
|
||||||
|
Если МетаданныеТЧ <> Неопределено Тогда
|
||||||
|
Для Каждого Реквизит Из МетаданныеТЧ.Реквизиты Цикл
|
||||||
|
Если Реквизит.Тип.СодержитТип(Тип) Тогда
|
||||||
|
ИменаРеквизитов.Добавить(ИмяТабличнойЧасти + "." + Реквизит.Имя);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ИменаРеквизитов;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// МетаданныеРегистра - ОбъектМетаданныхРегистрСведений
|
||||||
|
// Тип - Тип
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив из Строка
|
||||||
|
//
|
||||||
|
Функция ИменаИзмеренийРегистраПоТипу(МетаданныеРегистра, Тип)
|
||||||
|
|
||||||
|
ИменаИзмерений = Новый Массив; // Массив из Строка
|
||||||
|
|
||||||
|
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
|
||||||
|
|
||||||
|
Если Измерение.Тип.СодержитТип(Тип) Тогда
|
||||||
|
ИменаИзмерений.Добавить(Измерение.Имя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ИменаИзмерений;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3e453cca-aac3-4ff3-bb15-32c09f43e7b2">
|
||||||
|
<name>ЗащитаПерсональныхДанныхСлужебный</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Защита персональных данных служебный</value>
|
||||||
|
</synonym>
|
||||||
|
<server>true</server>
|
||||||
|
<externalConnection>true</externalConnection>
|
||||||
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
|
</mdclass:CommonModule>
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (c) 2023, ООО 1С-Софт
|
||||||
|
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||||
|
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||||
|
// Текст лицензии доступен по ссылке:
|
||||||
|
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// @strict-types
|
||||||
|
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
// См. Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектов
|
||||||
|
Функция ДеревоОбрабатываемыхОбъектов() Экспорт
|
||||||
|
|
||||||
|
Возврат Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектов();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// См. Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектовБезНастроек
|
||||||
|
Функция ДеревоОбрабатываемыхОбъектовБезНастроек() Экспорт
|
||||||
|
|
||||||
|
Возврат Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектовБезНастроек();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// См. Обработки.СкрытиеКонфиденциальнойИнформации.ЭлементИмениПоТипуМетаданных
|
||||||
|
Функция ЭлементИмениПоТипуМетаданных(ТипМетаданных) Экспорт
|
||||||
|
|
||||||
|
Возврат Обработки.СкрытиеКонфиденциальнойИнформации.ЭлементИмениПоТипуМетаданных(ТипМетаданных);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="49bcd9e6-f312-4bb6-959a-242b73907591">
|
||||||
|
<name>ЗащитаПерсональныхДанныхУничтожениеПовтИсп</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Защита персональных данных уничтожение повт исп</value>
|
||||||
|
</synonym>
|
||||||
|
<server>true</server>
|
||||||
|
<externalConnection>true</externalConnection>
|
||||||
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
|
<returnValuesReuse>DuringSession</returnValuesReuse>
|
||||||
|
</mdclass:CommonModule>
|
||||||
@@ -3460,6 +3460,11 @@
|
|||||||
МодульИнтеграцияПодсистемБИП.ПриОпределенииИсточниковДанныхПечати(Объект, ИсточникиДанныхПечати);
|
МодульИнтеграцияПодсистемБИП.ПриОпределенииИсточниковДанныхПечати(Объект, ИсточникиДанныхПечати);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
|
||||||
|
МодульЗащитаПерсональныхДанных = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
|
||||||
|
МодульЗащитаПерсональныхДанных.ПриОпределенииИсточниковДанныхПечати(Объект, ИсточникиДанныхПечати);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// См. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати
|
// См. УправлениеПечатьюПереопределяемый.ПриПодготовкеДанныхПечати
|
||||||
|
|||||||
@@ -149,15 +149,12 @@
|
|||||||
Настройки = Новый Структура;
|
Настройки = Новый Структура;
|
||||||
Настройки.Вставить("Показывать", Истина);
|
Настройки.Вставить("Показывать", Истина);
|
||||||
|
|
||||||
Если Метаданные.Обработки.ИнформацияПриЗапуске.Макеты.Количество() = 0 Тогда
|
// Отключение информации в версии ПРОФ, если пользователь отключил флажок.
|
||||||
Настройки.Показывать = Ложь;
|
Настройки.Показывать = (Метаданные.Обработки.ИнформацияПриЗапуске.Макеты.Количество() > 0)
|
||||||
ИначеЕсли Не СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации() И Не ПоказыватьПриНачалеРаботы() Тогда
|
И (СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации() Или ПоказыватьПриНачалеРаботы());
|
||||||
// Отключение информации в ПРОФ версии если пользователь отключил флажок.
|
|
||||||
Настройки.Показывать = Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Настройки.Показывать Тогда
|
Если Настройки.Показывать Тогда
|
||||||
// Отключение информации если будет выведено описание изменений.
|
// Отключение информации, если будет выведено описание изменений.
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеВерсииИБ") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеВерсииИБ") Тогда
|
||||||
МодульОбновлениеИнформационнойБазыСлужебный = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебный");
|
МодульОбновлениеИнформационнойБазыСлужебный = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебный");
|
||||||
Если МодульОбновлениеИнформационнойБазыСлужебный.ПоказатьОписаниеИзмененийСистемы() Тогда
|
Если МодульОбновлениеИнформационнойБазыСлужебный.ПоказатьОписаниеИзмененийСистемы() Тогда
|
||||||
@@ -167,7 +164,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Настройки.Показывать Тогда
|
Если Настройки.Показывать Тогда
|
||||||
// Отключение информации если будет показан помощник завершения настройки подчиненного узла РИБ.
|
// Отключение информации, если будет показан помощник завершения настройки подчиненного узла РИБ.
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
||||||
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
|
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
|
||||||
Если МодульОбменДаннымиСервер.ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла() Тогда
|
Если МодульОбменДаннымиСервер.ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла() Тогда
|
||||||
@@ -192,7 +189,6 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Переопределение.
|
|
||||||
ИнформацияПриЗапускеПереопределяемый.ОпределитьНастройки(Настройки);
|
ИнформацияПриЗапускеПереопределяемый.ОпределитьНастройки(Настройки);
|
||||||
|
|
||||||
Возврат Настройки;
|
Возврат Настройки;
|
||||||
|
|||||||
@@ -196,6 +196,10 @@
|
|||||||
//
|
//
|
||||||
Функция ПредставлениеФормулы(ПараметрыФормулы) Экспорт
|
Функция ПредставлениеФормулы(ПараметрыФормулы) Экспорт
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ПараметрыФормулы.Формула) Тогда
|
||||||
|
Возврат ПараметрыФормулы.Формула;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ОписаниеСписковПолей = КонструкторФормулСлужебный.ОписаниеСписковПолей();
|
ОписаниеСписковПолей = КонструкторФормулСлужебный.ОписаниеСписковПолей();
|
||||||
|
|
||||||
ИсточникиДоступныхПолей = КонструкторФормулСлужебный.КоллекцияИсточниковДоступныхПолей();
|
ИсточникиДоступныхПолей = КонструкторФормулСлужебный.КоллекцияИсточниковДоступныхПолей();
|
||||||
|
|||||||
@@ -6599,7 +6599,7 @@
|
|||||||
Если КомпонентыОбмена.РежимЗагрузкиДанныхВИнформационнуюБазу Тогда
|
Если КомпонентыОбмена.РежимЗагрузкиДанныхВИнформационнуюБазу Тогда
|
||||||
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена
|
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена
|
||||||
И ОбменДаннымиСобытия.ЗагрузкаЗапрещена(Объект, КомпонентыОбмена.УзелКорреспондентаОбъект) Тогда
|
И ОбменДаннымиСобытия.ЗагрузкаЗапрещена(Объект, КомпонентыОбмена.УзелКорреспондентаОбъект) Тогда
|
||||||
Возврат;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
МетаданныеОбъекта = Объект.Метаданные();
|
МетаданныеОбъекта = Объект.Метаданные();
|
||||||
Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
|
Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
|
||||||
|
|||||||
@@ -461,13 +461,10 @@
|
|||||||
Набор.Отбор[ЭлементОтбора.Имя].Использование = ЭлементОтбора.Использование;
|
Набор.Отбор[ЭлементОтбора.Имя].Использование = ЭлементОтбора.Использование;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
УстановитьНедостающиеОтборыВНаборе(Набор, МетаданныеОбъекта, Данные.Отбор);
|
УстановитьНедостающиеОтборыВНаборе(Набор, МетаданныеОбъекта, Данные.Отбор);
|
||||||
ИначеЕсли ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
|
ИначеЕсли (ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
|
||||||
И Не ОбщегоНазначения.ЭтоСсылка(ТипЗначенияОбъекта)
|
И Не ОбщегоНазначения.ЭтоСсылка(ТипЗначенияОбъекта)
|
||||||
И Данные.ЭтоНовый() Тогда
|
И Данные.ЭтоНовый())
|
||||||
|
Или ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта) Тогда
|
||||||
Возврат;
|
|
||||||
ИначеЕсли ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта) Тогда
|
|
||||||
|
|
||||||
Возврат;
|
Возврат;
|
||||||
Иначе
|
Иначе
|
||||||
Набор = Данные;
|
Набор = Данные;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||||
|
|
||||||
Описание.Имя = "СтандартныеПодсистемы";
|
Описание.Имя = "СтандартныеПодсистемы";
|
||||||
Описание.Версия = "3.1.8.276";
|
Описание.Версия = "3.1.8.302";
|
||||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||||
|
|||||||
@@ -1425,7 +1425,7 @@
|
|||||||
ЭтоСлужебныеДанные = СлужебныеСвязиДанных[МестоИспользования] <> Неопределено;
|
ЭтоСлужебныеДанные = СлужебныеСвязиДанных[МестоИспользования] <> Неопределено;
|
||||||
ЭтоВспомогательныеДанные = ЭтоСлужебныеДанные;
|
ЭтоВспомогательныеДанные = ЭтоСлужебныеДанные;
|
||||||
|
|
||||||
Если МетаданныеДокументов.Содержит(МестоИспользования.Метаданные) Тогда
|
Если ТипДанных = Неопределено Или МетаданныеДокументов.Содержит(МестоИспользования.Метаданные) Тогда
|
||||||
Представление = Строка(МестоИспользования.Данные);
|
Представление = Строка(МестоИспользования.Данные);
|
||||||
|
|
||||||
ИначеЕсли МетаданныеКонстант.Содержит(МестоИспользования.Метаданные) Тогда
|
ИначеЕсли МетаданныеКонстант.Содержит(МестоИспользования.Метаданные) Тогда
|
||||||
@@ -1434,9 +1434,6 @@
|
|||||||
ИначеЕсли МетаданныеПоследовательностей.Содержит(МестоИспользования.Метаданные) Тогда
|
ИначеЕсли МетаданныеПоследовательностей.Содержит(МестоИспользования.Метаданные) Тогда
|
||||||
Представление = МестоИспользования.Метаданные.Представление() + " (" + НСтр("ru = 'последовательность'") + ")";
|
Представление = МестоИспользования.Метаданные.Представление() + " (" + НСтр("ru = 'последовательность'") + ")";
|
||||||
|
|
||||||
ИначеЕсли ТипДанных = Неопределено Тогда
|
|
||||||
Представление = Строка(МестоИспользования.Данные);
|
|
||||||
|
|
||||||
ИначеЕсли ТипВсеСсылки.СодержитТип(ТипДанных) Тогда
|
ИначеЕсли ТипВсеСсылки.СодержитТип(ТипДанных) Тогда
|
||||||
МетаПредставлениеОбъекта = Новый Структура("ПредставлениеОбъекта");
|
МетаПредставлениеОбъекта = Новый Структура("ПредставлениеОбъекта");
|
||||||
ЗаполнитьЗначенияСвойств(МетаПредставлениеОбъекта, МестоИспользования.Метаданные);
|
ЗаполнитьЗначенияСвойств(МетаПредставлениеОбъекта, МестоИспользования.Метаданные);
|
||||||
@@ -1593,8 +1590,8 @@
|
|||||||
// ПриПоискеЗаменыСсылок с параметрами:
|
// ПриПоискеЗаменыСсылок с параметрами:
|
||||||
// ПарыЗамен - Соответствие - содержит пары значение оригинал/дубль.
|
// ПарыЗамен - Соответствие - содержит пары значение оригинал/дубль.
|
||||||
// НеобработанныеЗначенияОригиналов - Массив из Структура - дополнительная информация об обрабатываемых объектах:
|
// НеобработанныеЗначенияОригиналов - Массив из Структура - дополнительная информация об обрабатываемых объектах:
|
||||||
// * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта
|
// * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта.
|
||||||
// * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам
|
// * ИспользуемыеСвязи - см. ОбщегоНазначения.СвязиПодчиненныхОбъектовПоТипам
|
||||||
// * ЗначениеКлючевыхРеквизитов - Структура - где Ключ - имя реквизита, значение - значение реквизита.
|
// * ЗначениеКлючевыхРеквизитов - Структура - где Ключ - имя реквизита, значение - значение реквизита.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
@@ -1644,6 +1641,29 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает связи подчиненных объектов с указанием типа поля связи.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ТаблицаЗначений:
|
||||||
|
// * Ключ - Строка
|
||||||
|
// * ТипРеквизита - Тип
|
||||||
|
// * ИмяРеквизита - Строка
|
||||||
|
// * Используется - Булево
|
||||||
|
// * Метаданные - ОбъектМетаданных
|
||||||
|
//
|
||||||
|
Функция СвязиПодчиненныхОбъектовПоТипам() Экспорт
|
||||||
|
|
||||||
|
Результат = Новый ТаблицаЗначений;
|
||||||
|
Результат.Колонки.Добавить("ТипРеквизита", Новый ОписаниеТипов("Тип"));
|
||||||
|
Результат.Колонки.Добавить("ИмяРеквизита", ОписаниеТипаСтрока(0));
|
||||||
|
Результат.Колонки.Добавить("Ключ", ОписаниеТипаСтрока(0));
|
||||||
|
Результат.Колонки.Добавить("Используется", Новый ОписаниеТипов("Булево"));
|
||||||
|
Результат.Колонки.Добавить("Метаданные");
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область УсловныеВызовы
|
#Область УсловныеВызовы
|
||||||
|
|||||||
@@ -181,6 +181,19 @@
|
|||||||
// * Ключ - Строка - имя параметра, передаваемого на сервер.
|
// * Ключ - Строка - имя параметра, передаваемого на сервер.
|
||||||
// * Значение - Произвольный - значение параметра, передаваемого на сервер.
|
// * Значение - Произвольный - значение параметра, передаваемого на сервер.
|
||||||
//
|
//
|
||||||
|
// Пример:
|
||||||
|
// МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
|
// Попытка
|
||||||
|
// Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
|
||||||
|
// МодульЦентрМониторингаКлиентСлужебный = ОбщегоНазначенияКлиент.ОбщийМодуль("ЦентрМониторингаКлиентСлужебный");
|
||||||
|
// МодульЦентрМониторингаКлиентСлужебный.ПередПериодическойОтправкойДанныхКлиентаНаСервер(Параметры);
|
||||||
|
// КонецЕсли;
|
||||||
|
// Исключение
|
||||||
|
// СерверныеОповещенияКлиент.ОбработатьОшибку(ИнформацияОбОшибке());
|
||||||
|
// КонецПопытки;
|
||||||
|
// СерверныеОповещенияКлиент.ДобавитьПоказатель(МоментНачала,
|
||||||
|
// "ЦентрМониторингаКлиентСлужебный.ПередПериодическойОтправкойДанныхКлиентаНаСервер");
|
||||||
|
//
|
||||||
Процедура ПередПериодическойОтправкойДанныхКлиентаНаСервер(Параметры) Экспорт
|
Процедура ПередПериодическойОтправкойДанныхКлиентаНаСервер(Параметры) Экспорт
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -198,6 +211,19 @@
|
|||||||
// * Ключ - Строка - имя параметра, возвращенного с сервера.
|
// * Ключ - Строка - имя параметра, возвращенного с сервера.
|
||||||
// * Значение - Произвольный - значение параметра, возвращенного с сервера.
|
// * Значение - Произвольный - значение параметра, возвращенного с сервера.
|
||||||
//
|
//
|
||||||
|
// Пример:
|
||||||
|
// МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
|
// Попытка
|
||||||
|
// Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
|
||||||
|
// МодульЦентрМониторингаКлиентСлужебный = ОбщегоНазначенияКлиент.ОбщийМодуль("ЦентрМониторингаКлиентСлужебный");
|
||||||
|
// МодульЦентрМониторингаКлиентСлужебный.ПослеПериодическогоПолученияДанныхКлиентаНаСервере(Результаты);
|
||||||
|
// КонецЕсли;
|
||||||
|
// Исключение
|
||||||
|
// СерверныеОповещенияКлиент.ОбработатьОшибку(ИнформацияОбОшибке());
|
||||||
|
// КонецПопытки;
|
||||||
|
// СерверныеОповещенияКлиент.ДобавитьПоказатель(МоментНачала,
|
||||||
|
// "ЦентрМониторингаКлиентСлужебный.ПослеПериодическогоПолученияДанныхКлиентаНаСервере");
|
||||||
|
//
|
||||||
Процедура ПослеПериодическогоПолученияДанныхКлиентаНаСервере(Результаты) Экспорт
|
Процедура ПослеПериодическогоПолученияДанныхКлиентаНаСервере(Результаты) Экспорт
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -194,9 +194,9 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Позволяет задать список подчиненных объектов и их связи с основными объектами
|
// Позволяет задать список подчиненных объектов и их связи с основными объектами.
|
||||||
// Подчиненные объекты рекомендуется использовать, если в процессе замены ссылок
|
// Подчиненные объекты рекомендуется использовать, если в процессе замены ссылок
|
||||||
// нужно создавать часть объектов или подбирать замену из существующих объектов
|
// нужно создавать часть объектов или подбирать замену из существующих объектов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ПодчиненныеОбъекты - см. ОбщегоНазначения.ПодчиненныеОбъекты
|
// ПодчиненныеОбъекты - см. ОбщегоНазначения.ПодчиненныеОбъекты
|
||||||
@@ -379,6 +379,19 @@
|
|||||||
// * Ключ - Строка - имя параметра, возвращаемого на клиент.
|
// * Ключ - Строка - имя параметра, возвращаемого на клиент.
|
||||||
// * Значение - Произвольный - значение параметра, возвращаемого на клиент.
|
// * Значение - Произвольный - значение параметра, возвращаемого на клиент.
|
||||||
//
|
//
|
||||||
|
// Пример:
|
||||||
|
// МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
|
// Попытка
|
||||||
|
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
|
||||||
|
// МодульЦентрМониторингаСлужебный = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторингаСлужебный");
|
||||||
|
// МодульЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты);
|
||||||
|
// КонецЕсли;
|
||||||
|
// Исключение
|
||||||
|
// СерверныеОповещения.ОбработатьОшибку(ИнформацияОбОшибке());
|
||||||
|
// КонецПопытки;
|
||||||
|
// СерверныеОповещения.ДобавитьПоказатель(Результаты, МоментНачала,
|
||||||
|
// "ЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере");
|
||||||
|
//
|
||||||
Процедура ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты) Экспорт
|
Процедура ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты) Экспорт
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -112,260 +112,128 @@
|
|||||||
// ** ПриСозданииНаСервере - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриСозданииНаСервере - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы.
|
// // См. ОтчетыПереопределяемый.ПриСозданииНаСервере.
|
||||||
// //
|
|
||||||
// // Параметры:
|
|
||||||
// // Форма - ФормаКлиентскогоПриложения - форма отчета.
|
|
||||||
// // Отказ - Булево - признак отказа от создания формы.
|
|
||||||
// // См. описание одноименного параметра "ФормаКлиентскогоПриложения.ПриСозданииНаСервере" в синтакс-помощнике.
|
|
||||||
// // СтандартнаяОбработка - Булево - признак выполнения стандартной (системной) обработки события.
|
|
||||||
// // См. описание одноименного параметра "ФормаКлиентскогоПриложения.ПриСозданииНаСервере" в синтакс-помощнике.
|
|
||||||
// //
|
|
||||||
// // См. также:
|
|
||||||
// // Процедура для вывода добавленных команд в форму: ОтчетыСервер.ВывестиКоманду().
|
|
||||||
// // Глобальный обработчик этого события: ОтчетыПереопределяемый.ПриСозданииНаСервере().
|
|
||||||
// //
|
|
||||||
// // Пример добавления команды:
|
|
||||||
// // Команда = Форма.Команды.Добавить("<ИмяКоманды>");
|
|
||||||
// // Команда.Действие = "Подключаемый_Команда";
|
|
||||||
// // Команда.Заголовок = НСтр("ru = '<Представление команды...>'");
|
|
||||||
// // ОтчетыСервер.ВывестиКоманду(Форма, Команда, "<ВидГруппы>");
|
|
||||||
// // Обработчик команды пишется в процедуре ОтчетыКлиентПереопределяемый.ОбработчикКоманды.
|
|
||||||
// //
|
|
||||||
// Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
|
// Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПередЗагрузкойНастроекВКомпоновщик - Булево - если Истина, то в модуле объекта отчета
|
// ** ПередЗагрузкойНастроекВКомпоновщик - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается перед загрузкой новых настроек. Используется для изменения схемы компоновки.
|
|
||||||
// // Например, если схема отчета зависит от ключа варианта или параметров отчета.
|
|
||||||
// // Чтобы изменения схемы вступили в силу следует вызывать метод ОтчетыСервер.ПодключитьСхему().
|
|
||||||
// // В ДополнительныеСвойства параметра НовыеНастройкиКД и свойство Настройки компоновщика настроек
|
|
||||||
// // объекта включены свойства КлючВарианта, КлючПредопределенногоВарианта, КонтекстВарианта
|
|
||||||
// // и ФормаПараметрыОтбор.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // Контекст - Произвольный -
|
// // Контекст - Произвольный
|
||||||
// // Параметры контекста, в котором используется отчет.
|
// // КлючСхемы - Строка
|
||||||
// // Используется для передачи в параметрах метода ОтчетыСервер.ПодключитьСхему().
|
// // КлючВарианта - Строка, Неопределено
|
||||||
// // КлючСхемы - Строка -
|
// // НовыеНастройкиКД - НастройкиКомпоновкиДанных, Неопределено
|
||||||
// // Идентификатор текущей схемы компоновщика настроек.
|
// // НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных, Неопределено
|
||||||
// // По умолчанию не заполнен (это означает что компоновщик инициализирован на основании основной схемы).
|
|
||||||
// // Используется для оптимизации, чтобы переинициализировать компоновщик как можно реже.
|
|
||||||
// // Может не использоваться если переинициализация выполняется безусловно.
|
|
||||||
// // КлючВарианта - Строка, Неопределено -
|
|
||||||
// // Имя предопределенного или уникальный идентификатор пользовательского варианта отчета.
|
|
||||||
// // Неопределено когда вызов для варианта расшифровки или без контекста.
|
|
||||||
// // НовыеНастройкиКД - НастройкиКомпоновкиДанных, Неопределено -
|
|
||||||
// // Настройки варианта отчета, которые будут загружены в компоновщик настроек после его инициализации.
|
|
||||||
// // Неопределено когда настройки варианта не надо загружать (уже загружены ранее).
|
|
||||||
// // НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных, Неопределено -
|
|
||||||
// // Пользовательские настройки, которые будут загружены в компоновщик настроек после его инициализации.
|
|
||||||
// // Неопределено когда пользовательские настройки не надо загружать (уже загружены ранее).
|
|
||||||
// //
|
|
||||||
// // Примеры:
|
|
||||||
// // 1. Компоновщик отчета инициализируется на основании схемы из общих макетов:
|
|
||||||
// // Если КлючСхемы <> "1" Тогда
|
|
||||||
// // КлючСхемы = "1";
|
|
||||||
// // СхемаКД = ПолучитьОбщийМакет("МояОбщаяСхемаКомпоновки");
|
|
||||||
// // ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКД, КлючСхемы);
|
|
||||||
// // КонецЕсли;
|
|
||||||
// //
|
|
||||||
// // 2. Схема зависит от значения параметра, выведенного в пользовательские настройки отчета:
|
|
||||||
// // Если ТипЗнч(НовыеПользовательскиеНастройкиКД) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
|
||||||
// // ПолноеИмяОбъектаМетаданных = "";
|
|
||||||
// // Для Каждого ЭлементКД Из НовыеПользовательскиеНастройкиКД.Элементы Цикл
|
|
||||||
// // Если ТипЗнч(ЭлементКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
|
||||||
// // ИмяПараметра = Строка(ЭлементКД.Параметр);
|
|
||||||
// // Если ИмяПараметра = "ОбъектМетаданных" Тогда
|
|
||||||
// // ПолноеИмяОбъектаМетаданных = ЭлементКД.Значение;
|
|
||||||
// // КонецЕсли;
|
|
||||||
// // КонецЕсли;
|
|
||||||
// // КонецЦикла;
|
|
||||||
// // Если КлючСхемы <> ПолноеИмяОбъектаМетаданных Тогда
|
|
||||||
// // КлючСхемы = ПолноеИмяОбъектаМетаданных;
|
|
||||||
// // СхемаКД = Новый СхемаКомпоновкиДанных;
|
|
||||||
// // // Наполнение схемы...
|
|
||||||
// // ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКД, КлючСхемы);
|
|
||||||
// // КонецЕсли;
|
|
||||||
// // КонецЕсли;
|
|
||||||
// //
|
// //
|
||||||
// Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
|
// Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПослеЗагрузкиНастроекВКомпоновщик - Булево - если Истина, то в модуле объекта отчета
|
// ** ПослеЗагрузкиНастроекВКомпоновщик - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается после загрузки всех настроек в компоновщик.
|
|
||||||
// // Используется для уточнения, например параметров выбора,
|
|
||||||
// // зависимых от значений загруженных фиксированных отборов.
|
|
||||||
// // Структура ДополнительныеСвойства объекта Настройки компоновщика настроек объекта отчета
|
|
||||||
// // содержит свойства КлючВарианта, КлючПредопределенногоВарианта, КонтекстВарианта,
|
|
||||||
// // ФормаПараметрыОтбор, заполненные ПередЗагрузкойНастроекВКомпоновщик, а также свойство
|
|
||||||
// // ВариантНаименование, которое можно изменить для предопределенного варианта отчета.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // ДополнительныеПараметры - Структура - резерв
|
// // ДополнительныеПараметры - Структура
|
||||||
// //
|
// //
|
||||||
// Процедура ПослеЗагрузкиНастроекВКомпоновщик(ДополнительныеПараметры) Экспорт
|
// Процедура ПослеЗагрузкиНастроекВКомпоновщик(ДополнительныеПараметры) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПередЗагрузкойВариантаНаСервере - Булево - если Истина, то в модуле объекта отчета
|
// ** ПередЗагрузкойВариантаНаСервере - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы.
|
// // См. ОтчетыПереопределяемый.ПередЗагрузкойВариантаНаСервере.
|
||||||
// //
|
|
||||||
// // Параметры:
|
|
||||||
// // Форма - ФормаКлиентскогоПриложения - Форма отчета.
|
|
||||||
// // НовыеНастройкиКД - НастройкиКомпоновкиДанных - Настройки для загрузки в компоновщик настроек.
|
|
||||||
// //
|
|
||||||
// // См. ОтчетыПереопределяемый.ПередЗагрузкойВариантаНаСервере().
|
|
||||||
// //
|
|
||||||
// Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
|
// Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПриЗагрузкеВариантаНаСервере - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриЗагрузкеВариантаНаСервере - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // Форма - ФормаКлиентскогоПриложения - форма отчета.
|
// // Форма - ФормаКлиентскогоПриложения
|
||||||
// // НовыеНастройкиКД - НастройкиКомпоновкиДанных - настройки для загрузки в компоновщик настроек.
|
// // - РасширениеУправляемойФормыДляОтчета:
|
||||||
// //
|
// // * Отчет - ДанныеФормыСтруктура
|
||||||
// // См. синтакс-помощник "Расширение управляемой формы для отчета.ПриЗагрузкеВариантаНаСервере" в синтакс-помощнике.
|
// // - ОтчетОбъект
|
||||||
|
// // НовыеНастройкиКД - НастройкиКомпоновкиДанных
|
||||||
// //
|
// //
|
||||||
// Процедура ПриЗагрузкеВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
|
// Процедура ПриЗагрузкеВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПриЗагрузкеПользовательскихНастроекНаСервере - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриЗагрузкеПользовательскихНастроекНаСервере - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // Форма - ФормаКлиентскогоПриложения - форма отчета.
|
// // Форма - ФормаКлиентскогоПриложения
|
||||||
// // НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных -
|
// // НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных
|
||||||
// // Пользовательские настройки для загрузки в компоновщик настроек.
|
|
||||||
// //
|
|
||||||
// // См. синтакс-помощник "Расширение управляемой формы для отчета.ПриЗагрузкеПользовательскихНастроекНаСервере"
|
|
||||||
// // в синтакс-помощнике.
|
|
||||||
// //
|
// //
|
||||||
// Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеПользовательскиеНастройкиКД) Экспорт
|
// Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеПользовательскиеНастройкиКД) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПередЗаполнениемПанелиБыстрыхНастроек - Булево - если Истина, то в модуле объекта отчета
|
// ** ПередЗаполнениемПанелиБыстрыхНастроек - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается до перезаполнения панели настроек формы отчета.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // Форма - ФормаКлиентскогоПриложения - форма отчета.
|
// // Форма - ФормаКлиентскогоПриложения
|
||||||
// // ПараметрыЗаполнения - Структура - параметры, которые будут загружены в отчет.
|
// // ПараметрыЗаполнения - Структура
|
||||||
// //
|
// //
|
||||||
// Процедура ПередЗаполнениемПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт
|
// Процедура ПередЗаполнениемПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПослеЗаполненияПанелиБыстрыхНастроек - Булево - если Истина, то в модуле объекта отчета
|
// ** ПослеЗаполненияПанелиБыстрыхНастроек - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Вызывается после перезаполнения панели настроек формы отчета.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // Форма - ФормаКлиентскогоПриложения - Форма отчета.
|
// // Форма - ФормаКлиентскогоПриложения
|
||||||
// // ПараметрыЗаполнения - Структура - параметры, которые будут загружены в отчет.
|
// // ПараметрыЗаполнения - Структура
|
||||||
// //
|
// //
|
||||||
// Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт
|
// Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПриОпределенииПараметровВыбора - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриОпределенииПараметровВыбора - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// Это устаревшее событие, вместо него рекомендуется применять
|
// // См. ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора.
|
||||||
// новое событие ПослеЗагрузкиНастроекВКомпоновщик.
|
|
||||||
//
|
|
||||||
// // Вызывается в форме отчета перед выводом настройки.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
|
||||||
// // Форма - ФормаКлиентскогоПриложения, Неопределено - форма отчета.
|
|
||||||
// // СвойстваНастройки - Структура - описание настройки отчета, которая будет выведена в форме отчета.
|
|
||||||
// // * ОписаниеТипов - ОписаниеТипов - тип настройки.
|
|
||||||
// // * ЗначенияДляВыбора - СписокЗначений - объекты, которые будут предложены пользователю в списке
|
|
||||||
// // выбора. Дополняет список объектов, уже выбранных пользователем ранее.
|
|
||||||
// // * ЗапросЗначенийВыбора - Запрос - возвращает объекты, которыми необходимо дополнить ЗначенияДляВыбора.
|
|
||||||
// // Первой колонкой (с 0м индексом) должен выбираться объект,
|
|
||||||
// // который следует добавить в ЗначенияДляВыбора.Значение.
|
|
||||||
// // Для отключения автозаполнения
|
|
||||||
// // в свойство ЗапросЗначенийВыбора.Текст следует записать пустую строку.
|
|
||||||
// // * ОграничиватьВыборУказаннымиЗначениями - Булево - когда Истина, то выбор пользователя будет
|
|
||||||
// // ограничен значениями, указанными в ЗначенияДляВыбора (его конечным состоянием).
|
|
||||||
// //
|
|
||||||
// // См. также:
|
|
||||||
// // ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора().
|
|
||||||
// //
|
|
||||||
// Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт
|
// Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПриОпределенииИспользуемыхТаблиц - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриОпределенииИспользуемыхТаблиц - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Список регистров и других объектов метаданных, по которым формируется отчет.
|
|
||||||
// // Используется для проверки что отчет может содержать не обновленные данные.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // КлючВарианта - Строка, Неопределено -
|
// // КлючВарианта - Строка, Неопределено
|
||||||
// // Имя предопределенного или уникальный идентификатор пользовательского варианта отчета.
|
// // ИспользуемыеТаблицы - Массив из Строка
|
||||||
// // Неопределено когда вызов для варианта расшифровки или без контекста.
|
|
||||||
// // ИспользуемыеТаблицы - Массив из Строка -
|
|
||||||
// // Полные имена объектов метаданных (регистров, документов и других таблиц),
|
|
||||||
// // данные которых выводятся в отчете.
|
|
||||||
// //
|
|
||||||
// // Пример:
|
|
||||||
// // ИспользуемыеТаблицы.Добавить(Метаданные.Документы.<ИмяДокумента>.ПолноеИмя());
|
|
||||||
// //
|
// //
|
||||||
// Процедура ПриОпределенииИспользуемыхТаблиц(КлючВарианта, ИспользуемыеТаблицы) Экспорт
|
// Процедура ПриОпределенииИспользуемыхТаблиц(КлючВарианта, ИспользуемыеТаблицы) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПриОпределенииОсновныхПолей - Булево - если Истина, то в модуле объекта отчета
|
// ** ПриОпределенииОсновныхПолей - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // См. ОтчетыПереопределяемый.ПриОпределенииОсновныхПолей.
|
// // См. ОтчетыПереопределяемый.ПриОпределенииОсновныхПолей.
|
||||||
// //
|
|
||||||
// Процедура ПриОпределенииОсновныхПолей(Форма, ОсновныеПоля) Экспорт
|
// Процедура ПриОпределенииОсновныхПолей(Форма, ОсновныеПоля) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
// ** ПередФормированиемОтчета - Булево - если Истина, то в модуле объекта отчета
|
// ** ПередФормированиемОтчета - Булево - если Истина, то в модуле объекта отчета
|
||||||
// следует определить обработчик события по шаблону:
|
// следует определить обработчик события по шаблону:
|
||||||
//
|
//
|
||||||
// // Позволяет предупредить пользователя перед формированием отчета,
|
|
||||||
// // на основе сделанных настроек, например, что отчет будет очень
|
|
||||||
// // долго формироваться и потребует много памяти.
|
|
||||||
// // Также позволяет рекомендовать настройку отборов.
|
|
||||||
// //
|
|
||||||
// // Параметры:
|
// // Параметры:
|
||||||
// // ФормаОтчета - ФормаКлиентскогоПриложения - форма отчета.
|
// // ФормаОтчета - ФормаКлиентскогоПриложения
|
||||||
// // ДополнительныеПараметры - Структура:
|
// // ДополнительныеПараметры - Структура:
|
||||||
// // * ТекстПредупреждения - Строка - возвращаемое значение, если указать непустую
|
// // * ТекстПредупреждения - Строка
|
||||||
// // строку пользователю будет задан вопрос с указанным текстом и
|
// // * ИмяПараметраХраненияОтказаОтПредупреждения - Строка
|
||||||
// // кнопками Продолжить / Отмена.
|
|
||||||
// // * ИмяПараметраХраненияОтказаОтПредупреждения - Строка - по умолчанию пусто,
|
|
||||||
// // если указать, пользователь сможет отказаться от предупреждения.
|
|
||||||
// // Для возобновления предупреждений нужно установить указанный параметр Ложь.
|
|
||||||
// //
|
// //
|
||||||
// Процедура Процедура ПередФормированиемОтчета(ФормаОтчета, ДополнительныеПараметры) Экспорт
|
// Процедура Процедура ПередФормированиемОтчета(ФормаОтчета, ДополнительныеПараметры) Экспорт
|
||||||
// // Обработка события.
|
//
|
||||||
// КонецПроцедуры
|
// КонецПроцедуры
|
||||||
//
|
//
|
||||||
Функция НастройкиОтчетаПоУмолчанию() Экспорт
|
Функция НастройкиОтчетаПоУмолчанию() Экспорт
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
|
|
||||||
// Вызывается в форме отчета и в форме настройки отчета перед выводом настройки
|
// Вызывается в форме отчета и в форме настройки отчета перед выводом настройки
|
||||||
// для указания дополнительных параметров выбора.
|
// для указания дополнительных параметров выбора.
|
||||||
//
|
// Это устаревшее событие, вместо него рекомендуется применять событие ПослеЗагрузкиНастроекВКомпоновщик модуля отчета.
|
||||||
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Форма - ФормаКлиентскогоПриложения
|
// Форма - ФормаКлиентскогоПриложения
|
||||||
// - РасширениеУправляемойФормыДляОтчета
|
// - РасширениеУправляемойФормыДляОтчета
|
||||||
|
|||||||
@@ -41,9 +41,9 @@
|
|||||||
// // В обработчике объекта отчета ПередЗагрузкойНастроекВКомпоновщик компоновщик настроек
|
// // В обработчике объекта отчета ПередЗагрузкойНастроекВКомпоновщик компоновщик настроек
|
||||||
// // инициализируется на основании схемы из общих макетов:
|
// // инициализируется на основании схемы из общих макетов:
|
||||||
// Если КлючСхемы <> "1" Тогда
|
// Если КлючСхемы <> "1" Тогда
|
||||||
// КлючСхемы = "1";
|
// КлючСхемы = "1";
|
||||||
// Схема = ПолучитьОбщийМакет("МояОбщаяСхемаКомпоновки");
|
// Схема = ПолучитьОбщийМакет("МояОбщаяСхемаКомпоновки");
|
||||||
// ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, Схема, КлючСхемы);
|
// ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, Схема, КлючСхемы);
|
||||||
// КонецЕсли;
|
// КонецЕсли;
|
||||||
//
|
//
|
||||||
Процедура ПодключитьСхему(Отчет, Контекст, Схема, КлючСхемы) Экспорт
|
Процедура ПодключитьСхему(Отчет, Контекст, Схема, КлючСхемы) Экспорт
|
||||||
|
|||||||
@@ -558,26 +558,10 @@
|
|||||||
|
|
||||||
#Область ЗаменаДублейВКлючахАналитики
|
#Область ЗаменаДублейВКлючахАналитики
|
||||||
|
|
||||||
// Возвращает связи подчиненных объектов с указанием типа поля связи.
|
// См. ОбщегоНазначения.СвязиПодчиненныхОбъектовПоТипам.
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// ТаблицаЗначений:
|
|
||||||
// * Ключ - Строка
|
|
||||||
// * ТипРеквизита - Тип
|
|
||||||
// * ИмяРеквизита - Строка
|
|
||||||
// * Используется - Булево
|
|
||||||
// * Метаданные - ОбъектМетаданных
|
|
||||||
//
|
|
||||||
Функция СвязиПодчиненныхОбъектовПоТипам() Экспорт
|
Функция СвязиПодчиненныхОбъектовПоТипам() Экспорт
|
||||||
|
|
||||||
СвязиПодчиненныхОбъектовПоТипам = Новый ТаблицаЗначений;
|
Возврат ОбщегоНазначения.СвязиПодчиненныхОбъектовПоТипам();
|
||||||
СвязиПодчиненныхОбъектовПоТипам.Колонки.Добавить("ТипРеквизита", Новый ОписаниеТипов("Тип"));
|
|
||||||
СвязиПодчиненныхОбъектовПоТипам.Колонки.Добавить("ИмяРеквизита", ОбщегоНазначения.ОписаниеТипаСтрока(0));
|
|
||||||
СвязиПодчиненныхОбъектовПоТипам.Колонки.Добавить("Ключ", ОбщегоНазначения.ОписаниеТипаСтрока(0));
|
|
||||||
СвязиПодчиненныхОбъектовПоТипам.Колонки.Добавить("Используется", Новый ОписаниеТипов("Булево"));
|
|
||||||
СвязиПодчиненныхОбъектовПоТипам.Колонки.Добавить("Метаданные");
|
|
||||||
|
|
||||||
Возврат СвязиПодчиненныхОбъектовПоТипам;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -287,13 +287,16 @@
|
|||||||
// Поддерживается вызов из сеанса без установленных разделителей (без обращения к базе данных).
|
// Поддерживается вызов из сеанса без установленных разделителей (без обращения к базе данных).
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ПользовательИБ - ПользовательИнформационнойБазы
|
// ПользовательИБ - ПользовательИнформационнойБазы
|
||||||
// Интерактивно - Булево - когда Истина, тогда не учитываются права, например, ВнешнееСоединение, Automation.
|
// Интерактивно - Булево - когда Истина, тогда не учитываются права,
|
||||||
|
// например, ВнешнееСоединение, Automation.
|
||||||
|
// ТолькоПраваНаЗапуск - Булево - если Истина, тогда проверяется только наличие прав на запуск,
|
||||||
|
// если Ложь, тогда проверяться еще и наличие минимальных прав для входа.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Булево
|
// Булево
|
||||||
//
|
//
|
||||||
Функция ЕстьПраваДляВходаВПрограмму(ПользовательИБ, Интерактивно = Истина) Экспорт
|
Функция ЕстьПраваДляВходаВПрограмму(ПользовательИБ, Интерактивно = Истина, ТолькоПраваНаЗапуск = Истина) Экспорт
|
||||||
|
|
||||||
Результат =
|
Результат =
|
||||||
ПравоДоступа("ТонкийКлиент", Метаданные, ПользовательИБ)
|
ПравоДоступа("ТонкийКлиент", Метаданные, ПользовательИБ)
|
||||||
@@ -307,6 +310,13 @@
|
|||||||
Или ПравоДоступа("ВнешнееСоединение", Метаданные, ПользовательИБ);
|
Или ПравоДоступа("ВнешнееСоединение", Метаданные, ПользовательИБ);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ТолькоПраваНаЗапуск Тогда
|
||||||
|
// АПК:515-выкл - №737.4 проверка роли, так как это признак минимальных прав для входа.
|
||||||
|
Результат = Результат И РолиДоступны("БазовыеПраваБСП,
|
||||||
|
|БазовыеПраваВнешнихПользователейБСП", ПользовательИБ, Ложь);
|
||||||
|
// АПК:515-вкл
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -1473,7 +1473,7 @@
|
|||||||
Обработчик.Процедура = "Константы.ИспользоватьГруппыВнешнихПользователей.Обновить";
|
Обработчик.Процедура = "Константы.ИспользоватьГруппыВнешнихПользователей.Обновить";
|
||||||
|
|
||||||
Обработчик = Обработчики.Добавить();
|
Обработчик = Обработчики.Добавить();
|
||||||
Обработчик.Версия = "3.1.8.31";
|
Обработчик.Версия = "3.1.8.289";
|
||||||
Обработчик.РежимВыполнения = "Оперативно";
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
Обработчик.Процедура = "РегистрыСведений.СведенияОПользователях.ОбновитьСведенияОПользователяхИОтключитьАутентификацию";
|
Обработчик.Процедура = "РегистрыСведений.СведенияОПользователях.ОбновитьСведенияОПользователяхИОтключитьАутентификацию";
|
||||||
Обработчик.Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
Обработчик.Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
|||||||
@@ -163,7 +163,12 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПараметрыРаботыКлиента.Свойство("ЗадатьВопросПроОтключениеOpenIDConnect") Тогда
|
Если ПараметрыРаботыКлиента.Свойство("ЗадатьВопросПроОтключениеOpenIDConnect") Тогда
|
||||||
ПодключитьОбработчикОжидания("ЗадатьВопросПроОтключениеOpenIDConnectОбработчикОжидания", 1, Истина);
|
ОповещениеНажатия = Новый ОписаниеОповещения("ЗадатьВопросПроОтключениеOpenIDConnect", ЭтотОбъект);
|
||||||
|
ЗаголовокСообщения = НСтр("ru = 'Предупреждение безопасности'");
|
||||||
|
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Отключите аутентификацию %1, если не используется.'"), "OpenID-Connect");
|
||||||
|
ПоказатьОповещениеПользователя(ЗаголовокСообщения, ОповещениеНажатия,
|
||||||
|
ТекстСообщения, БиблиотекаКартинок.Предупреждение32, СтатусОповещенияПользователя.Важное);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -233,7 +238,7 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Предлагает отключить аутентификацию OpenID-Connect после запуска.
|
// Предлагает отключить аутентификацию OpenID-Connect после запуска.
|
||||||
Процедура ЗадатьВопросПроОтключениеOpenIDConnect() Экспорт
|
Процедура ЗадатьВопросПроОтключениеOpenIDConnect(Контекст) Экспорт
|
||||||
|
|
||||||
ОбработкаЗавершения = Новый ОписаниеОповещения(
|
ОбработкаЗавершения = Новый ОписаниеОповещения(
|
||||||
"ЗадатьВопросПроОтключениеOpenIDConnectЗавершение", ЭтотОбъект);
|
"ЗадатьВопросПроОтключениеOpenIDConnectЗавершение", ЭтотОбъект);
|
||||||
@@ -249,8 +254,7 @@
|
|||||||
Кнопки.Добавить("НапомнитьПозже", НСтр("ru = 'Напомнить позже'"));
|
Кнопки.Добавить("НапомнитьПозже", НСтр("ru = 'Напомнить позже'"));
|
||||||
|
|
||||||
ДополнительныеПараметры = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
|
ДополнительныеПараметры = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
|
||||||
ДополнительныеПараметры.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ДополнительныеПараметры.Заголовок = НСтр("ru = 'Предупреждение безопасности'");
|
||||||
НСтр("ru = 'Аутентификация по протоколу %1'"), "OpenID-Connect");
|
|
||||||
ДополнительныеПараметры.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
|
ДополнительныеПараметры.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
|
||||||
|
|
||||||
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(ОбработкаЗавершения,
|
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(ОбработкаЗавершения,
|
||||||
|
|||||||
@@ -231,9 +231,7 @@
|
|||||||
|
|
||||||
Процедура ПроверитьНомерОбъектаПоДате(Объект)
|
Процедура ПроверитьНомерОбъектаПоДате(Объект)
|
||||||
|
|
||||||
Если Объект.ОбменДанными.Загрузка Тогда
|
Если Объект.ОбменДанными.Загрузка Или Объект.ЭтоНовый() Тогда
|
||||||
Возврат;
|
|
||||||
ИначеЕсли Объект.ЭтоНовый() Тогда
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -264,9 +262,7 @@
|
|||||||
|
|
||||||
Процедура ПроверитьНомерОбъектаПоДатеИОрганизации(Объект)
|
Процедура ПроверитьНомерОбъектаПоДатеИОрганизации(Объект)
|
||||||
|
|
||||||
Если Объект.ОбменДанными.Загрузка Тогда
|
Если Объект.ОбменДанными.Загрузка Или Объект.ЭтоНовый() Тогда
|
||||||
Возврат;
|
|
||||||
ИначеЕсли Объект.ЭтоНовый() Тогда
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -281,11 +277,7 @@
|
|||||||
|
|
||||||
Процедура ПроверитьКодОбъектаПоОрганизации(Объект)
|
Процедура ПроверитьКодОбъектаПоОрганизации(Объект)
|
||||||
|
|
||||||
Если Объект.ОбменДанными.Загрузка Тогда
|
Если Объект.ОбменДанными.Загрузка Или Объект.ЭтоНовый() Или Не РеквизитОрганизацияДоступен(Объект) Тогда
|
||||||
Возврат;
|
|
||||||
ИначеЕсли Объект.ЭтоНовый() Тогда
|
|
||||||
Возврат;
|
|
||||||
ИначеЕсли Не РеквизитОрганизацияДоступен(Объект) Тогда
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -530,16 +530,16 @@
|
|||||||
|
|
||||||
Уровни = Новый Соответствие;
|
Уровни = Новый Соответствие;
|
||||||
|
|
||||||
Уровни.Вставить("AREA", 1);
|
Уровни.Вставить("AREA", 1);
|
||||||
Уровни.Вставить("DISTRICT", 2);
|
Уровни.Вставить("DISTRICT", 2);
|
||||||
Уровни.Вставить("MUNDISTRICT", 3);
|
Уровни.Вставить("MUNDISTRICT", 3);
|
||||||
Уровни.Вставить("SETTLEMENT", 4);
|
Уровни.Вставить("SETTLEMENT", 4);
|
||||||
Уровни.Вставить("CITY", 5);
|
Уровни.Вставить("CITY", 5);
|
||||||
Уровни.Вставить("LOCALITY", 6);
|
Уровни.Вставить("LOCALITY", 6);
|
||||||
Уровни.Вставить("TERRITORY", 7);
|
Уровни.Вставить("TERRITORY", 7);
|
||||||
Уровни.Вставить("STREET", 8);
|
Уровни.Вставить("STREET", 8);
|
||||||
|
|
||||||
Возврат Уровни[ИмяУровня];
|
Возврат Уровни[ВРег(ИмяУровня)];
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -589,10 +589,10 @@
|
|||||||
//
|
//
|
||||||
Функция ОповещатьОНеобходимостиОбновленияКурсовВалют()
|
Функция ОповещатьОНеобходимостиОбновленияКурсовВалют()
|
||||||
|
|
||||||
Если ОбщегоНазначения.РазделениеВключено() Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
// В модели сервиса обновляются автоматически.
|
||||||
Возврат Ложь; // В модели сервиса обновляются автоматически.
|
Если ОбщегоНазначения.РазделениеВключено() Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()
|
||||||
ИначеЕсли Не ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют) Тогда
|
Или Не ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют) Тогда
|
||||||
Возврат Ложь; // Пользователь не может обновлять курсы валют.
|
Возврат Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВключитьОповещение = Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела");
|
ВключитьОповещение = Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела");
|
||||||
|
|||||||
@@ -189,6 +189,7 @@
|
|||||||
РаботаСФайламиСлужебный.ЗанятьФайлДляРедактированияСервер(ФайлОбъект);
|
РаботаСФайламиСлужебный.ЗанятьФайлДляРедактированияСервер(ФайлОбъект);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
СсылкаНаДвоичныеДанныеФайла = Неопределено;
|
СсылкаНаДвоичныеДанныеФайла = Неопределено;
|
||||||
@@ -1815,7 +1816,7 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Запрос = Новый Запрос(СтрСоединить(ТекстыЗапроса, "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС)); // @query-part
|
Запрос = Новый Запрос(СтрСоединить(ТекстыЗапроса, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС)); // @query-part
|
||||||
Запрос.УстановитьПараметр("ВладелецФайла", Источник.Ссылка);
|
Запрос.УстановитьПараметр("ВладелецФайла", Источник.Ссылка);
|
||||||
|
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
|||||||
@@ -100,21 +100,17 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
// - Структура - элемент
|
// - см. См. РаботаСФайламиВТомахСлужебный.ПараметрыДобавленияФайла - элемент справочника
|
||||||
// справочника присоединенных файлов, данные которого сохраняются
|
// присоединенных файлов, данные которого сохраняются в том
|
||||||
// в том, или структура со свойствами, необходимыми для сохранения
|
// или структура со свойствами, необходимыми для сохранения данных в том.
|
||||||
// данных в том.
|
|
||||||
// Свойства структуры: См. РаботаСФайламиВТомахСлужебный.ПараметрыДобавленияФайла.
|
|
||||||
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
||||||
// - Строка - двоичные данные файла или полный путь
|
// - Строка - двоичные данные файла или полный путь к файлу на диске.
|
||||||
// к файлу на диске.
|
|
||||||
// ДатаДляРазмещенияВТоме - Дата - если не указано, то используется текущее время сеанса.
|
// ДатаДляРазмещенияВТоме - Дата - если не указано, то используется текущее время сеанса.
|
||||||
// ЗаполнятьСлужебныйРеквизитХранилище - Булево - если параметр принимает значение Истина, двоичные данные
|
// ЗаполнятьСлужебныйРеквизитХранилище - Булево - если параметр принимает значение Истина, двоичные данные
|
||||||
// файла будут дополнительно помещены в служебный реквизит ФайлХранилище.
|
// файла будут дополнительно помещены в служебный реквизит ФайлХранилище.
|
||||||
// ТомДляРазмещения - СправочникСсылка.ТомаХраненияФайлов
|
// ТомДляРазмещения - СправочникСсылка.ТомаХраненияФайлов
|
||||||
// - Неопределено - если параметр
|
// - Неопределено - если параметр заполнен, файлы будут принудительно помещаться в указанный том,
|
||||||
// заполнен, файлы будут принудительно помещаться в указанный том,
|
// иначе том будет выбран автоматически.
|
||||||
// иначе - том будет выбран автоматически.
|
|
||||||
//
|
//
|
||||||
Процедура ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть,
|
Процедура ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть,
|
||||||
ДатаДляРазмещенияВТоме = Неопределено, ЗаполнятьСлужебныйРеквизитХранилище = Ложь, ТомДляРазмещения = Неопределено) Экспорт
|
ДатаДляРазмещенияВТоме = Неопределено, ЗаполнятьСлужебныйРеквизитХранилище = Ложь, ТомДляРазмещения = Неопределено) Экспорт
|
||||||
@@ -137,21 +133,17 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
// - Структура - элемент
|
// - см. РаботаСФайламиВТомахСлужебный.ПараметрыДобавленияФайла - элемент справочника
|
||||||
// справочника присоединенных файлов, данные которого сохраняются
|
// присоединенных файлов, данные которого сохраняются
|
||||||
// в том, или структура со свойствами, необходимыми для сохранения
|
// в том, или структура со свойствами, необходимыми для сохранения данных в том.
|
||||||
// данных в том.
|
|
||||||
// Свойства структуры: См. РаботаСФайламиВТомахСлужебный.ПараметрыДобавленияФайла.
|
|
||||||
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
||||||
// - Строка - двоичные данные файла или полный путь
|
// - Строка - двоичные данные файла или полный путь к файлу на диске.
|
||||||
// к файлу на диске.
|
|
||||||
// ДатаДляРазмещенияВТоме - Дата - если не указано, то используется текущее время сеанса.
|
// ДатаДляРазмещенияВТоме - Дата - если не указано, то используется текущее время сеанса.
|
||||||
// ЗаполнятьСлужебныйРеквизитХранилище - Булево - если параметр принимает значение Истина, двоичные данные
|
// ЗаполнятьСлужебныйРеквизитХранилище - Булево - если параметр принимает значение Истина, двоичные данные
|
||||||
// файла будут дополнительно помещены в служебный реквизит ФайлХранилище.
|
// файла будут дополнительно помещены в служебный реквизит ФайлХранилище.
|
||||||
// ТомДляРазмещения - СправочникСсылка.ТомаХраненияФайлов
|
// ТомДляРазмещения - СправочникСсылка.ТомаХраненияФайлов
|
||||||
// - Неопределено - если параметр
|
// - Неопределено - если параметр заполнен, файлы будут принудительно помещаться в указанный том,
|
||||||
// заполнен, файлы будут принудительно помещаться в указанный том,
|
// иначе том будет выбран автоматически.
|
||||||
// иначе - том будет выбран автоматически.
|
|
||||||
//
|
//
|
||||||
Процедура ЗаполнитьСведенияОФайле(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть,
|
Процедура ЗаполнитьСведенияОФайле(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть,
|
||||||
ДатаДляРазмещенияВТоме = Неопределено, ЗаполнятьСлужебныйРеквизитХранилище = Ложь) Экспорт
|
ДатаДляРазмещенияВТоме = Неопределено, ЗаполнятьСлужебныйРеквизитХранилище = Ложь) Экспорт
|
||||||
@@ -196,7 +188,6 @@
|
|||||||
ПрисоединенныйФайл.Расширение = СтрЗаменить(ПрисоединенныйФайл.Расширение, ".", "");
|
ПрисоединенныйФайл.Расширение = СтрЗаменить(ПрисоединенныйФайл.Расширение, ".", "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
РазмерФайла = ПрисоединенныйФайл.Размер;
|
|
||||||
ТипХраненияФайла = ПрисоединенныйФайл.ТипХраненияФайла;
|
ТипХраненияФайла = ПрисоединенныйФайл.ТипХраненияФайла;
|
||||||
Если НЕ ЗначениеЗаполнено(ТипХраненияФайла) Тогда
|
Если НЕ ЗначениеЗаполнено(ТипХраненияФайла) Тогда
|
||||||
ТипХраненияФайла = РаботаСФайламиСлужебный.ТипХраненияФайла(ПрисоединенныйФайл.Размер, ПрисоединенныйФайл.Расширение);
|
ТипХраненияФайла = РаботаСФайламиСлужебный.ТипХраненияФайла(ПрисоединенныйФайл.Размер, ПрисоединенныйФайл.Расширение);
|
||||||
@@ -224,18 +215,7 @@
|
|||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
ТомХранения = СвободныйТом(РазмерФайла);
|
ПрисоединенныйФайл.Том = СвободныйТом(ПрисоединенныйФайл);
|
||||||
Если ТомХранения = Неопределено Тогда
|
|
||||||
|
|
||||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
НСтр("ru = 'Не удалось добавить файл ""%1"" ни в один из томов, т.к. в томах недостаточно места.'"),
|
|
||||||
ПрисоединенныйФайл.Наименование + "." + ПрисоединенныйФайл.Расширение);
|
|
||||||
|
|
||||||
ВызватьИсключение ТекстОшибки;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПрисоединенныйФайл.Том = ТомХранения;
|
|
||||||
ПрисоединенныйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
|
ПрисоединенныйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
|
||||||
|
|
||||||
СвойстваФайла = СвойстваФайлаВТоме();
|
СвойстваФайла = СвойстваФайлаВТоме();
|
||||||
@@ -245,7 +225,7 @@
|
|||||||
ПрисоединенныйФайл.Владелец, "ВладелецФайла");
|
ПрисоединенныйФайл.Владелец, "ВладелецФайла");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПутьКТому = ПолныйПутьТома(ТомХранения);
|
ПутьКТому = ПолныйПутьТома(ПрисоединенныйФайл.Том);
|
||||||
ПутьКФайлу = ПолноеИмяФайлаВТоме(СвойстваФайла, ДатаДляРазмещенияВТоме);
|
ПутьКФайлу = ПолноеИмяФайлаВТоме(СвойстваФайла, ДатаДляРазмещенияВТоме);
|
||||||
|
|
||||||
ПрисоединенныйФайл.ПутьКФайлу = Сред(ПутьКФайлу, СтрДлина(ПутьКТому) + 1);
|
ПрисоединенныйФайл.ПутьКФайлу = Сред(ПутьКФайлу, СтрДлина(ПутьКТому) + 1);
|
||||||
@@ -734,19 +714,21 @@
|
|||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
// Возвращает соответствие томов и суммарных размеров всех файлов в томе в байтах.
|
// Возвращает размеры всех файлов в каждом указанном томе в байтах.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Тома - Массив из СправочникСсылка.ТомаХраненияФайлов - том, размер которого необходимо посчитать.
|
// Тома - Массив из СправочникСсылка.ТомаХраненияФайлов
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие - размер томов .
|
// Соответствие из КлючЗначение:
|
||||||
|
// * Ключ - СправочникСсылка.ТомаХраненияФайлов
|
||||||
|
// * Значение - Число
|
||||||
//
|
//
|
||||||
Функция ОбъемыТомов(Тома)
|
Функция ОбъемыТомов(Тома)
|
||||||
|
|
||||||
Результат = Новый Соответствие;
|
Результат = Новый Соответствие;
|
||||||
Для Каждого Том Из Тома Цикл
|
Для Каждого Том Из Тома Цикл
|
||||||
Результат.Вставить(Том, 0);
|
Результат[Том] = 0;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||||
@@ -754,8 +736,9 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТипыПрисоединенныхФайлов = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы();
|
ТипыПрисоединенныхФайлов = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы();
|
||||||
|
ТекстыЗапросов = Новый Массив;
|
||||||
|
|
||||||
ТекстЗапросаПрисоединенныхФайлов =
|
ТекстЗапроса =
|
||||||
"ВЫБРАТЬ
|
"ВЫБРАТЬ
|
||||||
| Версии.Том КАК Том,
|
| Версии.Том КАК Том,
|
||||||
| ЕСТЬNULL(Версии.Размер, 0) КАК РазмерФайлов
|
| ЕСТЬNULL(Версии.Размер, 0) КАК РазмерФайлов
|
||||||
@@ -763,6 +746,15 @@
|
|||||||
| Справочник.ВерсииФайлов КАК Версии
|
| Справочник.ВерсииФайлов КАК Версии
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
| Версии.Том В (&Тома)";
|
| Версии.Том В (&Тома)";
|
||||||
|
ТекстыЗапросов.Добавить(ТекстЗапроса);
|
||||||
|
|
||||||
|
ШаблонаТекстаЗапроса = "ВЫБРАТЬ
|
||||||
|
| ПрисоединенныеФайлы.Том,
|
||||||
|
| ЕСТЬNULL(ПрисоединенныеФайлы.Размер, 0)
|
||||||
|
|ИЗ
|
||||||
|
| &ИмяСправочника КАК ПрисоединенныеФайлы
|
||||||
|
|ГДЕ
|
||||||
|
| ПрисоединенныеФайлы.Том В (&Тома)";
|
||||||
|
|
||||||
Для Каждого Тип Из ТипыПрисоединенныхФайлов Цикл
|
Для Каждого Тип Из ТипыПрисоединенныхФайлов Цикл
|
||||||
|
|
||||||
@@ -777,38 +769,26 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТекстЗапросаПоСправочнику = "ВЫБРАТЬ
|
ТекстыЗапросов.Добавить(СтрЗаменить(ШаблонаТекстаЗапроса, "&ИмяСправочника",
|
||||||
| ПрисоединенныеФайлы.Том,
|
Метаданные.НайтиПоТипу(Тип).ПолноеИмя()));
|
||||||
| ЕСТЬNULL(ПрисоединенныеФайлы.Размер, 0)
|
|
||||||
|ИЗ
|
|
||||||
| &ИмяСправочника КАК ПрисоединенныеФайлы
|
|
||||||
|ГДЕ
|
|
||||||
| ПрисоединенныеФайлы.Том В (&Тома)";
|
|
||||||
|
|
||||||
ТекстЗапросаПрисоединенныхФайлов = ТекстЗапросаПрисоединенныхФайлов + "
|
|
||||||
|
|
|
||||||
|ОБЪЕДИНИТЬ ВСЕ
|
|
||||||
|
|
|
||||||
|" + СтрЗаменить(ТекстЗапросаПоСправочнику, "&ИмяСправочника",
|
|
||||||
Метаданные.НайтиПоТипу(Тип).ПолноеИмя());
|
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
ТекстЗапроса =
|
||||||
Запрос.Текст = "ВЫБРАТЬ
|
"ВЫБРАТЬ
|
||||||
| ВложенныйЗапрос.Том,
|
| ВложенныйЗапрос.Том,
|
||||||
| СУММА(ВложенныйЗапрос.РазмерФайлов) КАК РазмерФайлов
|
| СУММА(ВложенныйЗапрос.РазмерФайлов) КАК РазмерФайлов
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| &ТекстЗапросаПрисоединенныхФайлов КАК ВложенныйЗапрос
|
| &ТекстЗапросаПрисоединенныхФайлов КАК ВложенныйЗапрос
|
||||||
|СГРУППИРОВАТЬ ПО
|
|СГРУППИРОВАТЬ ПО
|
||||||
| ВложенныйЗапрос.Том";
|
| ВложенныйЗапрос.Том";
|
||||||
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаПрисоединенныхФайлов",
|
||||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТекстЗапросаПрисоединенныхФайлов", ТекстЗапросаПрисоединенныхФайлов);
|
"(" + СтрСоединить(ТекстыЗапросов, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС) + ")"); // @query-part
|
||||||
|
|
||||||
|
Запрос = Новый Запрос(ТекстЗапроса);
|
||||||
Запрос.Параметры.Вставить("Тома", Тома);
|
Запрос.Параметры.Вставить("Тома", Тома);
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
Пока Выборка.Следующий() Цикл
|
Пока Выборка.Следующий() Цикл
|
||||||
Результат.Вставить(Выборка.Том, Выборка.РазмерФайлов);
|
Результат[Выборка.Том] = Выборка.РазмерФайлов;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
@@ -834,8 +814,7 @@
|
|||||||
// Параметры:
|
// Параметры:
|
||||||
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
// ДвоичныеДанныеИлиПуть - ДвоичныеДанные
|
||||||
// - Строка - двоичные данные файла или полный путь
|
// - Строка - двоичные данные файла или полный путь к файлу на диске.
|
||||||
// к файлу на диске.
|
|
||||||
//
|
//
|
||||||
Процедура ЗаписатьДанныеФайлаВТом(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть)
|
Процедура ЗаписатьДанныеФайлаВТом(ПрисоединенныйФайл, ДвоичныеДанныеИлиПуть)
|
||||||
|
|
||||||
@@ -1934,15 +1913,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает первый том по порядку заполнения, в который можно поместить файл указанного размера.
|
// Возвращает первый том по порядку заполнения, в который можно поместить указанный файл.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// РазмерФайла - Число - размер помещаемого файла в байтах.
|
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
|
// - см. РаботаСФайламиВТомахСлужебный.ПараметрыДобавленияФайла
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// СправочникСсылка.ТомаХраненияФайлов - том, в который можно поместить файл.
|
// СправочникСсылка.ТомаХраненияФайлов
|
||||||
//
|
//
|
||||||
Функция СвободныйТом(РазмерФайла)
|
Функция СвободныйТом(ПрисоединенныйФайл)
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
@@ -1959,33 +1939,40 @@
|
|||||||
|УПОРЯДОЧИТЬ ПО
|
|УПОРЯДОЧИТЬ ПО
|
||||||
| ТомаХраненияФайлов.ПорядокЗаполнения";
|
| ТомаХраненияФайлов.ПорядокЗаполнения";
|
||||||
Результат = Запрос.Выполнить();
|
Результат = Запрос.Выполнить();
|
||||||
|
|
||||||
Если Результат.Пустой() Тогда
|
Если Результат.Пустой() Тогда
|
||||||
ВызватьИсключение НСтр("ru = 'Нет ни одного тома для размещения файла.'");
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось добавить файл ""%1"",
|
||||||
|
|т.к. не настроено ни одного тома для хранения файлов.
|
||||||
|
|Обратитесь к администратору.'"),
|
||||||
|
ПрисоединенныйФайл.Наименование + "." + ПрисоединенныйФайл.Расширение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
МассивТомов = Результат.Выгрузить().ВыгрузитьКолонку("Ссылка");
|
ТомаХраненияФайлов = Результат.Выгрузить();
|
||||||
ОбъемыТомов = Неопределено;
|
ОбъемыТомов = Неопределено;
|
||||||
|
|
||||||
ВыборкаТомов = Результат.Выбрать();
|
Для каждого ТомХраненияФайлов Из ТомаХраненияФайлов Цикл
|
||||||
Пока ВыборкаТомов.Следующий() Цикл
|
|
||||||
|
|
||||||
Если ВыборкаТомов.МаксимальныйРазмер = 0 Тогда
|
Если ТомХраненияФайлов.МаксимальныйРазмер = 0 Тогда
|
||||||
Возврат ВыборкаТомов.Ссылка;
|
Возврат ТомХраненияФайлов.Ссылка;
|
||||||
Иначе
|
КонецЕсли;
|
||||||
Если ОбъемыТомов = Неопределено Тогда
|
|
||||||
// @skip-check query-in-loop - Разовый вызов
|
Если ОбъемыТомов = Неопределено Тогда
|
||||||
ОбъемыТомов = ОбъемыТомов(МассивТомов);
|
// @skip-check query-in-loop - Разовый вызов
|
||||||
КонецЕсли;
|
ОбъемыТомов = ОбъемыТомов(ТомаХраненияФайлов.ВыгрузитьКолонку("Ссылка"));
|
||||||
ОбъемТома = ОбъемыТомов[ВыборкаТомов.Ссылка];
|
КонецЕсли;
|
||||||
Если ОбъемТома + РазмерФайла <= ВыборкаТомов.МаксимальныйРазмер * 1024 * 1024 Тогда
|
ОбъемТома = ОбъемыТомов[ТомХраненияФайлов.Ссылка];
|
||||||
Возврат ВыборкаТомов.Ссылка;
|
Если ОбъемТома + ПрисоединенныйФайл.Размер <= ТомХраненияФайлов.МаксимальныйРазмер * 1024 * 1024 Тогда
|
||||||
КонецЕсли;
|
Возврат ТомХраненияФайлов.Ссылка;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Неопределено;
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Не удалось добавить файл ""%1"",
|
||||||
|
|т.к. в томах хранения файлов недостаточно места.
|
||||||
|
|Обратитесь к администратору.'"),
|
||||||
|
ПрисоединенныйФайл.Наименование + "." + ПрисоединенныйФайл.Расширение);
|
||||||
|
ВызватьИсключение ТекстОшибки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -8877,15 +8877,8 @@
|
|||||||
ТекстСобытия = НСтр("ru = 'Начало освобождения файлов, захваченных облачным сервисом.'");
|
ТекстСобытия = НСтр("ru = 'Начало освобождения файлов, захваченных облачным сервисом.'");
|
||||||
ЗаписатьВЖурналСобытийСинхронизацииФайлов(ТекстСобытия, ПараметрыСинхронизации.УчетнаяЗапись);
|
ЗаписатьВЖурналСобытийСинхронизацииФайлов(ТекстСобытия, ПараметрыСинхронизации.УчетнаяЗапись);
|
||||||
|
|
||||||
ДеревоФайловСервера = Новый ДеревоЗначений;
|
ДеревоФайловСервера = СформироватьСтруктуруДереваФайловСервера();
|
||||||
ДеревоФайловСервера.Колонки.Добавить("Href");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("UID1C");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("Etag");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("ИмяФайла");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("ЭтоПапка");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("ДатаМодификации");
|
|
||||||
ДеревоФайловСервера.Колонки.Добавить("Длина");
|
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
|
|
||||||
Отказ = Ложь;
|
Отказ = Ложь;
|
||||||
|
|||||||
@@ -656,8 +656,7 @@
|
|||||||
// *** АдресВоВременномХранилище - Строка - адрес двоичных данных вложения во временном хранилище.
|
// *** АдресВоВременномХранилище - Строка - адрес двоичных данных вложения во временном хранилище.
|
||||||
// *** Кодировка - Строка - кодировка вложения (используется, если отличается от кодировки письма).
|
// *** Кодировка - Строка - кодировка вложения (используется, если отличается от кодировки письма).
|
||||||
// *** Идентификатор - Строка - (необязательный) используется для отметки картинок, отображаемых в теле письма.
|
// *** Идентификатор - Строка - (необязательный) используется для отметки картинок, отображаемых в теле письма.
|
||||||
// ** АдресОтвета - Соответствие
|
// ** АдресОтвета - Строка - E-mail адрес, на который будут приходить ответы на рассылку.
|
||||||
// - Строка - см. описание поля Кому.
|
|
||||||
// ** ИдентификаторыОснований - Строка - идентификаторы оснований данного письма.
|
// ** ИдентификаторыОснований - Строка - идентификаторы оснований данного письма.
|
||||||
// ** ОбрабатыватьТексты - Булево - необходимость обрабатывать тексты письма при отправке.
|
// ** ОбрабатыватьТексты - Булево - необходимость обрабатывать тексты письма при отправке.
|
||||||
// ** УведомитьОДоставке - Булево - необходимость запроса уведомления о доставке.
|
// ** УведомитьОДоставке - Булево - необходимость запроса уведомления о доставке.
|
||||||
@@ -1560,6 +1559,12 @@
|
|||||||
ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить();
|
ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить();
|
||||||
ТаблицаПолучателей = Рассылка.Получатели.Выгрузить();
|
ТаблицаПолучателей = Рассылка.Получатели.Выгрузить();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
МассивПолучателей = Новый Массив;
|
||||||
|
|
||||||
|
Если ПолучателиМетаданные = Неопределено Или ПолучателиМетаданные = Null Тогда
|
||||||
|
Возврат МассивПолучателей;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
Запрос = Новый Запрос;
|
||||||
Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда
|
Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда
|
||||||
@@ -1646,9 +1651,6 @@
|
|||||||
ТекстСообщенияОбОшибкеДляЖурналаРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ТекстСообщенияОбОшибкеДляЖурналаРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'Не удалось сформировать список получателей ""%1"" по причине:'"), Строка(ТипПолучателей));
|
НСтр("ru = 'Не удалось сформировать список получателей ""%1"" по причине:'"), Строка(ТипПолучателей));
|
||||||
|
|
||||||
МассивПолучателей = Новый Массив;
|
|
||||||
|
|
||||||
|
|
||||||
// Механизм расширения
|
// Механизм расширения
|
||||||
СписокПолучателей = Новый Соответствие;
|
СписокПолучателей = Новый Соответствие;
|
||||||
Попытка
|
Попытка
|
||||||
@@ -1818,9 +1820,8 @@
|
|||||||
// Определить, что отчет реализован на базе системы компоновки данных.
|
// Определить, что отчет реализован на базе системы компоновки данных.
|
||||||
Если ТипЗнч(ПараметрыОтчета.Настройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
Если ТипЗнч(ПараметрыОтчета.Настройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
||||||
ПараметрыОтчета.СКД = Истина;
|
ПараметрыОтчета.СКД = Истина;
|
||||||
ИначеЕсли ТипЗнч(ПараметрыОтчета.Настройки) = Тип("ТаблицаЗначений") Тогда
|
ИначеЕсли ТипЗнч(ПараметрыОтчета.Настройки) = Тип("ТаблицаЗначений")
|
||||||
ПараметрыОтчета.СКД = Ложь;
|
Или ТипЗнч(ПараметрыОтчета.Настройки) = Тип("Структура") Тогда
|
||||||
ИначеЕсли ТипЗнч(ПараметрыОтчета.Настройки) = Тип("Структура") Тогда
|
|
||||||
ПараметрыОтчета.СКД = Ложь;
|
ПараметрыОтчета.СКД = Ложь;
|
||||||
Иначе
|
Иначе
|
||||||
ПараметрыОтчета.СКД = (ПараметрыОтчета.Объект.СхемаКомпоновкиДанных <> Неопределено);
|
ПараметрыОтчета.СКД = (ПараметрыОтчета.Объект.СхемаКомпоновкиДанных <> Неопределено);
|
||||||
@@ -3094,8 +3095,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПараметрыДоставки.Получатель <> Неопределено Тогда
|
Если ПараметрыДоставки.Получатель <> Неопределено Тогда
|
||||||
|
Если ПараметрыДоставки.СкрытыеКопии Тогда
|
||||||
АдресаПолучателя = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.Кому);
|
АдресаПолучателя = ?(ТипЗнч(ПараметрыПисьма.СкрытыеКопии) = Тип("Строка"),
|
||||||
|
ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.СкрытыеКопии), ПараметрыПисьма.СкрытыеКопии);
|
||||||
|
Иначе
|
||||||
|
АдресаПолучателя = ?(ТипЗнч(ПараметрыПисьма.Кому) = Тип("Строка"),
|
||||||
|
ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.Кому), ПараметрыПисьма.Кому);
|
||||||
|
КонецЕсли;
|
||||||
Для Каждого Кому Из АдресаПолучателя Цикл
|
Для Каждого Кому Из АдресаПолучателя Цикл
|
||||||
ПредставлениеПолучателя = Строка(ПараметрыДоставки.Получатель) + " (" + Кому.Адрес + ")";
|
ПредставлениеПолучателя = Строка(ПараметрыДоставки.Получатель) + " (" + Кому.Адрес + ")";
|
||||||
|
|
||||||
@@ -3203,30 +3209,52 @@
|
|||||||
Сообщение.ДополнительныеПараметры.ФорматПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.ОбычныйТекст;
|
Сообщение.ДополнительныеПараметры.ФорматПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.ОбычныйТекст;
|
||||||
Иначе
|
Иначе
|
||||||
Сообщение.ДополнительныеПараметры.ФорматПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML;
|
Сообщение.ДополнительныеПараметры.ФорматПисьма = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ПараметрыДоставки.Получатель) Тогда
|
Если ЗначениеЗаполнено(ПараметрыДоставки.Получатель) Тогда
|
||||||
ПредставлениеПолучателя = Строка(ПараметрыДоставки.Получатель);
|
ПредставлениеПолучателя = Строка(ПараметрыДоставки.Получатель);
|
||||||
АдресаПолучателя = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.Кому);
|
Если ПараметрыДоставки.СкрытыеКопии Тогда
|
||||||
|
АдресаПолучателя = ?(ТипЗнч(ПараметрыПисьма.СкрытыеКопии) = Тип("Строка"),
|
||||||
|
ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.СкрытыеКопии), ПараметрыПисьма.СкрытыеКопии);
|
||||||
|
ИмяТаблицыПолучателей = "ПолучателиСкрытыхКопий";
|
||||||
|
Иначе
|
||||||
|
АдресаПолучателя = ?(ТипЗнч(ПараметрыПисьма.Кому) = Тип("Строка"),
|
||||||
|
ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(ПараметрыПисьма.Кому), ПараметрыПисьма.Кому);
|
||||||
|
ИмяТаблицыПолучателей = "Получатели";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого Кому Из АдресаПолучателя Цикл
|
Для Каждого Кому Из АдресаПолучателя Цикл
|
||||||
НоваяСтрока = Сообщение.Получатели.Добавить();
|
НоваяСтрока = Сообщение[ИмяТаблицыПолучателей].Добавить();
|
||||||
НоваяСтрока.Адрес = Кому.Адрес;
|
НоваяСтрока.Адрес = Кому.Адрес;
|
||||||
НоваяСтрока.Представление = ПредставлениеПолучателя + " (" + Кому.Адрес + ")";
|
НоваяСтрока.Представление = ПредставлениеПолучателя + " (" + Кому.Адрес + ")";
|
||||||
НоваяСтрока.ИсточникКонтактнойИнформации = ПараметрыДоставки.Получатель;
|
НоваяСтрока.ИсточникКонтактнойИнформации = ПараметрыДоставки.Получатель;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
Иначе
|
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыДоставки.СкрытыеКопии Тогда
|
||||||
|
ИмяТаблицыПолучателей = "ПолучателиСкрытыхКопий";
|
||||||
|
Иначе
|
||||||
|
ИмяТаблицыПолучателей = "Получатели";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого Получатель Из ПараметрыДоставки.Получатели Цикл
|
Для Каждого Получатель Из ПараметрыДоставки.Получатели Цикл
|
||||||
ПредставлениеПолучателя = Строка(Получатель.Ключ);
|
ПредставлениеПолучателя = Строка(Получатель.Ключ);
|
||||||
АдресаПолучателя = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(Получатель.Значение);
|
АдресаПолучателя = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(Получатель.Значение);
|
||||||
Для Каждого Кому Из АдресаПолучателя Цикл
|
Для Каждого Кому Из АдресаПолучателя Цикл
|
||||||
НоваяСтрока = Сообщение.Получатели.Добавить();
|
НоваяСтрока = Сообщение[ИмяТаблицыПолучателей].Добавить();
|
||||||
НоваяСтрока.Адрес = Кому.Адрес;
|
НоваяСтрока.Адрес = Кому.Адрес;
|
||||||
НоваяСтрока.Представление = ПредставлениеПолучателя + " (" + Кому.Адрес + ")";
|
НоваяСтрока.Представление = ПредставлениеПолучателя + " (" + Кому.Адрес + ")";
|
||||||
НоваяСтрока.ИсточникКонтактнойИнформации = Получатель.Ключ;
|
НоваяСтрока.ИсточникКонтактнойИнформации = Получатель.Ключ;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ПараметрыПисьма.АдресОтвета) Тогда
|
||||||
|
НоваяСтрока = Сообщение.ПолучателиОтвета.Добавить();
|
||||||
|
НоваяСтрока.Адрес = ПараметрыПисьма.АдресОтвета;
|
||||||
|
НоваяСтрока.Представление = ПараметрыПисьма.АдресОтвета;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого Картинка Из ПараметрыДоставки.Картинки Цикл
|
Для Каждого Картинка Из ПараметрыДоставки.Картинки Цикл
|
||||||
СтрокаВложение = Сообщение.Вложения.Добавить();
|
СтрокаВложение = Сообщение.Вложения.Добавить();
|
||||||
ФайлКартинка = Картинка.Значение.ПолучитьДвоичныеДанные();
|
ФайлКартинка = Картинка.Значение.ПолучитьДвоичныеДанные();
|
||||||
|
|||||||
@@ -381,8 +381,7 @@
|
|||||||
// ** Кодировка - Строка - кодировка вложения (используется, если отличается от кодировки письма).
|
// ** Кодировка - Строка - кодировка вложения (используется, если отличается от кодировки письма).
|
||||||
// ** Идентификатор - Строка - (необязательный) используется для отметки картинок, отображаемых в теле письма.
|
// ** Идентификатор - Строка - (необязательный) используется для отметки картинок, отображаемых в теле письма.
|
||||||
//
|
//
|
||||||
// * АдресОтвета - Соответствие
|
// * АдресОтвета - Строка - E-mail адрес, на который будут приходить ответы на рассылку.
|
||||||
// - Строка - см. описание поля Кому.
|
|
||||||
// * ИдентификаторыОснований - Строка - идентификаторы оснований данного письма.
|
// * ИдентификаторыОснований - Строка - идентификаторы оснований данного письма.
|
||||||
// * ОбрабатыватьТексты - Булево - необходимость обрабатывать тексты письма при отправке.
|
// * ОбрабатыватьТексты - Булево - необходимость обрабатывать тексты письма при отправке.
|
||||||
// * УведомитьОДоставке - Булево - необходимость запроса уведомления о доставке.
|
// * УведомитьОДоставке - Булево - необходимость запроса уведомления о доставке.
|
||||||
|
|||||||
@@ -355,11 +355,19 @@
|
|||||||
НаборЗаписей.Записать();
|
НаборЗаписей.Записать();
|
||||||
|
|
||||||
Если ЗапуститьДоставкуСОтсрочкой Тогда
|
Если ЗапуститьДоставкуСОтсрочкой Тогда
|
||||||
Если ЗначениеЗаполнено(ДополнительныеПараметры.СобытиеЖурналаПриОтсрочкеДоставки) Тогда
|
Запущено = Ложь;
|
||||||
|
ЗапуститьДоставкуСерверныхОповещенийСОтсрочкой(Запущено);
|
||||||
|
Если Запущено И ЗначениеЗаполнено(ДополнительныеПараметры.СобытиеЖурналаПриОтсрочкеДоставки) Тогда
|
||||||
|
Попытка
|
||||||
|
ВызватьИсключение НСтр("ru = 'Стек вызовов:'");
|
||||||
|
Исключение
|
||||||
|
СтекВызовов = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||||
|
КонецПопытки;
|
||||||
|
Комментарий = ДополнительныеПараметры.КомментарийЖурналаПриОтсрочкеДоставки;
|
||||||
|
Комментарий = Комментарий + ?(ЗначениеЗаполнено(Комментарий), Символы.ПС, "") + СтекВызовов;
|
||||||
ЗаписьЖурналаРегистрации(ДополнительныеПараметры.СобытиеЖурналаПриОтсрочкеДоставки,
|
ЗаписьЖурналаРегистрации(ДополнительныеПараметры.СобытиеЖурналаПриОтсрочкеДоставки,
|
||||||
УровеньЖурналаРегистрации.Информация,,, ДополнительныеПараметры.КомментарийЖурналаПриОтсрочкеДоставки);
|
УровеньЖурналаРегистрации.Информация,,, Комментарий);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ЗапуститьДоставкуСерверныхОповещенийСОтсрочкой();
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -1696,10 +1704,12 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Для процедуры ОтправитьСерверноеОповещениеСИдентификаторомГруппы.
|
// Для процедуры ОтправитьСерверноеОповещениеСИдентификаторомГруппы.
|
||||||
Процедура ЗапуститьДоставкуСерверныхОповещенийСОтсрочкой()
|
Процедура ЗапуститьДоставкуСерверныхОповещенийСОтсрочкой(Запущено = Ложь)
|
||||||
|
|
||||||
Если Не ТекущийПользовательЗарегистрированВСистемеВзаимодействия()
|
Если Не ТекущийПользовательЗарегистрированВСистемеВзаимодействия()
|
||||||
Или ОбщегоНазначения.ИнформационнаяБазаФайловая() // Запуск не имеет смысла, так как новое задание будет ждать задание длительной операции.
|
Или ОбщегоНазначения.ИнформационнаяБазаФайловая() // Запуск не имеет смысла, так как новое задание будет ждать задание длительной операции.
|
||||||
|
Или МонопольныйРежим() // Запуск недопустим, так изменения в сеансе будут заблокированы.
|
||||||
|
Или ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы()
|
||||||
Или ДоставкаСерверныхОповещенийСОтсрочкойУжеВыполняется() Тогда
|
Или ДоставкаСерверныхОповещенийСОтсрочкойУжеВыполняется() Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -1715,6 +1725,8 @@
|
|||||||
|
|
||||||
ФоновыеЗадания.Выполнить(ИмяМетодаЗаданияДоставкиСерверныхОповещенийСОтсрочкой(),,, НаименованиеЗадания);
|
ФоновыеЗадания.Выполнить(ИмяМетодаЗаданияДоставкиСерверныхОповещенийСОтсрочкой(),,, НаименованиеЗадания);
|
||||||
|
|
||||||
|
Запущено = Истина;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик фонового задания.
|
// Обработчик фонового задания.
|
||||||
|
|||||||
@@ -10,19 +10,7 @@
|
|||||||
|
|
||||||
Процедура ОбработчикПроверкиПолученияСерверныхОповещений() Экспорт
|
Процедура ОбработчикПроверкиПолученияСерверныхОповещений() Экспорт
|
||||||
|
|
||||||
СостояниеПолучения = СерверныеОповещенияКлиент.СостояниеПолучения();
|
СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();
|
||||||
Если СостояниеПолучения.ПроверкаВыполняется Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СостояниеПолучения.ПроверкаВыполняется = Истина;
|
|
||||||
Попытка
|
|
||||||
СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();
|
|
||||||
СостояниеПолучения.ПроверкаВыполняется = Ложь;
|
|
||||||
Исключение
|
|
||||||
СостояниеПолучения.ПроверкаВыполняется = Ложь;
|
|
||||||
ВызватьИсключение;
|
|
||||||
КонецПопытки;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
Интервал = 60;
|
Интервал = 60;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПодключитьОбработчикОжидания("ОбработчикПроверкиПолученияСерверныхОповещений", Интервал, Истина);
|
ПодключитьОбработчикОжидания("ОбработчикПроверкиПолученияСерверныхОповещений", Интервал);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -219,6 +219,7 @@
|
|||||||
Интервал = СостояниеПолучения.МинимальныйПериод;
|
Интервал = СостояниеПолучения.МинимальныйПериод;
|
||||||
ОбсужденияАктивны = СостояниеПолучения.СистемаВзаимодействийПодключена
|
ОбсужденияАктивны = СостояниеПолучения.СистемаВзаимодействийПодключена
|
||||||
И СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен
|
И СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен
|
||||||
|
И СостояниеПолучения.ПериодическаяОтправкаДанныхРазрешена
|
||||||
И СостояниеПолучения.ДатаПоследнегоПолученияСообщения + 60 > ТекущаяДатаСеанса;
|
И СостояниеПолучения.ДатаПоследнегоПолученияСообщения + 60 > ТекущаяДатаСеанса;
|
||||||
|
|
||||||
МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
@@ -535,7 +536,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// См. НовоеСостояниеПолучения
|
// См. НовоеСостояниеПолучения
|
||||||
Функция СостояниеПолучения() Экспорт
|
Функция СостояниеПолучения()
|
||||||
|
|
||||||
ИмяПараметраПриложения = "СтандартныеПодсистемы.БазоваяФункциональность.СерверныеОповещения";
|
ИмяПараметраПриложения = "СтандартныеПодсистемы.БазоваяФункциональность.СерверныеОповещения";
|
||||||
СостояниеПолучения = ПараметрыПриложения.Получить(ИмяПараметраПриложения);
|
СостояниеПолучения = ПараметрыПриложения.Получить(ИмяПараметраПриложения);
|
||||||
@@ -572,7 +573,6 @@
|
|||||||
// * СеансАдминистратораСервиса - Булево
|
// * СеансАдминистратораСервиса - Булево
|
||||||
// * ПериодическаяОтправкаДанныхРазрешена - Булево - устанавливается Истина в процедуре ПослеНачалаРаботыСистемы.
|
// * ПериодическаяОтправкаДанныхРазрешена - Булево - устанавливается Истина в процедуре ПослеНачалаРаботыСистемы.
|
||||||
// * МинимальныйИнтервалПериодическойОтправкиДанных - см. СерверныеОповещения.МинимальныйИнтервалПериодическойОтправкиДанных
|
// * МинимальныйИнтервалПериодическойОтправкиДанных - см. СерверныеОповещения.МинимальныйИнтервалПериодическойОтправкиДанных
|
||||||
// * ПроверкаВыполняется - Булево
|
|
||||||
// * КлючСеанса - см. СерверныеОповещения.КлючСеанса
|
// * КлючСеанса - см. СерверныеОповещения.КлючСеанса
|
||||||
// * ИдентификаторПользователяИБ - УникальныйИдентификатор
|
// * ИдентификаторПользователяИБ - УникальныйИдентификатор
|
||||||
// * ДатаОбновленияСостояния - Дата
|
// * ДатаОбновленияСостояния - Дата
|
||||||
@@ -595,8 +595,6 @@
|
|||||||
// обсуждения "СерверныеОповещения".
|
// обсуждения "СерверныеОповещения".
|
||||||
// * ОбработчикНовыхЛичныхСообщенийПодключен - Булево
|
// * ОбработчикНовыхЛичныхСообщенийПодключен - Булево
|
||||||
// * ОбработчикНовыхОбщихСообщенийПодключен - Булево
|
// * ОбработчикНовыхОбщихСообщенийПодключен - Булево
|
||||||
// * НачатоПодключениеОбработчикаНовыхЛичныхСообщений - Булево
|
|
||||||
// * НачатоПодключениеОбработчикаНовыхОбщихСообщений - Булево
|
|
||||||
// * ДатаПоследнегоСерверногоВызова - Дата
|
// * ДатаПоследнегоСерверногоВызова - Дата
|
||||||
// * ТекущаяДатаСеансаДляПроверкиСчетчиковОжидания - Дата
|
// * ТекущаяДатаСеансаДляПроверкиСчетчиковОжидания - Дата
|
||||||
// * ЧислоСекундВыравниванияДатыСчетчиковОжидания - Число
|
// * ЧислоСекундВыравниванияДатыСчетчиковОжидания - Число
|
||||||
@@ -612,7 +610,6 @@
|
|||||||
Состояние.Вставить("СеансАдминистратораСервиса", Ложь);
|
Состояние.Вставить("СеансАдминистратораСервиса", Ложь);
|
||||||
Состояние.Вставить("ПериодическаяОтправкаДанныхРазрешена", Ложь);
|
Состояние.Вставить("ПериодическаяОтправкаДанныхРазрешена", Ложь);
|
||||||
Состояние.Вставить("МинимальныйИнтервалПериодическойОтправкиДанных", 1);
|
Состояние.Вставить("МинимальныйИнтервалПериодическойОтправкиДанных", 1);
|
||||||
Состояние.Вставить("ПроверкаВыполняется", Ложь);
|
|
||||||
Состояние.Вставить("КлючСеанса", "");
|
Состояние.Вставить("КлючСеанса", "");
|
||||||
Состояние.Вставить("ИдентификаторПользователяИБ",
|
Состояние.Вставить("ИдентификаторПользователяИБ",
|
||||||
ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
|
ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
|
||||||
@@ -627,8 +624,6 @@
|
|||||||
Состояние.Вставить("ИдентификаторОбщегоОбсуждения", Неопределено);
|
Состояние.Вставить("ИдентификаторОбщегоОбсуждения", Неопределено);
|
||||||
Состояние.Вставить("ОбработчикНовыхЛичныхСообщенийПодключен", Ложь);
|
Состояние.Вставить("ОбработчикНовыхЛичныхСообщенийПодключен", Ложь);
|
||||||
Состояние.Вставить("ОбработчикНовыхОбщихСообщенийПодключен", Ложь);
|
Состояние.Вставить("ОбработчикНовыхОбщихСообщенийПодключен", Ложь);
|
||||||
Состояние.Вставить("НачатоПодключениеОбработчикаНовыхЛичныхСообщений", Ложь);
|
|
||||||
Состояние.Вставить("НачатоПодключениеОбработчикаНовыхОбщихСообщений", Ложь);
|
|
||||||
Состояние.Вставить("ДатаПоследнегоСерверногоВызова", '00010101');
|
Состояние.Вставить("ДатаПоследнегоСерверногоВызова", '00010101');
|
||||||
Состояние.Вставить("ТекущаяДатаСеансаДляПроверкиСчетчиковОжидания", '00010101');
|
Состояние.Вставить("ТекущаяДатаСеансаДляПроверкиСчетчиковОжидания", '00010101');
|
||||||
Состояние.Вставить("ЧислоСекундВыравниванияДатыСчетчиковОжидания", 0);
|
Состояние.Вставить("ЧислоСекундВыравниванияДатыСчетчиковОжидания", 0);
|
||||||
@@ -641,8 +636,7 @@
|
|||||||
Процедура ПодключитьОбработчикНовыхСообщений(СостояниеПолучения)
|
Процедура ПодключитьОбработчикНовыхСообщений(СостояниеПолучения)
|
||||||
|
|
||||||
Если СостояниеПолучения.ИдентификаторЛичногоОбсуждения <> Неопределено
|
Если СостояниеПолучения.ИдентификаторЛичногоОбсуждения <> Неопределено
|
||||||
И Не СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен
|
И Не СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен Тогда
|
||||||
И Не СостояниеПолучения.НачатоПодключениеОбработчикаНовыхЛичныхСообщений Тогда
|
|
||||||
|
|
||||||
Контекст = Новый Структура("СостояниеПолучения", СостояниеПолучения);
|
Контекст = Новый Структура("СостояниеПолучения", СостояниеПолучения);
|
||||||
Попытка
|
Попытка
|
||||||
@@ -659,8 +653,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если СостояниеПолучения.ИдентификаторОбщегоОбсуждения <> Неопределено
|
Если СостояниеПолучения.ИдентификаторОбщегоОбсуждения <> Неопределено
|
||||||
И Не СостояниеПолучения.ОбработчикНовыхОбщихСообщенийПодключен
|
И Не СостояниеПолучения.ОбработчикНовыхОбщихСообщенийПодключен Тогда
|
||||||
И Не СостояниеПолучения.НачатоПодключениеОбработчикаНовыхОбщихСообщений Тогда
|
|
||||||
|
|
||||||
Контекст = Новый Структура("СостояниеПолучения", СостояниеПолучения);
|
Контекст = Новый Структура("СостояниеПолучения", СостояниеПолучения);
|
||||||
Попытка
|
Попытка
|
||||||
@@ -680,7 +673,6 @@
|
|||||||
|
|
||||||
Процедура ПослеПодключенияОбработчикаНовыхЛичныхСообщений(Контекст) Экспорт
|
Процедура ПослеПодключенияОбработчикаНовыхЛичныхСообщений(Контекст) Экспорт
|
||||||
|
|
||||||
Контекст.СостояниеПолучения.НачатоПодключениеОбработчикаНовыхЛичныхСообщений = Ложь;
|
|
||||||
Контекст.СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен = Истина;
|
Контекст.СостояниеПолучения.ОбработчикНовыхЛичныхСообщенийПодключен = Истина;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -689,8 +681,6 @@
|
|||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
|
|
||||||
Контекст.СостояниеПолучения.НачатоПодключениеОбработчикаНовыхЛичныхСообщений = Ложь;
|
|
||||||
|
|
||||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||||
НСтр("ru = 'Серверные оповещения.Ошибка подключения обработчика новых личных сообщений'",
|
НСтр("ru = 'Серверные оповещения.Ошибка подключения обработчика новых личных сообщений'",
|
||||||
ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
|
ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
|
||||||
@@ -719,7 +709,6 @@
|
|||||||
|
|
||||||
Процедура ПослеПодключенияОбработчикаНовыхОбщихСообщений(Контекст) Экспорт
|
Процедура ПослеПодключенияОбработчикаНовыхОбщихСообщений(Контекст) Экспорт
|
||||||
|
|
||||||
Контекст.СостояниеПолучения.НачатоПодключениеОбработчикаНовыхОбщихСообщений = Ложь;
|
|
||||||
Контекст.СостояниеПолучения.ОбработчикНовыхОбщихСообщенийПодключен = Истина;
|
Контекст.СостояниеПолучения.ОбработчикНовыхОбщихСообщенийПодключен = Истина;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -728,8 +717,6 @@
|
|||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
|
|
||||||
Контекст.СостояниеПолучения.НачатоПодключениеОбработчикаНовыхОбщихСообщений = Ложь;
|
|
||||||
|
|
||||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||||
НСтр("ru = 'Серверные оповещения.Ошибка подключения обработчика новых общих сообщений'",
|
НСтр("ru = 'Серверные оповещения.Ошибка подключения обработчика новых общих сообщений'",
|
||||||
ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
|
ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
|
||||||
|
|||||||
@@ -42,16 +42,6 @@
|
|||||||
ПользователиСлужебныйКлиент.ПоказатьПредупреждениеБезопасности();
|
ПользователиСлужебныйКлиент.ПоказатьПредупреждениеБезопасности();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Вызывается после запуска конфигурации, открывает окно предупреждения безопасности.
|
|
||||||
Процедура ЗадатьВопросПроОтключениеOpenIDConnectОбработчикОжидания() Экспорт
|
|
||||||
|
|
||||||
// АПК:277-выкл Используется модуль СтандартныеПодсистемыГлобальный,
|
|
||||||
// чтобы не создавать ПользователиГлобальный из-за одной процедуры.
|
|
||||||
ПользователиСлужебныйКлиент.ЗадатьВопросПроОтключениеOpenIDConnect();
|
|
||||||
// АПК:277-вкл
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Показывает сообщение пользователю о недостаточном объеме оперативной памяти.
|
// Показывает сообщение пользователю о недостаточном объеме оперативной памяти.
|
||||||
Процедура ПоказатьРекомендациюПоОбъемуОперативнойПамяти() Экспорт
|
Процедура ПоказатьРекомендациюПоОбъемуОперативнойПамяти() Экспорт
|
||||||
СтандартныеПодсистемыКлиент.ОповеститьОНехваткеПамяти();
|
СтандартныеПодсистемыКлиент.ОповеститьОНехваткеПамяти();
|
||||||
|
|||||||
@@ -1921,10 +1921,7 @@
|
|||||||
// Только для внутреннего использования. Продолжение процедуры ПроверитьНеобходимостьВосстановленияСвязиСГлавнымУзлом.
|
// Только для внутреннего использования. Продолжение процедуры ПроверитьНеобходимостьВосстановленияСвязиСГлавнымУзлом.
|
||||||
Процедура ПослеЗакрытияФормыВосстановленияСвязиСГлавнымУзлом(Результат, Параметры) Экспорт
|
Процедура ПослеЗакрытияФормыВосстановленияСвязиСГлавнымУзлом(Результат, Параметры) Экспорт
|
||||||
|
|
||||||
Если ТипЗнч(Результат) <> Тип("Структура") Тогда
|
Если ТипЗнч(Результат) <> Тип("Структура") Или Результат.Отказ Тогда
|
||||||
Параметры.Отказ = Истина;
|
|
||||||
|
|
||||||
ИначеЕсли Результат.Отказ Тогда
|
|
||||||
Параметры.Отказ = Истина;
|
Параметры.Отказ = Истина;
|
||||||
Иначе
|
Иначе
|
||||||
Параметры.ПолученныеПараметрыКлиента.Вставить("ВосстановитьСвязьСГлавнымУзлом");
|
Параметры.ПолученныеПараметрыКлиента.Вставить("ВосстановитьСвязьСГлавнымУзлом");
|
||||||
@@ -1937,10 +1934,7 @@
|
|||||||
// Только для внутреннего использования. Продолжение процедуры ПередНачаломРаботыСистемы4.
|
// Только для внутреннего использования. Продолжение процедуры ПередНачаломРаботыСистемы4.
|
||||||
Процедура ПослеЗакрытияФормыВыбораНачальныхРегиональныхНастроекИБ(Результат, Параметры) Экспорт
|
Процедура ПослеЗакрытияФормыВыбораНачальныхРегиональныхНастроекИБ(Результат, Параметры) Экспорт
|
||||||
|
|
||||||
Если ТипЗнч(Результат) <> Тип("Структура") Тогда
|
Если ТипЗнч(Результат) <> Тип("Структура") Или Результат.Отказ Тогда
|
||||||
Параметры.Отказ = Истина;
|
|
||||||
|
|
||||||
ИначеЕсли Результат.Отказ Тогда
|
|
||||||
Параметры.Отказ = Истина;
|
Параметры.Отказ = Истина;
|
||||||
Иначе
|
Иначе
|
||||||
Параметры.ПолученныеПараметрыКлиента.Вставить("ВыбратьНачальныеРегиональныеНастройкиИБ");
|
Параметры.ПолученныеПараметрыКлиента.Вставить("ВыбратьНачальныеРегиональныеНастройкиИБ");
|
||||||
|
|||||||
@@ -1634,7 +1634,8 @@
|
|||||||
ИменаНастроек.Добавить("/НастройкиОкнаМобильногоКлиента");
|
ИменаНастроек.Добавить("/НастройкиОкнаМобильногоКлиента");
|
||||||
ИменаНастроек.Добавить("/Такси/НастройкиОкнаВебКлиента");
|
ИменаНастроек.Добавить("/Такси/НастройкиОкнаВебКлиента");
|
||||||
ИменаНастроек.Добавить("/Такси/НастройкиОкнаМобильногоКлиента");
|
ИменаНастроек.Добавить("/Такси/НастройкиОкнаМобильногоКлиента");
|
||||||
Для Каждого КлючИЗначение Из Ключи Цикл
|
ТекущиеКлючи = Новый Соответствие(Новый ФиксированноеСоответствие(Ключи));
|
||||||
|
Для Каждого КлючИЗначение Из ТекущиеКлючи Цикл
|
||||||
ТекущийДень = КлючИЗначение.Ключ;
|
ТекущийДень = КлючИЗначение.Ключ;
|
||||||
Если ТипЗнч(ТекущийДень) <> Тип("Дата") Тогда
|
Если ТипЗнч(ТекущийДень) <> Тип("Дата") Тогда
|
||||||
Ключи = Неопределено;
|
Ключи = Неопределено;
|
||||||
@@ -2153,7 +2154,9 @@
|
|||||||
// Фоновое обновление поставляемых профилей и параметров работы расширений.
|
// Фоновое обновление поставляемых профилей и параметров работы расширений.
|
||||||
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ВключитьЗаполнениеПараметровРаботыРасширений(Ложь, Истина);
|
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ВключитьЗаполнениеПараметровРаботыРасширений(Ложь, Истина);
|
||||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||||
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ЗапуститьЗаполнениеПараметровРаботыРасширений(Истина);
|
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ЗапуститьЗаполнениеПараметровРаботыРасширений(
|
||||||
|
НСтр("ru = 'Запуск с ожиданием после загрузки данных области'"),
|
||||||
|
Истина);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -14358,8 +14358,9 @@
|
|||||||
Контекст.ЕстьДлительноеЗаданиеПолученияПорцийЭлементовДанных = Ложь;
|
Контекст.ЕстьДлительноеЗаданиеПолученияПорцийЭлементовДанных = Ложь;
|
||||||
ЗадержкаЗапроса = Контекст.МаксимальноеКоличествоСекундБыстрогоПолученияПорцийЭлементовДанных;
|
ЗадержкаЗапроса = Контекст.МаксимальноеКоличествоСекундБыстрогоПолученияПорцийЭлементовДанных;
|
||||||
Если ЗадержкаЗапроса > 0 Тогда
|
Если ЗадержкаЗапроса > 0 Тогда
|
||||||
Для Каждого ОписаниеПотока Из Контекст.ЗанятыеПотоки Цикл
|
ТекущиеЗанятыеПотоки = Новый Соответствие(Новый ФиксированноеСоответствие(Контекст.ЗанятыеПотоки));
|
||||||
Поток = ОписаниеПотока.Значение;
|
Для Каждого ОписаниеПотока Из ТекущиеЗанятыеПотоки Цикл
|
||||||
|
Поток = ОписаниеПотока.Значение; // см. НовыйПоток
|
||||||
Если Поток.ПорцияИзНабора <> Неопределено
|
Если Поток.ПорцияИзНабора <> Неопределено
|
||||||
Или Поток.Задание.ЭтоОбновлениеПрав
|
Или Поток.Задание.ЭтоОбновлениеПрав
|
||||||
Или Поток.Задание.ЭтоОбработкаУстаревшихЭлементов Тогда
|
Или Поток.Задание.ЭтоОбработкаУстаревшихЭлементов Тогда
|
||||||
|
|||||||
@@ -2795,209 +2795,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает описание команд, разбитое по типам контактной информации.
|
|
||||||
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Соответствие из КлючИЗначение:
|
|
||||||
// * Ключ - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
|
||||||
// * Значение - см. КомандыТипаКонтактнойИнформации
|
|
||||||
//
|
|
||||||
Функция ОписаниеКоманд() Экспорт
|
|
||||||
|
|
||||||
ОписаниеКоманд = Новый Соответствие;
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Адрес, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.Адрес));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Телефон, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.Телефон));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты,
|
|
||||||
КомандыТипаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Skype, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.Skype));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.ВебСтраница, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.ВебСтраница));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Факс, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.Факс));
|
|
||||||
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Другое, КомандыТипаКонтактнойИнформации(
|
|
||||||
Перечисления.ТипыКонтактнойИнформации.Другое));
|
|
||||||
|
|
||||||
Возврат ОписаниеКоманд;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Возвращает описание команд, предназначенные для типа контактной информации, переданного в качестве параметра.
|
|
||||||
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Структура - состав полей зависит от типа контактной информации. Для типа Адрес: ВвестиКомментарийКАдресу,
|
|
||||||
// ПоказатьНаКартеЯндекс, ПоказатьНаКартеGoogle, ЗапланироватьВстречу, ПоказатьИсториюИзменений.
|
|
||||||
// Для типа Телефон: ПозвонитьПоТелефону, ОтправитьSMS, ПоказатьИсториюИзменений.
|
|
||||||
// Для типа Факс: ОтправитьФакс, ПоказатьИсториюИзменений.
|
|
||||||
// Для типа АдресЭлектронной почты: НаписатьЭлектронноеПисьмо.
|
|
||||||
// Для типа Skype: ПозвонитьSkype, НачатьЧатSkype.
|
|
||||||
// Для типа ВебСтраница: ОткрытьВебСтраницу.
|
|
||||||
// Для типа Другое: ОткрытьОкноДругое.
|
|
||||||
// Состав полей:
|
|
||||||
// * ВвестиКомментарийКАдресу - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ПоказатьНаКартеЯндекс - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ПоказатьНаКартеGoogle - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ЗапланироватьВстречу - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ПоказатьИсториюИзменений - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ПозвонитьПоТелефону - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ОтправитьSMS - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ОтправитьФакс - см. ОписаниеКомандыПоИмени
|
|
||||||
// * НаписатьЭлектронноеПисьмо - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ПозвонитьSkype - см. ОписаниеКомандыПоИмени
|
|
||||||
// * НачатьЧатSkype - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ОткрытьВебСтраницу - см. ОписаниеКомандыПоИмени
|
|
||||||
// * ОткрытьОкноДругое - см. ОписаниеКомандыПоИмени
|
|
||||||
//
|
|
||||||
Функция КомандыТипаКонтактнойИнформации(Тип) Экспорт
|
|
||||||
|
|
||||||
Возврат УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КомандыТипаКонтактнойИнформации(Тип);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Возвращает структуру с описанием команды контактной информации.
|
|
||||||
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ИмяКоманды - Строка - имя команды, описание которой нужно получить.
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// см. СвойстваКоманды
|
|
||||||
//
|
|
||||||
Функция ОписаниеКомандыПоИмени(ИмяКоманды) Экспорт
|
|
||||||
|
|
||||||
// Команда для типа Адрес, Телефон, Факс
|
|
||||||
Если ИмяКоманды = "ПоказатьИсториюИзменений" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'История изменений...'"),
|
|
||||||
НСтр("ru = 'Показывает историю изменения контактной информации'"),
|
|
||||||
БиблиотекаКартинок.ИсторияИзменений,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередОткрытиемФормыИсторииИзменений",
|
|
||||||
Истина);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа Адрес
|
|
||||||
Если ИмяКоманды = "ВвестиКомментарийКАдресу" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Ввести комментарий'"),
|
|
||||||
НСтр("ru = 'Ввести комментарий'"),
|
|
||||||
БиблиотекаКартинок.Комментарий,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередВводомКомментария",
|
|
||||||
Истина);
|
|
||||||
ИначеЕсли ИмяКоманды = "ПоказатьНаКартеЯндекс" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Адрес на Яндекс.Картах'"),
|
|
||||||
НСтр("ru = 'Показывает адрес на картах Яндекс.Карты'"),
|
|
||||||
БиблиотекаКартинок.ЯндексКарты,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередПоказомАдресаНаКартеЯндекс");
|
|
||||||
ИначеЕсли ИмяКоманды = "ПоказатьНаКартеGoogle" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Адрес на Google Maps'"),
|
|
||||||
НСтр("ru = 'Показывает адрес на карте Google Maps'"),
|
|
||||||
БиблиотекаКартинок.GoogleMaps,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередПоказомАдресаНаКартеGoogle");
|
|
||||||
ИначеЕсли ИмяКоманды = "ЗапланироватьВстречу" Тогда
|
|
||||||
Возврат СвойстваКоманды("", "");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа Телефон
|
|
||||||
Если ИмяКоманды = "ПозвонитьПоТелефону" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Позвонить'"),
|
|
||||||
НСтр("ru = 'Позвонить по телефону'"),
|
|
||||||
БиблиотекаКартинок.Позвонить,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередТелефоннымЗвонком");
|
|
||||||
ИначеЕсли ИмяКоманды = "ОтправитьSMS" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Отправить SMS'"),
|
|
||||||
НСтр("ru = 'Отправить SMS'"),
|
|
||||||
БиблиотекаКартинок.ОтправитьSMS,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередСозданиемSMS");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа Факс
|
|
||||||
Если ИмяКоманды = "ОтправитьФакс" Тогда
|
|
||||||
Возврат СвойстваКоманды("", "");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа АдресЭлектроннойПочты
|
|
||||||
Если ИмяКоманды = "НаписатьЭлектронноеПисьмо" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Написать письмо'"),
|
|
||||||
НСтр("ru = 'Написать письмо на указанный адрес'"),
|
|
||||||
БиблиотекаКартинок.ОтправитьЭлектронноеПисьмо,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередСозданиемЭлектронногоПисьма");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа Skype
|
|
||||||
Если ИмяКоманды = "ПозвонитьSkype" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Позвонить'"),
|
|
||||||
НСтр("ru = 'Позвонить на Skype'"),
|
|
||||||
БиблиотекаКартинок.Позвонить,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередЗвонкомНаSkype");
|
|
||||||
ИначеЕсли ИмяКоманды = "НачатьЧатSkype" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Начать чат'"),
|
|
||||||
НСтр("ru = 'Начать чат в Skype'"),
|
|
||||||
БиблиотекаКартинок.ОтправитьSMS,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередНачаломБеседыВSkype");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды для типа ВебСтраница
|
|
||||||
Если ИмяКоманды = "ОткрытьВебСтраницу" Тогда
|
|
||||||
Возврат СвойстваКоманды(
|
|
||||||
НСтр("ru = 'Перейти'"),
|
|
||||||
НСтр("ru = 'Перейти по ссылке'"),
|
|
||||||
БиблиотекаКартинок.КонтактнаяИнформацияПерейтиПоСсылке,
|
|
||||||
"УправлениеКонтактнойИнформациейКлиент.ПередПереходомПоВебСсылке");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Команды типа Другое
|
|
||||||
Если ИмяКоманды = "ОткрытьОкноДругое" Тогда
|
|
||||||
Возврат СвойстваКоманды("", "");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Возвращает структуру для описания команд контактной информации.
|
|
||||||
// Полученная структура используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Заголовок - Строка - заголовок команды.
|
|
||||||
// Подсказка - Строка - подсказка команды.
|
|
||||||
// Картинка - Картинка - картинка команды.
|
|
||||||
// Действие - Строка - полный путь к процедуре, которую необходимо выполнить.
|
|
||||||
// Например, "_ДемоСтандартныеПодсистемыКлиент.ОткрытьФормуДокументаВстреча".
|
|
||||||
// ИзменяетСохраняемыеДанные - Булево
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Структура:
|
|
||||||
// * Заголовок - Строка
|
|
||||||
// * Подсказка - Строка
|
|
||||||
// * Картинка - Картинка
|
|
||||||
// * Действие - Строка
|
|
||||||
// * ИзменяетСохраняемыеДанные - Булево
|
|
||||||
//
|
|
||||||
Функция СвойстваКоманды(Заголовок, Подсказка, Картинка = "", Действие = "", ИзменяетСохраняемыеДанные = Ложь) Экспорт
|
|
||||||
|
|
||||||
Свойства = Новый Структура;
|
|
||||||
Свойства.Вставить("Заголовок", Заголовок);
|
|
||||||
Свойства.Вставить("Подсказка", Подсказка);
|
|
||||||
Свойства.Вставить("Картинка", ?(Картинка="", Новый Картинка(), Картинка));
|
|
||||||
Свойства.Вставить("Действие", Действие);
|
|
||||||
Свойства.Вставить("ИзменяетСохраняемыеДанные", ИзменяетСохраняемыеДанные);
|
|
||||||
|
|
||||||
Возврат Свойства;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Проверка и сведения об адресе
|
// Проверка и сведения об адресе
|
||||||
|
|
||||||
@@ -3716,6 +3513,209 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
// Возвращает описание команд, разбитое по типам контактной информации.
|
||||||
|
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие из КлючИЗначение:
|
||||||
|
// * Ключ - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||||
|
// * Значение - см. КомандыТипаКонтактнойИнформации
|
||||||
|
//
|
||||||
|
Функция ОписаниеКоманд() Экспорт
|
||||||
|
|
||||||
|
ОписаниеКоманд = Новый Соответствие;
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Адрес, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.Адрес));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Телефон, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.Телефон));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты,
|
||||||
|
КомандыТипаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Skype, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.Skype));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.ВебСтраница, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.ВебСтраница));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Факс, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.Факс));
|
||||||
|
ОписаниеКоманд.Вставить(Перечисления.ТипыКонтактнойИнформации.Другое, КомандыТипаКонтактнойИнформации(
|
||||||
|
Перечисления.ТипыКонтактнойИнформации.Другое));
|
||||||
|
|
||||||
|
Возврат ОписаниеКоманд;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает описание команд, предназначенные для типа контактной информации, переданного в качестве параметра.
|
||||||
|
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - состав полей зависит от типа контактной информации. Для типа Адрес: ВвестиКомментарийКАдресу,
|
||||||
|
// ПоказатьНаКартеЯндекс, ПоказатьНаКартеGoogle, ЗапланироватьВстречу, ПоказатьИсториюИзменений.
|
||||||
|
// Для типа Телефон: ПозвонитьПоТелефону, ОтправитьSMS, ПоказатьИсториюИзменений.
|
||||||
|
// Для типа Факс: ОтправитьФакс, ПоказатьИсториюИзменений.
|
||||||
|
// Для типа АдресЭлектронной почты: НаписатьЭлектронноеПисьмо.
|
||||||
|
// Для типа Skype: ПозвонитьSkype, НачатьЧатSkype.
|
||||||
|
// Для типа ВебСтраница: ОткрытьВебСтраницу.
|
||||||
|
// Для типа Другое: ОткрытьОкноДругое.
|
||||||
|
// Состав полей:
|
||||||
|
// * ВвестиКомментарийКАдресу - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ПоказатьНаКартеЯндекс - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ПоказатьНаКартеGoogle - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ЗапланироватьВстречу - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ПоказатьИсториюИзменений - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ПозвонитьПоТелефону - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ОтправитьSMS - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ОтправитьФакс - см. ОписаниеКомандыПоИмени
|
||||||
|
// * НаписатьЭлектронноеПисьмо - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ПозвонитьSkype - см. ОписаниеКомандыПоИмени
|
||||||
|
// * НачатьЧатSkype - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ОткрытьВебСтраницу - см. ОписаниеКомандыПоИмени
|
||||||
|
// * ОткрытьОкноДругое - см. ОписаниеКомандыПоИмени
|
||||||
|
//
|
||||||
|
Функция КомандыТипаКонтактнойИнформации(Тип) Экспорт
|
||||||
|
|
||||||
|
Возврат УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КомандыТипаКонтактнойИнформации(Тип);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает структуру с описанием команды контактной информации.
|
||||||
|
// Полученное соответствие используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяКоманды - Строка - имя команды, описание которой нужно получить.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// см. СвойстваКоманды
|
||||||
|
//
|
||||||
|
Функция ОписаниеКомандыПоИмени(ИмяКоманды) Экспорт
|
||||||
|
|
||||||
|
// Команда для типа Адрес, Телефон, Факс
|
||||||
|
Если ИмяКоманды = "ПоказатьИсториюИзменений" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'История изменений...'"),
|
||||||
|
НСтр("ru = 'Показывает историю изменения контактной информации'"),
|
||||||
|
БиблиотекаКартинок.ИсторияИзменений,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередОткрытиемФормыИсторииИзменений",
|
||||||
|
Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа Адрес
|
||||||
|
Если ИмяКоманды = "ВвестиКомментарийКАдресу" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Ввести комментарий'"),
|
||||||
|
НСтр("ru = 'Ввести комментарий'"),
|
||||||
|
БиблиотекаКартинок.Комментарий,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередВводомКомментария",
|
||||||
|
Истина);
|
||||||
|
ИначеЕсли ИмяКоманды = "ПоказатьНаКартеЯндекс" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Адрес на Яндекс.Картах'"),
|
||||||
|
НСтр("ru = 'Показывает адрес на картах Яндекс.Карты'"),
|
||||||
|
БиблиотекаКартинок.ЯндексКарты,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередПоказомАдресаНаКартеЯндекс");
|
||||||
|
ИначеЕсли ИмяКоманды = "ПоказатьНаКартеGoogle" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Адрес на Google Maps'"),
|
||||||
|
НСтр("ru = 'Показывает адрес на карте Google Maps'"),
|
||||||
|
БиблиотекаКартинок.GoogleMaps,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередПоказомАдресаНаКартеGoogle");
|
||||||
|
ИначеЕсли ИмяКоманды = "ЗапланироватьВстречу" Тогда
|
||||||
|
Возврат СвойстваКоманды("", "");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа Телефон
|
||||||
|
Если ИмяКоманды = "ПозвонитьПоТелефону" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Позвонить'"),
|
||||||
|
НСтр("ru = 'Позвонить по телефону'"),
|
||||||
|
БиблиотекаКартинок.Позвонить,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередТелефоннымЗвонком");
|
||||||
|
ИначеЕсли ИмяКоманды = "ОтправитьSMS" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Отправить SMS'"),
|
||||||
|
НСтр("ru = 'Отправить SMS'"),
|
||||||
|
БиблиотекаКартинок.ОтправитьSMS,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередСозданиемSMS");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа Факс
|
||||||
|
Если ИмяКоманды = "ОтправитьФакс" Тогда
|
||||||
|
Возврат СвойстваКоманды("", "");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа АдресЭлектроннойПочты
|
||||||
|
Если ИмяКоманды = "НаписатьЭлектронноеПисьмо" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Написать письмо'"),
|
||||||
|
НСтр("ru = 'Написать письмо на указанный адрес'"),
|
||||||
|
БиблиотекаКартинок.ОтправитьЭлектронноеПисьмо,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередСозданиемЭлектронногоПисьма");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа Skype
|
||||||
|
Если ИмяКоманды = "ПозвонитьSkype" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Позвонить'"),
|
||||||
|
НСтр("ru = 'Позвонить на Skype'"),
|
||||||
|
БиблиотекаКартинок.Позвонить,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередЗвонкомНаSkype");
|
||||||
|
ИначеЕсли ИмяКоманды = "НачатьЧатSkype" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Начать чат'"),
|
||||||
|
НСтр("ru = 'Начать чат в Skype'"),
|
||||||
|
БиблиотекаКартинок.ОтправитьSMS,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередНачаломБеседыВSkype");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды для типа ВебСтраница
|
||||||
|
Если ИмяКоманды = "ОткрытьВебСтраницу" Тогда
|
||||||
|
Возврат СвойстваКоманды(
|
||||||
|
НСтр("ru = 'Перейти'"),
|
||||||
|
НСтр("ru = 'Перейти по ссылке'"),
|
||||||
|
БиблиотекаКартинок.КонтактнаяИнформацияПерейтиПоСсылке,
|
||||||
|
"УправлениеКонтактнойИнформациейКлиент.ПередПереходомПоВебСсылке");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Команды типа Другое
|
||||||
|
Если ИмяКоманды = "ОткрытьОкноДругое" Тогда
|
||||||
|
Возврат СвойстваКоманды("", "");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает структуру для описания команд контактной информации.
|
||||||
|
// Полученная структура используется в УправлениеКонтактнойИнформациейПереопределяемый.ПриОпределенииНастроек
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Заголовок - Строка - заголовок команды.
|
||||||
|
// Подсказка - Строка - подсказка команды.
|
||||||
|
// Картинка - Картинка - картинка команды.
|
||||||
|
// Действие - Строка - полный путь к процедуре, которую необходимо выполнить.
|
||||||
|
// Например, "_ДемоСтандартныеПодсистемыКлиент.ОткрытьФормуДокументаВстреча".
|
||||||
|
// ИзменяетСохраняемыеДанные - Булево
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * Заголовок - Строка
|
||||||
|
// * Подсказка - Строка
|
||||||
|
// * Картинка - Картинка
|
||||||
|
// * Действие - Строка
|
||||||
|
// * ИзменяетСохраняемыеДанные - Булево
|
||||||
|
//
|
||||||
|
Функция СвойстваКоманды(Заголовок, Подсказка, Картинка = "", Действие = "", ИзменяетСохраняемыеДанные = Ложь) Экспорт
|
||||||
|
|
||||||
|
Свойства = Новый Структура;
|
||||||
|
Свойства.Вставить("Заголовок", Заголовок);
|
||||||
|
Свойства.Вставить("Подсказка", Подсказка);
|
||||||
|
Свойства.Вставить("Картинка", ?(Картинка="", Новый Картинка(), Картинка));
|
||||||
|
Свойства.Вставить("Действие", Действие);
|
||||||
|
Свойства.Вставить("ИзменяетСохраняемыеДанные", ИзменяетСохраняемыеДанные);
|
||||||
|
|
||||||
|
Возврат Свойства;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
@@ -3813,6 +3813,11 @@
|
|||||||
|
|
||||||
Процедура ПриСкрытииЗначенияРеквизита(ПолноеИмя, Значение, СтандартнаяОбработка) Экспорт
|
Процедура ПриСкрытииЗначенияРеквизита(ПолноеИмя, Значение, СтандартнаяОбработка) Экспорт
|
||||||
|
|
||||||
|
ИмяТабличнойЧасти = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(".%1.", "КонтактнаяИнформация");
|
||||||
|
Если СтрНайти(ПолноеИмя, ИмяТабличнойЧасти) = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если СтрЗаканчиваетсяНа(ПолноеИмя, "КонтактнаяИнформация.ЗначенияПолей") И ЗначениеЗаполнено(Значение) Тогда
|
Если СтрЗаканчиваетсяНа(ПолноеИмя, "КонтактнаяИнформация.ЗначенияПолей") И ЗначениеЗаполнено(Значение) Тогда
|
||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
СтандартнаяОбработка = Ложь;
|
||||||
@@ -3823,11 +3828,18 @@
|
|||||||
|
|
||||||
ПоляКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтрокуJSONВСтруктуру(Значение);
|
ПоляКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтрокуJSONВСтруктуру(Значение);
|
||||||
|
|
||||||
|
НеОбрабатываемыеПоля = Новый Массив;
|
||||||
|
НеОбрабатываемыеПоля.Добавить("type");
|
||||||
|
НеОбрабатываемыеПоля.Добавить("apartments");
|
||||||
|
НеОбрабатываемыеПоля.Добавить("buildings");
|
||||||
|
|
||||||
Если ПоляКонтактнойИнформации.Количество() > 0 Тогда
|
Если ПоляКонтактнойИнформации.Количество() > 0 Тогда
|
||||||
|
|
||||||
Для Каждого ПолеКонтактнойИнформации Из ПоляКонтактнойИнформации Цикл
|
Для Каждого ПолеКонтактнойИнформации Из ПоляКонтактнойИнформации Цикл
|
||||||
Если СтрСравнить(ПолеКонтактнойИнформации.Ключ, "type") <> 0 И ЗначениеЗаполнено(ПолеКонтактнойИнформации.Значение) Тогда
|
Если НеОбрабатываемыеПоля.Найти(ПолеКонтактнойИнформации.Ключ) = Неопределено
|
||||||
ПоляКонтактнойИнформации[ПолеКонтактнойИнформации.Ключ] = СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", "");
|
И ЗначениеЗаполнено(ПолеКонтактнойИнформации.Значение) Тогда
|
||||||
|
ПоляКонтактнойИнформации[ПолеКонтактнойИнформации.Ключ] =
|
||||||
|
СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@@ -4820,83 +4832,6 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьДействияДляСтатическихЭлементов(Форма, СтрокаКИ, ИмяЭлементаДляРазмещения)
|
|
||||||
|
|
||||||
Элемент = Форма.Элементы[СтрокаКИ.ИмяРеквизита];
|
|
||||||
Тип = СтрокаКи.Тип;
|
|
||||||
|
|
||||||
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации,
|
|
||||||
ИмяЭлементаДляРазмещения);
|
|
||||||
ОбработкаНавигационнойСсылки = ПараметрыКонтактнойИнформации.ОбработкаНавигационнойСсылки;
|
|
||||||
|
|
||||||
Если СтрокаКИ.ВидРедактирования = "Диалог" И СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
|
|
||||||
И Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
|
|
||||||
|
|
||||||
Если НЕ ЗначениеЗаполнено(Элемент.ПолучитьДействие("Нажатие")) Тогда
|
|
||||||
Элемент.УстановитьДействие("Нажатие", "Подключаемый_КонтактнаяИнформацияПриНажатии");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница И ОбработкаНавигационнойСсылки И Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
|
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ОбработкаНавигационнойСсылки")) Тогда
|
|
||||||
Элемент.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_КонтактнаяИнформацияОбработкаНавигационнойСсылки");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
|
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Очистка")) Тогда
|
|
||||||
Элемент.УстановитьДействие("Очистка", "Подключаемый_КонтактнаяИнформацияОчистка");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Автоподбор")) Тогда
|
|
||||||
Элемент.УстановитьДействие("Автоподбор", "Подключаемый_КонтактнаяИнформацияАвтоподбор");
|
|
||||||
КонецЕсли;
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ОбработкаВыбора")) Тогда
|
|
||||||
Элемент.УстановитьДействие("ОбработкаВыбора", "Подключаемый_КонтактнаяИнформацияОбработкаВыбора");
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
// Редактирование в диалоге
|
|
||||||
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип) И Элемент.Вид = ВидПоляФормы.ПолеВвода
|
|
||||||
И Не СтрокаКИ.ВидРедактирования = "ПолеВвода" Тогда
|
|
||||||
|
|
||||||
ДоступенВыбор = Не СтрокаКИ.ПометкаУдаления И СтрокаКИ.ВидРедактирования <> "ПолеВвода";
|
|
||||||
|
|
||||||
Если ДоступенВыбор И Не Форма.ТолькоПросмотр Тогда
|
|
||||||
Элемент.КнопкаВыбора = Истина;
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("НачалоВыбора")) Тогда
|
|
||||||
Элемент.УстановитьДействие("НачалоВыбора", "Подключаемый_КонтактнаяИнформацияНачалоВыбора");
|
|
||||||
КонецЕсли;
|
|
||||||
Иначе
|
|
||||||
Элемент.КнопкаВыбора = Ложь;
|
|
||||||
Если ЗначениеЗаполнено(Форма[СтрокаКИ.ИмяРеквизита]) Тогда
|
|
||||||
Элемент.КнопкаОткрытия = Истина;
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Открытие")) Тогда
|
|
||||||
Элемент.УстановитьДействие("Открытие", "Подключаемый_КонтактнаяИнформацияПриНажатии");
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ПриИзменении")) Тогда
|
|
||||||
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ДляТипаКонтактнойИнформацииЕстьПолеКомментарий(Тип, ОбработкаНавигационнойСсылки) Тогда
|
|
||||||
ИмяЭлементаКомментарий = "Комментарий" + СтрокаКИ.ИмяРеквизита;
|
|
||||||
Если Форма.Элементы.Найти(ИмяЭлементаКомментарий) <> Неопределено Тогда
|
|
||||||
Если Не ЗначениеЗаполнено(Форма.Элементы[ИмяЭлементаКомментарий].ПолучитьДействие("ПриИзменении")) Тогда
|
|
||||||
Форма.Элементы[ИмяЭлементаКомментарий].УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура ПунктКонтекстногоМенюПеремещения(ПредыдущийЭлемент, Форма, Направление, ИмяЭлементаДляРазмещения)
|
Процедура ПунктКонтекстногоМенюПеремещения(ПредыдущийЭлемент, Форма, Направление, ИмяЭлементаДляРазмещения)
|
||||||
|
|
||||||
Если Направление > 0 Тогда
|
Если Направление > 0 Тогда
|
||||||
@@ -5146,25 +5081,19 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает доступно ли редактирование в диалоге по типу контактной информации.
|
// Возвращает, доступно ли редактирование в диалоге для указанного типа контактной информации.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации.
|
// Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации.
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Булево - доступно или нет редактирование в диалоге.
|
// Булево
|
||||||
//
|
//
|
||||||
Функция ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип)
|
Функция ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип)
|
||||||
|
|
||||||
Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
Возврат Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
|
||||||
Возврат Истина;
|
Или Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
|
||||||
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
Или Тип = Перечисления.ТипыКонтактнойИнформации.Факс;
|
||||||
Возврат Истина;
|
|
||||||
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
|
||||||
Возврат Истина;
|
|
||||||
Иначе
|
|
||||||
Возврат Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -5511,15 +5440,13 @@
|
|||||||
УровеньОшибок = ОшибкиЗаполненияЭлектроннойПочты(Значение, ВидИнформации, ИмяРеквизита, ПутьКРеквизиту);
|
УровеньОшибок = ОшибкиЗаполненияЭлектроннойПочты(Значение, ВидИнформации, ИмяРеквизита, ПутьКРеквизиту);
|
||||||
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||||
УровеньОшибок = ОшибкиЗаполненияАдреса(Значение, ВидИнформации, ИмяРеквизита, ПутьКРеквизиту);
|
УровеньОшибок = ОшибкиЗаполненияАдреса(Значение, ВидИнформации, ИмяРеквизита, ПутьКРеквизиту);
|
||||||
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон
|
||||||
УровеньОшибок = ОшибкиЗаполненияТелефона(Значение, ВидИнформации, ИмяРеквизита);
|
Или ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||||
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
|
||||||
УровеньОшибок = ОшибкиЗаполненияТелефона(Значение, ВидИнформации, ИмяРеквизита);
|
УровеньОшибок = ОшибкиЗаполненияТелефона(Значение, ВидИнформации, ИмяРеквизита);
|
||||||
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
||||||
УровеньОшибок = ОшибкиЗаполненияВебСтраницы(Значение, ВидИнформации, ИмяРеквизита);
|
УровеньОшибок = ОшибкиЗаполненияВебСтраницы(Значение, ВидИнформации, ИмяРеквизита);
|
||||||
Иначе
|
Иначе
|
||||||
// Другое (прочее) не проверяем.
|
УровеньОшибок = 0; // Другое не проверяем.
|
||||||
УровеньОшибок = 0;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат УровеньОшибок;
|
Возврат УровеньОшибок;
|
||||||
@@ -5811,50 +5738,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Описание дополнительных параметров вывода контактной информации
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ОписаниеКоманд - см. ОписаниеКоманд
|
|
||||||
// ОтображатьИконки - Булево
|
|
||||||
// РазмещеныНаФорме - Соответствие из КлючИЗначение:
|
|
||||||
// * Ключ - СправочникСсылка.ВидыКонтактнойИнформации
|
|
||||||
// * Значение - Булево
|
|
||||||
// - Неопределено
|
|
||||||
// РазрешитьДобавлениеПолей - Булево
|
|
||||||
// ИсключаемыеВиды - Массив
|
|
||||||
// - Неопределено
|
|
||||||
// СкрываемыеВиды - Массив
|
|
||||||
// - Неопределено
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Структура:
|
|
||||||
// * ОписаниеКоманд - см. ОписаниеКоманд
|
|
||||||
// * ОтображатьИконки - Булево
|
|
||||||
// * РазмещеныНаФорме - Соответствие из КлючИЗначение:
|
|
||||||
// ** Ключ - СправочникСсылка.ВидыКонтактнойИнформации
|
|
||||||
// ** Значение - Булево
|
|
||||||
// - Неопределено
|
|
||||||
// * РазрешитьДобавлениеПолей - Булево
|
|
||||||
// * ИсключаемыеВиды - Массив
|
|
||||||
// - Неопределено
|
|
||||||
// * СкрываемыеВиды - Массив
|
|
||||||
// - Неопределено
|
|
||||||
//
|
|
||||||
Функция ДополнительныеПараметрыВыводаКонтактнойИнформации(ОписаниеКоманд, ОтображатьИконки, РазмещеныНаФорме,
|
|
||||||
РазрешитьДобавлениеПолей, ИсключаемыеВиды, СкрываемыеВиды)
|
|
||||||
|
|
||||||
ДополнительныеПараметры = Новый Структура;
|
|
||||||
ДополнительныеПараметры.Вставить("ОписаниеКоманд", ОписаниеКоманд);
|
|
||||||
ДополнительныеПараметры.Вставить("ОтображатьИконки", ОтображатьИконки);
|
|
||||||
ДополнительныеПараметры.Вставить("РазмещеныНаФорме", РазмещеныНаФорме);
|
|
||||||
ДополнительныеПараметры.Вставить("РазрешитьДобавлениеПолей", РазрешитьДобавлениеПолей);
|
|
||||||
ДополнительныеПараметры.Вставить("ИсключаемыеВиды", ИсключаемыеВиды);
|
|
||||||
ДополнительныеПараметры.Вставить("СкрываемыеВиды", СкрываемыеВиды);
|
|
||||||
|
|
||||||
Возврат ДополнительныеПараметры;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ГруппаВидовКонтактнойИнформацииОбъекта(Знач ПолноеИмяОбъектаМетаданных)
|
Функция ГруппаВидовКонтактнойИнформацииОбъекта(Знач ПолноеИмяОбъектаМетаданных)
|
||||||
|
|
||||||
Возврат ВидКонтактнойИнформацииПоИмени(СтрЗаменить(ПолноеИмяОбъектаМетаданных, ".", ""));
|
Возврат ВидКонтактнойИнформацииПоИмени(СтрЗаменить(ПолноеИмяОбъектаМетаданных, ".", ""));
|
||||||
@@ -6765,6 +6648,127 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура УстановитьДействияДляСтатическихЭлементов(Форма, СтрокаКИ, ИмяЭлементаДляРазмещения)
|
||||||
|
|
||||||
|
Элемент = Форма.Элементы[СтрокаКИ.ИмяРеквизита];
|
||||||
|
Тип = СтрокаКи.Тип;
|
||||||
|
|
||||||
|
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации,
|
||||||
|
ИмяЭлементаДляРазмещения);
|
||||||
|
ОбработкаНавигационнойСсылки = ПараметрыКонтактнойИнформации.ОбработкаНавигационнойСсылки;
|
||||||
|
|
||||||
|
Если СтрокаКИ.ВидРедактирования = "Диалог" И СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
|
||||||
|
И Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
|
||||||
|
|
||||||
|
Если НЕ ЗначениеЗаполнено(Элемент.ПолучитьДействие("Нажатие")) Тогда
|
||||||
|
Элемент.УстановитьДействие("Нажатие", "Подключаемый_КонтактнаяИнформацияПриНажатии");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница И ОбработкаНавигационнойСсылки И Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ОбработкаНавигационнойСсылки")) Тогда
|
||||||
|
Элемент.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_КонтактнаяИнформацияОбработкаНавигационнойСсылки");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Очистка")) Тогда
|
||||||
|
Элемент.УстановитьДействие("Очистка", "Подключаемый_КонтактнаяИнформацияОчистка");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Автоподбор")) Тогда
|
||||||
|
Элемент.УстановитьДействие("Автоподбор", "Подключаемый_КонтактнаяИнформацияАвтоподбор");
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ОбработкаВыбора")) Тогда
|
||||||
|
Элемент.УстановитьДействие("ОбработкаВыбора", "Подключаемый_КонтактнаяИнформацияОбработкаВыбора");
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Редактирование в диалоге
|
||||||
|
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип) И Элемент.Вид = ВидПоляФормы.ПолеВвода
|
||||||
|
И Не СтрокаКИ.ВидРедактирования = "ПолеВвода" Тогда
|
||||||
|
|
||||||
|
ДоступенВыбор = Не СтрокаКИ.ПометкаУдаления И СтрокаКИ.ВидРедактирования <> "ПолеВвода";
|
||||||
|
|
||||||
|
Если ДоступенВыбор И Не Форма.ТолькоПросмотр Тогда
|
||||||
|
Элемент.КнопкаВыбора = Истина;
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("НачалоВыбора")) Тогда
|
||||||
|
Элемент.УстановитьДействие("НачалоВыбора", "Подключаемый_КонтактнаяИнформацияНачалоВыбора");
|
||||||
|
КонецЕсли;
|
||||||
|
Иначе
|
||||||
|
Элемент.КнопкаВыбора = Ложь;
|
||||||
|
Если ЗначениеЗаполнено(Форма[СтрокаКИ.ИмяРеквизита]) Тогда
|
||||||
|
Элемент.КнопкаОткрытия = Истина;
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("Открытие")) Тогда
|
||||||
|
Элемент.УстановитьДействие("Открытие", "Подключаемый_КонтактнаяИнформацияПриНажатии");
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Элемент.ПолучитьДействие("ПриИзменении")) Тогда
|
||||||
|
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ДляТипаКонтактнойИнформацииЕстьПолеКомментарий(Тип, ОбработкаНавигационнойСсылки) Тогда
|
||||||
|
ИмяЭлементаКомментарий = "Комментарий" + СтрокаКИ.ИмяРеквизита;
|
||||||
|
Если Форма.Элементы.Найти(ИмяЭлементаКомментарий) <> Неопределено Тогда
|
||||||
|
Если Не ЗначениеЗаполнено(Форма.Элементы[ИмяЭлементаКомментарий].ПолучитьДействие("ПриИзменении")) Тогда
|
||||||
|
Форма.Элементы[ИмяЭлементаКомментарий].УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Описание дополнительных параметров вывода контактной информации
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеКоманд - см. ОписаниеКоманд
|
||||||
|
// ОтображатьИконки - Булево
|
||||||
|
// РазмещеныНаФорме - Соответствие из КлючИЗначение:
|
||||||
|
// * Ключ - СправочникСсылка.ВидыКонтактнойИнформации
|
||||||
|
// * Значение - Булево
|
||||||
|
// - Неопределено
|
||||||
|
// РазрешитьДобавлениеПолей - Булево
|
||||||
|
// ИсключаемыеВиды - Массив
|
||||||
|
// - Неопределено
|
||||||
|
// СкрываемыеВиды - Массив
|
||||||
|
// - Неопределено
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * ОписаниеКоманд - см. ОписаниеКоманд
|
||||||
|
// * ОтображатьИконки - Булево
|
||||||
|
// * РазмещеныНаФорме - Соответствие из КлючИЗначение:
|
||||||
|
// ** Ключ - СправочникСсылка.ВидыКонтактнойИнформации
|
||||||
|
// ** Значение - Булево
|
||||||
|
// - Неопределено
|
||||||
|
// * РазрешитьДобавлениеПолей - Булево
|
||||||
|
// * ИсключаемыеВиды - Массив
|
||||||
|
// - Неопределено
|
||||||
|
// * СкрываемыеВиды - Массив
|
||||||
|
// - Неопределено
|
||||||
|
//
|
||||||
|
Функция ДополнительныеПараметрыВыводаКонтактнойИнформации(ОписаниеКоманд, ОтображатьИконки, РазмещеныНаФорме,
|
||||||
|
РазрешитьДобавлениеПолей, ИсключаемыеВиды, СкрываемыеВиды)
|
||||||
|
|
||||||
|
ДополнительныеПараметры = Новый Структура;
|
||||||
|
ДополнительныеПараметры.Вставить("ОписаниеКоманд", ОписаниеКоманд);
|
||||||
|
ДополнительныеПараметры.Вставить("ОтображатьИконки", ОтображатьИконки);
|
||||||
|
ДополнительныеПараметры.Вставить("РазмещеныНаФорме", РазмещеныНаФорме);
|
||||||
|
ДополнительныеПараметры.Вставить("РазрешитьДобавлениеПолей", РазрешитьДобавлениеПолей);
|
||||||
|
ДополнительныеПараметры.Вставить("ИсключаемыеВиды", ИсключаемыеВиды);
|
||||||
|
ДополнительныеПараметры.Вставить("СкрываемыеВиды", СкрываемыеВиды);
|
||||||
|
|
||||||
|
Возврат ДополнительныеПараметры;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция НастройкиПодсистемы(ВладелецКонтактнойИнформации)
|
Функция НастройкиПодсистемы(ВладелецКонтактнойИнформации)
|
||||||
|
|
||||||
Настройки = Новый Структура;
|
Настройки = Новый Структура;
|
||||||
|
|||||||
@@ -343,18 +343,12 @@
|
|||||||
|
|
||||||
ПространствоИмен = ПространствоИмен();
|
ПространствоИмен = ПространствоИмен();
|
||||||
|
|
||||||
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
Если ОжидаемыйТип = Неопределено Или ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерФакса"));
|
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерФакса"));
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Неопределено Тогда
|
|
||||||
// Считаем телефоном
|
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение НСтр("ru = 'Ошибка преобразования контактной информации, ожидается телефон или факс'");
|
ВызватьИсключение НСтр("ru = 'Ошибка преобразования контактной информации, ожидается телефон или факс.'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
|
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
|
||||||
@@ -458,18 +452,12 @@
|
|||||||
|
|
||||||
ПространствоИмен = ПространствоИмен();
|
ПространствоИмен = ПространствоИмен();
|
||||||
|
|
||||||
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
Если ОжидаемыйТип = Неопределено Или ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерФакса"));
|
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерФакса"));
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Неопределено Тогда
|
|
||||||
// Считаем телефоном
|
|
||||||
Данные = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона"));
|
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение НСтр("ru = 'Ошибка десериализации контактной информации, ожидается телефон или факс'");
|
ВызватьИсключение НСтр("ru = 'Ошибка десериализации контактной информации, ожидается телефон или факс.'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
|
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
|
||||||
@@ -606,31 +594,24 @@
|
|||||||
Функция КонтактнаяИнформацияXDTOПоПредставлению(Текст, ОжидаемыйВид) Экспорт
|
Функция КонтактнаяИнформацияXDTOПоПредставлению(Текст, ОжидаемыйВид) Экспорт
|
||||||
|
|
||||||
ОжидаемыйТип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(ОжидаемыйВид);
|
ОжидаемыйТип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(ОжидаемыйВид);
|
||||||
|
|
||||||
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||||
Возврат АдресXMLВXDTO("", Текст, ОжидаемыйТип);
|
Возврат АдресXMLВXDTO("", Текст, ОжидаемыйТип);
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
|
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
|
||||||
Возврат ДесериализацияПрочейКонтактнойИнформации("", Текст, ОжидаемыйТип);
|
Или ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница
|
||||||
|
Или ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Skype
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
Или ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
||||||
Возврат ДесериализацияПрочейКонтактнойИнформации("", Текст, ОжидаемыйТип);
|
Возврат ДесериализацияПрочейКонтактнойИнформации("", Текст, ОжидаемыйТип);
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
||||||
Возврат ДесериализацияТелефона("", Текст, ОжидаемыйТип);
|
Возврат ДесериализацияТелефона("", Текст, ОжидаемыйТип);
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||||
Возврат ДесериализацияФакса("", Текст, ОжидаемыйТип);
|
Возврат ДесериализацияФакса("", Текст, ОжидаемыйТип);
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Skype Тогда
|
|
||||||
Возврат ДесериализацияПрочейКонтактнойИнформации("", Текст, ОжидаемыйТип);
|
|
||||||
|
|
||||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
|
||||||
Возврат ДесериализацияПрочейКонтактнойИнформации("", Текст, ОжидаемыйТип);
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнформация, Знач Комментарий) Экспорт
|
Процедура УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнформация, Знач Комментарий) Экспорт
|
||||||
@@ -1009,10 +990,8 @@
|
|||||||
ИначеЕсли ТипКонтактнойИнформации = ВсеТипы.Факс Тогда
|
ИначеЕсли ТипКонтактнойИнформации = ВсеТипы.Факс Тогда
|
||||||
Результат.ДанныеXML = XSLT_СтруктураВФакс(СтрокаXMLСтруктуры, Данные.Представление, Комментарий);
|
Результат.ДанныеXML = XSLT_СтруктураВФакс(СтрокаXMLСтруктуры, Данные.Представление, Комментарий);
|
||||||
|
|
||||||
ИначеЕсли ТипКонтактнойИнформации = ВсеТипы.Другое Тогда
|
ИначеЕсли ТипКонтактнойИнформации = ВсеТипы.Другое
|
||||||
Результат.ДанныеXML = XSLT_СтруктураВДругое(СтрокаXMLСтруктуры, Данные.Представление, Комментарий);
|
Или ТипКонтактнойИнформации = ВсеТипы.Skype Тогда
|
||||||
|
|
||||||
ИначеЕсли ТипКонтактнойИнформации = ВсеТипы.Skype Тогда
|
|
||||||
Результат.ДанныеXML = XSLT_СтруктураВДругое(СтрокаXMLСтруктуры, Данные.Представление, Комментарий);
|
Результат.ДанныеXML = XSLT_СтруктураВДругое(СтрокаXMLСтруктуры, Данные.Представление, Комментарий);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|||||||
@@ -2410,10 +2410,8 @@
|
|||||||
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||||
ЗаполнитьРеквизитыТабличнойЧастиДляАдреса(СтрокаКонтактнойИнформации, Объект);
|
ЗаполнитьРеквизитыТабличнойЧастиДляАдреса(СтрокаКонтактнойИнформации, Объект);
|
||||||
|
|
||||||
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
|
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон
|
||||||
ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(СтрокаКонтактнойИнформации, Объект);
|
Или ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||||
|
|
||||||
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
|
||||||
ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(СтрокаКонтактнойИнформации, Объект);
|
ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(СтрокаКонтактнойИнформации, Объект);
|
||||||
|
|
||||||
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
||||||
|
|||||||
@@ -1063,10 +1063,11 @@
|
|||||||
// Структура:
|
// Структура:
|
||||||
// * ПриОпределенииПолучателей - Булево - при установке значения Истина будет вызвана процедура модуля менеджера
|
// * ПриОпределенииПолучателей - Булево - при установке значения Истина будет вызвана процедура модуля менеджера
|
||||||
// объекта ПриОпределенииПолучателей,
|
// объекта ПриОпределенииПолучателей,
|
||||||
// где определяются получатели для отправки печатной формы.
|
// где определяются получатели для отправки печатной формы.
|
||||||
// * ПриДобавленииКомандПечати - Булево, Неопределено - при установке значения Истина будет вызвана процедура модуля
|
// По умолчанию, значение Ложь.
|
||||||
// менеджера объекта ДобавитьКомандыПечати,
|
// * ПриДобавленииКомандПечати - Булево - при установке значения Истина будет вызвана процедура модуля
|
||||||
// где добавляются команды печати. Неопределено - объект не подключен к подсистеме печати.
|
// менеджера объекта ДобавитьКомандыПечати, где добавляются команды печати.
|
||||||
|
// По умолчанию, значение Ложь.
|
||||||
//
|
//
|
||||||
Функция НастройкиПечатиОбъекта(МенеджерОбъекта) Экспорт
|
Функция НастройкиПечатиОбъекта(МенеджерОбъекта) Экспорт
|
||||||
|
|
||||||
@@ -1253,18 +1254,19 @@
|
|||||||
|
|
||||||
Область = Неопределено;
|
Область = Неопределено;
|
||||||
|
|
||||||
Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
|
Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" Или ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул"
|
||||||
|
Или ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
|
||||||
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьВерхнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьВерхнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
|
ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул" Или ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул"
|
||||||
|
Или ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
|
||||||
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьНижнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьНижнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая" Тогда
|
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая"
|
||||||
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьМакета(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
Или ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы"
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы" Тогда
|
Или ОписаниеОбласти.ТипОбласти = "Список" Тогда
|
||||||
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьМакета(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Список" Тогда
|
|
||||||
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьМакета(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
Область = УправлениеПечатьюСлужебный.ПолучитьОбластьМакета(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Тип области не указан или указан некорректно: %1.'"), ОписаниеОбласти.ТипОбласти);
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Тип области не указан или указан некорректно: %1.'"), ОписаниеОбласти.ТипОбласти);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Область <> Неопределено Тогда
|
Если Область <> Неопределено Тогда
|
||||||
@@ -1292,16 +1294,16 @@
|
|||||||
Попытка
|
Попытка
|
||||||
|
|
||||||
ОписаниеОбласти = ОбластьМакета.ОписаниеОбласти;
|
ОписаниеОбласти = ОбластьМакета.ОписаниеОбласти;
|
||||||
|
|
||||||
ВыведеннаяОбласть = Неопределено;
|
ВыведеннаяОбласть = Неопределено;
|
||||||
|
|
||||||
Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
|
Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" Или ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул"
|
||||||
|
Или ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
|
||||||
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьВерхнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
|
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьВерхнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
|
ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул" Или ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул"
|
||||||
|
Или ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
|
||||||
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьНижнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
|
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьНижнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая" Тогда
|
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая" Или ОписаниеОбласти.ТипОбласти = "Список"
|
||||||
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, ПереходНаСледующуюСтроку);
|
Или ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы" Тогда
|
||||||
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Список" ИЛИ ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы" Тогда
|
|
||||||
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, ПереходНаСледующуюСтроку);
|
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, ПереходНаСледующуюСтроку);
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение ТекстТипОбластиУказанНекорректно();
|
ВызватьИсключение ТекстТипОбластиУказанНекорректно();
|
||||||
@@ -1310,7 +1312,7 @@
|
|||||||
ОписаниеОбласти.Вставить("Область", ВыведеннаяОбласть);
|
ОписаниеОбласти.Вставить("Область", ВыведеннаяОбласть);
|
||||||
ОписаниеОбласти.Вставить("ПереходНаСледующуюСтроку", ПереходНаСледующуюСтроку);
|
ОписаниеОбласти.Вставить("ПереходНаСледующуюСтроку", ПереходНаСледующуюСтроку);
|
||||||
|
|
||||||
// Содержит тип области, и границы области (если требуется).
|
// Содержит тип и границы области (если требуется).
|
||||||
ПечатнаяФорма.ПоследняяВыведеннаяОбласть = ОписаниеОбласти;
|
ПечатнаяФорма.ПоследняяВыведеннаяОбласть = ОписаниеОбласти;
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
@@ -4478,18 +4480,20 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция МакетыПечатныхФорм() Экспорт
|
Функция МакетыПечатныхФорм(ТолькоОбработкиИОтчеты = Ложь) Экспорт
|
||||||
|
|
||||||
Результат = Новый Соответствие;
|
Результат = Новый Соответствие;
|
||||||
|
|
||||||
КоллекцииОбъектовМетаданных = Новый Массив; // Массив из КоллекцияОбъектовМетаданных -
|
КоллекцииОбъектовМетаданных = Новый Массив; // Массив из КоллекцияОбъектовМетаданных -
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Справочники);
|
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Документы);
|
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Обработки);
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Обработки);
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.БизнесПроцессы);
|
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Задачи);
|
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.ЖурналыДокументов);
|
|
||||||
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Отчеты);
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Отчеты);
|
||||||
|
Если Не ТолькоОбработкиИОтчеты Тогда
|
||||||
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Справочники);
|
||||||
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Документы);
|
||||||
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.БизнесПроцессы);
|
||||||
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Задачи);
|
||||||
|
КоллекцииОбъектовМетаданных.Добавить(Метаданные.ЖурналыДокументов);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого КоллекцияОбъектовМетаданных Из КоллекцииОбъектовМетаданных Цикл
|
Для Каждого КоллекцияОбъектовМетаданных Из КоллекцииОбъектовМетаданных Цикл
|
||||||
Для Каждого ОбъектМетаданныхКоллекции Из КоллекцияОбъектовМетаданных Цикл
|
Для Каждого ОбъектМетаданныхКоллекции Из КоллекцияОбъектовМетаданных Цикл
|
||||||
|
|||||||
@@ -291,7 +291,7 @@
|
|||||||
КнопкаФормы.Заголовок = ПредставлениеЯзыка;
|
КнопкаФормы.Заголовок = ПредставлениеЯзыка;
|
||||||
КнопкаФормы.ПоложениеВКоманднойПанели = ?(ЭтоМобильныйКлиент,
|
КнопкаФормы.ПоложениеВКоманднойПанели = ?(ЭтоМобильныйКлиент,
|
||||||
ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю, ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанели);
|
ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю, ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанели);
|
||||||
КнопкаФормы.Видимость = МакетНаТекущемЯзыке;
|
КнопкаФормы.Видимость = МакетНаТекущемЯзыке Или Не ЭтоФормаРедактирования;
|
||||||
|
|
||||||
Если ЭтоФормаРедактирования Тогда
|
Если ЭтоФормаРедактирования Тогда
|
||||||
Команда = Команды.Добавить("ДобавитьЯзык_" + КодЛокализации);
|
Команда = Команды.Добавить("ДобавитьЯзык_" + КодЛокализации);
|
||||||
|
|||||||
@@ -1411,48 +1411,55 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
УсловиеОбласти = УсловиеОбласти(ОбластьНачала);
|
||||||
Если ОбластьОкончания = Неопределено Тогда
|
Если ОбластьОкончания = Неопределено Тогда
|
||||||
ВызватьИсключение НСтр("ru='Не удалось найти окончание условной области'");
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru='В макете документа нет окончания условной области ""%1"".'"), УсловиеОбласти);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
УсловиеОбласти = ПолучитьУсловиеОбласти(ОбластьНачала);
|
|
||||||
|
|
||||||
ОбластьКоллекции = Неопределено;
|
ОбластьКоллекции = Неопределено;
|
||||||
ОкончанияУсловныхОбластей = Новый Массив;
|
ОкончанияУсловныхОбластей = Новый Массив;
|
||||||
|
УдаляемыеОбласти = Новый Массив;
|
||||||
Для Каждого Область Из Области Цикл
|
Для Каждого Область Из Области Цикл
|
||||||
Если Область.Индекс < ИндексНайденнойОбластиОкончание И ИндексНайденнойОбластиНачало < Область.Индекс Тогда
|
Если Область.Индекс >= ИндексНайденнойОбластиОкончание Или ИндексНайденнойОбластиНачало >= Область.Индекс Тогда
|
||||||
Если ЗначениеЗаполнено(Область.Коллекция) Тогда
|
Продолжить;
|
||||||
ОбластьКоллекции = Область;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
Если ЗначениеЗаполнено(Область.Коллекция) Тогда
|
||||||
ЭтоРодительОкончанияУсловия =
|
ОбластьКоллекции = Область;
|
||||||
Область.УзелДереваДокумента.Строки.Найти(ИндексНайденнойОбластиОкончание, "Индекс", Истина) <> Неопределено;
|
КонецЕсли;
|
||||||
Если ЭтоРодительОкончанияУсловия Тогда
|
ЭтоРодительОкончанияУсловия =
|
||||||
Если ОбластьКоллекции <> Неопределено Тогда
|
Область.УзелДереваДокумента.Строки.Найти(ИндексНайденнойОбластиОкончание, "Индекс", Истина) <> Неопределено;
|
||||||
УзелСледующейОбласти = НайтиГраницуСледующейОбласти(ОбластьКоллекции.УзелДереваДокумента, Области);
|
Если Не ЭтоРодительОкончанияУсловия Тогда
|
||||||
Если УзелСледующейОбласти <> Неопределено И УзелСледующейОбласти.Индекс < ИндексНайденнойОбластиОкончание Тогда
|
Область.УсловиеОбласти = УсловиеОбласти;
|
||||||
СтруктураОкончания = Новый Структура("УзелДереваДокумента, УсловиеОбласти");
|
Продолжить;
|
||||||
СтруктураОкончания.УзелДереваДокумента = УзелСледующейОбласти;
|
КонецЕсли;
|
||||||
СтруктураОкончания.УсловиеОбласти = УсловиеОбласти;
|
|
||||||
ОкончанияУсловныхОбластей.Добавить(СтруктураОкончания);
|
Если ОбластьКоллекции <> Неопределено Тогда
|
||||||
КонецЕсли;
|
УзелСледующейОбласти = ГраницаСледующейОбласти(ОбластьКоллекции.УзелДереваДокумента, Области);
|
||||||
КонецЕсли;
|
Если УзелСледующейОбласти <> Неопределено И УзелСледующейОбласти.Индекс < ИндексНайденнойОбластиОкончание Тогда
|
||||||
|
СвойстваОбласти = Новый Структура("УзелДереваДокумента, УсловиеОбласти");
|
||||||
УзелСледующейОбласти = НайтиГраницуСледующейОбласти(ОбластьОкончания, Области);
|
СвойстваОбласти.УзелДереваДокумента = УзелСледующейОбласти;
|
||||||
Если УзелСледующейОбласти = Неопределено Тогда
|
СвойстваОбласти.УсловиеОбласти = УсловиеОбласти;
|
||||||
Области.Удалить(Область);
|
ОкончанияУсловныхОбластей.Добавить(СвойстваОбласти);
|
||||||
Продолжить;
|
|
||||||
КонецЕсли;
|
|
||||||
Область.УзелДереваДокумента = УзелСледующейОбласти;
|
|
||||||
Область.Индекс = Область.УзелДереваДокумента.Индекс;
|
|
||||||
Иначе
|
|
||||||
Область.УсловиеОбласти = УсловиеОбласти;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
УзелСледующейОбласти = ГраницаСледующейОбласти(ОбластьОкончания, Области);
|
||||||
|
Если УзелСледующейОбласти = Неопределено Тогда
|
||||||
|
УдаляемыеОбласти.Добавить(Область);
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Область.УзелДереваДокумента = УзелСледующейОбласти;
|
||||||
|
Область.Индекс = Область.УзелДереваДокумента.Индекс;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Для Каждого СтруктураОкончания Из ОкончанияУсловныхОбластей Цикл
|
Для каждого Область Из УдаляемыеОбласти Цикл
|
||||||
|
Области.Удалить(Область);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого СвойстваОбласти Из ОкончанияУсловныхОбластей Цикл
|
||||||
НоваяОбласть = Области.Добавить();
|
НоваяОбласть = Области.Добавить();
|
||||||
ЗаполнитьЗначенияСвойств(НоваяОбласть, СтруктураОкончания);
|
ЗаполнитьЗначенияСвойств(НоваяОбласть, СвойстваОбласти);
|
||||||
НоваяОбласть.Индекс = НоваяОбласть.УзелДереваДокумента.Индекс;
|
НоваяОбласть.Индекс = НоваяОбласть.УзелДереваДокумента.Индекс;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@@ -1885,7 +1892,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция НайтиГраницуСледующейОбласти(Строка, Области)
|
Функция ГраницаСледующейОбласти(Строка, Области)
|
||||||
Родитель = Строка.Родитель;
|
Родитель = Строка.Родитель;
|
||||||
Если Родитель = Неопределено Тогда
|
Если Родитель = Неопределено Тогда
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
@@ -1906,7 +1913,7 @@
|
|||||||
|
|
||||||
Если ПерейтиКРодителю Тогда
|
Если ПерейтиКРодителю Тогда
|
||||||
|
|
||||||
Возврат НайтиГраницуСледующейОбласти(Родитель, Области);
|
Возврат ГраницаСледующейОбласти(Родитель, Области);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
@@ -2088,11 +2095,11 @@
|
|||||||
Возврат УправлениеПечатьюКлиентСервер.ИмяТегаУсловие();
|
Возврат УправлениеПечатьюКлиентСервер.ИмяТегаУсловие();
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьУсловиеОбласти(Область)
|
Функция УсловиеОбласти(Область)
|
||||||
МассивУсловияНачало = СтрРазделить(Область.ПолныйТекст, "{", Ложь);
|
МассивУсловияНачало = СтрРазделить(Область.ПолныйТекст, "{", Ложь);
|
||||||
Для к=0 По МассивУсловияНачало.ВГраница() Цикл
|
Для Индекс = 0 По МассивУсловияНачало.ВГраница() Цикл
|
||||||
Если СтрНайти(МассивУсловияНачало[к], ИмяТегаУсловие()+" ") Тогда
|
Если СтрНайти(МассивУсловияНачало[Индекс], ИмяТегаУсловие()+" ") Тогда
|
||||||
МассивУсловияОкончания = СтрРазделить(МассивУсловияНачало[к], "}", Ложь);
|
МассивУсловияОкончания = СтрРазделить(МассивУсловияНачало[Индекс], "}", Ложь);
|
||||||
Возврат СокрЛП(СтрЗаменить(МассивУсловияОкончания[0], ИмяТегаУсловие()+" ", ""));
|
Возврат СокрЛП(СтрЗаменить(МассивУсловияОкончания[0], ИмяТегаУсловие()+" ", ""));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -2100,11 +2107,11 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СтрокаСодержитНачалоОбласти(Знач Текст, ИменаТабличныхЧастей)
|
Функция СтрокаСодержитНачалоОбласти(Знач Текст, ИменаТабличныхЧастей)
|
||||||
Результат = СтрНайти(Текст, "{"+ИмяТегаУсловие()+" ") ИЛИ СтрНайти(Текст, "{/"+ИмяТегаУсловие());
|
|
||||||
|
|
||||||
|
Результат = СтрНайти(Текст, "{"+ИмяТегаУсловие()+" ") ИЛИ СтрНайти(Текст, "{/"+ИмяТегаУсловие());
|
||||||
СтрокаСодержитНачалоТабличнойЧасти(Текст, ИменаТабличныхЧастей, Результат);
|
СтрокаСодержитНачалоТабличнойЧасти(Текст, ИменаТабличныхЧастей, Результат);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СтрокаСодержитНачалоТабличнойЧасти(Текст, ИменаТабличныхЧастей, Результат)
|
Функция СтрокаСодержитНачалоТабличнойЧасти(Текст, ИменаТабличныхЧастей, Результат)
|
||||||
@@ -2552,7 +2559,7 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ДобавитьОбластьСУсловием(Области, Область)
|
Процедура ДобавитьОбластьСУсловием(Области, Область)
|
||||||
УзелСледующейОбласти = НайтиГраницуСледующейОбласти(Область, Области);
|
УзелСледующейОбласти = ГраницаСледующейОбласти(Область, Области);
|
||||||
|
|
||||||
Если УзелСледующейОбласти = Неопределено Тогда
|
Если УзелСледующейОбласти = Неопределено Тогда
|
||||||
Возврат;
|
Возврат;
|
||||||
@@ -2566,7 +2573,7 @@
|
|||||||
НайденнаяОбласть.Индекс = НайденнаяОбласть.УзелДереваДокумента.Индекс;
|
НайденнаяОбласть.Индекс = НайденнаяОбласть.УзелДереваДокумента.Индекс;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НайденнаяОбласть.УсловиеОбласти = ПолучитьУсловиеОбласти(Область);
|
НайденнаяОбласть.УсловиеОбласти = УсловиеОбласти(Область);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -2578,7 +2585,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
УдалитьФайлы(ПолноеИмяФайла);
|
УдалитьФайлы(ПолноеИмяФайла);
|
||||||
ЗаписатьСобытияВЖурналРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
ЗаписатьСобытияВЖурналРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
ВызватьИсключение(НСтр("ru = 'Не удалось открыть файла шаблона по причине:'") + Символы.ПС
|
ВызватьИсключение(НСтр("ru = 'Не удалось открыть файл шаблона по причине:'") + Символы.ПС
|
||||||
+ ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
+ ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -5353,7 +5360,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
УдалитьФайлы(ИмяВременногоФайла);
|
УдалитьФайлы(ИмяВременногоФайла);
|
||||||
ЗаписатьСобытияВЖурналРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
ЗаписатьСобытияВЖурналРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
ВызватьИсключение(НСтр("ru = 'Не удалось открыть файла шаблона по причине:'") + Символы.ПС
|
ВызватьИсключение(НСтр("ru = 'Не удалось открыть файл шаблона по причине:'") + Символы.ПС
|
||||||
+ ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
+ ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
|||||||
Loaded 100 of 271 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user