2_4_6_27
This commit is contained in:
1 parent
9a30420561
commit
aaa751af4b
106 files changed
+12689
-1716
No files matched your search
@@ -11,6 +11,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
|
||||
|
||||
Доступен = ?(Объект.ТолькоДляАвтора, "1", "2");
|
||||
|
||||
// Чтение свойств предопределенного;
|
||||
|
||||
@@ -86,4 +86,94 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
#КонецОбласти
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики обновления.
|
||||
|
||||
// Регистрирует данные к обновлению в плане обмена ОбновлениеИнформационнойБазы
|
||||
// см. Стандарты и методики разработки прикладных решений: Параллельный режим отложенного обновления.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
|
||||
//
|
||||
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
Запрос = Новый Запрос("
|
||||
|ВЫБРАТЬ
|
||||
| Варианты.Ссылка
|
||||
|ИЗ
|
||||
| Справочник.ВариантыОтчетов КАК Варианты
|
||||
|ГДЕ
|
||||
| Варианты.Отчет = &УниверсальныйОтчет
|
||||
| И Варианты.Пользовательский
|
||||
|");
|
||||
УниверсальныйОтчет = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Отчеты.УниверсальныйОтчет);
|
||||
Запрос.УстановитьПараметр("УниверсальныйОтчет", УниверсальныйОтчет);
|
||||
|
||||
Ссылки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Ссылки);
|
||||
КонецПроцедуры
|
||||
|
||||
// Обрабатывает данные, зарегистрированные в плане обмена ОбновлениеИнформационнойБазы
|
||||
// см. Стандарты и методики разработки прикладных решений: Параллельный режим отложенного обновления.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
|
||||
//
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
ОбъектМетаданных = Метаданные.Справочники.ВариантыОтчетов;
|
||||
ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя();
|
||||
|
||||
Обработано = 0;
|
||||
Отказано = 0;
|
||||
|
||||
Вариант = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
|
||||
Пока Вариант.Следующий() Цикл
|
||||
Попытка
|
||||
Отчеты.УниверсальныйОтчет.УстановитьИсточникДанныхВарианта(Вариант.Ссылка);
|
||||
Обработано = Обработано + 1;
|
||||
Исключение
|
||||
// Если не удалось обработать вариант отчета, повторяем попытку снова.
|
||||
Отказано = Отказано + 1;
|
||||
|
||||
ШаблонКомментария = НСтр("ru = 'Не удалось установить источник данных варианта отчета:
|
||||
| %1 по причине:
|
||||
| %2'");
|
||||
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонКомментария, Вариант.Ссылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
//
|
||||
ЗаписьЖурналаРегистрации(
|
||||
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
|
||||
УровеньЖурналаРегистрации.Предупреждение,
|
||||
ОбъектМетаданных,
|
||||
Вариант.Ссылка,
|
||||
Комментарий);
|
||||
КонецПопытки;
|
||||
КонецЦикла;
|
||||
|
||||
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
|
||||
Если Обработано = 0 И Отказано <> 0 Тогда
|
||||
ШаблонСообщения = НСтр("ru = 'Процедуре УстановитьИсточникДанныхВарианта не удалось обработать некоторые варианты отчетов: %1'");
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Отказано);
|
||||
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
Иначе
|
||||
ШаблонКомментария = НСтр("ru = 'Процедура УстановитьИсточникДанныхВарианта обработала очередной пакет вариантов отчетов: %1'");
|
||||
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, Обработано);
|
||||
//
|
||||
ЗаписьЖурналаРегистрации(
|
||||
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
|
||||
УровеньЖурналаРегистрации.Информация,
|
||||
ОбъектМетаданных,,
|
||||
Комментарий);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
@@ -28,6 +28,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
|
||||
|
||||
ПользователемИзмененаПометкаУдаления = (
|
||||
Не ЭтоНовый()
|
||||
И ПометкаУдаления <> Ссылка.ПометкаУдаления
|
||||
|
||||
@@ -59,33 +59,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ДополнительныеНастройкиАдреса</name>
|
||||
<id>153</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДополнительныеНастройкиАдресаРасширеннаяПодсказка</name>
|
||||
<id>154</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.ДополнительныеНастройкиАдреса</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -523,6 +496,71 @@
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>МеждународныйФорматАдреса</name>
|
||||
<id>165</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.МеждународныйФорматАдреса</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>МеждународныйФорматАдресаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>МеждународныйФорматАдресаРасширеннаяПодсказка</name>
|
||||
<id>167</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>МеждународныйФорматАдресаКонтекстноеМеню</name>
|
||||
<id>166</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ДополнительныеНастройкиАдреса</name>
|
||||
<id>153</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДополнительныеНастройкиАдресаРасширеннаяПодсказка</name>
|
||||
<id>154</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.ДополнительныеНастройкиАдреса</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
|
||||
@@ -153,6 +153,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура МеждународныйФорматАдресаПриИзменении(Элемент)
|
||||
|
||||
ИзменитьОтображениеПриИзмененииТипа();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
@@ -186,8 +193,9 @@
|
||||
|
||||
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ДополнительныеНастройкиАдреса.Видимость = ДоступныДополнительныеНастройкиАдреса;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ДополнительныеНастройкиАдреса.Видимость = ДоступныДополнительныеНастройкиАдреса;
|
||||
Элементы.ДополнительныеНастройкиАдреса.Доступность = Не Объект.МеждународныйФорматАдреса;
|
||||
Иначе
|
||||
Элементы.ДополнительныеНастройкиАдреса.Видимость = Ложь;
|
||||
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
|
||||
@@ -241,6 +249,5 @@
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -112,5 +112,4 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#КонецЕсли
|
||||
@@ -512,6 +512,25 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="71dfde27-3762-4dd0-9252-6e703ce1b101">
|
||||
<name>МеждународныйФорматАдреса</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Международный формат адреса</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Адрес редактируется в международном формате на английском языке.</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<forms uuid="f5ef3f75-7d12-4284-844f-54d19d1f7e2f">
|
||||
<name>ФормаСписка</name>
|
||||
<synonym>
|
||||
|
||||
@@ -837,6 +837,10 @@
|
||||
<command>CommonCommand.Напомнить</command>
|
||||
<userVisible/>
|
||||
</cmiFragmentRecord>
|
||||
<cmiFragmentRecord>
|
||||
<command>CommonCommand.СкрытьПерсональныеДанныеСубъектов</command>
|
||||
<userVisible/>
|
||||
</cmiFragmentRecord>
|
||||
</commandBar>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:CatalogFormExtInfo"/>
|
||||
|
||||
@@ -92,6 +92,91 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ИНН</name>
|
||||
<id>45</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ИНН</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ИННРасширеннаяПодсказка</name>
|
||||
<id>47</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ИННКонтекстноеМеню</name>
|
||||
<id>46</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>12</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Телефоны</name>
|
||||
<id>13</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Телефоны</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ТелефоныExtendedTooltip</name>
|
||||
<id>37</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТелефоныКонтекстноеМеню</name>
|
||||
<id>14</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>20</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -115,10 +200,8 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -283,25 +366,99 @@
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаКоррСчетБИК</name>
|
||||
<id>15</id>
|
||||
<name>ГруппаРеквизитыДляПлатежейВнутриСтраны</name>
|
||||
<id>64</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>Коды</name>
|
||||
<id>41</id>
|
||||
<name>ГруппаКоррСчетБИК</name>
|
||||
<id>15</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>Коды</name>
|
||||
<id>41</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Код</name>
|
||||
<id>1</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Code</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>КодExtendedTooltip</name>
|
||||
<id>32</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КодКонтекстноеМеню</name>
|
||||
<id>2</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>12</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Коды</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КодыРасширеннаяПодсказка</name>
|
||||
<id>42</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Код</name>
|
||||
<id>1</id>
|
||||
<name>КоррСчет</name>
|
||||
<id>7</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Code</segments>
|
||||
<segments>Объект.КоррСчет</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>КодExtendedTooltip</name>
|
||||
<id>32</id>
|
||||
<name>КоррСчетExtendedTooltip</name>
|
||||
<id>31</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -310,8 +467,8 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КодКонтекстноеМеню</name>
|
||||
<id>2</id>
|
||||
<name>КоррСчетКонтекстноеМеню</name>
|
||||
<id>8</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
@@ -320,54 +477,7 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>12</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СВИФТКод</name>
|
||||
<id>38</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>СВИФТ БИК</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.СВИФТБИК</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СВИФТКодРасширеннаяПодсказка</name>
|
||||
<id>40</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СВИФТКодКонтекстноеМеню</name>
|
||||
<id>39</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>11</width>
|
||||
<width>24</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
@@ -385,11 +495,11 @@
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Коды</value>
|
||||
<value>Корр счет БИК</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КодыРасширеннаяПодсказка</name>
|
||||
<id>42</id>
|
||||
<name>ГруппаКоррСчетБИКExtendedTooltip</name>
|
||||
<id>30</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -399,27 +509,27 @@
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>КоррСчет</name>
|
||||
<id>7</id>
|
||||
<name>Город</name>
|
||||
<id>9</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.КоррСчет</segments>
|
||||
<segments>Объект.Город</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>КоррСчетExtendedTooltip</name>
|
||||
<id>31</id>
|
||||
<name>ГородExtendedTooltip</name>
|
||||
<id>34</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -428,8 +538,8 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КоррСчетКонтекстноеМеню</name>
|
||||
<id>8</id>
|
||||
<name>ГородКонтекстноеМеню</name>
|
||||
<id>10</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
@@ -438,7 +548,7 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>24</width>
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
@@ -450,19 +560,19 @@
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ИНН</name>
|
||||
<id>45</id>
|
||||
<name>Адрес</name>
|
||||
<id>11</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ИНН</segments>
|
||||
<segments>Объект.Адрес</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ИННРасширеннаяПодсказка</name>
|
||||
<id>47</id>
|
||||
<name>АдресExtendedTooltip</name>
|
||||
<id>36</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -471,8 +581,88 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ИННКонтекстноеМеню</name>
|
||||
<id>46</id>
|
||||
<name>АдресКонтекстноеМеню</name>
|
||||
<id>12</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Реквизиты для платежей внутри страны</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаРеквизитыДляПлатежейВнутриСтраныРасширеннаяПодсказка</name>
|
||||
<id>65</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаРеквизитыДляМеждународныхПлатежей</name>
|
||||
<id>66</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>НаименованиеМеждународное</name>
|
||||
<id>48</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Наименование / Bank name</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.МеждународноеНаименование</segments>
|
||||
</dataPath>
|
||||
<titleHeight>1</titleHeight>
|
||||
<extendedTooltip>
|
||||
<name>НаименованиеМеждународноеРасширеннаяПодсказка</name>
|
||||
<id>50</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>НаименованиеМеждународноеКонтекстноеМеню</name>
|
||||
<id>49</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
@@ -481,8 +671,193 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>12</width>
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СВИФТКод</name>
|
||||
<id>38</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>SWIFT BIC</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.СВИФТБИК</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СВИФТКодРасширеннаяПодсказка</name>
|
||||
<id>40</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СВИФТКодКонтекстноеМеню</name>
|
||||
<id>39</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>11</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ГородМеждународный</name>
|
||||
<id>54</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Город / City</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ГородМеждународный</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ГородМеждународныйРасширеннаяПодсказка</name>
|
||||
<id>56</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ГородМеждународныйКонтекстноеМеню</name>
|
||||
<id>55</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>АдресМеждународный</name>
|
||||
<id>57</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Адрес / Address</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.АдресМеждународный</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>АдресМеждународныйРасширеннаяПодсказка</name>
|
||||
<id>59</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АдресМеждународныйКонтекстноеМеню</name>
|
||||
<id>58</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Страна</name>
|
||||
<id>51</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Страна / Country</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Страна</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СтранаРасширеннаяПодсказка</name>
|
||||
<id>53</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СтранаКонтекстноеМеню</name>
|
||||
<id>52</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
@@ -499,11 +874,11 @@
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Корр счет БИК</value>
|
||||
<value>Реквизиты для международных платежей</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаКоррСчетБИКExtendedTooltip</name>
|
||||
<id>30</id>
|
||||
<name>ГруппаРеквизитыДляМеждународныхПлатежейРасширеннаяПодсказка</name>
|
||||
<id>67</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -515,140 +890,13 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<showTitle>auto</showTitle>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Город</name>
|
||||
<id>9</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Город</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ГородExtendedTooltip</name>
|
||||
<id>34</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ГородКонтекстноеМеню</name>
|
||||
<id>10</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>24</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Адрес</name>
|
||||
<id>11</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Адрес</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>АдресExtendedTooltip</name>
|
||||
<id>36</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АдресКонтекстноеМеню</name>
|
||||
<id>12</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>30</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Телефоны</name>
|
||||
<id>13</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Телефоны</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ТелефоныExtendedTooltip</name>
|
||||
<id>37</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТелефоныКонтекстноеМеню</name>
|
||||
<id>14</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>20</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Элементы.СтраницыДеятельностьПрекращена.Видимость = Объект.ДеятельностьПрекращена Или Пользователи.ЭтоПолноправныйПользователь();
|
||||
Элементы.СтраницыДеятельностьПрекращена.ТекущаяСтраница = ?(Пользователи.ЭтоПолноправныйПользователь(),
|
||||
Элементы.СтраницаФлажокДеятельностьПрекращена, Элементы.СтраницаНадписьДеятельностьПрекращена);
|
||||
|
||||
@@ -308,6 +308,91 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="d253aa54-a447-44aa-bb13-82fd1ce22af4">
|
||||
<name>Страна</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Страна</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.СтраныМира</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Страна регистрации банка</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="8936f114-7a0e-4a4c-8752-ccacab410778">
|
||||
<name>МеждународноеНаименование</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Международное наименование</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>100</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Международное наименование банка латиницей</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="55649242-42fd-468f-a1e4-f6cd8871f7a4">
|
||||
<name>ГородМеждународный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Город</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>50</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Город банка латиницей в международном формате.</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="980e0883-cd8f-48c8-896f-ef185650f5c2">
|
||||
<name>АдресМеждународный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Адрес</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>500</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Адрес банка латницей в международном формате</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<forms uuid="c31e34db-41ff-4db3-a4d0-f780f67070f6">
|
||||
<name>ФормаВыбора</name>
|
||||
<synonym>
|
||||
|
||||
@@ -568,7 +568,7 @@
|
||||
&НаСервере
|
||||
Процедура УстановитьВидимостьБазовогоКалендаря()
|
||||
|
||||
ТаблицаКалендарей = КалендарныеГрафики.ТаблицаПроизводственныхКалендарей();
|
||||
ТаблицаКалендарей = Справочники.ПроизводственныеКалендари.ПроизводственныеКалендариИзМакета();
|
||||
Если ТаблицаКалендарей.Найти(СокрЛП(Объект.Код), "Code") <> Неопределено Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "БазовыйКалендарьГруппа", "Видимость", Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -94,10 +94,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Функция читает данные производственного календаря из регистра.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -114,20 +110,108 @@
|
||||
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
|
||||
Запрос.УстановитьПараметр("ТекущийГод", НомерГода);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ДанныеПроизводственногоКалендаря.Дата,
|
||||
| ДанныеПроизводственногоКалендаря.ВидДня,
|
||||
| ДанныеПроизводственногоКалендаря.ДатаПереноса
|
||||
|ИЗ
|
||||
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|
||||
|ГДЕ
|
||||
| ДанныеПроизводственногоКалендаря.Год = &ТекущийГод
|
||||
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь";
|
||||
"ВЫБРАТЬ
|
||||
| ДанныеПроизводственногоКалендаря.Дата,
|
||||
| ДанныеПроизводственногоКалендаря.ВидДня,
|
||||
| ДанныеПроизводственногоКалендаря.ДатаПереноса
|
||||
|ИЗ
|
||||
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|
||||
|ГДЕ
|
||||
| ДанныеПроизводственногоКалендаря.Год = &ТекущийГод
|
||||
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь";
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Обновляет справочник Производственные календари из XML файла.
|
||||
//
|
||||
// Параметры:
|
||||
// - ТаблицаКалендарей - таблица значений с описанием производственных календарей.
|
||||
//
|
||||
Процедура ОбновитьПроизводственныеКалендари(ТаблицаКалендарей) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("КлассификаторТаблица", ТаблицаКалендарей);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Code КАК СТРОКА(2)) КАК Код,
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Base КАК СТРОКА(2)) КАК КодБазового,
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Description КАК СТРОКА(100)) КАК Наименование
|
||||
|ПОМЕСТИТЬ КлассификаторТаблица
|
||||
|ИЗ
|
||||
| &КлассификаторТаблица КАК КлассификаторТаблица
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| КлассификаторТаблица.Код КАК Код,
|
||||
| КлассификаторТаблица.КодБазового КАК КодБазового,
|
||||
| КлассификаторТаблица.Наименование КАК Наименование,
|
||||
| ПроизводственныеКалендари.Ссылка КАК Ссылка,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.Код, """") КАК ПроизводственныйКалендарьКод,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.Наименование, """") КАК ПроизводственныйКалендарьНаименование,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.БазовыйКалендарь.Код, """") КАК ПроизводственныйКалендарьКодБазового
|
||||
|ИЗ
|
||||
| КлассификаторТаблица КАК КлассификаторТаблица
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
|
||||
| ПО КлассификаторТаблица.Код = ПроизводственныеКалендари.Код
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| КодБазового";
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Если СокрЛП(Выборка.Код) = СокрЛП(Выборка.ПроизводственныйКалендарьКод)
|
||||
И СокрЛП(Выборка.Наименование) = СокрЛП(Выборка.ПроизводственныйКалендарьНаименование)
|
||||
И СокрЛП(Выборка.КодБазового) = СокрЛП(Выборка.ПроизводственныйКалендарьКодБазового) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(Выборка.Ссылка) Тогда
|
||||
СправочникОбъект = Выборка.Ссылка.ПолучитьОбъект();
|
||||
Иначе
|
||||
Если Не ОбщегоНазначения.РазделениеВключено() И ЗначениеЗаполнено(Выборка.КодБазового) Тогда
|
||||
// Зависимые календари не создаем автоматически при обновлении в локальном режиме.
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СправочникОбъект = СоздатьЭлемент();
|
||||
КонецЕсли;
|
||||
СправочникОбъект.Код = СокрЛП(Выборка.Код);
|
||||
СправочникОбъект.Наименование = СокрЛП(Выборка.Наименование);
|
||||
Если ЗначениеЗаполнено(Выборка.КодБазового) Тогда
|
||||
СправочникОбъект.БазовыйКалендарь = НайтиПоКоду(Выборка.КодБазового);
|
||||
КонецЕсли;
|
||||
Если ОбновлениеИнформационнойБазы.ЭтоВызовИзОбработчикаОбновления() Тогда
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(СправочникОбъект);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СправочникОбъект.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет данные производственных календарей по таблице данных.
|
||||
//
|
||||
Функция ОбновитьДанныеПроизводственныхКалендарей(Знач ТаблицаДанных) Экспорт
|
||||
|
||||
ТаблицаИзменений = ТаблицаИзмененийПроизводственныхКалендарей();
|
||||
|
||||
ОбновитьОсновныеДанныеПроизводственныхКалендарей(ТаблицаДанных, ТаблицаИзменений);
|
||||
|
||||
ОбновитьДанныеЗависимыхПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
|
||||
Возврат ТаблицаИзменений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Функция подготавливает результат заполнения производственного календаря
|
||||
// данными по умолчанию.
|
||||
// При наличии в конфигурации макета с предопределенными данными
|
||||
@@ -152,7 +236,7 @@
|
||||
|
||||
// Отбираем данные из макета по обоим календарям.
|
||||
// Получаем не полный набор, а только праздничные дни и переносы.
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейИзМакета(КодыКалендарей, Ложь);
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейПоУмолчанию(КодыКалендарей);
|
||||
|
||||
ОтборСтрок = Новый Структура("КодПроизводственногоКалендаря,Год");
|
||||
ОтборСтрок.Год = НомерГода;
|
||||
@@ -234,7 +318,7 @@
|
||||
|
||||
// Запрашиваем данные всех календарей из макета для определения годов заполнения.
|
||||
КодыДанныхМакета = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("КодКалендаря");
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейИзМакета(КодыДанныхМакета, Ложь);
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейПоУмолчанию(КодыДанныхМакета);
|
||||
|
||||
ТаблицаДанных = НовыеДанныеПроизводственныхКалендарей();
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
@@ -275,14 +359,19 @@
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
|
||||
ТекстовыйДокумент = МодульКалендарныеГрафики.ПолучитьМакет("ДанныеПроизводственныхКалендарей");
|
||||
|
||||
Возврат ДанныеПроизводственныхКалендарейИзXML(ТекстовыйДокумент.ПолучитьТекст(), КодыКалендарей, ФормироватьПолныйНабор);
|
||||
ДанныеXML = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст());
|
||||
|
||||
ТаблицаКалендарей = ПроизводственныеКалендариИзМакета();
|
||||
|
||||
Возврат ДанныеПроизводственныхКалендарейИзXML(ДанныеXML, ТаблицаКалендарей, КодыКалендарей, ФормироватьПолныйНабор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Преобразовывает данные производственных календарей, представленные в виде XML.
|
||||
//
|
||||
// Параметры:
|
||||
// XML - документ с данными.
|
||||
// ДанныеXML - структура, извлеченная из файла XML методом ОбщегоНазначения.ПрочитатьXMLВТаблицу.
|
||||
// ТаблицаКалендарей - таблица значений, список производственных календарей, поддерживаемых в конфигурации.
|
||||
// КодыКалендарей - необязательный, массив, если не задан, то отбор не будет установлен.
|
||||
// ФормироватьПолныйНабор - необязательный, булево, если ложь, то будут сформированы только данные по отклонениям от календаря по умолчанию.
|
||||
//
|
||||
@@ -294,12 +383,11 @@
|
||||
// * Дата
|
||||
// * ДатаПереноса.
|
||||
//
|
||||
Функция ДанныеПроизводственныхКалендарейИзXML(Знач XML, КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт
|
||||
Функция ДанныеПроизводственныхКалендарейИзXML(Знач ДанныеXML, ТаблицаКалендарей, КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт
|
||||
|
||||
ТаблицаДанных = НовыеДанныеПроизводственныхКалендарей();
|
||||
ТаблицаКалендарей = КалендарныеГрафики.ТаблицаПроизводственныхКалендарей();
|
||||
|
||||
КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(XML).Данные;
|
||||
КлассификаторТаблица = ДанныеXML.Данные;
|
||||
|
||||
ГодыКалендарей = КлассификаторТаблица.Скопировать(, "Calendar,Year");
|
||||
ГодыКалендарей.Свернуть("Calendar,Year");
|
||||
@@ -350,90 +438,32 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновляет справочник Производственные календари из XML файла.
|
||||
// Получает таблицу поставляемых в составе программы производственных календарей.
|
||||
//
|
||||
// Параметры:
|
||||
// - ТаблицаКалендарей - таблица значений с описанием производственных календарей.
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений.
|
||||
//
|
||||
Процедура ОбновитьПроизводственныеКалендари(ТаблицаКалендарей) Экспорт
|
||||
Функция ПроизводственныеКалендариИзМакета() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("КлассификаторТаблица", ТаблицаКалендарей);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Code КАК СТРОКА(2)) КАК Код,
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Base КАК СТРОКА(2)) КАК КодБазового,
|
||||
| ВЫРАЗИТЬ(КлассификаторТаблица.Description КАК СТРОКА(100)) КАК Наименование
|
||||
|ПОМЕСТИТЬ КлассификаторТаблица
|
||||
|ИЗ
|
||||
| &КлассификаторТаблица КАК КлассификаторТаблица
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| КлассификаторТаблица.Код КАК Код,
|
||||
| КлассификаторТаблица.КодБазового КАК КодБазового,
|
||||
| КлассификаторТаблица.Наименование КАК Наименование,
|
||||
| ПроизводственныеКалендари.Ссылка КАК Ссылка,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.Код, """") КАК ПроизводственныйКалендарьКод,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.Наименование, """") КАК ПроизводственныйКалендарьНаименование,
|
||||
| ЕСТЬNULL(ПроизводственныеКалендари.БазовыйКалендарь.Код, """") КАК ПроизводственныйКалендарьКодБазового
|
||||
|ИЗ
|
||||
| КлассификаторТаблица КАК КлассификаторТаблица
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
|
||||
| ПО КлассификаторТаблица.Код = ПроизводственныеКалендари.Код
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| КодБазового";
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат;
|
||||
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
|
||||
Возврат Новый ТаблицаЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Если СокрЛП(Выборка.Код) = СокрЛП(Выборка.ПроизводственныйКалендарьКод)
|
||||
И СокрЛП(Выборка.Наименование) = СокрЛП(Выборка.ПроизводственныйКалендарьНаименование)
|
||||
И СокрЛП(Выборка.КодБазового) = СокрЛП(Выборка.ПроизводственныйКалендарьКодБазового) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(Выборка.Ссылка) Тогда
|
||||
СправочникОбъект = Выборка.Ссылка.ПолучитьОбъект();
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(Выборка.КодБазового) Тогда
|
||||
// Зависимые календари не создаем автоматически при обновлении.
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СправочникОбъект = СоздатьЭлемент();
|
||||
КонецЕсли;
|
||||
СправочникОбъект.Код = СокрЛП(Выборка.Код);
|
||||
СправочникОбъект.Наименование = СокрЛП(Выборка.Наименование);
|
||||
Если ЗначениеЗаполнено(Выборка.КодБазового) Тогда
|
||||
СправочникОбъект.БазовыйКалендарь = НайтиПоКоду(Выборка.КодБазового);
|
||||
КонецЕсли;
|
||||
Если ОбновлениеИнформационнойБазы.ЭтоВызовИзОбработчикаОбновления() Тогда
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(СправочникОбъект);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СправочникОбъект.Записать();
|
||||
КонецЦикла;
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
|
||||
ТекстовыйДокумент = МодульКалендарныеГрафики.ПолучитьМакет("ПроизводственныеКалендари");
|
||||
ТаблицаКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст()).Данные;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет данные производственных календарей по таблице данных.
|
||||
//
|
||||
Функция ОбновитьДанныеПроизводственныхКалендарей(Знач ТаблицаДанных) Экспорт
|
||||
|
||||
ТаблицаИзменений = ТаблицаИзмененийПроизводственныхКалендарей();
|
||||
|
||||
ОбновитьОсновныеДанныеПроизводственныхКалендарей(ТаблицаДанных, ТаблицаИзменений);
|
||||
|
||||
ОбновитьДанныеЗависимыхПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
|
||||
Возврат ТаблицаИзменений;
|
||||
Возврат ТаблицаКалендарей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаполнитьПроизводственныеКалендариПоУмолчаниюДлительнаяОперация(Параметры, АдресРезультата) Экспорт
|
||||
|
||||
Календари = ПроизводственныеКалендариПоУмолчанию();
|
||||
ПоместитьВоВременноеХранилище(Календари, АдресРезультата);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбновитьОсновныеДанныеПроизводственныхКалендарей(ТаблицаДанных, ИзмененияКалендарей)
|
||||
|
||||
Если ТаблицаДанных.Количество() = 0 Тогда
|
||||
@@ -441,28 +471,27 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("КлассификаторТаблица", ТаблицаДанных);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| КлассификаторТаблица.КодПроизводственногоКалендаря КАК КалендарьКод,
|
||||
| КлассификаторТаблица.Дата,
|
||||
| КлассификаторТаблица.Год,
|
||||
| КлассификаторТаблица.ВидДня,
|
||||
| КлассификаторТаблица.ДатаПереноса
|
||||
|ПОМЕСТИТЬ КлассификаторТаблица
|
||||
| КлассификаторТаблица.Дата КАК Дата,
|
||||
| КлассификаторТаблица.Год КАК Год,
|
||||
| КлассификаторТаблица.ВидДня КАК ВидДня,
|
||||
| КлассификаторТаблица.ДатаПереноса КАК ДатаПереноса
|
||||
|ПОМЕСТИТЬ ВТКлассификаторТаблица
|
||||
|ИЗ
|
||||
| &КлассификаторТаблица КАК КлассификаторТаблица
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ПроизводственныеКалендари.Ссылка КАК ПроизводственныйКалендарь,
|
||||
| КлассификаторТаблица.КалендарьКод КАК КодПроизводственногоКалендаря,
|
||||
| КлассификаторТаблица.Год,
|
||||
| КлассификаторТаблица.Дата,
|
||||
| КлассификаторТаблица.ВидДня,
|
||||
| КлассификаторТаблица.ДатаПереноса
|
||||
| КлассификаторТаблица.Год КАК Год
|
||||
|ПОМЕСТИТЬ ВТИзмененияКалендарей
|
||||
|ИЗ
|
||||
| КлассификаторТаблица КАК КлассификаторТаблица
|
||||
| ВТКлассификаторТаблица КАК КлассификаторТаблица
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
|
||||
| ПО КлассификаторТаблица.КалендарьКод = ПроизводственныеКалендари.Код
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|
||||
@@ -472,26 +501,55 @@
|
||||
| И КлассификаторТаблица.ВидДня = ДанныеПроизводственногоКалендаря.ВидДня
|
||||
| И КлассификаторТаблица.ДатаПереноса = ДанныеПроизводственногоКалендаря.ДатаПереноса
|
||||
|ГДЕ
|
||||
| ДанныеПроизводственногоКалендаря.ВидДня ЕСТЬ NULL ";
|
||||
| ДанныеПроизводственногоКалендаря.ВидДня ЕСТЬ NULL
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ИзмененияКалендарей.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
|
||||
| ИзмененияКалендарей.КодПроизводственногоКалендаря КАК КодПроизводственногоКалендаря,
|
||||
| ИзмененияКалендарей.Год КАК Год,
|
||||
| КлассификаторТаблица.Дата КАК Дата,
|
||||
| КлассификаторТаблица.ВидДня КАК ВидДня,
|
||||
| КлассификаторТаблица.ДатаПереноса КАК ДатаПереноса
|
||||
|ИЗ
|
||||
| ВТИзмененияКалендарей КАК ИзмененияКалендарей
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКлассификаторТаблица КАК КлассификаторТаблица
|
||||
| ПО (КлассификаторТаблица.КалендарьКод = ИзмененияКалендарей.КодПроизводственногоКалендаря)
|
||||
| И (КлассификаторТаблица.Год = ИзмененияКалендарей.Год)
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ИзмененияКалендарей.ПроизводственныйКалендарь,
|
||||
| Год";
|
||||
|
||||
Запрос.УстановитьПараметр("КлассификаторТаблица", ТаблицаДанных);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НаборЗаписей = РегистрыСведений.ДанныеПроизводственногоКалендаря.СоздатьНаборЗаписей();
|
||||
|
||||
КлючиРегистра = Новый Массив;
|
||||
КлючиРегистра.Добавить("ПроизводственныйКалендарь");
|
||||
КлючиРегистра.Добавить("Год");
|
||||
КлючиРегистра.Добавить("Дата");
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НаборЗаписей.Очистить();
|
||||
ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), Выборка);
|
||||
ЗаполнитьЗначенияСвойств(ИзмененияКалендарей.Добавить(), Выборка);
|
||||
Для Каждого Ключ Из КлючиРегистра Цикл
|
||||
НаборЗаписей.Отбор[Ключ].Установить(Выборка[Ключ]);
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.СледующийПоЗначениюПоля("ПроизводственныйКалендарь") Цикл
|
||||
Пока Выборка.СледующийПоЗначениюПоля("Год") Цикл
|
||||
НаборЗаписей.Очистить();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), Выборка);
|
||||
КонецЦикла;
|
||||
ЗаполнитьЗначенияСвойств(ИзмененияКалендарей.Добавить(), Выборка);
|
||||
Для Каждого Ключ Из КлючиРегистра Цикл
|
||||
НаборЗаписей.Отбор[Ключ].Установить(Выборка[Ключ]);
|
||||
КонецЦикла;
|
||||
Если ОбновлениеИнформационнойБазы.ЭтоВызовИзОбработчикаОбновления() Тогда
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
НаборЗаписей.Записать(Истина);
|
||||
КонецЦикла;
|
||||
НаборЗаписей.Записать(Истина);
|
||||
КонецЦикла;
|
||||
|
||||
ИзмененияКалендарей.Свернуть("КодПроизводственногоКалендаря, Год");
|
||||
@@ -506,6 +564,7 @@
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИзмененияКалендарей", ИзмененияКалендарей);
|
||||
Запрос.УстановитьПараметр("ГодНачалаОбновленияЗависимых", 2018);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ИзмененияКалендарей.КодПроизводственногоКалендаря КАК КодПроизводственногоКалендаря,
|
||||
@@ -526,6 +585,7 @@
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИзмененияКалендарей КАК ИзмененияБазовыхКалендарей
|
||||
| ПО ЗависимыеКалендари.БазовыйКалендарь.Код = ИзмененияБазовыхКалендарей.КодПроизводственногоКалендаря
|
||||
| И (ЗависимыеКалендари.БазовыйКалендарь <> ЗНАЧЕНИЕ(Справочник.ПроизводственныеКалендари.ПустаяСсылка))
|
||||
| И (ИзмененияБазовыхКалендарей.Год >= &ГодНачалаОбновленияЗависимых)
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ВТИзмененияКалендарей КАК ИзмененияЗависимыхКалендарей
|
||||
| ПО (ИзмененияЗависимыхКалендарей.КодПроизводственногоКалендаря = ЗависимыеКалендари.Код)
|
||||
| И (ИзмененияЗависимыхКалендарей.Год = ИзмененияБазовыхКалендарей.Год)
|
||||
@@ -537,7 +597,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
КодыЗависимых = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Код");
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейИзМакета(КодыЗависимых, Ложь);
|
||||
ДанныеИзМакета = ДанныеПроизводственныхКалендарейПоУмолчанию(КодыЗависимых);
|
||||
|
||||
ОтборСтрок = Новый Структура(
|
||||
"КодПроизводственногоКалендаря,
|
||||
@@ -572,6 +632,73 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Определяет источник актуального перечня поддерживаемых производственных календарей (макет или поставка классификатора).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений.
|
||||
//
|
||||
Функция ПроизводственныеКалендариПоУмолчанию()
|
||||
|
||||
Если КалендарныеГрафики.ВерсияКалендарей() >= КалендарныеГрафики.ВерсияЗагруженныхКалендарей() Тогда
|
||||
Возврат ПроизводственныеКалендариИзМакета();
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Возврат ПроизводственныеКалендариИзФайлаКлассификатора();
|
||||
Исключение
|
||||
ИмяСобытия = НСтр("ru = 'Календарные графики.Получение календарей из классификатора'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить список производственных календарей из классификатора.
|
||||
|Список календарей получен из поставляемого макета.
|
||||
|%1'"),
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , ТекстСообщения);
|
||||
КонецПопытки;
|
||||
|
||||
Возврат ПроизводственныеКалендариИзМакета();
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет источник актуальных данных производственного календаря (макет или поставка классификатора).
|
||||
//
|
||||
// Параметры:
|
||||
// КодыКалендарей - Массив.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений - см. Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML.
|
||||
//
|
||||
Функция ДанныеПроизводственныхКалендарейПоУмолчанию(КодыКалендарей)
|
||||
|
||||
Если КалендарныеГрафики.ВерсияКалендарей() >= КалендарныеГрафики.ВерсияЗагруженныхКалендарей() Тогда
|
||||
Возврат ДанныеПроизводственныхКалендарейИзМакета(КодыКалендарей, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДанныеПроизводственныхКалендарейИзФайлаКлассификатора(КодыКалендарей);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроизводственныеКалендариИзФайлаКлассификатора()
|
||||
|
||||
ДанныеКлассификатора = КалендарныеГрафики.ДанныеКлассификатора();
|
||||
|
||||
ТаблицаКалендарей = ДанныеКлассификатора["ПроизводственныеКалендари"].Данные;
|
||||
|
||||
Возврат ТаблицаКалендарей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеПроизводственныхКалендарейИзФайлаКлассификатора(КодыКалендарей)
|
||||
|
||||
ДанныеКлассификатора = КалендарныеГрафики.ДанныеКлассификатора();
|
||||
|
||||
Возврат ДанныеПроизводственныхКалендарейИзXML(
|
||||
ДанныеКлассификатора["ДанныеПроизводственныхКалендарей"],
|
||||
ДанныеКлассификатора["ПроизводственныеКалендари"].Данные,
|
||||
КодыКалендарей,
|
||||
Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает таблицу значений для описания изменений данных производственных календарей.
|
||||
//
|
||||
Функция ТаблицаИзмененийПроизводственныхКалендарей()
|
||||
@@ -825,11 +952,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КодБазовогоКалендаря(КодКалендаря, КлассификаторКалендарей = Неопределено)
|
||||
|
||||
Если КлассификаторКалендарей = Неопределено Тогда
|
||||
КлассификаторКалендарей = КалендарныеГрафики.ТаблицаПроизводственныхКалендарей();
|
||||
КонецЕсли;
|
||||
Функция КодБазовогоКалендаря(КодКалендаря, КлассификаторКалендарей)
|
||||
|
||||
СтрокаКалендаря = КлассификаторКалендарей.Найти(КодКалендаря, "Code");
|
||||
|
||||
@@ -849,7 +972,8 @@
|
||||
|
||||
Если Проверять Тогда
|
||||
ОтборСтрок = Новый Структура("КодПроизводственногоКалендаря,Дата");
|
||||
ЗаполнитьЗначенияСвойств(ОтборСтрок, СтрокаКлассификатора);
|
||||
ОтборСтрок.КодПроизводственногоКалендаря = СтрокаКлассификатора.Calendar;
|
||||
ОтборСтрок.Дата = Дата(СтрокаКлассификатора.Date);
|
||||
НайденныеСтроки = ДанныеКалендаря.НайтиСтроки(ОтборСтрок);
|
||||
Если НайденныеСтроки.Количество() > 0 Тогда
|
||||
Если Не Замещать Тогда
|
||||
|
||||
BIN
Binary file not shown.
@@ -22,6 +22,8 @@
|
||||
Иначе
|
||||
Если Параметры.ВыборШаблона Тогда
|
||||
|
||||
ОпределитьВозможностьДобавлениеШаблоновФайлов();
|
||||
|
||||
РежимВыбораШаблона = Параметры.ВыборШаблона;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
|
||||
@@ -138,4 +140,22 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОпределитьВозможностьДобавлениеШаблоновФайлов()
|
||||
|
||||
Перем ЕстьПравоДобавлениеФайлов, МодульУправлениеДоступом;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
||||
ЕстьПравоДобавлениеФайлов = МодульУправлениеДоступом.ЕстьПраво("ДобавлениеФайлов", Справочники.ПапкиФайлов.Шаблоны);
|
||||
Иначе
|
||||
ЕстьПравоДобавлениеФайлов = ПравоДоступа("Добавление", Метаданные.Справочники.Файлы) И ПравоДоступа("Чтение", Метаданные.Справочники.ПапкиФайлов);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЕстьПравоДобавлениеФайлов Тогда
|
||||
Элементы.ДобавитьФайл.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -90,6 +90,10 @@
|
||||
<metadata>InformationRegister.ЗамерыВремени</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>ScheduledJob.ПолучениеСубъектовДляСкрытияПерсональныхДанных</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>Constant.НастройкаПроксиСервера</metadata>
|
||||
<use>DontUse</use>
|
||||
@@ -166,6 +170,10 @@
|
||||
<metadata>InformationRegister.ОбластиТребующиеОбработкиПоставляемыхДанных</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>ScheduledJob.СкрытиеПерсональныхДанныхСубъектов</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>ScheduledJob.ОбслуживаниеОбластейДанных</metadata>
|
||||
<use>DontUse</use>
|
||||
@@ -586,6 +594,10 @@
|
||||
<metadata>ChartOfCharacteristicTypes.УдалитьВидыДоступа</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>Constant.КоличествоПотоковОбновленияИнформационнойБазы</metadata>
|
||||
<use>DontUse</use>
|
||||
</content>
|
||||
<content>
|
||||
<metadata>InformationRegister.УдалитьОбластиДанных</metadata>
|
||||
<use>DontUse</use>
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||
|
||||
Если ПараметрКоманды.Количество() = 1 Тогда
|
||||
|
||||
ТекстВопроса = НСтр("ru = 'Персональные данные субъекта «%1» будут скрыты.
|
||||
|
|
||||
|Продолжить?'");
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстВопроса, ПараметрКоманды[0]);
|
||||
|
||||
Иначе
|
||||
|
||||
ТекстВопроса = НСтр("ru = 'Персональные данные субъектов будут скрыты.
|
||||
|
|
||||
|Продолжить?'");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ОбработкаКомандыЗавершение", ЭтотОбъект, ПараметрКоманды);
|
||||
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКомандыЗавершение(Результат, Субъекты) Экспорт
|
||||
|
||||
Если Результат = КодВозвратаДиалога.Да Тогда
|
||||
|
||||
СкрытьПерсональныеДанныеСубъектов(Субъекты);
|
||||
Оповестить("СкрытыПерсональныеДанные");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура СкрытьПерсональныеДанныеСубъектов(Субъекты)
|
||||
|
||||
ОтбираемыеСубъекты = Новый Массив;
|
||||
НастройкиСубъектов = ЗащитаПерсональныхДанных.ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
||||
|
||||
Если ЗначениеЗаполнено(НастройкиСубъектов) Тогда
|
||||
|
||||
Для Каждого НастройкиСкрытия Из НастройкиСубъектов Цикл
|
||||
|
||||
Субъект = НастройкиСкрытия.Ключ;
|
||||
Настройки = НастройкиСкрытия.Значение;
|
||||
|
||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
||||
Или Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
||||
|
||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено Тогда
|
||||
ТекстПричины = НСтр("ru = 'Скрытие ранее отменено по причине: %1.'");
|
||||
ТекстПричины = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПричины, Настройки.ПричинаОтменыСкрытия);
|
||||
Иначе
|
||||
ТекстПричины = НСтр("ru = 'Скрытие уже выполнено.'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта «%1» не могут быть скрыты.
|
||||
|%2'");
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Субъект, ТекстПричины);
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
|
||||
|
||||
Продолжить;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОтбираемыеСубъекты.Добавить(Субъект);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОтбираемыеСубъекты, Субъекты);
|
||||
КонецЕсли;
|
||||
|
||||
ЗащитаПерсональныхДанных.СкрытьПерсональныеДанныеСубъектов(ОтбираемыеСубъекты);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<?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>
|
||||
@@ -4637,10 +4637,7 @@
|
||||
|
||||
РезультатЗаполненияНастроек = ПараметрыЗаполнения.Результат;
|
||||
|
||||
Информация.ПользовательскиеНастройки.Колонки.Очистить();
|
||||
Информация.НастройкиВарианта.Колонки.Очистить();
|
||||
Информация.ДеревоВарианта.Колонки.Очистить();
|
||||
Информация.Очистить();
|
||||
ОтчетыСервер.ОчиститьРасширеннуюИнформациюОНастройках(Информация);
|
||||
ПараметрыЗаполнения.Очистить();
|
||||
КонецФункции
|
||||
|
||||
@@ -6352,6 +6349,9 @@
|
||||
СтрокиРодителяКД = ПолучитьЭлементыКД(УзелКД, РодительКД);
|
||||
СтрокиРодителяКД.Удалить(СтрокаДерева.ЭлементКД);
|
||||
КонецЦикла;
|
||||
|
||||
ОтчетыСервер.ОчиститьРасширеннуюИнформациюОНастройках(Информация);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
|
||||
@@ -1218,10 +1218,7 @@
|
||||
|
||||
РезультатЗаполненияНастроек = ПараметрыЗаполнения.Результат;
|
||||
|
||||
// Очистка цикличных ссылок.
|
||||
Информация.ДеревоВарианта.Колонки.Очистить();
|
||||
Информация.НастройкиВарианта.Колонки.Очистить();
|
||||
Информация.ПользовательскиеНастройки.Колонки.Очистить();
|
||||
ОтчетыСервер.ОчиститьРасширеннуюИнформациюОНастройках(Информация);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
|
||||
@@ -2336,6 +2336,22 @@
|
||||
Обработчик.Версия = "*";
|
||||
Обработчик.Процедура = "ВариантыОтчетов.ОтложенноеОбновлениеРазделенныхДанныхКонфигурацииПолное";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Обновление индекса поиска отчетов, сохраненных пользователями.'");
|
||||
|
||||
// 3.4. Установить ссылки на идентификаторы объектов метаданных в настройках вариантов универсального отчета.
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.6.23";
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("6cd3c6c1-6919-4e18-9725-eb6dbb841f4a");
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.ВариантыОтчетов.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.Процедура = "Справочники.ВариантыОтчетов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ЧитаемыеОбъекты = "Справочник.ВариантыОтчетов";
|
||||
Обработчик.ИзменяемыеОбъекты = "Справочник.ВариантыОтчетов";
|
||||
Обработчик.БлокируемыеОбъекты = "Справочник.ВариантыОтчетов";
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Установка параметра ИсточникДанных в настройках вариантов отчета ""Универсальный отчет"".
|
||||
|Для того чтобы формировать варианты этого отчета следует дождаться завершения обработки.'");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок.
|
||||
@@ -3554,9 +3570,7 @@
|
||||
Обработчик.Приоритет = 70;
|
||||
КонецЕсли;
|
||||
|
||||
// Для платформы (очистка коллекции вручную для освобождение памяти от цикличных ссылок).
|
||||
Кэш.ДеревоВариантов.Колонки.Очистить();
|
||||
Кэш.ДеревоВариантов.Строки.Очистить();
|
||||
ОтчетыСервер.ОчиститьДеревоЗначений(Кэш.ДеревоВариантов);
|
||||
|
||||
Возврат Кэш;
|
||||
КонецФункции
|
||||
@@ -5095,6 +5109,7 @@
|
||||
|
||||
Информация = ОтчетыСервер.РасширеннаяИнформацияОНастройках(КомпоновщикНастроекКД, НастройкиОтчета, ОтчетОбъект, УсловияВывода);
|
||||
БыстрыеНастройки = Информация.ПользовательскиеНастройки.Скопировать(Новый Структура("ВыводРазрешен, Быстрая", Истина, Истина));
|
||||
ОтчетыСервер.ОчиститьРасширеннуюИнформациюОНастройках(Информация);
|
||||
Если БыстрыеНастройки.Количество() <= 2 Тогда
|
||||
Возврат Ложь; // Уменьшение количества не требуется.
|
||||
КонецЕсли;
|
||||
|
||||
@@ -483,12 +483,15 @@
|
||||
|
||||
Задание = НайтиЗаданиеПоИдентификатору(ИдентификаторЗадания);
|
||||
Если Задание = Неопределено Тогда
|
||||
Пояснение = НСтр("ru = 'Операция не выполнена из-за аварийного завершения фонового задания.
|
||||
|Фоновое задание не найдено:'") + " " + Строка(ИдентификаторЗадания);
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , НСтр("ru = 'Фоновое задание не найдено:'") + " " + Строка(ИдентификаторЗадания));
|
||||
УровеньЖурналаРегистрации.Ошибка, , , Пояснение);
|
||||
Если ИсключениеПриОшибке Тогда
|
||||
ВызватьИсключение(НСтр("ru = 'Не удалось выполнить данную операцию.'"));
|
||||
КонецЕсли;
|
||||
Результат.Статус = "Ошибка";
|
||||
Результат.КраткоеПредставлениеОшибки = НСтр("ru = 'Операция не выполнена из-за аварийного завершения фонового задания.'");
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,40 @@
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Запускает изменение настроек скрытия персональных данных субъектов в соответствии с измененными
|
||||
// настройками системы.
|
||||
//
|
||||
// Параметры:
|
||||
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы.
|
||||
// ПараметрыМетода - Структура - новые настройки (см. функцию НастройкиСкрытияПерсональныхДанныхСистемы).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - см. возвращаемое значение функции ДлительныеОперации.ВыполнитьВФоне.
|
||||
//
|
||||
Функция ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Знач ИдентификаторФормы, Знач ПараметрыМетода) Экспорт
|
||||
|
||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Изменение настроек скрытия персональных данных'");
|
||||
ПараметрыВыполнения.ОжидатьЗавершение = 0;
|
||||
|
||||
Возврат ДлительныеОперации.ВыполнитьВФоне("ЗащитаПерсональныхДанных.ИзменитьНастройкиСкрытияПерсональныхДанных", ПараметрыМетода, ПараметрыВыполнения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает настройки скрытия персональных данных системы.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - содержит поля:
|
||||
// * ИспользоватьСкрытиеПерсональныхДанных - Булево - Признак использования скрытия персональных данных субъектов.
|
||||
// * ДнейДоСкрытияПерсональныхДанных - Число - Дней до скрытия персональных данных субъектов.
|
||||
//
|
||||
Функция НастройкиСкрытияПерсональныхДанныхСистемы() Экспорт
|
||||
|
||||
НастройкиСкрытия = Новый Структура;
|
||||
НастройкиСкрытия.Вставить("ИспользоватьСкрытиеПерсональныхДанных", Константы.ИспользоватьСкрытиеПерсональныхДанныхСубъектов.Получить());
|
||||
НастройкиСкрытия.Вставить("ДнейДоСкрытияПерсональныхДанных", Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить());
|
||||
|
||||
Возврат НастройкиСкрытия;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c382ee3a-d0a8-4ed8-ac88-5558b631f448">
|
||||
<name>ЗащитаПерсональныхДанныхВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Защита персональных данных вызов сервера</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<serverCall>true</serverCall>
|
||||
</mdclass:CommonModule>
|
||||
@@ -22,6 +22,59 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Процедуры и функции для встраивания подсистемы в формы объектов конфигурации.
|
||||
|
||||
// Определяет, что указанное событие - это событие о скрытии персональных данных субъектов
|
||||
// и обновляет объект управляемой формы.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - УправляемаяФорма - форма субъекта.
|
||||
// ИмяСобытия - Строка - имя обрабатываемого события.
|
||||
//
|
||||
Процедура ОбработкаОповещенияФормы(Форма, ИмяСобытия) Экспорт
|
||||
|
||||
Если ИмяСобытия = "СкрытыПерсональныеДанные" Тогда
|
||||
Форма.Прочитать();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Определяет, что указанное событие - это событие о скрытии персональных данных субъектов
|
||||
// и обновляет данные в таблице субъектов.
|
||||
//
|
||||
// Параметры:
|
||||
// СписокФормы - ТаблицаФормы - элемент формы динамического списка субъектов.
|
||||
// ИмяСобытия - Строка - имя обрабатываемого события.
|
||||
//
|
||||
Процедура ОбработкаОповещенияФормыСписка(СписокФормы, ИмяСобытия) Экспорт
|
||||
|
||||
Если ИмяСобытия = "СкрытыПерсональныеДанные" Тогда
|
||||
СписокФормы.Обновить();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик команды формы списка субъектов персональных данных.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - УправляемаяФорма - форма субъекта.
|
||||
// Список - ДинамическийСписок - динамический список субъектов.
|
||||
//
|
||||
Процедура ПоказыватьСоСкрытымиПДн(Форма, Список) Экспорт
|
||||
|
||||
Кнопка = Форма.Элементы.Найти("ПоказыватьСоСкрытымиПДн");
|
||||
Если Кнопка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПоказыватьСоСкрытымиПДн = Не Кнопка.Пометка;
|
||||
|
||||
Кнопка.Пометка = ПоказыватьСоСкрытымиПДн;
|
||||
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьСоСкрытымиПДн", ПоказыватьСоСкрытымиПДн);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
@@ -44,6 +97,49 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Настраивает элементы формы НастройкиПользователейИПрав обработки ПанельАдминистрированияБСП.
|
||||
// Запускает фоновое изменение настроек скрытия персональных данных.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - УправляемаяФорма - настраиваемая форма.
|
||||
//
|
||||
Процедура НастройкиСкрытияПерсональныхДанныхПриИзменении(Форма) Экспорт
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
НаборКонстант = Форма.НаборКонстант;
|
||||
|
||||
ПараметрыВыполнения = Новый Структура;
|
||||
ПараметрыВыполнения.Вставить("ДнейДоСкрытияПерсональныхДанных", НаборКонстант.ДнейДоСкрытияПерсональныхДанныхСубъектов);
|
||||
ПараметрыВыполнения.Вставить("ИспользоватьСкрытиеПерсональныхДанных", НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов);
|
||||
|
||||
ФоновоеЗадание = ЗащитаПерсональныхДанныхВызовСервера.ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Форма.УникальныйИдентификатор, ПараметрыВыполнения);
|
||||
|
||||
ДоступностьЭлементов = Новый Соответствие;
|
||||
ДоступностьЭлементов.Вставить(Элементы.ИспользоватьСкрытиеПерсональныхДанных.Имя, Элементы.ИспользоватьСкрытиеПерсональныхДанных.Доступность);
|
||||
ДоступностьЭлементов.Вставить(Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Имя, Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Доступность);
|
||||
|
||||
Если ФоновоеЗадание <> Неопределено
|
||||
И ФоновоеЗадание.Статус = "Выполняется" Тогда
|
||||
|
||||
Элементы.ИспользоватьСкрытиеПерсональныхДанных.Доступность = Ложь;
|
||||
Элементы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Доступность = Ложь;
|
||||
|
||||
Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("Форма", Форма);
|
||||
ДополнительныеПараметры.Вставить("ДоступностьЭлементов", ДоступностьЭлементов);
|
||||
|
||||
НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(Форма);
|
||||
НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
|
||||
|
||||
Обработчик = Новый ОписаниеОповещения("ПослеИзмененияНастроекСкрытияПерсональныхДанных", ЭтотОбъект, ДополнительныеПараметры);
|
||||
ДлительныеОперацииКлиент.ОжидатьЗавершение(ФоновоеЗадание, Обработчик, НастройкиОжидания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -101,4 +197,51 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеИзмененияНастроекСкрытияПерсональныхДанных(ФоновоеЗадание, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Форма = ДополнительныеПараметры.Форма;
|
||||
ДоступностьЭлементов = ДополнительныеПараметры.ДоступностьЭлементов;
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
НаборКонстант = Форма.НаборКонстант;
|
||||
|
||||
Для Каждого КлючИЗначение Из ДоступностьЭлементов Цикл
|
||||
|
||||
ИмяЭлемента = КлючИЗначение.Ключ;
|
||||
ДоступностьДо = КлючИЗначение.Значение;
|
||||
ТекущийЭлемент = Элементы.Найти(ИмяЭлемента);
|
||||
|
||||
Если ТекущийЭлемент.Доступность <> ДоступностьДо Тогда
|
||||
ТекущийЭлемент.Доступность = ДоступностьДо;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость Тогда
|
||||
Элементы.ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ФоновоеЗадание <> Неопределено
|
||||
И ФоновоеЗадание.Статус = "Выполнено" Тогда
|
||||
|
||||
Оповестить("Запись_НаборКонстант", Новый Структура, "ИспользоватьСкрытиеПерсональныхДанныхСубъектов");
|
||||
ПоказатьОповещениеПользователя(НСтр("ru = 'Настройки скрытия персональных данных изменены.'"));
|
||||
|
||||
Иначе
|
||||
|
||||
СтарыеНастройкиСистемы = ЗащитаПерсональныхДанныхВызовСервера.НастройкиСкрытияПерсональныхДанныхСистемы();
|
||||
|
||||
НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов = СтарыеНастройкиСистемы.ИспользоватьСкрытиеПерсональныхДанных;
|
||||
НаборКонстант.ДнейДоСкрытияПерсональныхДанныхСубъектов = СтарыеНастройкиСистемы.ДнейДоСкрытияПерсональныхДанных;
|
||||
|
||||
Если ФоновоеЗадание <> Неопределено Тогда
|
||||
ТекстОшибки = НСтр("ru='Не удалось изменить настройки скрытия персональных данных.
|
||||
|См. подробности в журнале регистрации.'");
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -54,6 +54,18 @@
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Позволяет проверить возможность скрытия персональных данных и задать состав исключений для записи в данных.
|
||||
//
|
||||
// Параметры:
|
||||
// Субъекты - Массив - ссылки на объекты данных, чьи персональные данные будут скрыты.
|
||||
// ТаблицаИсключений - ТаблицаЗначений - таблица, в которую добавляются субъекты и причины отказа их скрытия.
|
||||
// Состав полей см. в функции ЗащитаПерсональныхДанных.НоваяТаблицаИсключений.
|
||||
// Отказ - Булево - признак отказа от скрытия.
|
||||
//
|
||||
Процедура ПередСкрытиемПерсональныхДанныхСубъектов(Субъекты, ТаблицаИсключений, Отказ) Экспорт
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -373,6 +373,11 @@
|
||||
// См. РаботаВМоделиСервисаПереопределяемый.ПриВключенииРазделенияПоОбластямДанных.
|
||||
Процедура ПриВключенииРазделенияПоОбластямДанных() Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КалендарныеГрафики") Тогда
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("КалендарныеГрафики");
|
||||
МодульКалендарныеГрафики.ПриВключенииРазделенияПоОбластямДанных();
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
||||
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
|
||||
МодульОбменДаннымиСервер.ПриВключенииРазделенияПоОбластямДанных();
|
||||
@@ -1889,16 +1894,16 @@
|
||||
МодульВерсионированиеОбъектов.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВалютыВМоделиСервиса") Тогда
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КурсыВалютСлужебныйВМоделиСервиса");
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.КалендарныеГрафикиВМоделиСервиса") Тогда
|
||||
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КалендарныеГрафикиСлужебныйВМоделиСервиса");
|
||||
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВалютыВМоделиСервиса") Тогда
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КурсыВалютСлужебныйВМоделиСервиса");
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
|
||||
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
|
||||
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
@@ -1943,11 +1948,6 @@
|
||||
МодульБанкиСлужебныйВМоделиСервиса.ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.КалендарныеГрафикиВМоделиСервиса") Тогда
|
||||
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КалендарныеГрафикиСлужебныйВМоделиСервиса");
|
||||
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса.ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВалютыВМоделиСервиса") Тогда
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КурсыВалютСлужебныйВМоделиСервиса");
|
||||
МодульКурсыВалютСлужебныйВМоделиСервиса.ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики);
|
||||
@@ -2008,6 +2008,11 @@
|
||||
МодульВзаимодействия.ПриОпределенииНастроекРегламентныхЗаданий(Настройки);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
|
||||
МодульЗащитаПерсональныхДанных = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
|
||||
МодульЗащитаПерсональныхДанных.ПриОпределенииНастроекРегламентныхЗаданий(Настройки);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
||||
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
|
||||
МодульОбменДаннымиСервер.ПриОпределенииНастроекРегламентныхЗаданий(Настройки);
|
||||
|
||||
@@ -523,6 +523,46 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ДляВызоваИзДругихПодсистем
|
||||
|
||||
// ИнтернетПоддержкаПользователей.РаботаСКлассификаторами
|
||||
|
||||
// См. РаботаСКлассификаторамиПереопределяемый.ПриДобавленииКлассификаторов.
|
||||
Процедура ПриДобавленииКлассификаторов(Классификаторы) Экспорт
|
||||
|
||||
Описатель = Неопределено;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
|
||||
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
|
||||
Описатель = МодульРаботаСКлассификаторами.ОписаниеКлассификатора();
|
||||
КонецЕсли;
|
||||
|
||||
Если Описатель = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Описатель.Идентификатор = ИдентификаторКлассификатора();
|
||||
Описатель.ОбновлятьАвтоматически = Истина;
|
||||
Описатель.ОбщиеДанные = Истина;
|
||||
Классификаторы.Добавить(Описатель);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. РаботаСКлассификаторамиПереопределяемый.ПриЗагрузкеКлассификатора.
|
||||
Процедура ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан) Экспорт
|
||||
|
||||
Если Идентификатор <> ИдентификаторКлассификатора() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗагрузитьДанныеПроизводственныхКалендарей(Версия, Адрес, Обработан);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Конец ИнтернетПоддержкаПользователей.РаботаСКлассификаторами
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область УстаревшиеПроцедурыИФункции
|
||||
|
||||
// Устарела. Следует использовать ОсновнойПроизводственныйКалендарь.
|
||||
@@ -704,6 +744,126 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Определяет версию данных календарей, встроенных в конфигурацию.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - номер версии.
|
||||
//
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
|
||||
Возврат 0;
|
||||
КонецЕсли;
|
||||
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
|
||||
Возврат МодульКалендарныеГрафики.ВерсияКалендарей();
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет версию загруженных в ИБ данных классификатора.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - номер версии загруженных данных, 0 - если подсистема работы с классификаторами не существует.
|
||||
//
|
||||
Функция ВерсияЗагруженныхКалендарей() Экспорт
|
||||
|
||||
ВерсияЗагруженныхКалендарей = Неопределено;
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
|
||||
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
|
||||
ВерсияЗагруженныхКалендарей = МодульРаботаСКлассификаторами.ВерсияКлассификатора(ИдентификаторКлассификатора());
|
||||
КонецЕсли;
|
||||
|
||||
Если ВерсияЗагруженныхКалендарей = Неопределено Тогда
|
||||
ВерсияЗагруженныхКалендарей = 0;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ВерсияЗагруженныхКалендарей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Запрашивает файл с данными классификатора календарей.
|
||||
// Преобразует полученный файл в структуру с таблицами календарей и их данных.
|
||||
// Если подсистема РаботаСКлассификаторами отсутствует или не удалось получить файл классификатора, вызывается исключение.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - со свойствами:
|
||||
// * ПроизводственныеКалендари - Структура - со свойствами:
|
||||
// * ИмяТаблицы - Строка - имя таблицы.
|
||||
// * Данные - ТаблицаЗначений - преобразованная из XML таблица календарей.
|
||||
// * ДанныеПроизводственныхКалендарей - Структура - со свойствами:
|
||||
// * ИмяТаблицы - Строка - имя таблицы.
|
||||
// * Данные - ТаблицаЗначений - преобразованная из XML таблица данных календарей.
|
||||
//
|
||||
Функция ДанныеКлассификатора() Экспорт
|
||||
|
||||
ДанныеФайлов = Неопределено;
|
||||
|
||||
Идентификаторы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИдентификаторКлассификатора());
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
|
||||
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
|
||||
ДанныеФайлов = МодульРаботаСКлассификаторами.ПолучитьФайлыКлассификаторов(Идентификаторы);
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеФайлов = Неопределено Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Не удалось получить данные календаря.
|
||||
|Работа с классификаторами не поддерживается или отсутствует.'");
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПустаяСтрока(ДанныеФайлов.КодОшибки) Тогда
|
||||
ИмяСобытия = НСтр("ru = 'Календарные графики.Получение файла классификатора'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
|
||||
ЗаписьЖурналаРегистрации(
|
||||
ИмяСобытия,
|
||||
УровеньЖурналаРегистрации.Ошибка,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить данные календаря.
|
||||
|%1'"),
|
||||
ДанныеФайлов.ИнформацияОбОшибке));
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить данные календаря.
|
||||
|%1.'"),
|
||||
ДанныеФайлов.СообщениеОбОшибке);
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
ОтборСтрок = Новый Структура("Идентификатор");
|
||||
ОтборСтрок.Идентификатор = ИдентификаторКлассификатора();
|
||||
НайденныеСтроки = ДанныеФайлов.ДанныеКлассификаторов.НайтиСтроки(ОтборСтрок);
|
||||
Если НайденныеСтроки.Количество() = 0 Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Не удалось получить данные календаря.
|
||||
|Полученные классификаторы не содержат календарей.'");
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
СведенияФайла = НайденныеСтроки[0];
|
||||
|
||||
Если СведенияФайла.Версия < ВерсияКалендарей() Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось обработать полученные данные календаря из-за конфликта версий.
|
||||
|Версия календарей
|
||||
|- полученного классификатора %1,
|
||||
|- встроенных в конфигурацию %2,
|
||||
|- загруженного ранее классификатора %3.'"),
|
||||
СведенияФайла.Версия,
|
||||
ВерсияКалендарей(),
|
||||
ВерсияЗагруженныхКалендарей());
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
ДанныеКлассификатора = ДанныеФайлаКлассификатора(СведенияФайла.АдресФайла);
|
||||
Исключение
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось обработать полученные данные календаря.
|
||||
|%1.'"),
|
||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецПопытки;
|
||||
|
||||
Возврат ДанныеКлассификатора;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики событий подсистем конфигурации.
|
||||
|
||||
@@ -715,12 +875,6 @@
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьПроизводственныеКалендари";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.НачальноеЗаполнение = Истина;
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеПроизводственныхКалендарей";
|
||||
Обработчик.Версия = "1.0.0.1";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.НачальноеЗаполнение = Истина;
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьИспользованиеНесколькихПроизводственныхКалендарей";
|
||||
@@ -737,26 +891,26 @@
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.4.111";
|
||||
Обработчик.Версия = "2.4.6.4";
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьПроизводственныеКалендари";
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.4.112";
|
||||
Обработчик.Версия = "2.4.6.4";
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыхПроизводственныхКалендарей";
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.5.48";
|
||||
Обработчик.Версия = "2.4.6.21";
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеПроизводственныхКалендарей";
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.5.48";
|
||||
Обработчик.Версия = "2.4.6.21";
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "КалендарныеГрафики.ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей";
|
||||
@@ -788,29 +942,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. РаботаВМоделиСервисаПереопределяемый.ПриВключенииРазделенияПоОбластямДанных.
|
||||
Процедура ПриВключенииРазделенияПоОбластямДанных() Экспорт
|
||||
|
||||
ОбновитьПроизводственныеКалендари();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Получает таблицу поставляемых в составе программы производственных календарей.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений.
|
||||
//
|
||||
Функция ТаблицаПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
|
||||
Возврат Новый ТаблицаЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
|
||||
ТекстовыйДокумент = МодульКалендарныеГрафики.ПолучитьМакет("ПроизводственныеКалендари");
|
||||
ТаблицаКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст()).Данные;
|
||||
|
||||
Возврат ТаблицаКалендарей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получает единственный производственный календарь в ИБ.
|
||||
//
|
||||
Функция ЕдинственныйПроизводственныйКалендарь()
|
||||
@@ -836,6 +978,93 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет внутренний идентификатор классификатора для подсистемы РаботаСКлассификаторами.
|
||||
Функция ИдентификаторКлассификатора()
|
||||
Возврат "Calendars";
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗагрузитьДанныеПроизводственныхКалендарей(Версия, Адрес, Обработан)
|
||||
|
||||
Если Версия <= ВерсияКалендарей() Тогда
|
||||
Обработан = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеКлассификатора = ДанныеФайлаКлассификатора(Адрес);
|
||||
|
||||
// Обновляем список производственных календарей.
|
||||
ТаблицаКалендарей = ДанныеКлассификатора["ПроизводственныеКалендари"].Данные;
|
||||
Справочники.ПроизводственныеКалендари.ОбновитьПроизводственныеКалендари(ТаблицаКалендарей);
|
||||
|
||||
// Обновляем данные производственных календарей.
|
||||
ДанныеXML = ДанныеКлассификатора["ДанныеПроизводственныхКалендарей"];
|
||||
ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML(ДанныеXML, ТаблицаКалендарей);
|
||||
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
|
||||
РаспространитьИзмененияДанныхПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
|
||||
Обработан = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДанныеФайлаКлассификатора(Адрес)
|
||||
|
||||
ДанныеКлассификатора = Новый Структура(
|
||||
"ПроизводственныеКалендари,
|
||||
|ДанныеПроизводственныхКалендарей");
|
||||
|
||||
ПутьКФайлу = ПолучитьИмяВременногоФайла();
|
||||
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
|
||||
ДвоичныеДанные.Записать(ПутьКФайлу);
|
||||
|
||||
ЧтениеXML = Новый ЧтениеXML;
|
||||
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
|
||||
ЧтениеXML.ПерейтиКСодержимому();
|
||||
ПроверитьНачалоЭлемента(ЧтениеXML, "CalendarSuppliedData");
|
||||
ЧтениеXML.Прочитать();
|
||||
ПроверитьНачалоЭлемента(ЧтениеXML, "Calendars");
|
||||
|
||||
ДанныеКлассификатора.ПроизводственныеКалендари = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML);
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
ПроверитьКонецЭлемента(ЧтениеXML, "Calendars");
|
||||
ЧтениеXML.Прочитать();
|
||||
ПроверитьНачалоЭлемента(ЧтениеXML, "CalendarData");
|
||||
|
||||
ДанныеКлассификатора.ДанныеПроизводственныхКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML);
|
||||
|
||||
ЧтениеXML.Закрыть();
|
||||
УдалитьФайлы(ПутьКФайлу);
|
||||
|
||||
Возврат ДанныеКлассификатора;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПроверитьНачалоЭлемента(Знач ЧтениеXML, Знач Имя)
|
||||
|
||||
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Или ЧтениеXML.Имя <> Имя Тогда
|
||||
ИмяСобытия = НСтр("ru = 'Календарные графики.Обработка файла классификатора'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Неверный формат файла данных. Ожидается начало элемента %1'"),
|
||||
Имя);
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , ТекстСообщения);
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроверитьКонецЭлемента(Знач ЧтениеXML, Знач Имя)
|
||||
|
||||
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Или ЧтениеXML.Имя <> Имя Тогда
|
||||
ИмяСобытия = НСтр("ru = 'Календарные графики.Обработка файла классификатора'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Неверный формат файла данных. Ожидается конец элемента %1'"),
|
||||
Имя);
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , ТекстСообщения);
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обновление информационной базы.
|
||||
|
||||
@@ -843,7 +1072,12 @@
|
||||
//
|
||||
Процедура ОбновитьПроизводственныеКалендари() Экспорт
|
||||
|
||||
ТаблицаКалендарей = ТаблицаПроизводственныхКалендарей();
|
||||
ВерсияВстроенныхКалендарей = ВерсияКалендарей();
|
||||
Если ВерсияВстроенныхКалендарей <= ВерсияЗагруженныхКалендарей() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТаблицаКалендарей = Справочники.ПроизводственныеКалендари.ПроизводственныеКалендариИзМакета();
|
||||
|
||||
Если ТаблицаКалендарей.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
@@ -851,6 +1085,13 @@
|
||||
|
||||
Справочники.ПроизводственныеКалендари.ОбновитьПроизводственныеКалендари(ТаблицаКалендарей);
|
||||
|
||||
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении();
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
|
||||
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
|
||||
МодульРаботаСКлассификаторами.УстановитьВерсиюКлассификатора(ИдентификаторКлассификатора(), ВерсияВстроенныхКалендарей);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет данные производственных календарей из макета.
|
||||
@@ -858,26 +1099,17 @@
|
||||
//
|
||||
Процедура ОбновитьДанныеПроизводственныхКалендарей() Экспорт
|
||||
|
||||
ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета();
|
||||
|
||||
// Обновляем данные производственных календарей.
|
||||
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
ВерсияВстроенныхКалендарей = ВерсияКалендарей();
|
||||
Если ВерсияВстроенныхКалендарей <= ВерсияЗагруженныхКалендарей() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОбработчика = ОбновлениеИнформационнойБазыСлужебный.ПараметрыОтложенногоОбработчикаОбновления(
|
||||
"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
|
||||
Если ПараметрыОбработчика <> Неопределено И ПараметрыОбработчика.Свойство("ТаблицаИзменений") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИзменений, ПараметрыОбработчика.ТаблицаИзменений);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОбработчика = Новый Структура("ТаблицаИзменений");
|
||||
ПараметрыОбработчика.ТаблицаИзменений = ТаблицаИзменений;
|
||||
ОбновлениеИнформационнойБазыСлужебный.ЗаписатьПараметрыОтложенногоОбработчикаОбновления(
|
||||
"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей", ПараметрыОбработчика);
|
||||
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении();
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
|
||||
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
|
||||
МодульРаботаСКлассификаторами.УстановитьВерсиюКлассификатора(ИдентификаторКлассификатора(), ВерсияВстроенныхКалендарей);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1004,6 +1236,31 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении()
|
||||
|
||||
ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета();
|
||||
|
||||
// Обновляем данные производственных календарей.
|
||||
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОбработчика = ОбновлениеИнформационнойБазыСлужебный.ПараметрыОтложенногоОбработчикаОбновления(
|
||||
"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
|
||||
Если ПараметрыОбработчика <> Неопределено И ПараметрыОбработчика.Свойство("ТаблицаИзменений") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИзменений, ПараметрыОбработчика.ТаблицаИзменений);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОбработчика = Новый Структура("ТаблицаИзменений");
|
||||
ПараметрыОбработчика.ТаблицаИзменений = ТаблицаИзменений;
|
||||
ОбновлениеИнформационнойБазыСлужебный.ЗаписатьПараметрыОтложенногоОбработчикаОбновления(
|
||||
"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей", ПараметрыОбработчика);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Устанавливает значение константы, определяющей использование нескольких производственных календарей.
|
||||
//
|
||||
Процедура ОбновитьИспользованиеНесколькихПроизводственныхКалендарей() Экспорт
|
||||
|
||||
@@ -1,75 +1,6 @@
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Вызывается при получении уведомления о новых данных.
|
||||
// В теле следует проверить, необходимы ли эти данные приложению,
|
||||
// и если да - установить флажок Загружать.
|
||||
//
|
||||
// Параметры:
|
||||
// Дескриптор - ОбъектXDTO - Дескриптор.
|
||||
// Загружать - Булево - Истина, если загружать, Ложь - иначе.
|
||||
//
|
||||
Процедура ДоступныНовыеДанные(Знач Дескриптор, Загружать) Экспорт
|
||||
|
||||
Если Дескриптор.DataType = "ПроизвКалендари" Тогда
|
||||
Загружать = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается после вызова ДоступныНовыеДанные, позволяет разобрать данные.
|
||||
//
|
||||
// Параметры:
|
||||
// Дескриптор - ОбъектXDTO - Дескриптор.
|
||||
// ПутьКФайлу - Строка - полное имя извлеченного файла. Файл будет автоматически удален
|
||||
// после завершения процедуры. Если в менеджере сервиса не был
|
||||
// указан файл - значение аргумента равно Неопределено.
|
||||
//
|
||||
Процедура ОбработатьНовыеДанные(Знач Дескриптор, Знач ПутьКФайлу) Экспорт
|
||||
|
||||
ЧтениеXML = Новый ЧтениеXML;
|
||||
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
|
||||
ЧтениеXML.ПерейтиКСодержимому();
|
||||
Если Не НачалоЭлемента(ЧтениеXML, "CalendarSuppliedData") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ЧтениеXML.Прочитать();
|
||||
Если Не НачалоЭлемента(ЧтениеXML, "Calendars") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Обновляем список производственных календарей.
|
||||
ТаблицаКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML).Данные;
|
||||
Справочники.ПроизводственныеКалендари.ОбновитьПроизводственныеКалендари(ТаблицаКалендарей);
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
Если Не КонецЭлемента(ЧтениеXML, "Calendars") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ЧтениеXML.Прочитать();
|
||||
Если Не НачалоЭлемента(ЧтениеXML, "CalendarData") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Обновляем данные производственных календарей.
|
||||
ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML(ЧтениеXML);
|
||||
|
||||
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
|
||||
КалендарныеГрафики.РаспространитьИзмененияДанныхПроизводственныхКалендарей(ТаблицаИзменений);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается при отмене обработки данных в случае сбоя.
|
||||
//
|
||||
// Параметры:
|
||||
// Дескриптор - ОбъектXDTO - Дескриптор.
|
||||
//
|
||||
Процедура ОбработкаДанныхОтменена(Знач Дескриптор) Экспорт
|
||||
|
||||
ПоставляемыеДанные.ОбластьОбработана(Дескриптор.FileGUID, "ДанныеПроизводственныхКалендарей", Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается при изменении производственных календарей.
|
||||
//
|
||||
Процедура ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(Знач УсловияОбновления) Экспорт
|
||||
@@ -92,13 +23,6 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики событий подсистем конфигурации.
|
||||
|
||||
// См. ПоставляемыеДанныеПереопределяемый.ПолучитьОбработчикиПоставляемыхДанных.
|
||||
Процедура ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики) Экспорт
|
||||
|
||||
ЗарегистрироватьОбработчикиПоставляемыхДанных(Обработчики);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОчередьЗаданийПереопределяемый.ПриОпределенииПсевдонимовОбработчиков.
|
||||
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
|
||||
|
||||
@@ -110,26 +34,6 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Регистрирует обработчики поставляемых данных за день и за все время.
|
||||
//
|
||||
// Параметры:
|
||||
// Обработчики - ТаблицаЗначений - таблица для добавления обработчиков. Содержит колонки.
|
||||
// * ВидДанных - Строка - код вида данных, обрабатываемый обработчиком.
|
||||
// * КодОбработчика - Строка - будет использоваться при восстановлении обработки данных после сбоя.
|
||||
// * Обработчик - ОбщийМодуль - модуль, содержащий экспортные процедуры:
|
||||
// ДоступныНовыеДанные(Дескриптор, Загружать) Экспорт
|
||||
// ОбработатьНовыеДанные(Дескриптор, ПутьКФайлу) Экспорт
|
||||
// ОбработкаДанныхОтменена(Дескриптор) Экспорт
|
||||
//
|
||||
Процедура ЗарегистрироватьОбработчикиПоставляемыхДанных(Знач Обработчики)
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.ВидДанных = "ПроизвКалендари";
|
||||
Обработчик.КодОбработчика = "ДанныеПроизводственныхКалендарей";
|
||||
Обработчик.Обработчик = КалендарныеГрафикиСлужебныйВМоделиСервиса;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Процедура для вызова из очереди заданий, помещается туда в ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -162,65 +66,26 @@
|
||||
УсловияОбновления.Свернуть("КодПроизводственногоКалендаря, Год");
|
||||
|
||||
Для каждого ОбластьДанных Из ОбластиДляОбновления Цикл
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
РаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, ОбластьДанных);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
НачатьТранзакцию();
|
||||
|
||||
Попытка
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрафикиРаботы") Тогда
|
||||
МодульГрафикиРаботы = ОбщегоНазначения.ОбщийМодуль("ГрафикиРаботы");
|
||||
МодульГрафикиРаботы.ОбновитьГрафикиРаботыПоДаннымПроизводственныхКалендарей(УсловияОбновления);
|
||||
КонецЕсли;
|
||||
КалендарныеГрафикиПереопределяемый.ПриОбновленииДанныхЗависимыхОтПроизводственныхКалендарей(УсловияОбновления);
|
||||
|
||||
ПоставляемыеДанные.ОбластьОбработана(ИдентификаторФайла, КодОбработчика, ОбластьДанных);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
|
||||
Исключение
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые данные.Календарные графики'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Календарные графики.Распространение производственных календарей'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Прочие служебные процедуры и функции.
|
||||
|
||||
Функция НачалоЭлемента(Знач ЧтениеXML, Знач Имя)
|
||||
|
||||
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Или ЧтениеXML.Имя <> Имя Тогда
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые данные.Календарные графики'",
|
||||
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,
|
||||
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неверный формат файла данных. Ожидается начало элемента %1'"), Имя));
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонецЭлемента(Знач ЧтениеXML, Знач Имя)
|
||||
|
||||
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Или ЧтениеXML.Имя <> Имя Тогда
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые данные.Календарные графики'",
|
||||
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,
|
||||
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неверный формат файла данных. Ожидается конец элемента %1'"), Имя));
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1629,9 +1629,28 @@
|
||||
//
|
||||
Процедура ЗавершитьЗаписьФайлаСДаннымиОбновления(Параметры) Экспорт
|
||||
|
||||
ДанныеОбновления = ЗавершитьЗаписьФайлаИПолучитьДанныеОбновления(Параметры);
|
||||
|
||||
Если ДанныеОбновления <> Неопределено Тогда
|
||||
СохранитьДанныеОбновления(ДанныеОбновления, Параметры.ИмяФайлаСИзменениями);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Выполняет закрытие XML файла с записанной информацией об объектах
|
||||
// зарегистрированных для отложенного обновления и возвращает содержимое файла.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметры - Структура - См. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке().
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ХранилищеЗначения - содержимое файла.
|
||||
//
|
||||
Функция ЗавершитьЗаписьФайлаИПолучитьДанныеОбновления(Параметры) Экспорт
|
||||
|
||||
Если Не СтандартныеПодсистемыПовтИсп.ИспользуетсяРИБ("СФильтром")
|
||||
Или ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
|
||||
Возврат;
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры.ЗаписьИзмененийДляПодчиненногоУзлаРИБСФильтрами = Неопределено Тогда
|
||||
@@ -1644,6 +1663,24 @@
|
||||
ЗаписьXML.Закрыть();
|
||||
|
||||
ИмяФайлаСИзменениями = Параметры.ИмяФайлаСИзменениями;
|
||||
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяФайлаСИзменениями);
|
||||
|
||||
Возврат Новый ХранилищеЗначения(ДвоичныеДанныеФайла, Новый СжатиеДанных(9));
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Сохраняет содержимое файла из ЗавершитьЗаписьФайлаИПолучитьДанныеОбновления()
|
||||
// в константу ДанныеДляОтложенногоОбновления.
|
||||
//
|
||||
// Параметры:
|
||||
// ДанныеОбновления - ХранилищеЗначения - содержимое файла.
|
||||
// ИмяФайлаСИзменениями - Строка - Имя файла, в котором находились данные.
|
||||
//
|
||||
Процедура СохранитьДанныеОбновления(ДанныеОбновления, ИмяФайлаСИзменениями) Экспорт
|
||||
|
||||
Если ИмяФайлаСИзменениями = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
@@ -1656,10 +1693,7 @@
|
||||
ЗначениеКонстанты = Новый Массив;
|
||||
КонецЕсли;
|
||||
|
||||
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяФайлаСИзменениями);
|
||||
Хранилище = Новый ХранилищеЗначения(ДвоичныеДанныеФайла, Новый СжатиеДанных(9));
|
||||
ЗначениеКонстанты.Добавить(Хранилище);
|
||||
|
||||
ЗначениеКонстанты.Добавить(ДанныеОбновления);
|
||||
Константы.ДанныеДляОтложенногоОбновления.Установить(Новый ХранилищеЗначения(ЗначениеКонстанты));
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
|
||||
@@ -886,7 +886,7 @@
|
||||
| ВТДляОбработкиРегистраторПолная КАК ВТДляОбработкиРегистраторПолная
|
||||
|ГДЕ
|
||||
| ВТДляОбработкиРегистраторПолная.Регистратор В
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ВТДляОбработкиРегистраторПолная.Регистратор КАК Регистратор
|
||||
| ИЗ
|
||||
| ВТДляОбработкиРегистраторПолная КАК ВТДляОбработкиРегистраторПолная
|
||||
@@ -959,7 +959,7 @@
|
||||
| ВТДляОбработкиРегистраторПолная КАК ВТДляОбработкиРегистраторПолная
|
||||
|ГДЕ
|
||||
| ВТДляОбработкиРегистраторПолная.Регистратор В
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ВТДляОбработкиРегистраторПолная.Регистратор КАК Регистратор
|
||||
| ИЗ
|
||||
| ВТДляОбработкиРегистраторПолная КАК ВТДляОбработкиРегистраторПолная
|
||||
@@ -1092,7 +1092,7 @@
|
||||
|
||||
Если ПолноеИмяДокумента = Неопределено Тогда
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ТаблицаРегистраИзменения.Регистратор КАК Регистратор
|
||||
|ИЗ
|
||||
| #ТаблицаРегистраИзменения КАК ТаблицаРегистраИзменения
|
||||
@@ -1115,7 +1115,7 @@
|
||||
Иначе
|
||||
ИмяДокумента = СтрРазделить(ПолноеИмяДокумента,".",Ложь)[1];
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ТаблицаРегистраИзменения.Регистратор КАК Регистратор
|
||||
|ИЗ
|
||||
| #ТаблицаРегистраИзменения КАК ТаблицаРегистраИзменения
|
||||
@@ -1151,7 +1151,7 @@
|
||||
СоздатьВременнуюТаблицуЗаблокированныхДляЧтенияИИзмененияДанных(Очередь, ПолноеИмяРегистра, МенеджерВременныхТаблиц, ДополнительныеПараметрыСозданияВТ);
|
||||
|
||||
Если Не ДополнительныеПараметры.ВыбиратьПорциями Тогда
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 500","ВЫБРАТЬ");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 10000","ВЫБРАТЬ");
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьПроверкуБлокировкиДополнительныхИсточников(Очередь, ТекстЗапроса, ПолноеИмяДокумента, ПолноеИмяРегистра, МенеджерВременныхТаблиц, Ложь, ДополнительныеПараметры);
|
||||
@@ -1193,7 +1193,7 @@
|
||||
Или ОбщегоНазначения.ЭтоЗадача(МетаданныеОбъекта);
|
||||
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ТаблицаИзменений.Ссылка
|
||||
|ИЗ
|
||||
| #ТаблицаОбъектаИзменения КАК ТаблицаИзменений
|
||||
@@ -1225,7 +1225,7 @@
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"#ТаблицаОбъекта", ПолноеИмяОбъекта);
|
||||
|
||||
Если Не ДополнительныеПараметры.ВыбиратьПорциями Тогда
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 500","ВЫБРАТЬ");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 10000","ВЫБРАТЬ");
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
|
||||
@@ -1314,7 +1314,7 @@
|
||||
| ВТДляОбработкиСсылкаПолная КАК ВТДляОбработкиСсылкаПолная
|
||||
|ГДЕ
|
||||
| ВТДляОбработкиСсылкаПолная.Ссылка В
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| ВТДляОбработкиСсылкаПолная.Ссылка КАК Ссылка
|
||||
| ИЗ
|
||||
| ВТДляОбработкиСсылкаПолная КАК ВТДляОбработкиСсылкаПолная";
|
||||
@@ -1426,7 +1426,7 @@
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| &ТекстВыборкиИзмерений
|
||||
|ИЗ
|
||||
| #ТаблицаОбъектаИзменения КАК ТаблицаИзменений
|
||||
@@ -1492,7 +1492,7 @@
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"#ТаблицаОбъектаИзменения", ПолноеИмяОбъекта + ".Изменения");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ВТЗаблокированоИзмерения","ВТЗаблокировано" + ИмяОбъекта);
|
||||
Если Не ДополнительныеПараметры.ВыбиратьПорциями Тогда
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 500","ВЫБРАТЬ");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 10000","ВЫБРАТЬ");
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
|
||||
@@ -1561,7 +1561,7 @@
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 500
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 10000
|
||||
| &ТекстВыборкиИзмерений
|
||||
|ПОМЕСТИТЬ #ВТДляОбработкиИзмерения
|
||||
|ИЗ
|
||||
@@ -2855,6 +2855,21 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает признак разрешения использования многопоточного обновления.
|
||||
// Многопоточное обновление можно включить в ОбновлениеИнформационнойБазыПереопределяемый.ПриОпределенииНастроек().
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - если Истина, многопоточное обновление разрешено. По умолчанию - Ложь (для обратной совместимости).
|
||||
//
|
||||
Функция РазрешеноМногопоточноеОбновление() Экспорт
|
||||
|
||||
Параметры = Новый Структура("МногопоточноеОбновление", Ложь);
|
||||
ОбновлениеИнформационнойБазыПереопределяемый.ПриОпределенииНастроек(Параметры);
|
||||
|
||||
Возврат Параметры.МногопоточноеОбновление;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область УстаревшиеПроцедурыИФункции
|
||||
|
||||
// Устарела: больше не требуется, т.к. данные действия выполняются автоматически механизмом обновления.
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "2.4.5.71";
|
||||
Описание.Версия = "2.4.6.27";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
// * ЗапрещатьПродолжение - Булево - если Истина, продолжить обновление будет невозможно. По умолчанию Ложь.
|
||||
// * РасположениеОписанияИзмененийПрограммы - Строка - описывает расположение команды, по которой можно
|
||||
// открыть форму с описанием изменений в новой версии программы.
|
||||
// * МногопоточноеОбновление - Булево - если Истина, то в один момент времени могут выполняться сразу
|
||||
// несколько обработчиков обновления. По умолчанию - Ложь.
|
||||
// ВАЖНО: Перед установкой значения Истина ознакомьтесь с документацией.
|
||||
// * КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию - Строка - количество потоков отложенного обновления
|
||||
// используемое, когда не задано значение для константы
|
||||
// КоличествоПотоковОбновленияИнформационнойБазы. По умолчанию равно 1.
|
||||
//
|
||||
Процедура ПриОпределенииНастроек(Параметры) Экспорт
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -3411,7 +3411,7 @@
|
||||
|
||||
СтруктураСсылки = СтруктураURI(URL);
|
||||
АдресСервераРесурса = СтруктураСсылки.Хост;
|
||||
АдресСервераКонтрольнойПроверки = "1c.eu";
|
||||
АдресСервераКонтрольнойПроверки = "1c.com";
|
||||
|
||||
РезультатДоступностиРесурса = ПроверитьДоступностьСервера(АдресСервераРесурса);
|
||||
|
||||
@@ -3852,9 +3852,9 @@
|
||||
Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64);
|
||||
|
||||
Если ЭтоWindows Тогда
|
||||
ШаблонКоманды = "ping %1 -n 2 -w 100";
|
||||
ШаблонКоманды = "ping %1 -n 2 -w 500";
|
||||
Иначе
|
||||
ШаблонКоманды = "ping -c 2 -w 100 %1";
|
||||
ШаблонКоманды = "ping -c 2 -w 500 %1";
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаКоманды = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКоманды, АдресСервера);
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
HTTPОтвет = Неопределено;
|
||||
|
||||
Попытка
|
||||
Соединение = Новый HTTPСоединение("sms.ru", , , , ПолучениеФайловИзИнтернетаКлиентСервер.ПолучитьПрокси("http"),
|
||||
Соединение = Новый HTTPСоединение("sms.ru", , , , ПолучениеФайловИзИнтернетаКлиентСервер.ПолучитьПрокси("https"),
|
||||
60, ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение());
|
||||
|
||||
HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
|
||||
|
||||
@@ -121,11 +121,12 @@
|
||||
Функция ПодключитьВебСервис()
|
||||
|
||||
ПараметрыПодключения = ОбщегоНазначения.ПараметрыПодключенияWSПрокси();
|
||||
ПараметрыПодключения.АдресWSDL = "http://www.mcommunicator.ru/m2m/m2m_api.asmx?WSDL";
|
||||
ПараметрыПодключения.АдресWSDL = "https://www.mcommunicator.ru/m2m/m2m_api.asmx?WSDL";
|
||||
ПараметрыПодключения.URIПространстваИмен = "http://mcommunicator.ru/M2M";
|
||||
ПараметрыПодключения.ИмяСервиса = "MTS_x0020_Communicator_x0020_M2M_x0020_XML_x0020_API";
|
||||
ПараметрыПодключения.ИмяТочкиПодключения = "MTS_x0020_Communicator_x0020_M2M_x0020_XML_x0020_APISoap12";
|
||||
ПараметрыПодключения.Таймаут = 60;
|
||||
ПараметрыПодключения.ЗащищенноеСоединение = ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение();
|
||||
|
||||
Возврат ОбщегоНазначения.СоздатьWSПрокси(ПараметрыПодключения);
|
||||
|
||||
@@ -189,8 +190,8 @@
|
||||
// Массив.
|
||||
//
|
||||
Функция Разрешения() Экспорт
|
||||
Протокол = "HTTP";
|
||||
Адрес = "http://mcommunicator.ru";
|
||||
Протокол = "HTTPS";
|
||||
Адрес = "https://mcommunicator.ru";
|
||||
Порт = Неопределено;
|
||||
Описание = НСтр("ru = 'Отправка SMS через МТС.'");
|
||||
|
||||
|
||||
@@ -337,12 +337,65 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЗарегистрироватьНастройкиВарианта(НастройкиКД, Информация);
|
||||
|
||||
ЗарегистрироватьСвязиОтВедущих(Информация);
|
||||
|
||||
Возврат Информация;
|
||||
КонецФункции
|
||||
|
||||
// Очистить от циклических ссылок для освобождения памяти.
|
||||
Процедура ОчиститьРасширеннуюИнформациюОНастройках(ИнформацияОНастройках) Экспорт
|
||||
|
||||
ОчиститьДеревоЗначений(ИнформацияОНастройках.ДеревоВарианта);
|
||||
ОчиститьДеревоЗначений(ИнформацияОНастройках.НастройкиВарианта);
|
||||
ИнформацияОНастройках.Поиск.Очистить();
|
||||
ИнформацияОНастройках.ПользовательскиеНастройки.Колонки.Очистить();
|
||||
ИнформацияОНастройках.Связи.Очистить();
|
||||
ИнформацияОНастройках.Очистить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Очистить дерево значений от циклических ссылок для освобождения памяти.
|
||||
//
|
||||
Процедура ОчиститьДеревоЗначений(Знач Дерево) Экспорт
|
||||
|
||||
СтрокиДерева = Дерево.Строки;
|
||||
ОчищаемыеКолонки = Новый Массив;
|
||||
ИндексКолонки = 0;
|
||||
Для каждого КолонкаДерева Из Дерево.Колонки Цикл
|
||||
Если КолонкаДерева.ТипЗначения <> Новый ОписаниеТипов("Строка")
|
||||
И КолонкаДерева.ТипЗначения <> Новый ОписаниеТипов("Булево")
|
||||
И КолонкаДерева.ТипЗначения <> Новый ОписаниеТипов("Число")
|
||||
И КолонкаДерева.ТипЗначения <> Новый ОписаниеТипов("Дата") Тогда
|
||||
ОчищаемыеКолонки.Добавить(ИндексКолонки);
|
||||
КонецЕсли;
|
||||
ИндексКолонки = ИндексКолонки + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если ОчищаемыеКолонки.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого СтрокаДерева Из СтрокиДерева Цикл
|
||||
ОчиститьСтрокиДереваЗначений(СтрокаДерева.Строки, ОчищаемыеКолонки);
|
||||
КонецЦикла;
|
||||
Дерево.Колонки.Очистить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОчиститьСтрокиДереваЗначений(Знач СтрокиДерева, Знач ОчищаемыеКолонки)
|
||||
|
||||
Для каждого СтрокаДерева Из СтрокиДерева Цикл
|
||||
ОчиститьСтрокиДереваЗначений(СтрокаДерева.Строки, ОчищаемыеКолонки);
|
||||
КонецЦикла;
|
||||
|
||||
Для каждого СтрокаДерева Из СтрокиДерева Цикл
|
||||
Для каждого Колонка Из ОчищаемыеКолонки Цикл
|
||||
СтрокаДерева[Колонка] = Неопределено;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Дерево варианта
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
//
|
||||
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет соответствие имен методов их псевдонимам для вызова из очереди заданий.
|
||||
@@ -22,6 +24,8 @@
|
||||
//
|
||||
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет соответствие методов обработчиков ошибок псевдонимам методов, при возникновении
|
||||
|
||||
@@ -783,7 +783,7 @@
|
||||
ИначеЕсли КодСостояния = 507 Тогда // Insufficient Storage
|
||||
Расшифровка = НСтр("ru = 'На сервере недостаточно места для выполнения запроса.'");
|
||||
ИначеЕсли КодСостояния = 509 Тогда // Bandwidth Limit Exceeded
|
||||
Расшифровка = НСтр("ru = 'Сервер превысил отведенное ограничение на потребление траффика.'");
|
||||
Расшифровка = НСтр("ru = 'Сервер превысил отведенное ограничение на потребление трафика.'");
|
||||
ИначеЕсли КодСостояния = 510 Тогда // Not Extended
|
||||
Расшифровка = НСтр("ru = 'Сервер требует больше информации о совершаемом запросе.'");
|
||||
ИначеЕсли КодСостояния = 511 Тогда // Network Authentication Required
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
//
|
||||
Процедура ПолучитьОбработчикиПоставляемыхДанных(Обработчики) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -132,5 +132,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Позволяет изменить стандартную форму списка файлов
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - УправляемаяФорма - форма списка файлов.
|
||||
Процедура ПриСозданииФормыСпискаФайлов(Форма) Экспорт
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Позволяет изменить стандартную форму файла
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - УправляемаяФорма - форма файла.
|
||||
Процедура ПриСозданииФормыЭлементаФайлов(Форма) Экспорт
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
Счетчик = 0;
|
||||
ЦиклНомер = 0;
|
||||
Успешно = Ложь;
|
||||
КодБукваA = КодСимвола("A", 1);
|
||||
|
||||
ГенераторСлучая = Неопределено;
|
||||
|
||||
@@ -106,7 +107,6 @@
|
||||
#КонецЕсли
|
||||
|
||||
КоличествоСлучайныхВариантов = 26;
|
||||
КодБукваA = КодСимвола("A", 1);
|
||||
Пока НЕ Успешно И ЦиклНомер < 100 Цикл
|
||||
НомерКаталога = 0;
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
БуквыКаталога = "";
|
||||
КодБукваA = КодСимвола("A", 1);
|
||||
|
||||
Пока Истина Цикл
|
||||
НомерБуквы = НомерКаталога % 26;
|
||||
@@ -138,7 +139,7 @@
|
||||
|
||||
// По умолчанию вначале используется корень, если возможности нет,
|
||||
// то добавляется A, B, ... Z, .. ZZZZZ, .. AAAAA1, .. AAAAA2 и т.д.
|
||||
Если Счетчик = 0 Тогда
|
||||
Если Счетчик = 0 Тогда
|
||||
ПодКаталог = "";
|
||||
Иначе
|
||||
ПодКаталог = БуквыКаталога;
|
||||
@@ -177,7 +178,7 @@
|
||||
|
||||
// Проверка, есть ли файл с таким именем.
|
||||
ФайлНаДиске = Новый Файл(ФайлПопытки);
|
||||
Если НЕ ФайлНаДиске.Существует() Тогда // Нет такого файла.
|
||||
Если НЕ ФайлНаДиске.Существует() Тогда // Нет такого файла.
|
||||
ИтоговыйПуть = ПодКаталог + ИмяФайла;
|
||||
Успешно = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1273,11 +1273,13 @@
|
||||
ОтложеннаяИнициализация = ?(ДополнительныеПараметры.Свойство("ОтложеннаяИнициализация"), ДополнительныеПараметры.ОтложеннаяИнициализация, Ложь);
|
||||
ПоложениеЗаголовкаКИ = ?(ДополнительныеПараметры.Свойство("ПоложениеЗаголовкаКИ"), ДополнительныеПараметры.ПоложениеЗаголовкаКИ, "");
|
||||
ИсключаемыеВиды = ?(ДополнительныеПараметры.Свойство("ИсключаемыеВиды"), ДополнительныеПараметры.ИсключаемыеВиды, Неопределено);
|
||||
СкрываемыеВиды = ?(ДополнительныеПараметры.Свойство("СкрываемыеВиды"), ДополнительныеПараметры.СкрываемыеВиды, Неопределено);
|
||||
ИмяЭлементаДляРазмещения = ?(ДополнительныеПараметры.Свойство("ИмяЭлементаДляРазмещения"), ДополнительныеПараметры.ИмяЭлементаДляРазмещения, "ГруппаКонтактнаяИнформация");
|
||||
Иначе
|
||||
ИмяЭлементаДляРазмещения = ?(ДополнительныеПараметры = Неопределено, "ГруппаКонтактнаяИнформация", ДополнительныеПараметры);
|
||||
ОтложеннаяИнициализация = УдалитьОтложеннаяИнициализация;
|
||||
ИсключаемыеВиды = УдалитьИсключаемыеВиды;
|
||||
СкрываемыеВиды = Неопределено;
|
||||
ПоложениеЗаголовкаКИ = УдалитьПоложениеЗаголовкаКИ;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1285,6 +1287,10 @@
|
||||
ИсключаемыеВиды = Новый Массив;
|
||||
КонецЕсли;
|
||||
|
||||
Если СкрываемыеВиды = Неопределено Тогда
|
||||
СкрываемыеВиды = Новый Массив;
|
||||
КонецЕсли;
|
||||
|
||||
ДобавляемыеРеквизиты = Новый Массив;
|
||||
ПроверитьНаличиеРеквизитовКонтактнойИнформации(Форма, ДобавляемыеРеквизиты);
|
||||
|
||||
@@ -1395,6 +1401,7 @@
|
||||
| ВидыКонтактнойИнформации.РедактированиеТолькоВДиалоге КАК РедактированиеТолькоВДиалоге,
|
||||
| ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти,
|
||||
| ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
|
||||
| ВидыКонтактнойИнформации.МеждународныйФорматАдреса КАК МеждународныйФорматАдреса,
|
||||
| ЕСТЬNULL(КонтактнаяИнформация.ЭтоИсторическаяКонтактнаяИнформация, ЛОЖЬ) КАК ЭтоИсторическаяКонтактнаяИнформация,
|
||||
| ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Представление,
|
||||
| ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, """") КАК ЗначенияПолей,
|
||||
@@ -1416,6 +1423,7 @@
|
||||
| И (
|
||||
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
|
||||
| ИЛИ ВидыКонтактнойИнформации.Родитель.Родитель = &ГруппаВидовКИ)
|
||||
| И ВидыКонтактнойИнформации.Ссылка НЕ В (&СкрываемыеВиды)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ВидыКонтактнойИнформации.Ссылка ИЕРАРХИЯ
|
||||
|";
|
||||
@@ -1429,6 +1437,7 @@
|
||||
Запрос.УстановитьПараметр("ТаблицаКонтактнойИнформации", КонтактнаяИнформация);
|
||||
Запрос.УстановитьПараметр("ГруппаВидовКИ", ГруппаВидовКонтактнойИнформации);
|
||||
Запрос.УстановитьПараметр("Владелец", СсылкаНаОбъект);
|
||||
Запрос.УстановитьПараметр("СкрываемыеВиды", СкрываемыеВиды);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
КонтактнаяИнформация = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией).Строки;
|
||||
@@ -1964,6 +1973,7 @@
|
||||
// в форме ввода нового адреса. По умолчанию, "Квартира".
|
||||
// * ИмяЭлементаДляРазмещения - Строка - Группа, куда будут размещены элементы контактной информации.
|
||||
// * ИсключаемыеВиды - Массив - Виды контактной информации, которые не требуется отображать на форме.
|
||||
// * СкрываемыеВиды - Массив - Виды контактной информации, которые не требуется отображать на форме.
|
||||
// * ОтложеннаяИнициализация - Булево - Если Истина, то создание полей контактной информации на форме будет отложено.
|
||||
// * ПоложениеЗаголовкаКИ - ПоложениеЗаголовкаЭлементаФормы - Может принимать значения:
|
||||
// ПоложениеЗаголовкаЭлементаФормы.Верх или
|
||||
@@ -1978,6 +1988,7 @@
|
||||
Результат.Вставить("ОтложеннаяИнициализация", Ложь);
|
||||
Результат.Вставить("ПоложениеЗаголовкаКИ", "");
|
||||
Результат.Вставить("ИсключаемыеВиды", Неопределено);
|
||||
Результат.Вставить("СкрываемыеВиды", Неопределено);
|
||||
Результат.Вставить("ИмяЭлементаДляРазмещения", "ГруппаКонтактнаяИнформация");
|
||||
|
||||
Возврат Результат;
|
||||
@@ -2119,6 +2130,7 @@
|
||||
Объект.ЗапретитьРедактированиеПользователем = Параметры.ЗапретитьРедактированиеПользователем;
|
||||
Объект.Используется = Параметры.Используется;
|
||||
Объект.ХранитьИсториюИзменений = Параметры.ХранитьИсториюИзменений;
|
||||
Объект.МеждународныйФорматАдреса = Параметры.МеждународныйФорматАдреса;
|
||||
|
||||
Если Параметры.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
||||
Объект.ВидПоляДругое = Параметры.ВидПоляДругое;
|
||||
@@ -2216,6 +2228,7 @@
|
||||
ПараметрыВида.Вставить("РазрешитьВводНесколькихЗначений", Ложь);
|
||||
ПараметрыВида.Вставить("ЗапретитьРедактированиеПользователем", Ложь);
|
||||
ПараметрыВида.Вставить("ХранитьИсториюИзменений", Ложь);
|
||||
ПараметрыВида.Вставить("МеждународныйФорматАдреса", Ложь);
|
||||
ПараметрыВида.Вставить("Используется", Истина);
|
||||
|
||||
Если УстанавливаемыйТип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||
@@ -3739,6 +3752,7 @@
|
||||
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ДействуетС", Новый ОписаниеТипов("Дата"), ИмяОписания));
|
||||
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ХранитьИсториюИзменений", Новый ОписаниеТипов("Булево"), ИмяОписания));
|
||||
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ИмяЭлементаДляРазмещения", Строка500, ИмяОписания));
|
||||
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("МеждународныйФорматАдреса", Новый ОписаниеТипов("Булево"), ИмяОписания));
|
||||
Иначе
|
||||
РеквизитыТаблицы = Форма.ПолучитьРеквизиты("КонтактнаяИнформацияОписаниеДополнительныхРеквизитов");
|
||||
РеквизитыДляСоздания = Новый Соответствие;
|
||||
@@ -3746,6 +3760,7 @@
|
||||
РеквизитыДляСоздания.Вставить("ХранитьИсториюИзменений", Истина);
|
||||
РеквизитыДляСоздания.Вставить("ДействуетС", Истина);
|
||||
РеквизитыДляСоздания.Вставить("ЭтоИсторическаяКонтактнаяИнформация", Истина);
|
||||
РеквизитыДляСоздания.Вставить("МеждународныйФорматАдреса", Истина);
|
||||
|
||||
Для Каждого Реквизит Из РеквизитыТаблицы Цикл
|
||||
Если РеквизитыДляСоздания[Реквизит.Имя] <> Неопределено Тогда
|
||||
@@ -3795,16 +3810,23 @@
|
||||
НоваяСтрока.Тип = СтрокаКонтактнойИнформации.Тип;
|
||||
НоваяСтрока.ИмяЭлементаДляРазмещения = ИмяЭлементаДляРазмещения;
|
||||
НоваяСтрока.ЭтоРеквизитТабличнойЧасти = ЭтоРеквизитТабличнойЧасти;
|
||||
|
||||
Если НоваяСтрока.Свойство("ЭтоИсторическаяКонтактнаяИнформация") Тогда
|
||||
НоваяСтрока.ЭтоИсторическаяКонтактнаяИнформация = СтрокаКонтактнойИнформации.ЭтоИсторическаяКонтактнаяИнформация;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяСтрока.Свойство("ДействуетС") Тогда
|
||||
НоваяСтрока.ДействуетС = СтрокаКонтактнойИнформации.ДействуетС;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяСтрока.Свойство("ХранитьИсториюИзменений") Тогда
|
||||
НоваяСтрока.ХранитьИсториюИзменений = СтрокаКонтактнойИнформации.ХранитьИсториюИзменений;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяСтрока.Свойство("МеждународныйФорматАдреса") Тогда
|
||||
НоваяСтрока.МеждународныйФорматАдреса = СтрокаКонтактнойИнформации.МеждународныйФорматАдреса;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(СтрокаКонтактнойИнформации.ЗначенияПолей) Тогда
|
||||
НоваяСтрока.ЗначенияПолей = "";
|
||||
Иначе
|
||||
@@ -4839,18 +4861,23 @@
|
||||
Если СтрокаКИ.Тип <> Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПодменюКопироватьАдреса = Форма.Элементы.Найти("ПодменюКопироватьАдреса" + СтрокаКИ.ИмяРеквизита);
|
||||
КонтекстноеПодменюКопироватьАдреса = Форма.Элементы.Найти("КонтекстноеПодменюКопироватьАдреса" + СтрокаКИ.ИмяРеквизита);
|
||||
Если ПодменюКопироватьАдреса <> Неопределено И КонтекстноеПодменюКопироватьАдреса = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КоличествоКомандВПодменю = 0;
|
||||
СписокАдресовВПодменю = Новый Соответствие();
|
||||
СписокАдресовВПодменю.Вставить(ВРег(СтрокаКИ.Представление), Истина);
|
||||
|
||||
Для Каждого Адрес Из НайденныеСтроки Цикл
|
||||
|
||||
Если КоличествоКомандВПодменю > 7 Тогда // Ограничение для большого количества адресов на форме
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Адрес.ЭтоИсторическаяКонтактнаяИнформация Или Адрес.ИмяРеквизита = СтрокаКИ.ИмяРеквизита Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -4865,20 +4892,30 @@
|
||||
|
||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||
КоличествоКомандВПодменю = КоличествоКомандВПодменю + 1;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеАдреса = ?(СтрокаКИ.МеждународныйФорматАдреса,
|
||||
СтроковыеФункцииКлиентСервер.СтрокаЛатиницей(Адрес.Представление), Адрес.Представление);
|
||||
|
||||
Если СписокАдресовВПодменю[ВРег(Адрес.Представление)] <> Неопределено Тогда
|
||||
ПредставлениеАдреса = "";
|
||||
Иначе
|
||||
СписокАдресовВПодменю.Вставить(ВРег(Адрес.Представление), Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПодменюКопироватьАдреса <> Неопределено Тогда
|
||||
ДобавитьКнопкуСкопироватьАдрес(Форма, ИмяКоманды,
|
||||
Адрес.Представление, ПараметрыКонтактнойИнформации, ПодменюКопироватьАдреса);
|
||||
ДобавитьКнопкуСкопироватьАдрес(Форма, ИмяКоманды,
|
||||
ПредставлениеАдреса, ПараметрыКонтактнойИнформации, ПодменюКопироватьАдреса);
|
||||
КонецЕсли;
|
||||
|
||||
Если КонтекстноеПодменюКопироватьАдреса <> Неопределено Тогда
|
||||
ДобавитьКнопкуСкопироватьАдрес(Форма, ИмяКоманды,
|
||||
Адрес.Представление, ПараметрыКонтактнойИнформации, КонтекстноеПодменюКопироватьАдреса);
|
||||
ПредставлениеАдреса, ПараметрыКонтактнойИнформации, КонтекстноеПодменюКопироватьАдреса);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
ОбщееКоличествоКоманд = ОбщееКоличествоКоманд + КоличествоКомандВПодменю;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -205,8 +205,21 @@
|
||||
|
||||
Результат = Новый Структура("ИмяРеквизита", ИмяРеквизитаИсточник);
|
||||
СтрокаПотребитель = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов.НайтиСтроки(Результат)[0];
|
||||
ЗаполнитьЗначенияСвойств(СтрокаПотребитель, НайденнаяСтрока, "ЗначенияПолей,Представление,Комментарий");
|
||||
Форма[СтрокаПотребитель.ИмяРеквизита] = НайденнаяСтрока.Представление;
|
||||
|
||||
Если СтрокаПотребитель.Свойство("МеждународныйФорматАдреса") И СтрокаПотребитель.МеждународныйФорматАдреса Тогда
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СтрокаПотребитель, НайденнаяСтрока, "Комментарий");
|
||||
ПредставлениеАдреса = СтроковыеФункцииКлиентСервер.СтрокаЛатиницей(НайденнаяСтрока.Представление);
|
||||
СтрокаПотребитель.Представление = ПредставлениеАдреса;
|
||||
Форма[СтрокаПотребитель.ИмяРеквизита] = ПредставлениеАдреса;
|
||||
СтрокаПотребитель.ЗначенияПолей = "";
|
||||
|
||||
Иначе
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СтрокаПотребитель, НайденнаяСтрока, "ЗначенияПолей,Представление,Комментарий");
|
||||
Форма[СтрокаПотребитель.ИмяРеквизита] = НайденнаяСтрока.Представление;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Форма.Модифицированность = Истина;
|
||||
Результат = Новый Структура("ОбновитьКонтекстноеМеню, ИмяРеквизита, ИмяЭлементаДляРазмещения",
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
Обработчик.РежимВыполнения = "Монопольно";
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "2.4.5.67";
|
||||
Обработчик.Версия = "2.4.6.9";
|
||||
Обработчик.Комментарий =
|
||||
НСтр("ru = 'Заполнение справочника Программы электронной подписи и шифрования.'");
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("8e76369a-e16c-415d-bfeb-95e7e5f07a00");
|
||||
@@ -157,8 +157,6 @@
|
||||
Параметры.Вставить("ЭлектроннаяПодпись", НастройкиПодсистемы);
|
||||
КонецЕсли;
|
||||
|
||||
Параметры.Вставить("ТипыПрограммЭлектроннойПодписи", ЭлектроннаяПодписьСлужебныйПовтИсп.ТипыПрограммЭлектроннойПодписи());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ЗагрузкаДанныхИзФайлаПереопределяемый.ПриОпределенииСправочниковДляЗагрузкиДанных.
|
||||
@@ -1102,7 +1100,8 @@
|
||||
|
||||
ОбъектКомпоненты = ОбъектВнешнейКомпонентыXMLDSig();
|
||||
|
||||
ТипКриптопровайдера = ТипКриптопровайдера(МенеджерКриптографии);
|
||||
СвойстваКриптопровайдера = СвойстваКриптопровайдера(МенеджерКриптографии);
|
||||
ОбъектКомпоненты.ПутьККриптопровайдеру = СвойстваКриптопровайдера.Путь;
|
||||
|
||||
КонвертSOAP = СтрЗаменить(
|
||||
КонвертSOAP,
|
||||
@@ -1117,7 +1116,7 @@
|
||||
ОбъектКомпоненты,
|
||||
C14N(ОбъектКомпоненты, КонвертSOAP, XPathПодписываемыйТег),
|
||||
OIDАлгоритмаХеширования,
|
||||
ТипКриптопровайдера);
|
||||
СвойстваКриптопровайдера.Тип);
|
||||
|
||||
КонвертSOAP = СтрЗаменить(КонвертSOAP, "%DigestValue%", DigestValue);
|
||||
|
||||
@@ -1144,7 +1143,8 @@
|
||||
|
||||
ОбъектКомпоненты = ОбъектВнешнейКомпонентыXMLDSig();
|
||||
|
||||
ТипКриптопровайдера = ТипКриптопровайдера(МенеджерКриптографии);
|
||||
СвойстваКриптопровайдера = СвойстваКриптопровайдера(МенеджерКриптографии);
|
||||
ОбъектКомпоненты.ПутьККриптопровайдеру = СвойстваКриптопровайдера.Путь;
|
||||
|
||||
СертификатКриптографииBase64 = ЭлектроннаяПодписьСлужебныйКлиентСервер.НайтиВXML(КонвертSOAP, "wsse:BinarySecurityToken");
|
||||
|
||||
@@ -1155,13 +1155,13 @@
|
||||
C14N(ОбъектКомпоненты, КонвертSOAP, XPathSignedInfo),
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.НайтиВXML(КонвертSOAP, "SignatureValue"),
|
||||
СертификатКриптографииBase64,
|
||||
ТипКриптопровайдера);
|
||||
СвойстваКриптопровайдера.Тип);
|
||||
|
||||
DigestValue = Hash(
|
||||
ОбъектКомпоненты,
|
||||
C14N(ОбъектКомпоненты, КонвертSOAP, XPathПодписываемыйТег),
|
||||
OIDАлгоритмаХеширования,
|
||||
ТипКриптопровайдера);
|
||||
СвойстваКриптопровайдера.Тип);
|
||||
|
||||
ХешСовпадает = Ложь;
|
||||
Если DigestValue = ЭлектроннаяПодписьСлужебныйКлиентСервер.НайтиВXML(КонвертSOAP, "DigestValue") Тогда
|
||||
@@ -1208,18 +1208,27 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипКриптопровайдера(МенеджерКриптографии)
|
||||
Функция СвойстваКриптопровайдера(МенеджерКриптографии)
|
||||
|
||||
ИнформацияМодуляКриптографии = МенеджерКриптографии.ПолучитьИнформациюМодуляКриптографии();
|
||||
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ТипКриптопровайдера = ЭлектроннаяПодписьСлужебныйПовтИсп.ТипыПрограммЭлектроннойПодписи()[ИмяКриптопровайдера];
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеПрограммыПоИмениКриптопровайдера(ИмяКриптопровайдера);
|
||||
|
||||
Если ТипКриптопровайдера = Неопределено Тогда
|
||||
Если ОписаниеПрограммы = Неопределено Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"), ИмяКриптопровайдера);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТипКриптопровайдера;
|
||||
Свойства = Новый Структура("Тип, Путь", ОписаниеПрограммы.ТипПрограммы, "");
|
||||
|
||||
Если ОбщегоНазначения.ЭтоLinuxСервер() Тогда
|
||||
ПутиКПрограммамНаСерверахLinux = ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера());
|
||||
Свойства.Путь = ПутиКПрограммамНаСерверахLinux.Получить(ОписаниеПрограммы.Ссылка);
|
||||
Иначе
|
||||
Свойства.Путь = "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Свойства;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -1803,22 +1812,7 @@
|
||||
ЭтоLinux = ОбщегоНазначения.ЭтоLinuxСервер();
|
||||
|
||||
Если ЭтоLinux Тогда
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПутиКПрограмме.Программа,
|
||||
| ПутиКПрограмме.ПутьКПрограмме
|
||||
|ИЗ
|
||||
| РегистрСведений.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux КАК ПутиКПрограмме
|
||||
|ГДЕ
|
||||
| ПутиКПрограмме.ИмяКомпьютера = &ИмяКомпьютера";
|
||||
|
||||
ПутиКПрограммамНаСерверахLinux = Новый Соответствие;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ПутиКПрограммамНаСерверахLinux.Вставить(Выборка.Программа, Выборка.ПутьКПрограмме);
|
||||
КонецЦикла;
|
||||
ПутиКПрограммамНаСерверахLinux = ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера);
|
||||
Иначе
|
||||
ПутиКПрограммамНаСерверахLinux = Неопределено;
|
||||
КонецЕсли;
|
||||
@@ -1904,4 +1898,27 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПутиКПрограмме.Программа,
|
||||
| ПутиКПрограмме.ПутьКПрограмме
|
||||
|ИЗ
|
||||
| РегистрСведений.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux КАК ПутиКПрограмме
|
||||
|ГДЕ
|
||||
| ПутиКПрограмме.ИмяКомпьютера = &ИмяКомпьютера";
|
||||
|
||||
ПутиКПрограммамНаСерверахLinux = Новый Соответствие;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ПутиКПрограммамНаСерверахLinux.Вставить(Выборка.Программа, Выборка.ПутьКПрограмме);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ПутиКПрограммамНаСерверахLinux;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -202,6 +202,7 @@
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Параметры.ЗначениеПароля;
|
||||
Попытка
|
||||
ДвоичныеДанныеРезультата = ЭлектроннаяПодписьСлужебный.Подписать(
|
||||
Данные.КонвертSOAP,
|
||||
|
||||
@@ -3684,6 +3684,7 @@
|
||||
|
||||
Контекст.Вставить("ТипКриптопровайдера", Неопределено);
|
||||
Контекст.Вставить("ИмяКриптопровайдера", Неопределено);
|
||||
Контекст.Вставить("ПутьКриптопровайдера", Неопределено);
|
||||
|
||||
СертификатКриптографии.НачатьВыгрузку(
|
||||
Новый ОписаниеОповещения("НачатьПодписание_ПослеВыгрузкиСертификатаКриптографии", ЭтотОбъект, Контекст));
|
||||
@@ -3717,6 +3718,7 @@
|
||||
|
||||
Контекст.Вставить("ТипКриптопровайдера", Неопределено);
|
||||
Контекст.Вставить("ИмяКриптопровайдера", Неопределено);
|
||||
Контекст.Вставить("ПутьКриптопровайдера", Неопределено);
|
||||
|
||||
Контекст.СертификатКриптографии.НачатьИнициализацию(Новый ОписаниеОповещения(
|
||||
"НачатьПроверкуПодписиПослеИнициализацииСертификата", ЭтотОбъект, Контекст),
|
||||
@@ -3742,21 +3744,9 @@
|
||||
Процедура ПослеПодключенияКомпоненты(Результат, Контекст) Экспорт
|
||||
|
||||
Если Результат.Подключено Тогда
|
||||
|
||||
Контекст.Вставить("ОбъектКомпоненты", Результат.ПодключаемыйМодуль);
|
||||
|
||||
Если Контекст.Режим = "РежимПроверка" Тогда
|
||||
ОповещениеПриЗавершении = Новый ОписаниеОповещения("НачатьПроверкуПодписиСообщенияSOAP", ЭтотОбъект, Контекст);
|
||||
Контекст.МенеджерКриптографии.НачатьПолучениеИнформацииМодуляКриптографии(ОповещениеПриЗавершении);
|
||||
ИначеЕсли Контекст.Режим = "РежимПодписание" Тогда
|
||||
ОповещениеПриЗавершении = Новый ОписаниеОповещения("НачатьПодписаниеСообщенияSOAP", ЭтотОбъект, Контекст);
|
||||
Контекст.МенеджерКриптографии.НачатьПолучениеИнформацииМодуляКриптографии(ОповещениеПриЗавершении);
|
||||
Иначе
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
НСтр("ru = 'Не установлен режим работы компоненты XMLDSig.'"));
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.МенеджерКриптографии.НачатьПолучениеИнформацииМодуляКриптографии(
|
||||
Новый ОписаниеОповещения("ПослеПолученияИнформацииМодуляКриптографии", ЭтотОбъект, Контекст));
|
||||
Иначе
|
||||
|
||||
Если ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
|
||||
@@ -3782,6 +3772,64 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеПолученияИнформацииМодуляКриптографии(ИнформацияМодуляКриптографии, Контекст) Экспорт
|
||||
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеПрограммыПоИмениКриптопровайдера(ИмяКриптопровайдера);
|
||||
|
||||
Если ОписаниеПрограммы = Неопределено Тогда
|
||||
ЗавершитьОперациюСОшибкой(Контекст,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"),
|
||||
ИнформацияМодуляКриптографии.Имя));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТипКриптопровайдера = ОписаниеПрограммы.ТипПрограммы;
|
||||
Контекст.ИмяКриптопровайдера = ИмяКриптопровайдера;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоWindowsКлиент() Тогда
|
||||
ПутьКПрограмме = "";
|
||||
Иначе
|
||||
ПерсональныеНастройки = ЭлектроннаяПодписьКлиентСервер.ПерсональныеНастройки();
|
||||
ПутьКПрограмме = ПерсональныеНастройки.ПутиКПрограммамЭлектроннойПодписиИШифрования.Получить(
|
||||
ОписаниеПрограммы.Ссылка);
|
||||
КонецЕсли;
|
||||
Контекст.ПутьКриптопровайдера = ПутьКПрограмме;
|
||||
|
||||
Контекст.ОбъектКомпоненты.НачатьУстановкуПутьККриптопровайдеру(
|
||||
Новый ОписаниеОповещения("ПослеУстановкиСвойстваКомпонентыПутьККриптопровайдеру", ЭтотОбъект, Контекст),
|
||||
Контекст.ПутьКриптопровайдера);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеУстановкиСвойстваКомпонентыПутьККриптопровайдеру(Контекст) Экспорт
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоWindowsКлиент() Тогда
|
||||
Контекст.ОбъектКомпоненты.НачатьУстановкуЗапретитьПользовательскийИнтерфейс(
|
||||
Новый ОписаниеОповещения("ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс", ЭтотОбъект, Контекст),
|
||||
Ложь);
|
||||
Иначе
|
||||
ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст) Экспорт
|
||||
|
||||
Если Контекст.Режим = "РежимПроверка" Тогда
|
||||
НачатьПроверкуПодписиСообщенияSOAP(Контекст);
|
||||
|
||||
ИначеЕсли Контекст.Режим = "РежимПодписание" Тогда
|
||||
НачатьПодписаниеСообщенияSOAP(Контекст);
|
||||
Иначе
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
НСтр("ru = 'Не установлен режим работы компоненты XMLDSig.'"));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НачатьПодписание_ПослеВыгрузкиСертификатаКриптографии(ДвоичныеДанныеСертификата, Контекст) Экспорт
|
||||
|
||||
СертификатКриптографииBase64 = ОтформатироватьСтрокуBase64(Base64Строка(ДвоичныеДанныеСертификата));
|
||||
@@ -3804,28 +3852,9 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НачатьПодписаниеСообщенияSOAP(ИнформацияМодуляКриптографии, Контекст) Экспорт
|
||||
|
||||
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ТипКриптопровайдера = ПараметрыРаботыКлиента.ТипыПрограммЭлектроннойПодписи[ИмяКриптопровайдера];
|
||||
|
||||
Если ТипКриптопровайдера = Неопределено Тогда
|
||||
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"), ИнформацияМодуляКриптографии.Имя)
|
||||
+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТипКриптопровайдера = ТипКриптопровайдера;
|
||||
Контекст.ИмяКриптопровайдера = ИмяКриптопровайдера;
|
||||
Процедура НачатьПодписаниеСообщенияSOAP(Контекст)
|
||||
|
||||
Попытка
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения(
|
||||
"Подписание_ПослеВыполненияGetSignOIDFromCert", ЭтотОбъект, Контекст,
|
||||
"Подписание_ПослеВыполненияGetSignOIDFromCert_Ошибка", ЭтотОбъект);
|
||||
@@ -3833,13 +3862,10 @@
|
||||
Контекст.ОбъектКомпоненты.НачатьВызовGetSignOIDFromCert(
|
||||
ОписаниеОповещения,
|
||||
Контекст.СертификатКриптографииBase64);
|
||||
|
||||
Исключение
|
||||
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
НСтр("ru = 'Ошибка вызова метода GetSignOIDFromCert компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -4020,29 +4046,9 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НачатьПроверкуПодписиСообщенияSOAP(ИнформацияМодуляКриптографии, Контекст) Экспорт
|
||||
|
||||
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
|
||||
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ТипКриптопровайдера = ПараметрыРаботыКлиента.ТипыПрограммЭлектроннойПодписи[ИмяКриптопровайдера];
|
||||
|
||||
Если ТипКриптопровайдера = Неопределено Тогда
|
||||
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"), ИнформацияМодуляКриптографии.Имя)
|
||||
+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТипКриптопровайдера = ТипКриптопровайдера;
|
||||
Контекст.ИмяКриптопровайдера = ИмяКриптопровайдера;
|
||||
Процедура НачатьПроверкуПодписиСообщенияSOAP(Контекст)
|
||||
|
||||
Попытка
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения(
|
||||
"Проверка_ПослеВыполненияGetSignOIDFromCert", ЭтотОбъект, Контекст,
|
||||
"Проверка_ПослеВыполненияGetSignOIDFromCert_Ошибка", ЭтотОбъект);
|
||||
@@ -4050,13 +4056,9 @@
|
||||
Контекст.ОбъектКомпоненты.НачатьВызовGetSignOIDFromCert(
|
||||
ОписаниеОповещения,
|
||||
Контекст.СертификатКриптографииBase64);
|
||||
|
||||
Исключение
|
||||
|
||||
ЗавершитьОперациюСОшибкой(
|
||||
Контекст,
|
||||
ЗавершитьОперациюСОшибкой(Контекст,
|
||||
НСтр("ru = 'Ошибка вызова метода GetSignOIDFromCert компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -96,6 +96,26 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ОписаниеПрограммыПоИмениКриптопровайдера(ИмяКриптопровайдера) Экспорт
|
||||
|
||||
ОписанияПрограмм = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки().ОписанияПрограмм;
|
||||
|
||||
ПрограммаНайдена = Ложь;
|
||||
Для Каждого ОписаниеПрограммы Из ОписанияПрограмм Цикл
|
||||
Если ОписаниеПрограммы.ИмяПрограммы = ИмяКриптопровайдера Тогда
|
||||
ПрограммаНайдена = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ПрограммаНайдена Тогда
|
||||
Возврат ОписаниеПрограммы;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Только для внутреннего использования.
|
||||
Функция МенеджерКриптографииОписанияПрограмм(Программа, Ошибки) Экспорт
|
||||
|
||||
|
||||
@@ -87,40 +87,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает соответствие типов программ электронной подписи по именам.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие со свойствами:
|
||||
// * Ключ - Строка - Уникальное имя программы, присвоенное ее разработчиком.
|
||||
// * Значение - Число - Число, которое описывает тип программы и дополняет имя программы.
|
||||
//
|
||||
Функция ТипыПрограммЭлектроннойПодписи() Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Возврат Новый ФиксированноеСоответствие(Новый Соответствие);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Запрос = Новый Запрос(
|
||||
"ВЫБРАТЬ
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.ИмяПрограммы,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.ТипПрограммы
|
||||
|ИЗ
|
||||
| Справочник.ПрограммыЭлектроннойПодписиИШифрования КАК ПрограммыЭлектроннойПодписиИШифрования");
|
||||
|
||||
Результат = Запрос.Выполнить();
|
||||
Выборка = Результат.Выбрать();
|
||||
|
||||
ТипыПрограммЭлектроннойПодписи = Новый Соответствие;
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ТипыПрограммЭлектроннойПодписи.Вставить(Выборка.ИмяПрограммы, Выборка.ТипПрограммы);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Новый ФиксированноеСоответствие(ТипыПрограммЭлектроннойПодписи);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипыВладельцев(ТолькоСсылки = Ложь) Экспорт
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="db6679c4-a647-471a-9f90-40248eb18db9">
|
||||
<name>ОтсутствуетСогласие</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Отсутствует согласие</value>
|
||||
</synonym>
|
||||
</mdclass:CommonPicture>
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c62db5d4-93b3-4f13-8889-81e64c73f224">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bd230cde-6399-4ead-b820-663d251d83c7">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 2.3</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="66ae928c-408f-405d-9411-8fb67fce1316"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9cd82b1c-0f04-450c-8cf2-e44a270763aa"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="55641679-6abe-4bef-b169-8dd1bb9f3fae"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="ff91b048-fb10-4085-b1a6-96fcc3613c59"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="5451adc5-de58-4ddc-88fc-744f12840127"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="993a11e2-0a9c-4836-9e9d-8b30e402845c"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="5eb32ffa-247a-4f98-9caf-0d400f164003"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="af126449-6d5c-4582-9a45-c042ba027c9d"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="513acd2c-f417-435b-abad-630f0fe371b5"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="6d0b3c9c-9aa8-4c48-b8ab-72cdada6d8a7"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="2ce7c9a6-d479-4ce1-98f7-547be6b46e10"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c644b16a-abe9-47bd-8b1b-37d0515dc334"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="2c27a107-d634-4a0d-b883-21086c9d14e1"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="60b4b373-1fdc-476e-874a-705d5a0d99c7"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>2.4.5.71</version>
|
||||
<version>2.4.6.27</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -253,6 +253,7 @@
|
||||
<commonPictures>CommonPicture.ОтправитьSMS</commonPictures>
|
||||
<commonPictures>CommonPicture.ОтправитьПолучитьПочту</commonPictures>
|
||||
<commonPictures>CommonPicture.ОтправитьЭлектронноеПисьмо</commonPictures>
|
||||
<commonPictures>CommonPicture.ОтсутствуетСогласие</commonPictures>
|
||||
<commonPictures>CommonPicture.Отчеты</commonPictures>
|
||||
<commonPictures>CommonPicture.Оформление</commonPictures>
|
||||
<commonPictures>CommonPicture.Ошибка32</commonPictures>
|
||||
@@ -609,6 +610,7 @@
|
||||
<commonModules>CommonModule.ЗапретРедактированияРеквизитовОбъектовСлужебный</commonModules>
|
||||
<commonModules>CommonModule.ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент</commonModules>
|
||||
<commonModules>CommonModule.ЗащитаПерсональныхДанных</commonModules>
|
||||
<commonModules>CommonModule.ЗащитаПерсональныхДанныхВызовСервера</commonModules>
|
||||
<commonModules>CommonModule.ЗащитаПерсональныхДанныхКлиент</commonModules>
|
||||
<commonModules>CommonModule.ЗащитаПерсональныхДанныхПереопределяемый</commonModules>
|
||||
<commonModules>CommonModule.ЗащитаПерсональныхДанныхПовтИсп</commonModules>
|
||||
@@ -938,6 +940,7 @@
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_3_8</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_4_4</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_5_2</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_6_1</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseDataExchange_1_0_1_1</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.ExchangeMessage</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.SuppliedData</xDTOPackages>
|
||||
@@ -1041,12 +1044,14 @@
|
||||
<scheduledJobs>ScheduledJob.ПланированиеИзвлеченияТекстаВМоделиСервиса</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ПланированиеОбработкиЗаданий</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ПолучениеИОтправкаЭлектронныхПисем</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ПолучениеСубъектовДляСкрытияПерсональныхДанных</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ПроверкаВеденияУчета</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.РассылкаОтчетов</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СборИОтправкаОтчетовОбОшибках</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СборИОтправкаСтатистики</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СинхронизацияДанных</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СинхронизацияФайлов</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СкрытиеПерсональныхДанныхСубъектов</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СлияниеИндексаППД</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.СтартОтложенныхПроцессов</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.УведомлениеИсполнителейОНовыхЗадачах</scheduledJobs>
|
||||
@@ -1087,6 +1092,7 @@
|
||||
<functionalOptions>FunctionalOption.ИспользоватьСинхронизациюДанных</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьСинхронизациюДанныхВЛокальномРежиме</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьСинхронизациюФайлов</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьУдалениеПомеченныхОбъектов</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьШаблоныСообщений</functionalOptions>
|
||||
<functionalOptions>FunctionalOption.ИспользоватьШифрование</functionalOptions>
|
||||
@@ -1200,6 +1206,7 @@
|
||||
<commonCommands>CommonCommand.СвязатьсяСоСпециалистомОнлайнПоддержки</commonCommands>
|
||||
<commonCommands>CommonCommand.Синхронизировать</commonCommands>
|
||||
<commonCommands>CommonCommand.СинхронизироватьСДополнительнымиПараметрами</commonCommands>
|
||||
<commonCommands>CommonCommand.СкрытьПерсональныеДанныеСубъектов</commonCommands>
|
||||
<commonCommands>CommonCommand.СменитьПароль</commonCommands>
|
||||
<commonCommands>CommonCommand.СобытияОтправки</commonCommands>
|
||||
<commonCommands>CommonCommand.СобытияПолучения</commonCommands>
|
||||
@@ -1234,6 +1241,7 @@
|
||||
<constants>Constant.ДатаПоследнейВыгрузкиЗамеровПроизводительностиUTC</constants>
|
||||
<constants>Constant.ДатаУведомленияОНовыхЗадачах</constants>
|
||||
<constants>Constant.ДетализироватьОбновлениеИБВЖурналеРегистрации</constants>
|
||||
<constants>Constant.ДнейДоСкрытияПерсональныхДанныхСубъектов</constants>
|
||||
<constants>Constant.ЗаголовокСистемы</constants>
|
||||
<constants>Constant.ЗагрузитьСообщениеОбменаДанными</constants>
|
||||
<constants>Constant.ЗапрещатьЗагрузкуФайловПоРасширению</constants>
|
||||
@@ -1270,6 +1278,7 @@
|
||||
<constants>Constant.ИспользоватьСинхронизациюДанных</constants>
|
||||
<constants>Constant.ИспользоватьСинхронизациюДанныхВЛокальномРежиме</constants>
|
||||
<constants>Constant.ИспользоватьСинхронизациюДанныхВМоделиСервиса</constants>
|
||||
<constants>Constant.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</constants>
|
||||
<constants>Constant.ИспользоватьУдалениеПомеченныхОбъектов</constants>
|
||||
<constants>Constant.ИспользоватьШаблоныСообщений</constants>
|
||||
<constants>Constant.ИспользоватьШифрование</constants>
|
||||
@@ -1283,6 +1292,7 @@
|
||||
<constants>Constant.КаталогСообщенийОбменаДаннымиДляWindows</constants>
|
||||
<constants>Constant.КлючОбластиДанных</constants>
|
||||
<constants>Constant.КоличествоЗамеровВПакетеЭкспорта</constants>
|
||||
<constants>Constant.КоличествоПотоковОбновленияИнформационнойБазы</constants>
|
||||
<constants>Constant.КоличествоЭлементовВТранзакцииЗагрузкиДанных</constants>
|
||||
<constants>Constant.КопироватьОбластиДанныхИзЭталонной</constants>
|
||||
<constants>Constant.МаксимальнаяДлительностьВыполненияИсполняющегоФоновогоЗадания</constants>
|
||||
@@ -1544,6 +1554,7 @@
|
||||
<enums>Enum.СостоянияЗаявленияНаВыпускСертификата</enums>
|
||||
<enums>Enum.СостоянияПроцессовДляЗапуска</enums>
|
||||
<enums>Enum.СостоянияСообщенияSMS</enums>
|
||||
<enums>Enum.СостоянияСубъектовДляСкрытия</enums>
|
||||
<enums>Enum.СпособВыполненияПроверки</enums>
|
||||
<enums>Enum.СпособыPOP3Аутентификации</enums>
|
||||
<enums>Enum.СпособыSMTPАутентификации</enums>
|
||||
@@ -1776,6 +1787,7 @@
|
||||
<informationRegisters>InformationRegister.СостоянияУспешныхОбменовДанными</informationRegisters>
|
||||
<informationRegisters>InformationRegister.СтатистикаКонфигурации</informationRegisters>
|
||||
<informationRegisters>InformationRegister.СтатусыСинхронизацииФайловСОблачнымСервисом</informationRegisters>
|
||||
<informationRegisters>InformationRegister.СубъектыДляСкрытияПерсональныхДанных</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ТаблицыГруппДоступа</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УведомленияОПрочтении</informationRegisters>
|
||||
<informationRegisters>InformationRegister.Удалить_АктивныеПредметыВзаимодействий</informationRegisters>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,ec777841-3392-42a6-8cce-42e0b05cf36a,1,2afc11ab-5a89-4034-9794-e5f30c4918a1,"2.4.5.71","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5550,1,0,c62db5d4-93b3-4f13-8889-81e64c73f224,c62db5d4-93b3-4f13-8889-81e64c73f224,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,060b6f18-538c-4ea1-9748-00efe0b1ab57,060b6f18-538c-4ea1-9748-00efe0b1ab57,1,0,307b6821-fd82-4a1c-9fdb-a26293d4f713,307b6821-fd82-Line truncated
|
||||
{6,1,1,bb3111f9-693b-46d3-88cd-2baece1aba62,1,bed22fba-10bf-4142-a8d3-3e652b34fcf9,"2.4.6.27","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5575,1,0,bd230cde-6399-4ead-b820-663d251d83c7,bd230cde-6399-4ead-b820-663d251d83c7,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,060b6f18-538c-4ea1-9748-00efe0b1ab57,060b6f18-538c-4ea1-9748-00efe0b1ab57,1,0,307b6821-fd82-4a1c-9fdb-a26293d4f713,307b6821-fd82-Line truncated
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="251ca8fe-09eb-45ca-be8b-0d8faf927009">
|
||||
<producedTypes>
|
||||
<managerType typeId="6ca65b05-0bd1-49ea-a53c-2529094a3592" valueTypeId="50484fe0-2dd3-487a-987c-a262058e7322"/>
|
||||
<valueManagerType typeId="726acf20-f24c-483c-889a-057085aabbf6" valueTypeId="18080a77-73d4-4085-81e9-bb59b8747006"/>
|
||||
<valueKeyType typeId="b3f5a35b-8c66-5205-87b6-c4c45e6d5c53" valueTypeId="25ca8ece-355c-5884-8081-448cc0fd00ba"/>
|
||||
</producedTypes>
|
||||
<name>ДнейДоСкрытияПерсональныхДанныхСубъектов</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Дней до скрытия персональных данных субъектов</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>3</precision>
|
||||
<nonNegative>true</nonNegative>
|
||||
</numberQualifiers>
|
||||
</type>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
</mdclass:Constant>
|
||||
Whitespace-only changes.
+20
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3f3f1b41-57a9-4a82-bdfa-89a6653479ab">
|
||||
<producedTypes>
|
||||
<managerType typeId="f6b36ddf-3a9c-4dd4-abfa-1638f9664221" valueTypeId="7fbb6710-e2d0-49be-895a-ce48e88cbc05"/>
|
||||
<valueManagerType typeId="ff9fc631-190e-4c78-9054-135251ef6d18" valueTypeId="472f0b59-7e5b-40a4-a4d5-b277017b4666"/>
|
||||
<valueKeyType typeId="e745c653-9c39-5ba4-8890-d9ad342cd222" valueTypeId="10d909f4-5cd0-5315-88b5-4724f6c775fe"/>
|
||||
</producedTypes>
|
||||
<name>ИспользоватьСкрытиеПерсональныхДанныхСубъектов</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Использовать скрытие персональных данных субъектов</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
</mdclass:Constant>
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d416cc2a-425f-4c01-a550-5a755ed78cc8">
|
||||
<producedTypes>
|
||||
<managerType typeId="15035100-6827-4d98-88ab-df30c38e319f" valueTypeId="f94608ba-6383-494e-a5fa-b4f64e778faf"/>
|
||||
<valueManagerType typeId="325ed2e7-8175-42d8-8ca6-23ac8f6fd743" valueTypeId="1e280ab8-3cb5-4954-b15b-13ba9882a475"/>
|
||||
<valueKeyType typeId="d67e456c-db8b-5777-aad7-b608b42a5718" valueTypeId="0b64608b-81ce-527c-96d1-9cf0e255d505"/>
|
||||
</producedTypes>
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Количество потоков обновления информационной базы</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>5</precision>
|
||||
<nonNegative>true</nonNegative>
|
||||
</numberQualifiers>
|
||||
</type>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
</mdclass:Constant>
|
||||
+4
@@ -425,6 +425,10 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
|
||||
+38
-3
@@ -10,7 +10,18 @@
|
||||
|
||||
// Заполнение списка календарей.
|
||||
ЗакрыватьПриВыборе = Ложь;
|
||||
ЗаполнитьТаблицуКалендарей();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
ДлительнаяОперация = ЗагрузитьСписокПоддерживаемыхПроизводственныхКалендарей();
|
||||
|
||||
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
|
||||
|
||||
ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗаполнитьСписокКалендарейЗавершение", ЭтотОбъект);
|
||||
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -41,9 +52,33 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьТаблицуКалендарей()
|
||||
Функция ЗагрузитьСписокПоддерживаемыхПроизводственныхКалендарей()
|
||||
|
||||
ТаблицаКалендарей = КалендарныеГрафики.ТаблицаПроизводственныхКалендарей();
|
||||
ПараметрыПроцедуры = Новый Структура;
|
||||
|
||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Заполнение списка поддерживаемых календарей'");
|
||||
|
||||
Возврат ДлительныеОперации.ВыполнитьВФоне("Справочники.ПроизводственныеКалендари.ЗаполнитьПроизводственныеКалендариПоУмолчаниюДлительнаяОперация",
|
||||
ПараметрыПроцедуры, ПараметрыВыполнения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьСписокКалендарейЗавершение(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьСписокКалендарей(Результат.АдресРезультата);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСписокКалендарей(АдресТаблицы)
|
||||
|
||||
ТаблицаКалендарей = ПолучитьИзВременногоХранилища(АдресТаблицы);
|
||||
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаКалендарей Цикл
|
||||
НоваяСтрока = Календари.Добавить();
|
||||
|
||||
@@ -35,6 +35,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 7;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Заполняет даты праздничных дней по производственному календарю для конкретного календарного года.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
+2
-1
@@ -270,8 +270,9 @@
|
||||
<Item Calendar="91" Year="2017" DayType="Праздник" Date="20170605" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2017" DayType="Праздник" Date="20170626" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2017" DayType="Праздник" Date="20170904" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2018" DayType="Воскресенье" Date="20180312" SwapDate="20180318"/>
|
||||
<Item Calendar="91" Year="2018" DayType="Праздник" Date="20180318" SwapDate="20180319"/>
|
||||
<Item Calendar="91" Year="2018" DayType="Воскресенье" Date="20180319" SwapDate="20180318"/>
|
||||
<Item Calendar="91" Year="2018" DayType="Рабочий" Date="20180319" SwapDate="20180312"/>
|
||||
<Item Calendar="91" Year="2018" DayType="Праздник" Date="20180409" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2018" DayType="Праздник" Date="20180528" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2018" DayType="Предпраздничный" Date="20180614" SwapDate=""/>
|
||||
|
||||
+261
-26
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаЗаголовок</name>
|
||||
<id>2022</id>
|
||||
@@ -1348,38 +1348,274 @@
|
||||
<name>ГруппаЗащитаПерсональныхДанных</name>
|
||||
<id>2209</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДанным</name>
|
||||
<id>2211</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДанным</name>
|
||||
<id>2213</id>
|
||||
<name>ГруппаНастройкиЗащитыПерсональныхДанных</name>
|
||||
<id>2219</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДанным</name>
|
||||
<id>2211</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДанным</name>
|
||||
<id>2213</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДаннымExtendedTooltip</name>
|
||||
<id>2214</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Регистрация событий доступа в соответствии с требованиями Федерального закона от 27.07.2006 N152-ФЗ "О персональных данных".</value>
|
||||
</title>
|
||||
<type>Label</type>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>CommonForm.НастройкиРегистрацииСобытийДоступаКПерсональнымДанным.StandardCommand.Open</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Открыть настройки регистрации событий доступа к персональным данным</value>
|
||||
</title>
|
||||
<width>43</width>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<extendedTooltip>
|
||||
<name>ОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДаннымExtendedTooltip</name>
|
||||
<id>2214</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Регистрация событий доступа в соответствии с требованиями Федерального закона от 27.07.2006 N152-ФЗ "О персональных данных".</value>
|
||||
</title>
|
||||
<name>ГруппаОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДаннымExtendedTooltip</name>
|
||||
<id>2212</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>CommonForm.НастройкиРегистрацииСобытийДоступаКПерсональнымДанным.StandardCommand.Open</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаСкрытиеПерсональныхДанныхИспользование</name>
|
||||
<id>2221</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаДнейДоСкрытия</name>
|
||||
<id>2223</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ИспользоватьСкрытиеПерсональныхДанных</name>
|
||||
<id>2225</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Скрывать персональные данные через</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>НаборКонстант.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Скрывать персональные данные субъектов</value>
|
||||
</toolTip>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>Подключаемый_НастройкиСкрытияПДнПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ИспользоватьСкрытиеПерсональныхДанныхРасширеннаяПодсказка</name>
|
||||
<id>2227</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ИспользоватьСкрытиеПерсональныхДанныхКонтекстноеМеню</name>
|
||||
<id>2226</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДнейДоСкрытияПерсональныхДанныхСубъектов</name>
|
||||
<id>2228</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>дней</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>НаборКонстант.ДнейДоСкрытияПерсональныхДанныхСубъектов</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>Подключаемый_НастройкиСкрытияПДнПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ДнейДоСкрытияПерсональныхДанныхСубъектовРасширеннаяПодсказка</name>
|
||||
<id>2230</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДнейДоСкрытияПерсональныхДанныхСубъектовКонтекстноеМеню</name>
|
||||
<id>2229</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияОжиданиеИзмененияИспользованияСкрытияПДн</name>
|
||||
<id>2231</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Декорация ожидание изменения использования скрытия ПДн</value>
|
||||
</title>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияОжиданиеИзмененияИспользованияСкрытияПДнРасширеннаяПодсказка</name>
|
||||
<id>2233</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияОжиданиеИзмененияИспользованияСкрытияПДнКонтекстноеМеню</name>
|
||||
<id>2232</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<width>2</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<height>1</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.НезавершившаясяПроверка</picture>
|
||||
</picture>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Дней до скрытия</value>
|
||||
</title>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Причиной скрытия данных может быть истечение срока действия согласия субъекта или его отсутствие.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
|
||||
<width>43</width>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаДнейДоСкрытияРасширеннаяПодсказка</name>
|
||||
<id>2224</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">
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Скрытие персональных данных использование</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСкрытиеПерсональныхДанныхИспользованиеРасширеннаяПодсказка</name>
|
||||
<id>2222</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1388,13 +1624,11 @@
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Открыть настройки регистрации событий доступа к персональным данным</value>
|
||||
<value>Настройки защиты персональных данных</value>
|
||||
</title>
|
||||
<width>43</width>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаОткрытьНастройкиРегистрацииСобытийДоступаКПерсональнымДаннымExtendedTooltip</name>
|
||||
<id>2212</id>
|
||||
<name>ГруппаНастройкиЗащитыПерсональныхДанныхРасширеннаяПодсказка</name>
|
||||
<id>2220</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1406,6 +1640,7 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
|
||||
+12
@@ -89,6 +89,8 @@
|
||||
Прочитать();
|
||||
УстановитьДоступность();
|
||||
|
||||
ИначеЕсли Источник = "ИспользоватьСкрытиеПерсональныхДанныхСубъектов" Тогда
|
||||
Прочитать();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -212,6 +214,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_НастройкиСкрытияПДнПриИзменении(Элемент)
|
||||
|
||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
|
||||
МодульЗащитаПерсональныхДанныхКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЗащитаПерсональныхДанныхКлиент");
|
||||
МодульЗащитаПерсональныхДанныхКлиент.НастройкиСкрытияПерсональныхДанныхПриИзменении(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьИнтерфейсПрограммы()
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
@@ -81,7 +80,15 @@
|
||||
Параметры.ВладелецФайла, "", ЗаголовокОшибки, ОкончаниеОшибки);
|
||||
|
||||
ВозможностьСоздаватьГруппыФайлов = МетаданныеСправочникаСФайлами.Иерархический;
|
||||
Если НастройкиФайлов.НеСоздаватьФайлыПоШаблону.Найти(Метаданные.НайтиПоТипу(ТипЗнч(ВладелецФайла))) <> Неопределено Тогда
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
||||
ЕстьПравоИспользоватьШаблоны = МодульУправлениеДоступом .ЕстьПраво("Чтение", Справочники.ПапкиФайлов.Шаблоны);
|
||||
Иначе
|
||||
ЕстьПравоИспользоватьШаблоны = ПравоДоступа("Чтение", Метаданные.Справочники.Файлы) И ПравоДоступа("Чтение", Метаданные.Справочники.ПапкиФайлов);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЕстьПравоИспользоватьШаблоны Или НастройкиФайлов.НеСоздаватьФайлыПоШаблону.Найти(Метаданные.НайтиПоТипу(ТипЗнч(ВладелецФайла))) <> Неопределено Тогда
|
||||
Элементы.ДобавитьФайлПоШаблону.Видимость = Ложь;
|
||||
Элементы.СписокКонтекстноеМенюДобавитьФайлПоШаблону.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
@@ -166,6 +173,8 @@
|
||||
|
||||
УстановитьУсловноеОформление();
|
||||
|
||||
РаботаСФайламиПереопределяемый.ПриСозданииФормыСпискаФайлов(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -1701,7 +1710,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьПояснениеОблачногоСервиса()
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
ОбновитьЗаголовок();
|
||||
ОбновитьПояснениеОблачногоСервиса(ПрисоединенныйФайл);
|
||||
|
||||
РаботаСФайламиПереопределяемый.ПриСозданииФормыЭлементаФайлов(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
+224
@@ -2574,6 +2574,213 @@
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>МеждународныйАдрес</name>
|
||||
<id>371</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтруктураМеждународныеАдреса</name>
|
||||
<id>373</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>НаселенныйПунктМеждународныеАдреса</name>
|
||||
<id>375</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Город, населенный пункт / City</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>НаселенныйПункт</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>НаселенныйПунктИностранныйАдресаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>НаселенныйПунктМеждународныеАдресаРасширеннаяПодсказка</name>
|
||||
<id>377</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>НаселенныйПунктМеждународныеАдресаКонтекстноеМеню</name>
|
||||
<id>376</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>УлицаМеждународныеАдреса</name>
|
||||
<id>378</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Адрес / Address</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Улица</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Left</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>УлицаИностранныйАдресаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>УлицаМеждународныеАдресаРасширеннаяПодсказка</name>
|
||||
<id>380</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>УлицаМеждународныеАдресаКонтекстноеМеню</name>
|
||||
<id>379</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Структура международные адреса</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтруктураМеждународныеАдресаРасширеннаяПодсказка</name>
|
||||
<id>374</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПредставлениеМеждународногоАдреса</name>
|
||||
<id>381</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ПредставлениеАдреса</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПредставлениеИностранногоАдресаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПредставлениеМеждународногоАдресаРасширеннаяПодсказка</name>
|
||||
<id>383</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПредставлениеМеждународногоАдресаКонтекстноеМеню</name>
|
||||
<id>382</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Международный адрес</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>МеждународныйАдресРасширеннаяПодсказка</name>
|
||||
<id>372</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Page</type>
|
||||
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<showTitle>auto</showTitle>
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -4733,6 +4940,23 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>МеждународныйФорматАдреса</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Международный формат адреса</value>
|
||||
</title>
|
||||
<id>52</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>КомандаОК</name>
|
||||
<title>
|
||||
|
||||
+97
-46
@@ -45,7 +45,6 @@
|
||||
ЦветФонаУправляющегоПоля = ЦветаСтиля.ФонУправляющегоПоля;
|
||||
ЦветФонаФормы = ЦветаСтиля.ЦветФонаФормы;
|
||||
АвтоЦвет = Новый Цвет;
|
||||
ОсновнаяСтрана = РаботаСАдресами.ОсновнаяСтрана();
|
||||
|
||||
ВидКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтруктураВидаКонтактнойИнформации(Параметры.ВидКонтактнойИнформации);
|
||||
|
||||
@@ -83,6 +82,11 @@
|
||||
СкрыватьНеактуальныеАдреса = ВидКонтактнойИнформации.СкрыватьНеактуальныеАдреса;
|
||||
ТолькоНациональныйАдрес = ВидКонтактнойИнформации.ТолькоНациональныйАдрес;
|
||||
ТипКонтактнойИнформации = ВидКонтактнойИнформации.Тип;
|
||||
МеждународныйФорматАдреса = ВидКонтактнойИнформации.МеждународныйФорматАдреса;
|
||||
|
||||
Если Не МеждународныйФорматАдреса Тогда
|
||||
ОсновнаяСтрана = РаботаСАдресами.ОсновнаяСтрана();
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьПредопределенныеВариантыАдреса(Параметры);
|
||||
|
||||
@@ -120,13 +124,18 @@
|
||||
Если ЗначениеЗаполнено(Страна) Тогда
|
||||
КодСтраны = Страна.Код;
|
||||
Иначе
|
||||
Страна = ОсновнаяСтрана;
|
||||
КодСтраны = ОсновнаяСтрана.Код;
|
||||
Если ЗначениеЗаполнено(ОсновнаяСтрана) Тогда
|
||||
СтранаПоУмолчанию = ОсновнаяСтрана;
|
||||
Иначе
|
||||
СтранаПоУмолчанию = РаботаСАдресами.ОсновнаяСтрана();
|
||||
КонецЕсли;
|
||||
Страна = СтранаПоУмолчанию;
|
||||
КодСтраны = СтранаПоУмолчанию.Код;
|
||||
КонецЕсли;
|
||||
|
||||
ОтобразитьДополнительныеЗданияИПомещения();
|
||||
|
||||
Если ТолькоНациональныйАдрес Тогда
|
||||
Если ТолькоНациональныйАдрес И Не МеждународныйФорматАдреса Тогда
|
||||
Элементы.Страна.Доступность = Ложь;
|
||||
Элементы.Страна.ЦветФона = АвтоЦвет;
|
||||
// Проверяем на корректность
|
||||
@@ -143,7 +152,11 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Проверка какой адрес
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
|
||||
ЕстьПравоЗагружатьКлассификатор = Ложь;
|
||||
|
||||
ИначеЕсли Страна = ОсновнаяСтрана Тогда
|
||||
Элементы.ОКТМО.Видимость = ВидКонтактнойИнформации.УказыватьОКТМО;
|
||||
|
||||
Если Не ЭтоВебСервис Тогда
|
||||
@@ -1186,8 +1199,9 @@
|
||||
// Флаги вида были прочитаны заново.
|
||||
ВидКонтактнойИнформации = Контекст.ВидКонтактнойИнформации;
|
||||
|
||||
Если ВидКонтактнойИнформации.ПроверятьКорректность
|
||||
И (Не РазрешитьВводАдресаВСвободнойФорме)
|
||||
Если (ВидКонтактнойИнформации.ПроверятьКорректность
|
||||
И Не РазрешитьВводАдресаВСвободнойФорме
|
||||
Или ВидКонтактнойИнформации.МеждународныйФорматАдреса)
|
||||
И Результат.ОшибкиЗаполнения.Количество() > 0 Тогда
|
||||
СообщитьОбОшибкахЗаполнения(Результат.ОшибкиЗаполнения, Ложь);
|
||||
Возврат;
|
||||
@@ -1421,13 +1435,15 @@
|
||||
КонецЕсли;
|
||||
РазрешитьВводАдресаВСвободнойФорме = Не РазрешитьВводАдресаВСвободнойФорме;
|
||||
|
||||
Если ЭтоСтранаУчастникЕАЭС(Страна) Тогда
|
||||
Если ЭтоСтранаУчастникЕАЭС(Страна) Или МеждународныйФорматАдреса Тогда
|
||||
// ЕАЭС
|
||||
Контекст = КонтекстФормыКлиент();
|
||||
ЗначениеРеквизитовПоКонтактнойИнформацииАдресИностранныйАдрес(ПредставлениеАдреса, Контекст);
|
||||
КонтекстФормыКлиент(Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоНациональныйАдрес = (Страна = ОсновнаяСтрана И Не МеждународныйФорматАдреса);
|
||||
|
||||
ОпределениеРежимаВводаАдреса();
|
||||
|
||||
Модифицированность = Истина;
|
||||
@@ -1599,7 +1615,8 @@
|
||||
Процедура СообщениеОНеобходимостиОбновленияКлассификатора(Идентификатор = Неопределено)
|
||||
|
||||
Элементы.АдресныйКлассификаторУстарел.Видимость = Ложь;
|
||||
Если НЕ ЭтоВебСервис И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
ВидимостьНеобходимоОбновление = НЕ ЭтоВебСервис И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор");
|
||||
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
|
||||
ИнформацияОбОбновление = МодульАдресныйКлассификаторСлужебный.ОписаниеПоследнейЗагрузки(Идентификатор);
|
||||
Элементы.АдресныйКлассификаторУстарел.Видимость = ИнформацияОбОбновление.НеобходимоОбновление;
|
||||
@@ -1699,14 +1716,26 @@
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаИзмененияСтраныКлиент()
|
||||
|
||||
ЭтоНациональныйАдрес = (Страна = ОсновнаяСтрана);
|
||||
Элементы.ТипАдреса.ТекущаяСтраница = ?(ЭтоНациональныйАдрес, Элементы.НациональныйАдрес, Элементы.ИностранныйАдрес);
|
||||
ЭтоНациональныйАдрес = (Страна = ОсновнаяСтрана И Не МеждународныйФорматАдреса);
|
||||
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
Элементы.ТипАдреса.ТекущаяСтраница = Элементы.МеждународныйАдрес;
|
||||
ИначеЕсли ЭтоНациональныйАдрес Тогда
|
||||
Элементы.ТипАдреса.ТекущаяСтраница = Элементы.НациональныйАдрес;
|
||||
Иначе
|
||||
Элементы.ТипАдреса.ТекущаяСтраница = Элементы.ИностранныйАдрес;
|
||||
КонецЕсли;
|
||||
|
||||
// Проверять, вводить в свободной форме и искать по индексу можем только российские адреса.
|
||||
Элементы.ПроверитьЗаполнениеАдреса.Доступность = ЭтоНациональныйАдрес;
|
||||
Элементы.ЗаполнитьПоПочтовомуИндексу.Доступность = ЭтоНациональныйАдрес;
|
||||
Элементы.ЗаполнитьПоПочтовомуИндексуВсеДействия.Доступность = ЭтоНациональныйАдрес;
|
||||
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
Элементы.ПроверитьЗаполнениеАдреса.Видимость = Ложь;
|
||||
Элементы.АдресныйКлассификаторУстарел.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ОпределениеРежимаВводаАдреса();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1714,36 +1743,48 @@
|
||||
&НаКлиенте
|
||||
Процедура ОпределениеРежимаВводаАдреса()
|
||||
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
// Загружать можем только национальные адреса.
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Истина;
|
||||
Элементы.ГруппаИндекса.Видимость = Истина;
|
||||
Если ЕстьПравоЗагружатьКлассификатор Тогда
|
||||
КнопкаПанели = Элементы.Найти("ЗагрузитьКлассификатор");
|
||||
Если КнопкаПанели <> Неопределено Тогда
|
||||
Элементы.ЗагрузитьКлассификатор.Доступность = Истина;
|
||||
Если Не МеждународныйФорматАдреса Тогда
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
// Загружать можем только национальные адреса.
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Истина;
|
||||
Элементы.ГруппаИндекса.Видимость = Истина;
|
||||
Если ЕстьПравоЗагружатьКлассификатор Тогда
|
||||
КнопкаПанели = Элементы.Найти("ЗагрузитьКлассификатор");
|
||||
Если КнопкаПанели <> Неопределено Тогда
|
||||
Элементы.ЗагрузитьКлассификатор.Доступность = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НЕ ЭтоСтранаУчастникЕАЭС(Страна) Тогда
|
||||
// Прочие страны
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Ложь;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Ложь;
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Ложь;
|
||||
Элементы.ГруппаИндекса.Видимость = Ложь;
|
||||
РазрешитьВводАдресаВСвободнойФорме = Истина;
|
||||
Иначе
|
||||
// Страны ЕАЭС
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Истина;
|
||||
Если РазрешитьВводАдресаВСвободнойФорме Тогда
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Ложь;
|
||||
Элементы.ГруппаИндекса.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Истина;
|
||||
Элементы.ГруппаИндекса.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НЕ ЭтоСтранаУчастникЕАЭС(Страна) Тогда
|
||||
// Прочие страны
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Ложь;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Ложь;
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Ложь;
|
||||
Элементы.ГруппаИндекса.Видимость = Ложь;
|
||||
РазрешитьВводАдресаВСвободнойФорме = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Истина;
|
||||
Если РазрешитьВводАдресаВСвободнойФорме Тогда
|
||||
Элементы.СтруктураМеждународныеАдреса.Видимость = Ложь;
|
||||
Элементы.ГруппаИндекса.Видимость = Ложь;
|
||||
Иначе
|
||||
// Страны ЕАЭС
|
||||
Элементы.ВвестиАдресВСвободнойФорме.Доступность = Истина;
|
||||
Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = Истина;
|
||||
Если РазрешитьВводАдресаВСвободнойФорме Тогда
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Ложь;
|
||||
Элементы.ГруппаИндекса.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.СтруктураИностранныйАдреса.Видимость = Истина;
|
||||
Элементы.ГруппаИндекса.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
Элементы.СтруктураМеждународныеАдреса.Видимость = Истина;
|
||||
Элементы.ГруппаИндекса.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1757,6 +1798,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
СостояниеВводаПредставленияАдреса(РазрешитьВводАдресаВСвободнойФорме);
|
||||
СообщениеОНеобходимостиОбновленияКлассификатора(Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2902,13 +2944,18 @@
|
||||
&НаКлиенте
|
||||
Процедура СостояниеВводаПредставленияАдреса(РедактироватьПредставлениеАдреса, ФормироватьПредставление = Истина)
|
||||
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
Элемент = Элементы.ПредставлениеАдреса;
|
||||
// Проверять адрес, введенный вручную нельзя.
|
||||
Элементы.ПроверитьЗаполнениеАдреса.Доступность = Не РедактироватьПредставлениеАдреса;
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
Элемент = Элементы.ПредставлениеМеждународногоАдреса;
|
||||
Иначе
|
||||
Элемент = Элементы.ПредставлениеИностранногоАдреса;
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
Элемент = Элементы.ПредставлениеАдреса;
|
||||
// Проверять адрес, введенный вручную нельзя.
|
||||
Элементы.ПроверитьЗаполнениеАдреса.Доступность = Не РедактироватьПредставлениеАдреса;
|
||||
Иначе
|
||||
Элемент = Элементы.ПредставлениеИностранногоАдреса;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Элемент.ТолькоПросмотр = Не РедактироватьПредставлениеАдреса;
|
||||
Если РедактироватьПредставлениеАдреса Тогда
|
||||
Элемент.ЦветФона = АвтоЦвет;
|
||||
@@ -2942,7 +2989,9 @@
|
||||
Элементы.ПредставлениеАдреса.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;
|
||||
Элементы.ПредставлениеАдреса.Заголовок = НСтр("ru='Адрес в свободной форме'");
|
||||
Элементы.СтранаАдреса.Отображение = ОтображениеОбычнойГруппы.Нет;
|
||||
Если Страна <> ОсновнаяСтрана Тогда
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
ТекущийЭлемент = Элементы.ПредставлениеМеждународногоАдреса;
|
||||
ИначеЕсли Страна <> ОсновнаяСтрана Тогда
|
||||
ТекущийЭлемент = Элементы.ПредставлениеИностранногоАдреса;
|
||||
Иначе
|
||||
ТекущийЭлемент = Элементы.ПредставлениеАдреса;
|
||||
@@ -2950,8 +2999,10 @@
|
||||
Иначе
|
||||
Элементы.ПредставлениеАдреса.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
||||
Элементы.ПредставлениеАдреса.Заголовок = "";
|
||||
Элементы.СтранаАдреса.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
|
||||
Если Страна = ОсновнаяСтрана Тогда
|
||||
Элементы.СтранаАдреса.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
|
||||
Если МеждународныйФорматАдреса Тогда
|
||||
ТекущийЭлемент = Элементы.НаселенныйПунктМеждународныеАдреса;
|
||||
ИначеЕсли Страна = ОсновнаяСтрана Тогда
|
||||
ТекущийЭлемент = Элементы.НаселенныйПункт;
|
||||
Иначе
|
||||
ТекущийЭлемент = Элементы.НаселенныйПунктИностранныйАдреса;
|
||||
@@ -2972,7 +3023,7 @@
|
||||
Для Каждого Элемент Из Группа.ПодчиненныеЭлементы Цикл
|
||||
ТипЭлемента = ТипЗнч(Элемент);
|
||||
Если ТипЭлемента = Тип("ГруппаФормы") Тогда
|
||||
Если Элемент <> Элементы.ИностранныйАдрес Тогда
|
||||
Если Элемент <> Элементы.ИностранныйАдрес И Элемент <> Элементы.МеждународныйАдрес Тогда
|
||||
СостояниеГруппыВвода(Элемент, Режим);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -2382,6 +2382,19 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ФлагиПроверки.МеждународныйФорматАдреса Тогда
|
||||
СтрокаПроверки = СтрЗаменить(АдресРФ, XDTOАдрес.Страна, "");
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоЛатиницаВСтроке(СтрокаПроверки, Ложь, "1234567890") Тогда
|
||||
ТекстОшибки = НСтр("ru = 'Адрес в международном формате должен быть набран латиницей.'");
|
||||
Если РезультатГруппами Тогда
|
||||
Результат.Добавить(Новый Структура("Поля, ТипОшибки, Сообщение", Новый Массив,
|
||||
"НеТолькоЛатиницаВАдресеМеждународногоФормата", ТекстОшибки));
|
||||
Иначе
|
||||
Результат.Добавить("/", ТекстОшибки).Пометка = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
+17
-40
@@ -793,46 +793,6 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ОписаниеПотоков</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Описание потоков</value>
|
||||
</title>
|
||||
<id>19</id>
|
||||
<valueType>
|
||||
<types>ValueList</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<extInfo xsi:type="form:ValueListExtInfo">
|
||||
<itemValueType/>
|
||||
</extInfo>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>МаксимальноПотоков</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Максимально потоков</value>
|
||||
</title>
|
||||
<id>20</id>
|
||||
<valueType>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>10</precision>
|
||||
</numberQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>Коробка</name>
|
||||
<title>
|
||||
@@ -865,6 +825,23 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ИдентификаторЗадания</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Идентификатор задания</value>
|
||||
</title>
|
||||
<id>23</id>
|
||||
<valueType>
|
||||
<types>UUID</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<parameters>
|
||||
<name>ПриЗапускеКлиентскогоПриложения</name>
|
||||
<valueType>
|
||||
|
||||
+28
-138
@@ -24,25 +24,6 @@
|
||||
КлиентСервер = Не ОбщегоНазначения.ИнформационнаяБазаФайловая();
|
||||
Коробка = Не ОбщегоНазначения.РазделениеВключено();
|
||||
|
||||
ПараметрыЗапускаПрограммы = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска");
|
||||
ПараметрыЗапускаМассивом = СтрРазделить(ПараметрыЗапускаПрограммы, ";");
|
||||
Для Каждого Параметр Из ПараметрыЗапускаМассивом Цикл
|
||||
Если СтрНайти(Параметр, "ЧислоПотоковОбновления") > 0 Тогда
|
||||
ПотокиОбновления = СтрРазделить(Параметр, "=");
|
||||
Попытка
|
||||
МаксимальноПотоков = Число(ПотокиОбновления[1]);
|
||||
Исключение
|
||||
ТекстИсключения = НСтр("ru = 'Неправильно указан параметр запуска программы ""ЧислоПотоковОбновления"".
|
||||
|Правильный формат - ""ЧислоПотоковОбновления=Х"", где ""Х"" - максимальное количество потоков обновления.'");
|
||||
ВызватьИсключение ТекстИсключения;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если МаксимальноПотоков = 0 Тогда
|
||||
МаксимальноПотоков = 8;
|
||||
КонецЕсли;
|
||||
|
||||
ПрогрессВыполнения = 5;
|
||||
|
||||
РежимОбновленияДанных = ОбновлениеИнформационнойБазыСлужебный.РежимОбновленияДанных();
|
||||
@@ -390,14 +371,16 @@
|
||||
Процедура ОбработатьОшибкуПравилРегистрации(СообщенияПользователю)
|
||||
|
||||
// См. ОбменДаннымиСобытия.ОбработатьОшибкуПравилРегистрации
|
||||
Для Каждого СообщениеПользователю Из СообщенияПользователю Цикл
|
||||
|
||||
НачалоСтроки = "ОбменДанными=";
|
||||
Если СтрНачинаетсяС(СообщениеПользователю.Текст, НачалоСтроки) Тогда
|
||||
ИмяПланаОбмена = Сред(СообщениеПользователю.Текст, СтрДлина(НачалоСтроки) + 1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
Если СообщенияПользователю <> Неопределено Тогда
|
||||
Для Каждого СообщениеПользователю Из СообщенияПользователю Цикл
|
||||
|
||||
НачалоСтроки = "ОбменДанными=";
|
||||
Если СтрНачинаетсяС(СообщениеПользователю.Текст, НачалоСтроки) Тогда
|
||||
ИмяПланаОбмена = Сред(СообщениеПользователю.Текст, СтрДлина(НачалоСтроки) + 1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -511,6 +494,7 @@
|
||||
ЗаполнитьЗначенияСвойств(РезультатВыполненияОбновления, СостояниеРегистрации);
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, РезультатВыполненияОбновления);
|
||||
Иначе
|
||||
ИдентификаторЗадания = СостояниеРегистрации.ИдентификаторЗадания;
|
||||
ПодключитьОбработчикОжидания("Подключаемый_ПроверитьПроцедурыЗаполненияОтложенныхОбработчиков", 5);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -592,8 +576,6 @@
|
||||
ХодРегистрации.Вставить("ВсегоПроцедур", ОписаниеПроцедур.Количество());
|
||||
ХодРегистрации.Вставить("ВыполненоПроцедур", 0);
|
||||
|
||||
ОписаниеПотоков = Новый СписокЗначений;
|
||||
|
||||
// Снятие блокировки информационной базы и выполнение регистрации на плане обмена.
|
||||
ОбновлениеИнформационнойБазыСлужебный.РазблокироватьИБ(БлокировкаИБ);
|
||||
|
||||
@@ -617,82 +599,35 @@
|
||||
&НаСервере
|
||||
Функция ЗапуститьПроцедурыЗаполненияОтложенныхОбработчиков()
|
||||
|
||||
РезультатПроверки = Новый Структура;
|
||||
РезультатПроверки.Вставить("Статус", "");
|
||||
РезультатПроверки.Вставить("КраткоеПредставлениеОшибки", "");
|
||||
РезультатПроверки.Вставить("ПодробноеПредставлениеОшибки", "");
|
||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Управление многопоточной регистрацией данных отложенного обновления'");
|
||||
|
||||
ЕстьАктивныеПотоки = Ложь;
|
||||
|
||||
// Корректировка количества потоков
|
||||
СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы();
|
||||
КоличествоПроцедурЗаполнения = СведенияОбОбновлении.ОписаниеПроцедурЗаполнения.Количество();
|
||||
Если КоличествоПроцедурЗаполнения < МаксимальноПотоков Тогда
|
||||
МаксимальноПотоков = КоличествоПроцедурЗаполнения;
|
||||
КонецЕсли;
|
||||
ИмяПроцедуры = "ОбновлениеИнформационнойБазыСлужебный.ЗапускРегистрацииДанныхОтложенногоОбновления";
|
||||
РезультатВыполнения = ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, УникальныйИдентификатор, ПараметрыВыполнения);
|
||||
|
||||
Для ТекущийПоток = 1 По МаксимальноПотоков Цикл
|
||||
Результат = ЗапускЗадания();
|
||||
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверки, Результат);
|
||||
Если Результат.Статус = "Ошибка" Тогда
|
||||
ОтменитьЗаданияПриОшибке();
|
||||
Возврат РезультатПроверки;
|
||||
ИначеЕсли Результат.Статус = "Выполняется" Тогда
|
||||
ЕстьАктивныеПотоки = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеПотока = Новый Структура;
|
||||
ОписаниеПотока.Вставить("ИдентификаторЗадания", Результат.ИдентификаторЗадания);
|
||||
ОписаниеПотока.Вставить("Статус", Результат.Статус);
|
||||
ОписаниеПотоков.Добавить(ОписаниеПотока);
|
||||
КонецЦикла;
|
||||
|
||||
Если ЕстьАктивныеПотоки Тогда
|
||||
РезультатПроверки.Статус = "Выполняется";
|
||||
Иначе
|
||||
РезультатПроверки.Статус = "Выполнено";
|
||||
ОбновлениеИнформационнойБазыСлужебный.ОтметитьРегистрациюОтложенныхОбработчиковОбновления();
|
||||
КонецЕсли;
|
||||
Возврат РезультатПроверки;
|
||||
Возврат ПроверитьПроцедурыЗаполненияОтложенныхОбработчиков(РезультатВыполнения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПроверитьПроцедурыЗаполненияОтложенныхОбработчиков()
|
||||
Функция ПроверитьПроцедурыЗаполненияОтложенныхОбработчиков(РезультатВыполненияУправляющегоФЗ = Неопределено)
|
||||
|
||||
РезультатПроверки = Новый Структура;
|
||||
РезультатПроверки.Вставить("Статус", "");
|
||||
РезультатПроверки.Вставить("КраткоеПредставлениеОшибки", "");
|
||||
РезультатПроверки.Вставить("ПодробноеПредставлениеОшибки", "");
|
||||
Если РезультатВыполненияУправляющегоФЗ = Неопределено Тогда
|
||||
РезультатВыполненияУправляющегоФЗ = ДлительныеОперации.ОперацияВыполнена(ИдентификаторЗадания);
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнениеДанныхЗавершено = Истина;
|
||||
Для Каждого ЭлементОписаниеПотока Из ОписаниеПотоков Цикл
|
||||
ОписаниеПотока = ЭлементОписаниеПотока.Значение;
|
||||
Если ОписаниеПотока.Статус = "Выполнено" Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнениеДанныхЗавершено = Ложь;
|
||||
Результат = ПроверитьПроцедуруЗаполнения(ОписаниеПотока);
|
||||
|
||||
Если Результат.Статус = "Ошибка" Тогда
|
||||
ОтменитьЗаданияПриОшибке();
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверки, Результат);
|
||||
Возврат РезультатПроверки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы();
|
||||
Статус = РезультатВыполненияУправляющегоФЗ.Статус;
|
||||
|
||||
Если ЗаполнениеДанныхЗавершено Тогда
|
||||
РезультатПроверки.Статус = "Выполнено";
|
||||
Если Статус = "Выполнено" Тогда
|
||||
ОбновлениеИнформационнойБазыСлужебный.ОтметитьРегистрациюОтложенныхОбработчиковОбновления();
|
||||
Иначе
|
||||
РезультатПроверки.Статус = "Выполняется";
|
||||
ИначеЕсли Статус = "Ошибка" Или Статус = "Отменено" Тогда
|
||||
ОбновлениеИнформационнойБазыСлужебный.ОтменитьВыполнениеВсехПотоков(СведенияОбОбновлении.ОписаниеПотоков);
|
||||
ОбновлениеИнформационнойБазыСлужебный.ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении);
|
||||
Возврат РезультатВыполненияУправляющегоФЗ;
|
||||
КонецЕсли;
|
||||
|
||||
// Обновление прогресса.
|
||||
СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы();
|
||||
ВыполненоПроцедур = 0;
|
||||
Для Каждого ЭлементОписаниеПроцедуры Из СведенияОбОбновлении.ОписаниеПроцедурЗаполнения Цикл
|
||||
ОписаниеПроцедуры = ЭлементОписаниеПроцедуры.Значение;
|
||||
@@ -708,55 +643,10 @@
|
||||
КонецЕсли;
|
||||
ПрогрессВыполнения = ПрогрессВыполнения + ПрибавкаПрогресса;
|
||||
|
||||
Возврат РезультатПроверки;
|
||||
Возврат РезультатВыполненияУправляющегоФЗ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПроверитьПроцедуруЗаполнения(ОписаниеПотока)
|
||||
|
||||
Результат = ДлительныеОперации.ОперацияВыполнена(ОписаниеПотока.ИдентификаторЗадания);
|
||||
|
||||
Если Результат.Статус = "Выполнено" Тогда
|
||||
ОписаниеПотока.Статус = "Выполнено";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ЗапускЗадания()
|
||||
|
||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновая регистрация данных отложенного обновления'");
|
||||
ПараметрыВыполнения.ОжидатьЗавершение = 0;
|
||||
|
||||
Результат = ДлительныеОперации.ВыполнитьВФоне("ОбновлениеИнформационнойБазыСлужебный.ЗапускРегистрацииДанныхОтложенногоОбновления",
|
||||
Неопределено, ПараметрыВыполнения);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтменитьЗаданияПриОшибке()
|
||||
|
||||
Если ОписаниеПотоков.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ЭлементОписаниеПотока Из ОписаниеПотоков Цикл
|
||||
ОписаниеПотока = ЭлементОписаниеПотока.Значение;
|
||||
Если ОписаниеПотока.Статус = "Выполнено" Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ДлительныеОперации.ОтменитьВыполнениеЗадания(ОписаниеПотока.ИдентификаторЗадания);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Общие процедуры для всех этапов.
|
||||
|
||||
|
||||
+162
-49
@@ -810,31 +810,146 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПриоритетОбновления</name>
|
||||
<id>177</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПриоритет</name>
|
||||
<id>199</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПриоритетОбновления</name>
|
||||
<id>177</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ПриоритетОбновления</segments>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>None</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПриоритетОбновленияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПриоритетОбновленияРасширеннаяПодсказка</name>
|
||||
<id>179</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value><b>• </><b>Работа пользователей</> - данные обрабатываются медленнее, но меньше нагрузка на сервер и влияние на работу пользователей в программе.
|
||||
<b>• </><b>Обработка данных</> - выше скорость обработки данных, но выше нагрузка на сервер, а так же существенное замедление работы пользователей в программе. Рекомендуется использовать в тех случаях, когда необходимо быстрее получить доступ к обрабатываемым данным.</value>
|
||||
</title>
|
||||
<formatted>true</formatted>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПриоритетОбновленияКонтекстноеМеню</name>
|
||||
<id>178</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>RadioButtonField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>Работа пользователей</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>РаботаПользователей</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>Обработка данных</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ОбработкаДанных</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<orientation>Vertical</orientation>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<id>201</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>потоками</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>КоличествоПотоковОбновленияИнформационнойБазы</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазыПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазыРасширеннаяПодсказка</name>
|
||||
<id>203</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value><b>• </><b>Работа пользователей</> - данные обрабатываются медленнее, но меньше нагрузка на сервер и влияние на работу пользователей в программе.
|
||||
<b>• </><b>Обработка данных</> - выше скорость обработки данных, но выше нагрузка на сервер, а так же существенное замедление работы пользователей в программе. Рекомендуется использовать в тех случаях, когда необходимо быстрее получить доступ к обрабатываемым данным.
|
||||
<b>• Количество потоков</> - это количество одновременно выполняющихся обработчиков обновления. Рекомендуемое значение равно количеству ядер процессора сервера (следует учитывать требования назначения функциональности для сервиса заданий). Значение по умолчанию равно 8.</value>
|
||||
</title>
|
||||
<formatted>true</formatted>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазыКонтекстноеМеню</name>
|
||||
<id>202</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<minValue xsi:type="core:NumberValue">
|
||||
<value>1</value>
|
||||
</minValue>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ПриоритетОбновления</segments>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПриоритетОбновленияПриИзменении</name>
|
||||
</handlers>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Приоритет</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПриоритетОбновленияРасширеннаяПодсказка</name>
|
||||
<id>179</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value><b>• </><b>Работа пользователей</> - данные обрабатываются медленнее, но меньше нагрузка на сервер и влияние на работу пользователей в программе.
|
||||
<b>• </><b>Обработка данных</> - выше скорость обработки данных, но выше нагрузка на сервер, а так же существенное замедление работы пользователей в программе. Рекомендуется использовать в тех случаях, когда необходимо быстрее получить доступ к обрабатываемым данным.</value>
|
||||
</title>
|
||||
<formatted>true</formatted>
|
||||
<name>ГруппаПриоритетРасширеннаяПодсказка</name>
|
||||
<id>200</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -842,36 +957,13 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПриоритетОбновленияКонтекстноеМеню</name>
|
||||
<id>178</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>RadioButtonField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>Работа пользователей</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>РаботаПользователей</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>Обработка данных</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ОбработкаДанных</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<orientation>Vertical</orientation>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
@@ -1798,6 +1890,27 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Количество потоков обновления информационной базы</value>
|
||||
</title>
|
||||
<id>10</id>
|
||||
<valueType>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>5</precision>
|
||||
<nonNegative>true</nonNegative>
|
||||
</numberQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ВыполнитьОбновление</name>
|
||||
<title>
|
||||
|
||||
+54
-1
@@ -25,6 +25,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Зачитываем значение констант.
|
||||
ПолучитьКоличествоПотоковОбновленияИнформационнойБазы();
|
||||
СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы();
|
||||
ПриоритетОбновления = ?(СведенияОбОбновлении.УправлениеОтложеннымОбновлением.Свойство("ФорсироватьОбновление"), "ОбработкаДанных", "РаботаПользователей");
|
||||
ВремяОкончанияОбновления = СведенияОбОбновлении.ВремяОкончанияОбновления;
|
||||
@@ -73,9 +74,12 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьВидимостьКоличестваПотоковОбновленияИнформационнойБазы();
|
||||
|
||||
Если Не ИБФайловая Тогда
|
||||
ОбновлениеЗавершено = Ложь;
|
||||
ОбновитьИнформациюОХодеОбновления(СведенияОбОбновлении, ОбновлениеЗавершено);
|
||||
УстановитьДоступностьКоличестваПотоковОбновленияИнформационнойБазы(ЭтотОбъект);
|
||||
|
||||
Если ОбновлениеЗавершено Тогда
|
||||
ОбновитьСтраницуОбновлениеЗавершено(СведенияОбОбновлении);
|
||||
@@ -106,7 +110,7 @@
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
Элементы.ГиперссылкаОсновноеОбновление.Видимость = Ложь;
|
||||
Элементы.ПриоритетОбновления.Видимость = Ложь;
|
||||
Элементы.ГруппаПриоритет.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ОбработатьРезультатОбновленияНаСервере();
|
||||
@@ -191,7 +195,17 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриоритетОбновленияПриИзменении(Элемент)
|
||||
|
||||
УстановитьПриоритетОбновления();
|
||||
УстановитьДоступностьКоличестваПотоковОбновленияИнформационнойБазы(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура КоличествоПотоковОбновленияИнформационнойБазыПриИзменении(Элемент)
|
||||
|
||||
УстановитьКоличествоПотоковОбновленияИнформационнойБазы();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -281,6 +295,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьКоличествоПотоковОбновленияИнформационнойБазы()
|
||||
|
||||
Константы.КоличествоПотоковОбновленияИнформационнойБазы.Установить(КоличествоПотоковОбновленияИнформационнойБазы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗапуститьОтложенноеОбновление()
|
||||
|
||||
@@ -528,4 +549,36 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПолучитьКоличествоПотоковОбновленияИнформационнойБазы()
|
||||
|
||||
Если ПравоДоступа("Чтение", Метаданные.Константы.КоличествоПотоковОбновленияИнформационнойБазы) Тогда
|
||||
КоличествоПотоковОбновленияИнформационнойБазы =
|
||||
ОбновлениеИнформационнойБазыСлужебный.КоличествоПотоковОбновленияИнформационнойБазы();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура УстановитьДоступностьКоличестваПотоковОбновленияИнформационнойБазы(Форма)
|
||||
|
||||
Доступно = (Форма.ПриоритетОбновления = "ОбработкаДанных");
|
||||
Форма.Элементы.КоличествоПотоковОбновленияИнформационнойБазы.Доступность = Доступно;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьВидимостьКоличестваПотоковОбновленияИнформационнойБазы()
|
||||
|
||||
РазрешеноМногопоточноеОбновление = ОбновлениеИнформационнойБазы.РазрешеноМногопоточноеОбновление();
|
||||
Элементы.КоличествоПотоковОбновленияИнформационнойБазы.Видимость = РазрешеноМногопоточноеОбновление;
|
||||
|
||||
Если РазрешеноМногопоточноеОбновление Тогда
|
||||
Элементы.ПриоритетОбновления.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
|
||||
Иначе
|
||||
Элементы.ПриоритетОбновления.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -547,7 +547,7 @@
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьДеревоОбрабатываемыхОбъектов(СохраненныеНастройки, ОбработкаОбъект)
|
||||
|
||||
ОбрабатываемыеМетаданные = ОбрабатываемыеМетаданные();
|
||||
ОбрабатываемыеМетаданные = ЗащитаПерсональныхДанных.ОбрабатываемыеМетаданные();
|
||||
ДеревоОбрабатываемыхОбъектов = РеквизитФормыВЗначение("ОбрабатываемыеОбъекты");
|
||||
|
||||
ПараметрыПроцедуры = Новый Структура;
|
||||
@@ -579,27 +579,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ОбрабатываемыеМетаданные()
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("Константы", НСтр("ru = 'Константы'"));
|
||||
Структура.Вставить("Справочники", НСтр("ru = 'Справочники'"));
|
||||
Структура.Вставить("Документы", НСтр("ru = 'Документы'"));
|
||||
Структура.Вставить("ПланыВидовХарактеристик", НСтр("ru = 'Планы видов характеристик'"));
|
||||
Структура.Вставить("ПланыСчетов", НСтр("ru = 'Планы счетов'"));
|
||||
Структура.Вставить("ПланыВидовРасчета", НСтр("ru = 'Планы видов расчета'"));
|
||||
Структура.Вставить("РегистрыСведений", НСтр("ru = 'Регистры сведений'"));
|
||||
Структура.Вставить("РегистрыНакопления", НСтр("ru = 'Регистры накопления'"));
|
||||
Структура.Вставить("РегистрыБухгалтерии", НСтр("ru = 'Регистры бухгалтерии'"));
|
||||
Структура.Вставить("РегистрыРасчета", НСтр("ru = 'Регистры расчета'"));
|
||||
Структура.Вставить("БизнесПроцессы", НСтр("ru = 'Бизнес процессы'"));
|
||||
Структура.Вставить("Задачи", НСтр("ru = 'Задачи'"));
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьДочерниеЭлементы(ОбрабатываемыеЭлементы, ЗначениеПометки)
|
||||
|
||||
|
||||
@@ -20,14 +20,22 @@
|
||||
|
||||
ДеревоОбрабатываемыхОбъектов = Параметры.ДеревоОбрабатываемыхОбъектов;
|
||||
ПравилаОбработки = Параметры.ПравилаОбработки;
|
||||
|
||||
ПараметрыОтбора = Неопределено;
|
||||
Если Не Параметры.Свойство("ПараметрыОтбора", ПараметрыОтбора) Тогда
|
||||
ПараметрыОтбора = ЗащитаПерсональныхДанных.ПараметрыОтбораСкрываемыхДанных();
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ПравилаОбработки);
|
||||
|
||||
Для Каждого ТипМетаданных Из ДеревоОбрабатываемыхОбъектов.Строки Цикл
|
||||
|
||||
Если ТипМетаданных.Пометка = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ОбъектМетаданных Из ТипМетаданных.Строки Цикл
|
||||
|
||||
Если ОбъектМетаданных.Пометка = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -38,9 +46,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрНайти(ОбъектМетаданных.Тип, "Регистры") > 0 Тогда
|
||||
ОбработатьРегистры(ОбъектМетаданных);
|
||||
ОбработатьРегистры(ОбъектМетаданных, ПараметрыОтбора);
|
||||
Иначе
|
||||
ОбработатьОбъектМетаданных(ОбъектМетаданных);
|
||||
ОбработатьОбъектМетаданных(ОбъектМетаданных, ПараметрыОтбора);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -48,16 +56,19 @@
|
||||
КонецЦикла;
|
||||
|
||||
ИмяРегистраВерсииОбъектов = "ВерсииОбъектов";
|
||||
Если Метаданные.НайтиПоПолномуИмени("РегистрСведений." + ИмяРегистраВерсииОбъектов) <> Неопределено Тогда
|
||||
Если Метаданные.НайтиПоПолномуИмени("РегистрСведений." + ИмяРегистраВерсииОбъектов) <> Неопределено
|
||||
И Не ЗначениеЗаполнено(ПараметрыОтбора.Субъекты)Тогда
|
||||
|
||||
НаборЗаписей = РегистрыСведений[ИмяРегистраВерсииОбъектов].СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Записать();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПоместитьВоВременноеХранилище(Истина, АдресХранилища);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьРегистры(ОбъектМетаданных)
|
||||
Процедура ОбработатьРегистры(ОбъектМетаданных, ПараметрыОтбора)
|
||||
|
||||
Если ОбъектМетаданных.Тип = "РегистрыСведений" Тогда
|
||||
Коллекция = РегистрыСведений;
|
||||
@@ -72,7 +83,7 @@
|
||||
Регистр = Коллекция[ОбъектМетаданных.Имя];
|
||||
НаборЗаписейРегистра = Регистр.СоздатьНаборЗаписей();
|
||||
МетаданныеРегистра = НаборЗаписейРегистра.Метаданные();
|
||||
|
||||
|
||||
Если ОбъектМетаданных.Тип = "РегистрыСведений" Тогда
|
||||
РегистрПериодический = (МетаданныеРегистра.ПериодичностьРегистраСведений <> Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический);
|
||||
РежимЗаписиНезависимый = (МетаданныеРегистра.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.Независимый);
|
||||
@@ -80,27 +91,16 @@
|
||||
// Периодический и независимый режим записи.
|
||||
Если РегистрПериодический И РежимЗаписиНезависимый Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ИмяРегистраОбъект.Период КАК Период
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя + " КАК ИмяРегистраОбъект";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
НаборЗаписейРегистра.Отбор.Период.Использование = Истина;
|
||||
НаборЗаписейРегистра.Отбор.Период.Значение = Выборка.Период;
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЦикла;
|
||||
ПараметрыОтбора.ОсновноеПолеОтбора = "Период";
|
||||
ОбработатьНаборЗаписейСОтбором(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
|
||||
// Непериодический и режим записи независимый.
|
||||
ИначеЕсли РежимЗаписиНезависимый Тогда
|
||||
ПолноеИмяРегистра = МетаданныеРегистра.ПолноеИмя();
|
||||
КоличествоЗаписей = КоличествоЗаписейРегистра(ПолноеИмяРегистра);
|
||||
|
||||
КоличествоЗаписей = КоличествоЗаписейРегистра(ОбъектМетаданных.ПолноеИмя);
|
||||
|
||||
Если КоличествоЗаписей > 100000 Тогда
|
||||
|
||||
ШаблонЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| КОЛИЧЕСТВО(*) КАК Количество
|
||||
@@ -134,11 +134,14 @@
|
||||
ОписанияИзмерений.Колонки.Добавить("ВышеПорога");
|
||||
ОписанияИзмерений.Колонки.Добавить("Максимум");
|
||||
ОписанияИзмерений.Колонки.Добавить("Всего");
|
||||
|
||||
ЕстьИзмеренияНижеПорога = Ложь;
|
||||
|
||||
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = ШаблонЗапроса;
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%1", ПолноеИмяРегистра);
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%1", ОбъектМетаданных.ПолноеИмя);
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%2", Измерение.Имя);
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
@@ -147,9 +150,11 @@
|
||||
Строка.ВышеПорога = Результат[0].ВышеПорога;
|
||||
Строка.Максимум = Результат[0].Максимум;
|
||||
Строка.Всего = Результат[1].Всего;
|
||||
|
||||
Если Строка.ВышеПорога = 0 Тогда
|
||||
ЕстьИзмеренияНижеПорога = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ЕстьИзмеренияНижеПорога Тогда
|
||||
@@ -158,61 +163,38 @@
|
||||
ОписанияИзмерений.Сортировать("Максимум Возр");
|
||||
КонецЕсли;
|
||||
|
||||
ОптимальноеИзмерение = ОписанияИзмерений[0].Измерение;
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Регистр.%2 КАК ЗначениеИзмерения,
|
||||
| КОЛИЧЕСТВО(*) КАК Количество
|
||||
|ИЗ
|
||||
| %1 КАК Регистр
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| Регистр.%2";
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%1", ПолноеИмяРегистра);
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%2", ОптимальноеИзмерение);
|
||||
ПараметрыОтбора.ОсновноеПолеОтбора = ОписанияИзмерений[0].Измерение;
|
||||
ОбработатьНаборЗаписейСОтбором(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НаборЗаписейРегистра.Отбор[ОптимальноеИзмерение].Установить(Выборка.ЗначениеИзмерения);
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыОтбора.Субъекты) Тогда
|
||||
ОбработатьНаборЗаписейСОтборомСубъекта(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
Иначе
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ИмяРегистраОбъект.Регистратор КАК Регистратор
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя + " КАК ИмяРегистраОбъект";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НаборЗаписейРегистра.Отбор.Регистратор.Установить(Выборка.Регистратор);
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЦикла;
|
||||
Если ЗначениеЗаполнено(ПараметрыОтбора.Субъекты) Тогда
|
||||
ОбработатьНаборЗаписейСОтборомПоНайденнымСсылкам(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
Иначе
|
||||
ПараметрыОтбора.ОсновноеПолеОтбора = "Регистратор";
|
||||
ОбработатьНаборЗаписейСОтбором(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе // Остальные регистры.
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ИмяРегистраОбъект.Регистратор КАК Регистратор
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя + " КАК ИмяРегистраОбъект";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НаборЗаписейРегистра.Отбор.Регистратор.Установить(Выборка.Регистратор);
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
// Остальные регистры.
|
||||
Если ЗначениеЗаполнено(ПараметрыОтбора.Субъекты) Тогда
|
||||
ОбработатьНаборЗаписейСОтборомПоНайденнымСсылкам(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
Иначе
|
||||
ПараметрыОтбора.ОсновноеПолеОтбора = "Регистратор";
|
||||
ОбработатьНаборЗаписейСОтбором(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -235,15 +217,120 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных)
|
||||
Процедура ОбработатьНаборЗаписейСОтборомПоНайденнымСсылкам(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора)
|
||||
|
||||
МетаданныеРегистра = НаборЗаписейРегистра.Метаданные();
|
||||
МассивОбъектов = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(МетаданныеРегистра);
|
||||
|
||||
Результат = НайтиПоСсылкам(ПараметрыОтбора.Субъекты, Новый Массив, МассивОбъектов, Новый Массив);
|
||||
Регистраторы = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Результат.ВыгрузитьКолонку("Данные"));
|
||||
|
||||
Для Каждого Регистратор Из Регистраторы Цикл
|
||||
|
||||
НаборЗаписейРегистра.Отбор.Регистратор.Установить(Регистратор);
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора, Истина);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьНаборЗаписейСОтбором(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора)
|
||||
|
||||
Субъекты = ПараметрыОтбора.Субъекты;
|
||||
ИмяПоляОтбора = ПараметрыОтбора.ОсновноеПолеОтбора;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ИмяРегистраОбъект.ИмяПоляОтбора КАК ИмяПоляОтбора
|
||||
|ИЗ
|
||||
| ПолноеИмяРегистра КАК ИмяРегистраОбъект";
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПолноеИмяРегистра", ОбъектМетаданных.ПолноеИмя);
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяПоляОтбора", ИмяПоляОтбора);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
НаборЗаписейРегистра.Отбор[ИмяПоляОтбора].Установить(Выборка[ИмяПоляОтбора]);
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) Тогда
|
||||
ОбработатьНаборЗаписейСОтборомСубъекта(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора);
|
||||
Иначе
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьНаборЗаписейСОтборомСубъекта(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора)
|
||||
|
||||
МетаданныеРегистра = НаборЗаписейРегистра.Метаданные();
|
||||
|
||||
Субъекты = ПараметрыОтбора.Субъекты;
|
||||
ТипСубъектов = ПараметрыОтбора.ТипСубъектов;
|
||||
ИменаИзмеренийСТипомСубъекта = ИменаИзмеренийРегистраПоТипу(МетаданныеРегистра, ТипСубъектов);
|
||||
|
||||
Для Каждого ИмяИзмерения Из ИменаИзмеренийСТипомСубъекта Цикл
|
||||
|
||||
Для Каждого Субъект Из Субъекты Цикл
|
||||
НаборЗаписейРегистра.Отбор[ИмяИзмерения].Установить(Субъект);
|
||||
ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных, , Истина);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьНаборЗаписей(НаборЗаписейРегистра, ОбъектМетаданных, ПараметрыОтбора = Неопределено, РегистрироватьНаУзлах = Ложь)
|
||||
|
||||
НаборЗаписейРегистра.Прочитать();
|
||||
|
||||
ОбрабатыватьЗаписьПриНаличииСубъекта = Ложь;
|
||||
Субъекты = Неопределено;
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыОтбора) Тогда
|
||||
|
||||
МетаданныеРегистра = НаборЗаписейРегистра.Метаданные();
|
||||
|
||||
Субъекты = ПараметрыОтбора.Субъекты;
|
||||
ТипСубъектов = ПараметрыОтбора.ТипСубъектов;
|
||||
ИменаИзмеренийСТипомСубъекта = ИменаИзмеренийРегистраПоТипу(МетаданныеРегистра, ТипСубъектов);
|
||||
ОбрабатыватьЗаписьПриНаличииСубъекта = ЗначениеЗаполнено(ИменаИзмеренийСТипомСубъекта);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Обработано = Истина;
|
||||
ВыполнитьЗаписьОбъекта = Ложь;
|
||||
Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) Тогда
|
||||
|
||||
Если ОбрабатыватьЗаписьПриНаличииСубъекта Тогда
|
||||
|
||||
СубъектВЗаписи = Ложь;
|
||||
Для Каждого ИмяИзмерения Из ИменаИзмеренийСТипомСубъекта Цикл
|
||||
ТекущийСубъект = ЗаписьРегистра[ИмяИзмерения];
|
||||
Если Субъекты.Найти(ТекущийСубъект) <> Неопределено Тогда
|
||||
СубъектВЗаписи = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СубъектВЗаписи Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ГруппаСвойствОбъекта Из ОбъектМетаданных.Строки Цикл
|
||||
|
||||
Если ГруппаСвойствОбъекта.Пометка = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -280,26 +367,54 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ВыполнитьЗаписьОбъекта Тогда
|
||||
ЗаписатьДанные(НаборЗаписейРегистра);
|
||||
ЗаписатьДанные(НаборЗаписейРегистра, РегистрироватьНаУзлах);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьОбъектМетаданных(ОбъектМетаданных)
|
||||
Процедура ОбработатьОбъектМетаданных(ОбъектМетаданных, ПараметрыОтбора)
|
||||
|
||||
ОбработкаПорциями = Ложь;
|
||||
Ссылка = "";
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1000
|
||||
| ОбъектМетаданных.Ссылка
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя + " КАК ОбъектМетаданных
|
||||
|ГДЕ
|
||||
| ОбъектМетаданных.Ссылка > &Ссылка
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ОбъектМетаданных.Ссылка";
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Субъекты = ПараметрыОтбора.Субъекты;
|
||||
ТипСубъектов = ПараметрыОтбора.ТипСубъектов;
|
||||
ИменаРеквизитовСТипомСубъекта = "";
|
||||
РеквизитыПроверены = Ложь;
|
||||
|
||||
ВключеноВерсионирование = Ложь;
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) Тогда
|
||||
|
||||
Объект = Метаданные.НайтиПоПолномуИмени(ОбъектМетаданных.ПолноеИмя);
|
||||
МассивОбъектов = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Объект);
|
||||
|
||||
Результат = НайтиПоСсылкам(Субъекты, Новый Массив, МассивОбъектов, Новый Массив);
|
||||
Результат.Свернуть("Данные");
|
||||
Результат.Колонки.Данные.Имя = "Ссылка";
|
||||
|
||||
Если Результат.Количество() = 0 И Объект = Субъекты[0].Метаданные() Тогда
|
||||
|
||||
Для Каждого Субъект Из Субъекты Цикл
|
||||
НоваяСтрока = Результат.Добавить();
|
||||
НоваяСтрока.Ссылка = Субъект;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
|
||||
|
||||
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
|
||||
ВключеноВерсионирование = МодульВерсионированиеОбъектов.ВключеноВерсионированиеОбъекта(ОбъектМетаданных.ПолноеИмя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
ОбработкаПорциями = Истина;
|
||||
Результат = ДанныеОбъектаМетаданных(ОбъектМетаданных, Ссылка);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Пока Истина Цикл
|
||||
|
||||
@@ -312,6 +427,12 @@
|
||||
Обработано = Истина;
|
||||
ВыполнитьЗаписьОбъекта = Ложь;
|
||||
ОбрабатываемыйОбъект = СтрокаРезультата.Ссылка.ПолучитьОбъект();
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) И Не РеквизитыПроверены Тогда
|
||||
ИменаРеквизитовСТипомСубъекта = ОбщегоНазначения.ИменаРеквизитовПоТипу(СтрокаРезультата.Ссылка, ТипСубъектов);
|
||||
РеквизитыПроверены = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ГруппаСвойствОбъекта Из ОбъектМетаданных.Строки Цикл
|
||||
Если ГруппаСвойствОбъекта.Пометка = 0 Тогда
|
||||
Продолжить;
|
||||
@@ -323,9 +444,42 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ГруппаСвойствОбъекта.Тип = "ТабличнаяЧасть" Тогда
|
||||
|
||||
ОбрабатыватьТЧПриНаличииСубъекта = Ложь;
|
||||
ОбрабатываемыеСвойства = ОбрабатываемыйОбъект[ГруппаСвойствОбъекта.Имя];
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) И ПустаяСтрока(ИменаРеквизитовСТипомСубъекта) Тогда
|
||||
|
||||
ИменаРеквизитовТЧСТипомСубъекта = ИменаРеквизитовТЧОбъектаПоТипу(ОбрабатываемыйОбъект.Метаданные(), ГруппаСвойствОбъекта.Имя, ТипСубъектов);
|
||||
ОбрабатыватьТЧПриНаличииСубъекта = ЗначениеЗаполнено(ИменаРеквизитовТЧСТипомСубъекта);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого СтрокаТабличнойЧасти Из ОбрабатываемыеСвойства Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) Тогда
|
||||
|
||||
Если ОбрабатыватьТЧПриНаличииСубъекта Тогда
|
||||
|
||||
СубъектВСтроке = Ложь;
|
||||
Для Каждого ИмяРеквизита Из ИменаРеквизитовТЧСТипомСубъекта Цикл
|
||||
ТекущийСубъект = СтрокаТабличнойЧасти[ИмяРеквизита];
|
||||
Если Субъекты.Найти(ТекущийСубъект) <> Неопределено Тогда
|
||||
СубъектВСтроке = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СубъектВСтроке Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Значение = СтрокаТабличнойЧасти[ОбрабатываемоеСвойство.Имя];
|
||||
ОбработатьСвойство(Значение, ОбрабатываемоеСвойство, Обработано);
|
||||
Если Обработано Тогда
|
||||
@@ -333,6 +487,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ВыполнитьЗаписьОбъекта = ВыполнитьЗаписьОбъекта Или Обработано;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
@@ -347,17 +502,52 @@
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Если ВыполнитьЗаписьОбъекта Тогда
|
||||
ЗаписатьДанные(ОбрабатываемыйОбъект);
|
||||
ЗаписатьДанные(ОбрабатываемыйОбъект, ЗначениеЗаполнено(Субъекты));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Субъекты) И ВключеноВерсионирование Тогда
|
||||
|
||||
ИмяРегистраВерсииОбъектов = "ВерсииОбъектов";
|
||||
НаборЗаписей = РегистрыСведений[ИмяРегистраВерсииОбъектов].СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.Объект.Установить(СтрокаРезультата.Ссылка);
|
||||
|
||||
ЗаписатьДанные(НаборЗаписей, Истина);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Запрос.УстановитьПараметр("Ссылка", СтрокаРезультата.Ссылка);
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
Если ОбработкаПорциями Тогда
|
||||
Результат = ДанныеОбъектаМетаданных(ОбъектМетаданных, СтрокаРезультата.Ссылка);
|
||||
Иначе
|
||||
Результат.Очистить();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДанныеОбъектаМетаданных(ОбъектМетаданных, ТекущаяСсылка)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Ссылка", ТекущаяСсылка);
|
||||
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1000
|
||||
| ОбъектМетаданных.Ссылка
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя + " КАК ОбъектМетаданных
|
||||
|ГДЕ
|
||||
| ОбъектМетаданных.Ссылка > &Ссылка
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ОбъектМетаданных.Ссылка";
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Процедуры и функции формирования дерева метаданных.
|
||||
|
||||
@@ -638,21 +828,39 @@
|
||||
МодульЗащитаПерсональныхДанных.ЗаполнитьСведенияОПерсональныхДанных(ТаблицаСведений);
|
||||
|
||||
Для Каждого СтрокаСведения Из ТаблицаСведений Цикл
|
||||
|
||||
СтрокаОбъекта = ДеревоОбрабатываемыхОбъектов.Строки.Найти(СтрокаСведения.Объект, "ПолноеИмя", Истина);
|
||||
Если СтрокаОбъекта = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПоляДоступа = СтрокаСведения.ПоляДоступа;
|
||||
МассивПолейДоступа = СтрРазделить(ПоляДоступа, ",");
|
||||
|
||||
Для Каждого ПолеДоступа Из МассивПолейДоступа Цикл
|
||||
ПолеДоступа = СокрЛП(ПолеДоступа);
|
||||
СтрокаПолеДоступа = СтрокаОбъекта.Строки.Найти(ПолеДоступа, "Имя", Истина);
|
||||
|
||||
ЧастиИмениПоляДоступа = СтрРазделить(ПолеДоступа, ".");
|
||||
Если ЧастиИмениПоляДоступа.Количество() > 1 Тогда
|
||||
СтрокаТЧ = СтрокаОбъекта.Строки.Найти(ЧастиИмениПоляДоступа[0], "Имя", Истина);
|
||||
Если СтрокаТЧ = Неопределено Тогда
|
||||
СтрокаПолеДоступа = Неопределено;
|
||||
Продолжить;
|
||||
Иначе
|
||||
СтрокаПолеДоступа = СтрокаТЧ.Строки.Найти(ЧастиИмениПоляДоступа[1], "Имя", Истина);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
СтрокаПолеДоступа = СтрокаОбъекта.Строки.Найти(ПолеДоступа, "Имя", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрокаПолеДоступа <> Неопределено Тогда
|
||||
СтрокаПолеДоступа.Пометка = 1;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ОбрабатываемыйОбъект Из ДеревоОбрабатываемыхОбъектов.Строки Цикл
|
||||
@@ -954,6 +1162,39 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИменаРеквизитовТЧОбъектаПоТипу(МетаданныеОбъекта, ИмяТабличнойЧасти, Тип)
|
||||
|
||||
ИменаРеквизитов = Новый Массив;
|
||||
МетаданныеТЧ = МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти);
|
||||
|
||||
Если МетаданныеТЧ <> Неопределено Тогда
|
||||
|
||||
Для Каждого Реквизит Из МетаданныеТЧ.Реквизиты Цикл
|
||||
Если Реквизит.Тип.СодержитТип(Тип) Тогда
|
||||
ИменаРеквизитов.Добавить(Реквизит.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИменаРеквизитов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИменаИзмеренийРегистраПоТипу(МетаданныеРегистра, Тип)
|
||||
|
||||
ИменаИзмерений = Новый Массив;
|
||||
|
||||
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
|
||||
Если Измерение.Тип.СодержитТип(Тип) Тогда
|
||||
ИменаИзмерений.Добавить(Измерение.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИменаИзмерений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+2
@@ -29,6 +29,7 @@
|
||||
<types>ConstantValueManager.ХранитьФайлыВТомахНаДиске</types>
|
||||
<types>ConstantValueManager.ИспользоватьШифрование</types>
|
||||
<types>ConstantValueManager.ИспользоватьЭлектронныеПодписи</types>
|
||||
<types>ConstantValueManager.ДнейДоСкрытияПерсональныхДанныхСубъектов</types>
|
||||
<types>ConstantValueManager.ИспользоватьДатуИВремяВСрокахЗадач</types>
|
||||
<types>ConstantValueManager.ИспользоватьВнешнихПользователей</types>
|
||||
<types>ConstantValueManager.ИспользуютсяПрофилиБезопасности</types>
|
||||
@@ -48,5 +49,6 @@
|
||||
<types>ConstantValueManager.ИспользоватьНесколькоПроизводственныхКалендарей</types>
|
||||
<types>ConstantValueManager.ИспользоватьВерсионированиеОбъектов</types>
|
||||
<types>ConstantValueManager.ОтправлятьПисьмаВФорматеHTML</types>
|
||||
<types>ConstantValueManager.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</types>
|
||||
</type>
|
||||
</mdclass:DefinedType>
|
||||
@@ -9,9 +9,6 @@
|
||||
<value>Субъект персональных данных</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
<types>CatalogRef.ИдентификаторыОбъектовМетаданных</types>
|
||||
</type>
|
||||
</mdclass:DefinedType>
|
||||
@@ -2853,36 +2853,18 @@
|
||||
Если ТипЗнч(Результат.Текст) = Тип("Структура") Тогда
|
||||
РезультатТекст = Результат.Текст.ТекстHTML;
|
||||
СтруктураВложений = Результат.Текст.СтруктураВложений;
|
||||
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками;
|
||||
НужнаКонвертацияИзHTML = Ложь;
|
||||
Иначе
|
||||
СтруктураВложений = Новый Структура();
|
||||
РезультатТекст = Результат.Текст;
|
||||
Если СтрНачинаетсяС(РезультатТекст , "<!DOCTYPE html") Тогда
|
||||
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками;
|
||||
Иначе
|
||||
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.ПростойТекст;
|
||||
КонецЕсли;
|
||||
НужнаКонвертацияИзHTML = СтрНачинаетсяС(РезультатТекст , "<!DOCTYPE html");
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками Тогда
|
||||
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(РезультатТекст, СтруктураВложений);
|
||||
ТекстПисьма = "";
|
||||
Элементы.ТекстПисьма.Вид = ВидПоляФормы.ПолеHTMLДокумента;
|
||||
Элементы.СтраницыТекстПисьма.ТекущаяСтраница = Элементы.СтраницаФорматированныйДокумент;
|
||||
ФорматСообщения = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML;
|
||||
Иначе
|
||||
ТекстПисьмаФорматированныйДокумент.Удалить();
|
||||
Элементы.ТекстПисьма.Вид = ВидПоляФормы.ПолеТекстовогоДокумента;
|
||||
Объект.ТекстHTML = "";
|
||||
Объект.Кодировка = "UTF-8";
|
||||
Элементы.СтраницыТекстПисьма.ТекущаяСтраница = Элементы.СтраницаОбычныйТекст;
|
||||
ТекстПисьма = РезультатТекст;
|
||||
Элементы.ТекстПисьма.Вид = ВидПоляФормы.ПолеТекстовогоДокумента;
|
||||
ФорматСообщения = Перечисления.СпособыРедактированияЭлектронныхПисем.ОбычныйТекст;
|
||||
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(РезультатТекст, СтруктураВложений);
|
||||
Если НужнаКонвертацияИзHTML Тогда
|
||||
РезультатТекст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст();
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ФорматСообщения.Заголовок = ФорматСообщения;
|
||||
|
||||
ТекстПисьма = РезультатТекст;
|
||||
Объект.Тема = Результат.Тема;
|
||||
|
||||
Если ЗначениеЗаполнено(Результат.Получатель) Тогда
|
||||
@@ -2891,7 +2873,7 @@
|
||||
НоваяСтрока.ВариантОтправки = НСтр("ru = 'Кому:'");
|
||||
НоваяСтрока.Адрес = Получатель.Значение;
|
||||
НоваяСтрока.Представление = ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Получатель.Представление,
|
||||
Получатель.Значение, "");
|
||||
Получатель.Значение, "");
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Enum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f5c4d4ad-dda6-4dc3-b112-61f776006f3c">
|
||||
<producedTypes>
|
||||
<refType typeId="32fb3f2d-3183-4b2a-b4bc-34e2101f1785" valueTypeId="0cdd8adf-451c-4f73-96f4-744eecfe378e"/>
|
||||
<listType typeId="1ba99e3c-539b-4028-b026-79374703371b" valueTypeId="5eba2825-56ac-4aaf-9e99-07cf950aa2fe"/>
|
||||
<managerType typeId="d88db388-c9ba-43f4-8b1e-8914a635d51d" valueTypeId="ffbea96e-b9a2-4491-a0f1-d177b811e881"/>
|
||||
</producedTypes>
|
||||
<name>СостоянияСубъектовДляСкрытия</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Состояния субъектов для скрытия</value>
|
||||
</synonym>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Order</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Ref</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<quickChoice>true</quickChoice>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
<enumValues uuid="466d9fd7-188e-4f3b-a673-35db9075d537">
|
||||
<name>ГотовКСкрытию</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Готов к скрытию</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
<enumValues uuid="1c2e2c7d-c9d2-46a6-81f9-30078ca511c7">
|
||||
<name>СкрытиеВыполнено</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Скрытие выполнено</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
<enumValues uuid="09d3717a-d6f9-42fd-ae9e-df5658fa3981">
|
||||
<name>СкрытиеОтменено</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Скрытие отменено</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
</mdclass:Enum>
|
||||
+1
@@ -20,6 +20,7 @@
|
||||
<types>ConstantValueManager.РазмерБлокаПередачиФайла</types>
|
||||
<types>ConstantValueManager.КаталогСообщенийОбменаДаннымиДляLinux</types>
|
||||
<types>ConstantValueManager.ИспользоватьПолнотекстовыйПоиск</types>
|
||||
<types>ConstantValueManager.КоличествоПотоковОбновленияИнформационнойБазы</types>
|
||||
<types>ConstantValueManager.КаталогСообщенийОбменаДаннымиДляWindows</types>
|
||||
<types>ConstantValueManager.ИспользоватьСинхронизациюДанныхВЛокальномРежиме</types>
|
||||
<types>ConstantValueManager.УдалитьКонечнаяТочкаМенеджераСервиса</types>
|
||||
|
||||
@@ -37,54 +37,59 @@
|
||||
// Очередь - Число - очередь обработки данных.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ПланОбменаСсылка.ОбновлениеИнформационнойБазы.
|
||||
// ПланОбменаСсылка.ОбновлениеИнформационнойБазы.
|
||||
//
|
||||
Функция УзелПоОчереди(Очередь) Экспорт
|
||||
|
||||
Если ТипЗнч(Очередь) <> Тип("Число")
|
||||
Или Очередь = 0 Тогда
|
||||
ТекстИсключения = НСтр("ru = 'Не возможно получить узел плана обмена ОбновлениеИнформационнойБазы, т.к. не передан номер очереди.'");
|
||||
ВызватьИсключение ТекстИсключения;
|
||||
Если ТипЗнч(Очередь) <> Тип("Число") Или Очередь = 0 Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Невозможно получить узел плана обмена ОбновлениеИнформационнойБазы, т.к. не передан номер очереди.'");
|
||||
КонецЕсли;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("ПланОбмена.ОбновлениеИнформационнойБазы");
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
Запрос = Новый Запрос(
|
||||
"ВЫБРАТЬ
|
||||
| ОбновлениеИнформационнойБазы.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| ПланОбмена.ОбновлениеИнформационнойБазы КАК ОбновлениеИнформационнойБазы
|
||||
|ГДЕ
|
||||
| ОбновлениеИнформационнойБазы.Очередь = &Очередь
|
||||
| И НЕ ОбновлениеИнформационнойБазы.ЭтотУзел";
|
||||
| И НЕ ОбновлениеИнформационнойБазы.ЭтотУзел");
|
||||
Запрос.УстановитьПараметр("Очередь", Очередь);
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
Узел = Выборка.Ссылка;
|
||||
Иначе
|
||||
НачатьТранзакцию();
|
||||
|
||||
Запрос.УстановитьПараметр("Очередь", Очередь);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
Узел = Выборка.Ссылка;
|
||||
Иначе
|
||||
УзелОбъект = СоздатьУзел();
|
||||
УзелОбъект.Очередь = Очередь;
|
||||
УзелОбъект.УстановитьНовыйКод(Строка(Очередь));
|
||||
УзелОбъект.Наименование = Строка(Очередь);
|
||||
УзелОбъект.Записать();
|
||||
Узел = УзелОбъект.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
Попытка
|
||||
Блокировки = Новый БлокировкаДанных;
|
||||
Блокировка = Блокировки.Добавить("ПланОбмена.ОбновлениеИнформационнойБазы");
|
||||
Блокировка.УстановитьЗначение("Очередь", Очередь);
|
||||
Блокировки.Заблокировать();
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
Узел = Выборка.Ссылка;
|
||||
Иначе
|
||||
ОчередьСтрокой = Строка(Очередь);
|
||||
УзелОбъект = СоздатьУзел();
|
||||
УзелОбъект.Очередь = Очередь;
|
||||
УзелОбъект.УстановитьНовыйКод(ОчередьСтрокой);
|
||||
УзелОбъект.Наименование = ОчередьСтрокой;
|
||||
УзелОбъект.Записать();
|
||||
Узел = УзелОбъект.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Узел;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<createOnInput>DontUse</createOnInput>
|
||||
<dataLockFields>ExchangePlan.ОбновлениеИнформационнойБазы.Attribute.Очередь</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
@@ -214,6 +215,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.ПредопределенныеВариантыОтчетовВерсийРасширений</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СубъектыДляСкрытияПерсональныхДанных</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.УдалитьЗамерыВремениТехнологические</mdObject>
|
||||
</content>
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:FunctionalOption xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="35823167-b658-4563-8d01-b0aab05aa619">
|
||||
<name>ИспользоватьСкрытиеПерсональныхДанныхСубъектов</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Использовать скрытие персональных данных субъектов</value>
|
||||
</synonym>
|
||||
<location>Constant.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</location>
|
||||
<privilegedGetMode>true</privilegedGetMode>
|
||||
<content>CommonCommand.СкрытьПерсональныеДанныеСубъектов</content>
|
||||
<content>InformationRegister.СубъектыДляСкрытияПерсональныхДанных</content>
|
||||
</mdclass:FunctionalOption>
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ПриЗаписи(Отказ, Замещение)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
||||
|
||||
Регистратор = Отбор.Регистратор.Значение;
|
||||
Субъект = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Регистратор, "Субъект");
|
||||
|
||||
ЗащитаПерсональныхДанных.РассчитатьДатуСкрытияПерсональныхДанныхСубъекта(Субъект);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+23
-22
@@ -108,29 +108,8 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<indexing>Index</indexing>
|
||||
</resources>
|
||||
<dimensions uuid="86182e9a-89e0-40d7-b2d7-fcd92ee42942">
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DefinedType.Организация</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Оператор персональных данных</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<denyIncompleteValues>true</denyIncompleteValues>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
<dimensions uuid="df750e63-50fc-4085-b8b8-f05e4751ff51">
|
||||
<name>Субъект</name>
|
||||
<synonym>
|
||||
@@ -153,4 +132,26 @@
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
<dimensions uuid="86182e9a-89e0-40d7-b2d7-fcd92ee42942">
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DefinedType.Организация</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Оператор персональных данных</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<denyIncompleteValues>true</denyIncompleteValues>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
</mdclass:InformationRegister>
|
||||
Whitespace-only changes.
+143
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="2bb5c23c-ad87-4b66-b766-d2e3f82715bd">
|
||||
<producedTypes>
|
||||
<selectionType typeId="71d55fc6-dc84-4be7-a596-3e4760a02c23" valueTypeId="1a7a444d-4265-4e2c-af4d-b1bccbd9f8d7"/>
|
||||
<listType typeId="9b4bbf85-dbd8-445b-90f1-6cec74380635" valueTypeId="19ae61d1-a01e-4318-9473-a408e480fcc8"/>
|
||||
<managerType typeId="9e281bc3-c989-4267-ac51-1ad7a3ae9bf9" valueTypeId="e6327cbe-3b7b-470e-8cf7-46c554f20d18"/>
|
||||
<recordSetType typeId="1787a45d-22be-44f7-a766-b2f5be07d8c7" valueTypeId="60305350-5bf1-4c59-9723-0c5a3a1f81a8"/>
|
||||
<recordKeyType typeId="c4a333c0-5631-4a43-96e8-aed351d425a4" valueTypeId="e9ad85bb-c772-4d72-9c76-085f74ee66d2"/>
|
||||
<recordType typeId="2e92811e-f75d-4c9f-a143-c5efe964ea99" valueTypeId="7c8fbc23-be11-45b9-8db7-122db891b72e"/>
|
||||
<recordManagerType typeId="487366d5-5061-46fd-81eb-5fef246593f5" valueTypeId="d6e4825a-db93-4830-a783-514e716663b8"/>
|
||||
</producedTypes>
|
||||
<name>СубъектыДляСкрытияПерсональныхДанных</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Субъекты для скрытия персональных данных</value>
|
||||
</synonym>
|
||||
<editType>InDialog</editType>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Active</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>LineNumber</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Recorder</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Period</name>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<resources uuid="d01871bb-492e-4ab8-ada9-e9d8ec1adbce">
|
||||
<name>ДатаСкрытия</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Дата скрытия</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Date</types>
|
||||
<dateQualifiers>
|
||||
<dateFractions>Date</dateFractions>
|
||||
</dateQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
</resources>
|
||||
<resources uuid="dd931c85-8c19-42a8-a39e-7af0c5bd346c">
|
||||
<name>Состояние</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Состояние</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>EnumRef.СостоянияСубъектовДляСкрытия</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
</resources>
|
||||
<attributes uuid="4fa153eb-1efb-43e5-ac09-e5431d4800df">
|
||||
<name>ПричинаОтменыСкрытия</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Причина отмены скрытия</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>300</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
</attributes>
|
||||
<attributes uuid="ada760f3-6a9f-4b81-afc1-98eb164af747">
|
||||
<name>Основание</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Основание</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.СогласиеНаОбработкуПерсональныхДанных</types>
|
||||
<types>DocumentRef.ОтзывСогласияНаОбработкуПерсональныхДанных</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
</attributes>
|
||||
<dimensions uuid="262dea64-4ccd-4b97-ac7e-ec1dbdd9ac98">
|
||||
<name>Субъект</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Субъект</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DefinedType.СубъектПерсональныхДанных</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Субъект, предоставляющий согласие на обработку персональных данных</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<denyIncompleteValues>true</denyIncompleteValues>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillFromFillingValue>true</fillFromFillingValue>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<master>true</master>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
</mdclass:InformationRegister>
|
||||
@@ -25,6 +25,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьИсточникДанныхТекущегоВарианта(Параметры.Ссылка);
|
||||
|
||||
// Определение ключевых параметров отчета.
|
||||
РежимРасшифровки = (Параметры.Свойство("Расшифровка") И Параметры.Расшифровка <> Неопределено);
|
||||
ПравоВывода = ПравоДоступа("Вывод", Метаданные);
|
||||
@@ -599,6 +601,11 @@
|
||||
КонецЕсли;
|
||||
Параметр.Значение = ПользовательскаяНастройкаКД.Значение;
|
||||
|
||||
Если НастройкиОтчета.Свойство("Период") Тогда
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
|
||||
Параметр.Значение = НастройкиОтчета.Период;
|
||||
КонецЕсли;
|
||||
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ОтчетИнициализирован", Ложь);
|
||||
|
||||
ПараметрыЗаполнения = Новый Структура;
|
||||
@@ -611,21 +618,29 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_ПолноеИмяОбъектаМетаданных_ПриИзменении(Элемент)
|
||||
Процедура Подключаемый_ИмяОбъектаМетаданных_ПриИзменении(Элемент)
|
||||
|
||||
ИдентификаторЭлемента = Прав(Элемент.Имя, 32);
|
||||
|
||||
ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента);
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИмяОбъектаМетаданных");
|
||||
Если Параметр.Значение = ПользовательскаяНастройкаКД.Значение Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Параметр.Значение = ПользовательскаяНастройкаКД.Значение;
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИсточникДанных");
|
||||
Параметр.Значение = "";
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИмяТаблицы");
|
||||
Параметр.Значение = "";
|
||||
|
||||
Если НастройкиОтчета.Свойство("Период") Тогда
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
|
||||
Параметр.Значение = НастройкиОтчета.Период;
|
||||
КонецЕсли;
|
||||
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ОтчетИнициализирован", Ложь);
|
||||
|
||||
ПараметрыЗаполнения = Новый Структура;
|
||||
@@ -648,15 +663,22 @@
|
||||
Если Параметр.Значение = ПользовательскаяНастройкаКД.Значение Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Параметр.Значение = ПользовательскаяНастройкаКД.Значение;
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИсточникДанных");
|
||||
Параметр.Значение = "";
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИмяОбъектаМетаданных");
|
||||
Параметр.Значение = "";
|
||||
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИмяТаблицы");
|
||||
Параметр.Значение = "";
|
||||
|
||||
Если НастройкиОтчета.Свойство("Период") Тогда
|
||||
Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
|
||||
Параметр.Значение = НастройкиОтчета.Период;
|
||||
КонецЕсли;
|
||||
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ОтчетИнициализирован", Ложь);
|
||||
|
||||
ПараметрыЗаполнения = Новый Структура;
|
||||
@@ -694,6 +716,8 @@
|
||||
Если Заполнено Тогда
|
||||
ПользовательскаяНастройкаКД.Использование = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиОтчета.Вставить("Период", Значение);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -719,6 +743,8 @@
|
||||
Если Заполнено Тогда
|
||||
ПользовательскаяНастройкаКД.Использование = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиОтчета.Вставить("Период", Значение);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -1398,11 +1424,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
РезультатЗаполненияНастроек = ПараметрыЗаполнения.Результат;
|
||||
ОтчетыСервер.ОчиститьРасширеннуюИнформациюОНастройках(Информация);
|
||||
|
||||
// Очистка цикличных ссылок.
|
||||
Информация.ДеревоВарианта.Колонки.Очистить();
|
||||
Информация.НастройкиВарианта.Колонки.Очистить();
|
||||
Информация.ПользовательскиеНастройки.Колонки.Очистить();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -1458,6 +1481,7 @@
|
||||
КонецЕсли;
|
||||
Если ПользовательскаяНастройкаКД.Использование И ТипЗнч(Значение) = Тип("СтандартныйПериод") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Разрезы, ОтчетыСервер.АнализПериода(Значение), Истина);
|
||||
НастройкиОтчета.Вставить("Период", Значение);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -1749,8 +1773,8 @@
|
||||
ИмяПараметра = Строка(СвойстваНастройки.ПолеКД);
|
||||
Если ИмяПараметра = "ПараметрыДанных.ТипОбъектаМетаданных" Тогда
|
||||
ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ТипОбъектаМетаданных_ПриИзменении");
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ПолноеИмяОбъектаМетаданных" Тогда
|
||||
ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ПолноеИмяОбъектаМетаданных_ПриИзменении");
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ИмяОбъектаМетаданных" Тогда
|
||||
ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ИмяОбъектаМетаданных_ПриИзменении");
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ИмяТаблицы" Тогда
|
||||
ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ИмяТаблицы_ПриИзменении");
|
||||
Иначе
|
||||
@@ -2058,7 +2082,7 @@
|
||||
|
||||
ИмяПараметра = Строка(СвойстваНастройки.ПолеКД);
|
||||
Если ИмяПараметра = "ПараметрыДанных.ТипОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ПолноеИмяОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ИмяОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ИмяТаблицы" Тогда
|
||||
ПолеНадписи.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
@@ -2214,10 +2238,14 @@
|
||||
КонецЕсли;
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("КлючВарианта", КлючТекущегоВарианта);
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВариантНаименование", ОтчетНаименованиеТекущегоВарианта);
|
||||
// Подготовка к предварительной инициализации компоновщика (используется при расшифровке).
|
||||
Если НастройкиОтчета.СхемаМодифицирована Тогда
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("АдресСхемы", НастройкиОтчета.АдресСхемы);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("КлючВарианта", КлючТекущегоВарианта);
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВариантНаименование", ОтчетНаименованиеТекущегоВарианта);
|
||||
|
||||
// Подготовка к предварительной инициализации компоновщика (используется при расшифровке).
|
||||
Если НастройкиОтчета.СхемаМодифицирована Тогда
|
||||
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("АдресСхемы", НастройкиОтчета.АдресСхемы);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЗаполнения.Свойство("ФормаНастроекРасширенныйРежим") Тогда
|
||||
@@ -2374,7 +2402,7 @@
|
||||
Если СвойстваНастройки.ТипЭлементов = "СтандартныйПериод" Тогда
|
||||
ВывестиЭлементыНастройки(ЭтотОбъект, Элементы, СвойстваНастройки, ГруппыВывода.Основные, Прочее);
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ТипОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ПолноеИмяОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ИмяОбъектаМетаданных"
|
||||
Или ИмяПараметра = "ПараметрыДанных.ИмяТаблицы" Тогда
|
||||
ВывестиЭлементыНастройки(ЭтотОбъект, Элементы, СвойстваНастройки, ГруппыВывода.Основные, Прочее);
|
||||
Иначе
|
||||
@@ -2404,7 +2432,10 @@
|
||||
// Стандартные периоды (установка значений и связей).
|
||||
Для Каждого СвойстваНастройки Из ДобавленныеСтандартныеПериоды Цикл
|
||||
Дополнительно = СвойстваНастройки.Дополнительно;
|
||||
ЭтотОбъект[Дополнительно.ЗначениеИмя] = СвойстваНастройки.Значение;
|
||||
Если Не НастройкиОтчета.Свойство("Период") Тогда
|
||||
НастройкиОтчета.Вставить("Период", СвойстваНастройки.Значение);
|
||||
КонецЕсли;
|
||||
ЭтотОбъект[Дополнительно.ЗначениеИмя] = НастройкиОтчета.Период;
|
||||
Элементы[Дополнительно.ПериодНачалоИмя].ПутьКДанным = Дополнительно.ЗначениеИмя + ".ДатаНачала";
|
||||
Элементы[Дополнительно.ПериодОкончаниеИмя].ПутьКДанным = Дополнительно.ЗначениеИмя + ".ДатаОкончания";
|
||||
КонецЦикла;
|
||||
@@ -2645,4 +2676,32 @@
|
||||
Возврат ТипЗнч(КлючТекущегоВарианта) = Тип("Строка") И Не ПустаяСтрока(КлючТекущегоВарианта);
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает параметр "ИсточникДанных" настроек текущего варианта отчета
|
||||
//
|
||||
// Параметры:
|
||||
// Вариант - СправочникСсылка.ВариантыОтчетов - хранилище настроек варианта отчета.
|
||||
//
|
||||
&НаСервереБезКонтекста
|
||||
Процедура УстановитьИсточникДанныхТекущегоВарианта(Вариант)
|
||||
|
||||
Если Не ЗначениеЗаполнено(Вариант) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Попытка
|
||||
Отчеты.УниверсальныйОтчет.УстановитьИсточникДанныхВарианта(Вариант);
|
||||
Исключение
|
||||
Событие = НСтр("ru = 'Варианты отчетов.Установка источника данных универсального отчета'");
|
||||
ШаблонКомментария = НСтр("ru = 'Не удалось установить источник данных варианта отчета:
|
||||
| %1 по причине:
|
||||
| %2'");
|
||||
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонКомментария, Вариант, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации(
|
||||
Событие, УровеньЖурналаРегистрации.Предупреждение, Вариант.Метаданные(), Вариант, Комментарий);
|
||||
КонецПопытки;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -28,19 +28,9 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ПередКомпоновкойМакета(Схема, Настройки)
|
||||
|
||||
Настройки.Структура.Очистить();
|
||||
|
||||
Структура = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
|
||||
Структура.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
|
||||
Структура.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ТекстЗапросаПоМетаданным(ПараметрыОтчета)
|
||||
|
||||
ТекстЗапроса = " ВЫБРАТЬ РАЗРЕШЕННЫЕ " + Символы.ПС;
|
||||
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ " + Символы.ПС;
|
||||
|
||||
Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений" Тогда
|
||||
ИмяТипаДанных = "РегистрСведений";
|
||||
@@ -62,18 +52,19 @@
|
||||
ИмяТипаДанных = "Задача";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = Лев(ТекстЗапроса,СтрДлина(ТекстЗапроса)-2);
|
||||
ТекстЗапроса = Лев(ТекстЗапроса, СтрДлина(ТекстЗапроса) - 2);
|
||||
ТекстЗапроса = ТекстЗапроса
|
||||
+ "* ИЗ " + ИмяТипаДанных + "." + ПараметрыОтчета.ПолноеИмяОбъектаМетаданных;
|
||||
+ " * ИЗ " + ИмяТипаДанных + "." + ПараметрыОтчета.ИмяОбъектаМетаданных;
|
||||
|
||||
ЭтоТабличнаяЧасть = Ложь;
|
||||
|
||||
Если НЕ ПустаяСтрока(ПараметрыОтчета.ИмяТаблицы) Тогда
|
||||
|
||||
Если ИмяТипаДанных = "Справочник" ИЛИ ИмяТипаДанных = "Документ"
|
||||
Или ИмяТипаДанных = "Задача" ИЛИ ИмяТипаДанных = "БизнесПроцесс" Тогда
|
||||
Если ИмяТипаДанных = "Справочник" Или ИмяТипаДанных = "Документ"
|
||||
Или ИмяТипаДанных = "Задача" Или ИмяТипаДанных = "БизнесПроцесс" Тогда
|
||||
// Если это табличная часть объекта, то нужно проверить ее наличие.
|
||||
Если Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].ТабличныеЧасти.Найти(ПараметрыОтчета.ИмяТаблицы) <> Неопределено Тогда
|
||||
МетаданныеОбъекта = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
|
||||
Если МетаданныеОбъекта.ТабличныеЧасти.Найти(ПараметрыОтчета.ИмяТаблицы) <> Неопределено Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "." + ПараметрыОтчета.ИмяТаблицы;
|
||||
ЭтоТабличнаяЧасть = Истина;
|
||||
КонецЕсли;
|
||||
@@ -85,13 +76,13 @@
|
||||
|
||||
Если ПараметрыОтчета.ИмяТаблицы = "ОстаткиИОбороты"
|
||||
Или ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "({&НачалоПериода} ,{&КонецПериода} ,Авто)";
|
||||
ТекстЗапроса = ТекстЗапроса + "({&НачалоПериода}, {&КонецПериода}, Авто)";
|
||||
ИначеЕсли ПараметрыОтчета.ИмяТаблицы = "Остатки" Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "({&КонецПериода} ,)";
|
||||
ТекстЗапроса = ТекстЗапроса + "({&КонецПериода},)";
|
||||
ИначеЕсли ПараметрыОтчета.ИмяТаблицы = "СрезПервых" Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "({&НачалоПериода} ,)";
|
||||
ТекстЗапроса = ТекстЗапроса + "({&НачалоПериода},)";
|
||||
ИначеЕсли ПараметрыОтчета.ИмяТаблицы = "СрезПоследних" Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "({&КонецПериода} ,)";
|
||||
ТекстЗапроса = ТекстЗапроса + "({&КонецПериода},)";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + " КАК ИсточникДанных";
|
||||
@@ -102,28 +93,28 @@
|
||||
Если ЭтоТабличнаяЧасть Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|{ГДЕ
|
||||
| (ИсточникДанных.Ссылка.Дата >= &НачалоПериода),(ИсточникДанных.Ссылка.Дата <= &КонецПериода)}";
|
||||
| (ИсточникДанных.Ссылка.Дата >= &НачалоПериода), (ИсточникДанных.Ссылка.Дата <= &КонецПериода)}";
|
||||
Иначе
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|{ГДЕ
|
||||
| (ИсточникДанных.Дата >= &НачалоПериода),(ИсточникДанных.Дата <= &КонецПериода)}";
|
||||
| (ИсточникДанных.Дата >= &НачалоПериода), (ИсточникДанных.Дата <= &КонецПериода)}";
|
||||
КонецЕсли;
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления" И ПустаяСтрока(ПараметрыОтчета.ИмяТаблицы) Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|{ГДЕ
|
||||
| (ИсточникДанных.Период >= &НачалоПериода),(ИсточникДанных.Период <= &КонецПериода)}";
|
||||
| (ИсточникДанных.Период >= &НачалоПериода), (ИсточникДанных.Период <= &КонецПериода)}";
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии"
|
||||
И ПустаяСтрока(ПараметрыОтчета.ИмяТаблицы) Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|{ГДЕ
|
||||
| (ИсточникДанных.Период >= &НачалоПериода),(ИсточникДанных.Период <= &КонецПериода)}";
|
||||
| (ИсточникДанных.Период >= &НачалоПериода), (ИсточникДанных.Период <= &КонецПериода)}";
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыРасчета" Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|{ГДЕ
|
||||
| ИсточникДанных.ПериодРегистрации >= &НачалоПериода И ИсточникДанных.ПериодРегистрации <= &КонецПериода}";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстЗапроса;
|
||||
Возврат ТекстЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -198,31 +189,31 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДоступныеТаблицы(НастройкиКД, ТипОбъектаМетаданных = "", ПолноеИмяОбъектаМетаданных = "") Экспорт
|
||||
Функция ДоступныеТаблицы(НастройкиКД, ТипОбъектаМетаданных = "", ИмяОбъектаМетаданных = "") Экспорт
|
||||
|
||||
ЗначенияДляВыбора = Новый СписокЗначений;
|
||||
|
||||
ЭтоЗагруженнаяСхема = НастройкиКД.ДополнительныеСвойства.Свойство("СхемаКомпоновкиДанных");
|
||||
|
||||
ПараметрыОтчета = НастройкиКД.ПараметрыДанных.Элементы;
|
||||
ПараметрИсточникДанных = ПараметрыОтчета.Найти("ИсточникДанных");
|
||||
ПараметрТипОбъектаМетаданных = ПараметрыОтчета.Найти("ТипОбъектаМетаданных");
|
||||
ПараметрИмяОбъектаМетаданных = ПараметрыОтчета.Найти("ИмяОбъектаМетаданных");
|
||||
|
||||
Если ПустаяСтрока(ТипОбъектаМетаданных) Тогда
|
||||
ПараметрыОтчета = НастройкиКД.ПараметрыДанных.Элементы;
|
||||
ПараметрТипОбъектаМетаданных = ПараметрыОтчета.Найти("ТипОбъектаМетаданных");
|
||||
ТипОбъектаМетаданных = ПараметрТипОбъектаМетаданных.Значение;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(ПолноеИмяОбъектаМетаданных) Тогда
|
||||
ПараметрыОтчета = НастройкиКД.ПараметрыДанных.Элементы;
|
||||
ПараметрТипОбъектаМетаданных = ПараметрыОтчета.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
ПолноеИмяОбъектаМетаданных = ПараметрТипОбъектаМетаданных.Значение;
|
||||
Если ПустаяСтрока(ИмяОбъектаМетаданных) Тогда
|
||||
Если ЗначениеЗаполнено(ПараметрИсточникДанных.Значение) Тогда
|
||||
ИмяОбъектаМетаданных = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПараметрИсточникДанных.Значение, "Имя");
|
||||
Иначе
|
||||
ИмяОбъектаМетаданных = ПараметрИмяОбъектаМетаданных.Значение;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОтчета = НастройкиКД.ПараметрыДанных.Элементы;
|
||||
ПараметрТипОбъектаМетаданных = ПараметрыОтчета.Найти("ТипОбъектаМетаданных");
|
||||
|
||||
ПараметрПолноеИмяОбъектаМетаданных = ПараметрыОтчета.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
|
||||
Если (НЕ ЗначениеЗаполнено(ТипОбъектаМетаданных)
|
||||
ИЛИ НЕ ЗначениеЗаполнено(ПолноеИмяОбъектаМетаданных))
|
||||
ИЛИ НЕ ЗначениеЗаполнено(ИмяОбъектаМетаданных))
|
||||
И НЕ НастройкиКД.ДополнительныеСвойства.Свойство("СхемаКомпоновкиДанных") Тогда
|
||||
Возврат ЗначенияДляВыбора;
|
||||
КонецЕсли;
|
||||
@@ -232,23 +223,23 @@
|
||||
ИЛИ ТипОбъектаМетаданных = "Задачи"
|
||||
ИЛИ ТипОбъектаМетаданных = "БизнесПроцессы"
|
||||
ИЛИ ТипОбъектаМетаданных = "Справочники" Тогда
|
||||
Для каждого ТабличнаяЧасть Из Метаданные[ТипОбъектаМетаданных][ПолноеИмяОбъектаМетаданных].ТабличныеЧасти Цикл
|
||||
Для каждого ТабличнаяЧасть Из Метаданные[ТипОбъектаМетаданных][ИмяОбъектаМетаданных].ТабличныеЧасти Цикл
|
||||
ЗначенияДляВыбора.Добавить(ТабличнаяЧасть.Имя, ТабличнаяЧасть.Синоним);
|
||||
КонецЦикла;
|
||||
ИначеЕсли ТипОбъектаМетаданных = "РегистрыНакопления" Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ПолноеИмяОбъектаМетаданных].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ИмяОбъектаМетаданных].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда
|
||||
ЗначенияДляВыбора.Добавить("ОстаткиИОбороты", НСтр("ru = 'Остатки и обороты'"));
|
||||
Иначе
|
||||
ЗначенияДляВыбора.Добавить("Обороты", НСтр("ru = 'Обороты'"));
|
||||
КонецЕсли;
|
||||
ИначеЕсли ТипОбъектаМетаданных = "РегистрыСведений" Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ПолноеИмяОбъектаМетаданных].ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ИмяОбъектаМетаданных].ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда
|
||||
Иначе
|
||||
ЗначенияДляВыбора.Добавить("СрезПоследних", НСтр("ru = 'Срез последних'"));
|
||||
ЗначенияДляВыбора.Добавить("СрезПервых", НСтр("ru = 'Срез первых'"));
|
||||
КонецЕсли;
|
||||
ИначеЕсли ТипОбъектаМетаданных = "РегистрыРасчета" Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ПолноеИмяОбъектаМетаданных].ПериодДействия Тогда
|
||||
Если Метаданные[ТипОбъектаМетаданных][ИмяОбъектаМетаданных].ПериодДействия Тогда
|
||||
ЗначенияДляВыбора.Добавить("ДанныеГрафика", НСтр("ru = 'Данные графика'"));
|
||||
ЗначенияДляВыбора.Добавить("ФактическийПериодДействия", НСтр("ru = 'Фактический период действия'"));
|
||||
КонецЕсли;
|
||||
@@ -295,7 +286,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолноеИмяОбъектаМетаданныхПоУмолчанию(НастройкиКД, ТипОбъектаМетаданных)
|
||||
Функция ИмяОбъектаМетаданныхПоУмолчанию(НастройкиКД, ТипОбъектаМетаданных)
|
||||
|
||||
ЗначенияДляВыбора = ДоступныеОбъектыМетаданных(НастройкиКД, ТипОбъектаМетаданных);
|
||||
|
||||
@@ -308,9 +299,9 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяТаблицыПоУмолчанию(НастройкиКД, ТипОбъектаМетаданных, ПолноеИмяОбъектаМетаданных)
|
||||
Функция ИмяТаблицыПоУмолчанию(НастройкиКД, ТипОбъектаМетаданных, ИмяОбъектаМетаданных)
|
||||
|
||||
ЗначенияДляВыбора = ДоступныеТаблицы(НастройкиКД, ТипОбъектаМетаданных, ПолноеИмяОбъектаМетаданных);
|
||||
ЗначенияДляВыбора = ДоступныеТаблицы(НастройкиКД, ТипОбъектаМетаданных, ИмяОбъектаМетаданных);
|
||||
|
||||
ЭтоЗагруженнаяСхема = НастройкиКД.ДополнительныеСвойства.Свойство("СхемаКомпоновкиДанных");
|
||||
Если Не ЭтоЗагруженнаяСхема И ЗначенияДляВыбора.Количество() > 0 Тогда
|
||||
@@ -342,7 +333,7 @@
|
||||
|
||||
Процедура ДобавитьИтогиОбъекта(Знач ПараметрыОтчета, Знач СхемаКомпоновкиДанных)
|
||||
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных];
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
|
||||
Если ПараметрыОтчета.ИмяТаблицы <> "" Тогда
|
||||
ТабличнаяЧасть = ОбъектМетаданных.ТабличныеЧасти.Найти(ПараметрыОтчета.ИмяТаблицы);
|
||||
Если ТабличнаяЧасть <> Неопределено Тогда
|
||||
@@ -362,7 +353,7 @@
|
||||
|
||||
Процедура ДобавитьИтогиРегистра(Знач ПараметрыОтчета, Знач СхемаКомпоновкиДанных)
|
||||
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных];
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
|
||||
|
||||
// Добавляем измерения
|
||||
Для каждого Измерение Из ОбъектМетаданных.Измерения Цикл
|
||||
@@ -683,12 +674,13 @@
|
||||
ВыбранныеПоляКонечныйОстаток.Расположение = РасположениеПоляКомпоновкиДанных.Горизонтально;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
|
||||
Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления" Тогда
|
||||
Для каждого Измерение Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Измерения Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
|
||||
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
|
||||
КонецЦикла;
|
||||
Для каждого Ресурс Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Ресурсы Цикл
|
||||
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "Оборот");
|
||||
@@ -702,25 +694,25 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыРасчета" Тогда
|
||||
Для каждого Измерение Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Измерения Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
|
||||
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
|
||||
КонецЦикла;
|
||||
Для каждого Ресурс Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Ресурсы Цикл
|
||||
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя);
|
||||
КонецЦикла;
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений" Тогда
|
||||
Для каждого Измерение Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Измерения Цикл
|
||||
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
|
||||
КонецЦикла;
|
||||
Для каждого Ресурс Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Ресурсы Цикл
|
||||
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя);
|
||||
КонецЦикла;
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Тогда
|
||||
Для каждого Ресурс Из Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].Ресурсы Цикл
|
||||
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "ОборотДт", Ресурс.Синоним + " " + НСтр("ru = 'оборот Дт'"));
|
||||
@@ -762,10 +754,8 @@
|
||||
ИЛИ ПараметрыОтчета.ТипОбъектаМетаданных = "Задачи"
|
||||
ИЛИ ПараметрыОтчета.ТипОбъектаМетаданных = "БизнесПроцессы"
|
||||
ИЛИ ПараметрыОтчета.ТипОбъектаМетаданных = "Справочники" Тогда
|
||||
Если ПараметрыОтчета.ИмяТаблицы = "" Тогда
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных];
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].ТабличныеЧасти[ПараметрыОтчета.ИмяТаблицы];
|
||||
Если ПараметрыОтчета.ИмяТаблицы <> "" Тогда
|
||||
ОбъектМетаданных = ОбъектМетаданных.ТабличныеЧасти[ПараметрыОтчета.ИмяТаблицы];
|
||||
КонецЕсли;
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, "Ссылка");
|
||||
@@ -774,13 +764,11 @@
|
||||
КонецЦикла;
|
||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "ПланыВидовРасчета" Тогда
|
||||
Если ПараметрыОтчета.ИмяТаблицы = "" Тогда
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных];
|
||||
Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].СтандартныеТабличныеЧасти[ПараметрыОтчета.ИмяТаблицы];
|
||||
Для каждого Реквизит Из ОбъектМетаданных.СтандартныеРеквизиты Цикл
|
||||
ВыбранныеПоля = НастройкиКД.Выбор;
|
||||
ОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя);
|
||||
@@ -790,75 +778,114 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Формирует структуру настроек компоновки данных
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыОтчета - Структура - описание объекта метаданных - источника данных
|
||||
// Схема - СхемаКомпоновкиДанных - основная схема компоновки данных отчета
|
||||
// Настройки - НастройкиКомпоновкиДанных - настройки, чья структура формируется.
|
||||
//
|
||||
Процедура СформироватьСтруктуру(ПараметрыОтчета, Схема, Настройки)
|
||||
Настройки.Структура.Очистить();
|
||||
|
||||
Структура = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
|
||||
|
||||
ТипыПолей = СтрРазделить("Измерения@Ресурсы", "@", Ложь);
|
||||
|
||||
ТипыПолейИсточников = Новый Соответствие();
|
||||
ТипыПолейИсточников.Вставить("РегистрыСведений", ТипыПолей);
|
||||
ТипыПолейИсточников.Вставить("РегистрыНакопления", ТипыПолей);
|
||||
ТипыПолейИсточников.Вставить("РегистрыБухгалтерии", ТипыПолей);
|
||||
ТипыПолейИсточников.Вставить("РегистрыРасчета", ТипыПолей);
|
||||
|
||||
ТипыПолейИсточника = ТипыПолейИсточников[ПараметрыОтчета.ТипОбъектаМетаданных];
|
||||
Если ТипыПолейИсточника <> Неопределено Тогда
|
||||
Для Каждого ТипПолейИсточника Из ТипыПолейИсточника Цикл
|
||||
ПоляГруппировки = Структура.ПоляГруппировки.Элементы;
|
||||
|
||||
МетаданныеИсточника = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
|
||||
Для Каждого МетаданныеПоля Из МетаданныеИсточника[ТипПолейИсточника] Цикл
|
||||
Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии"
|
||||
И МетаданныеПоля.ПризнакУчета <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипПолейИсточника = "Ресурсы"
|
||||
И МетаданныеПоля.Тип.СодержитТип(Тип("Число")) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПолеГруппировки = ПоляГруппировки.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
|
||||
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(МетаданныеПоля.Имя);
|
||||
ПолеГруппировки.Использование = Истина;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Структура.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
|
||||
Структура.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Работа с типовой схемой, настраиваемой в пользовательских настройках.
|
||||
|
||||
Функция ПараметрыОтчета(НастройкиКД, ПользовательскиеНастройкиКД) Экспорт
|
||||
Функция ПараметрыОтчета(Настройки, ПользовательскиеНастройки) Экспорт
|
||||
ПараметрыОтчета = Новый Структура(
|
||||
"ОчиститьСтруктуру, Период, ИсточникДанных, ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы", Ложь);
|
||||
|
||||
Результат = Новый Структура("ТипОбъектаМетаданных, ПолноеИмяОбъектаМетаданных, ИмяТаблицы, ОчиститьСтруктуру");
|
||||
|
||||
// Поиск параметров в настройках.
|
||||
|
||||
ПараметрТипОбъектаМетаданных = Неопределено;
|
||||
ПараметрПолноеИмяОбъектаМетаданных = Неопределено;
|
||||
ПараметрИмяТаблицы = Неопределено;
|
||||
Результат.ОчиститьСтруктуру = Ложь;
|
||||
|
||||
Если НастройкиКД.ДополнительныеСвойства.Свойство("ОтчетИнициализирован") Тогда
|
||||
Если ТипЗнч(ПользовательскиеНастройкиКД) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
||||
Для Каждого ЭлементКД Из ПользовательскиеНастройкиКД.Элементы Цикл
|
||||
Если ТипЗнч(ЭлементКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
ИмяПараметра = Строка(ЭлементКД.Параметр);
|
||||
Если ИмяПараметра = "ТипОбъектаМетаданных" Тогда
|
||||
ПараметрТипОбъектаМетаданных = ЭлементКД;
|
||||
ИначеЕсли ИмяПараметра = "ПолноеИмяОбъектаМетаданных" Тогда
|
||||
ПараметрПолноеИмяОбъектаМетаданных = ЭлементКД;
|
||||
ИначеЕсли ИмяПараметра = "ИмяТаблицы" Тогда
|
||||
ПараметрИмяТаблицы = ЭлементКД;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрТипОбъектаМетаданных = Неопределено Тогда
|
||||
ПараметрТипОбъектаМетаданных = НастройкиКД.ПараметрыДанных.Элементы.Найти("ТипОбъектаМетаданных");
|
||||
КонецЕсли;
|
||||
Если ПараметрПолноеИмяОбъектаМетаданных = Неопределено Тогда
|
||||
ПараметрПолноеИмяОбъектаМетаданных = НастройкиКД.ПараметрыДанных.Элементы.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
КонецЕсли;
|
||||
Если ПараметрИмяТаблицы = Неопределено Тогда
|
||||
ПараметрИмяТаблицы = НастройкиКД.ПараметрыДанных.Элементы.Найти("ИмяТаблицы");
|
||||
КонецЕсли;
|
||||
Если Настройки.ДополнительныеСвойства.Свойство("ОтчетИнициализирован")
|
||||
И ТипЗнч(ПользовательскиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
||||
Для Каждого Элемент Из ПользовательскиеНастройки.Элементы Цикл
|
||||
Если ТипЗнч(Элемент) <> Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПараметра = Строка(Элемент.Параметр);
|
||||
ЗначениеПараметра = Неопределено;
|
||||
Если ПараметрыОтчета.Свойство(ИмяПараметра, ЗначениеПараметра)
|
||||
И ЗначениеПараметра <> Неопределено Тогда
|
||||
ПараметрыОтчета[ИмяПараметра] = ЗначениеПараметра;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
// Чтение значений параметров.
|
||||
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
|
||||
Для Каждого Параметр Из ПараметрыОтчета Цикл
|
||||
Если ЗначениеЗаполнено(Параметр.Значение) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НайденныйПараметр = ПараметрыДанных.Найти(Параметр.Ключ);
|
||||
Если НайденныйПараметр <> Неопределено Тогда
|
||||
ПараметрыОтчета[Параметр.Ключ] = НайденныйПараметр.Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ПараметрТипОбъектаМетаданных <> Неопределено Тогда
|
||||
Результат.ТипОбъектаМетаданных = ПараметрТипОбъектаМетаданных.Значение;
|
||||
КонецЕсли;
|
||||
Если ПараметрПолноеИмяОбъектаМетаданных <> Неопределено Тогда
|
||||
Результат.ПолноеИмяОбъектаМетаданных = ПараметрПолноеИмяОбъектаМетаданных.Значение;
|
||||
КонецЕсли;
|
||||
Если ПараметрИмяТаблицы <> Неопределено Тогда
|
||||
Результат.ИмяТаблицы = ПараметрИмяТаблицы.Значение;
|
||||
Если ЗначениеЗаполнено(ПараметрыОтчета.ИсточникДанных) Тогда
|
||||
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ПараметрыОтчета.ИсточникДанных);
|
||||
ПараметрыОтчета.ТипОбъектаМетаданных = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
|
||||
ПараметрыОтчета.ИмяОбъектаМетаданных = ОбъектМетаданных.Имя;
|
||||
КонецЕсли;
|
||||
|
||||
// Заполнение значениями по умолчанию.
|
||||
|
||||
Если Не ЗначениеЗаполнено(Результат.ТипОбъектаМетаданных) Тогда
|
||||
Результат.ТипОбъектаМетаданных = ТипОбъектаМетаданныхПоУмолчанию();
|
||||
Результат.ОчиститьСтруктуру = Истина;
|
||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ТипОбъектаМетаданных) Тогда
|
||||
ПараметрыОтчета.ТипОбъектаМетаданных = ТипОбъектаМетаданныхПоУмолчанию();
|
||||
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Результат.ПолноеИмяОбъектаМетаданных) Тогда
|
||||
Результат.ПолноеИмяОбъектаМетаданных = ПолноеИмяОбъектаМетаданныхПоУмолчанию(НастройкиКД, Результат.ТипОбъектаМетаданных);
|
||||
Результат.ОчиститьСтруктуру = Истина;
|
||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИмяОбъектаМетаданных) Тогда
|
||||
ПараметрыОтчета.ИмяОбъектаМетаданных = ИмяОбъектаМетаданныхПоУмолчанию(
|
||||
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных);
|
||||
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Результат.ИмяТаблицы) Тогда
|
||||
Результат.ИмяТаблицы = ИмяТаблицыПоУмолчанию(НастройкиКД, Результат.ТипОбъектаМетаданных, Результат.ПолноеИмяОбъектаМетаданных);
|
||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИмяТаблицы) Тогда
|
||||
ПараметрыОтчета.ИмяТаблицы = ИмяТаблицыПоУмолчанию(
|
||||
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИсточникДанных) Тогда
|
||||
ПараметрыОтчета.ИсточникДанных = ИсточникДанных(ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
Возврат ПараметрыОтчета;
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТиповуюСхему(ПараметрыОтчета, НастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
|
||||
@@ -882,12 +909,12 @@
|
||||
Если ПараметрыОтчета.ТипОбъектаМетаданных = "Справочники"
|
||||
Или ПараметрыОтчета.ТипОбъектаМетаданных = "ПланыВидовРасчета"
|
||||
Или (ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений"
|
||||
И Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ПолноеИмяОбъектаМетаданных].ПериодичностьРегистраСведений
|
||||
И Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных].ПериодичностьРегистраСведений
|
||||
= Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический) Тогда
|
||||
СхемаКомпоновкиДанных.Параметры.Период.ОграничениеИспользования = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ДоступныеТаблицы = ДоступныеТаблицы(НастройкиКД, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ПолноеИмяОбъектаМетаданных);
|
||||
ДоступныеТаблицы = ДоступныеТаблицы(НастройкиКД, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
||||
Если ДоступныеТаблицы.Количество() <= 1 Тогда
|
||||
СхемаКомпоновкиДанных.Параметры.ИмяТаблицы.ОграничениеИспользования = Истина;
|
||||
КонецЕсли;
|
||||
@@ -910,19 +937,17 @@
|
||||
НастройкиКД.Структура.Очистить();
|
||||
|
||||
ДобавитьПоказатели(ПараметрыОтчета, НастройкиКД);
|
||||
ПередКомпоновкойМакета(СхемаКД, НастройкиКД);
|
||||
СформироватьСтруктуру(ПараметрыОтчета, СхемаКД, НастройкиКД);
|
||||
|
||||
ПараметрОтчета = НастройкиКД.ПараметрыДанных.Элементы.Найти("ТипОбъектаМетаданных");
|
||||
ПараметрОтчета.Значение = ПараметрыОтчета.ТипОбъектаМетаданных;
|
||||
|
||||
ПараметрОтчета = НастройкиКД.ПараметрыДанных.Элементы.Найти("ПолноеИмяОбъектаМетаданных");
|
||||
ПараметрОтчета.Значение = ПараметрыОтчета.ПолноеИмяОбъектаМетаданных;
|
||||
|
||||
ПараметрОтчета = НастройкиКД.ПараметрыДанных.Элементы.Найти("ИмяТаблицы");
|
||||
ПараметрОтчета.Значение = ПараметрыОтчета.ИмяТаблицы;
|
||||
ПараметрыДанных = НастройкиКД.ПараметрыДанных.Элементы;
|
||||
Для Каждого ПараметрОтчета Из ПараметрыОтчета Цикл
|
||||
ПараметрДанных = ПараметрыДанных.Найти(ПараметрОтчета.Ключ);
|
||||
Если ПараметрДанных <> Неопределено Тогда
|
||||
ПараметрДанных.Значение = ПараметрОтчета.Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
НастройкиКД.ДополнительныеСвойства.Вставить("ОтчетИнициализирован", Истина);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -963,6 +988,165 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Работа с источником данных варианта отчета.
|
||||
|
||||
// Устанавливает параметр "ИсточникДанных" настроек варианта отчета
|
||||
//
|
||||
// Параметры:
|
||||
// Вариант - СправочникСсылка.ВариантыОтчетов - хранилище настроек варианта отчета.
|
||||
//
|
||||
Процедура УстановитьИсточникДанныхВарианта(Вариант) Экспорт
|
||||
УниверсальныйОтчет = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Отчеты.УниверсальныйОтчет);
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить(Вариант.Метаданные().ПолноеИмя());
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Вариант);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ВариантОбъект = Вариант.ПолучитьОбъект();
|
||||
|
||||
НастройкиВарианта = Неопределено;
|
||||
Если ВариантОбъект <> Неопределено
|
||||
И ВариантОбъект.Отчет = УниверсальныйОтчет Тогда
|
||||
НастройкиВарианта = НастройкиВарианта(ВариантОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
Если НастройкиВарианта = Неопределено Тогда
|
||||
ОтменитьТранзакцию();
|
||||
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Вариант);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ВариантОбъект.Настройки = Новый ХранилищеЗначения(НастройкиВарианта);
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВариантОбъект);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает настройки варианта отчета с установленным параметром ИсточникДанных.
|
||||
//
|
||||
// Параметры:
|
||||
// Вариант - СправочникОбъект.ВариантыОтчетов - хранилище настроек варианта отчета.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// НастройкиКомпоновкиДанных, Неопределено - обновленные настройки или Неопределено,
|
||||
// если обновить не удалось.
|
||||
//
|
||||
Функция НастройкиВарианта(Вариант)
|
||||
НастройкиВарианта = Вариант.Настройки.Получить();
|
||||
Если НастройкиВарианта = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыДанных = НастройкиВарианта.ПараметрыДанных.Элементы;
|
||||
|
||||
ПараметрыИскомые = Новый Структура(
|
||||
"ТипОбъектаМетаданных, ПолноеИмяОбъектаМетаданных, ИмяОбъектаМетаданных, ИсточникДанных");
|
||||
Для Каждого Параметр Из ПараметрыИскомые Цикл
|
||||
НайденныйПараметр = ПараметрыДанных.Найти(Параметр.Ключ);
|
||||
Если НайденныйПараметр <> Неопределено Тогда
|
||||
ПараметрыИскомые[Параметр.Ключ] = НайденныйПараметр.Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Если в настройках варианта хранится параметр с неактуальным именем - выполнится его актуализация.
|
||||
Если ЗначениеЗаполнено(ПараметрыИскомые.ПолноеИмяОбъектаМетаданных) Тогда
|
||||
ПараметрыИскомые.ИмяОбъектаМетаданных = ПараметрыИскомые.ПолноеИмяОбъектаМетаданных;
|
||||
КонецЕсли;
|
||||
ПараметрыИскомые.Удалить("ПолноеИмяОбъектаМетаданных");
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПараметрыИскомые.ИсточникДанных) Тогда
|
||||
ПараметрыИскомые.ИсточникДанных = ИсточникДанных(
|
||||
ПараметрыИскомые.ТипОбъектаМетаданных, ПараметрыИскомые.ИмяОбъектаМетаданных);
|
||||
Если ПараметрыИскомые.ИсточникДанных = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыУстанавливаемые = Новый Структура("ИсточникДанных, ИмяОбъектаМетаданных");
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыУстанавливаемые, ПараметрыИскомые);
|
||||
|
||||
ИмяОбъекта = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПараметрыИскомые.ИсточникДанных, "Имя");
|
||||
Если ИмяОбъекта <> ПараметрыУстанавливаемые.ИмяОбъектаМетаданных Тогда
|
||||
ПараметрыУстанавливаемые.ИмяОбъектаМетаданных = ИмяОбъекта;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Параметр Из ПараметрыУстанавливаемые Цикл
|
||||
НайденныйПараметр = ПараметрыДанных.Найти(Параметр.Ключ);
|
||||
Если НайденныйПараметр = Неопределено Тогда
|
||||
ПараметрДанных = ПараметрыДанных.Добавить();
|
||||
ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(Параметр.Ключ);
|
||||
ПараметрДанных.Значение = Параметр.Значение;
|
||||
ПараметрДанных.Использование = Истина;
|
||||
Иначе
|
||||
НастройкиВарианта.ПараметрыДанных.УстановитьЗначениеПараметра(Параметр.Ключ, Параметр.Значение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат НастройкиВарианта;
|
||||
КонецФункции
|
||||
|
||||
// Возвращает источник данных отчета
|
||||
//
|
||||
// Параметры:
|
||||
// ТипМенеджера - Строка - представление менеджера объекта метаданных,
|
||||
// например, "Справочники" или "РегистрыСведений" и т.д.
|
||||
// ИмяОбъекта - Строка - краткое имя объекта метаданных,
|
||||
// например, "Валюты" или "КурсыВалют" и т.д.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка.ИдентификаторыОбъектовМетаданных, Неопределено -
|
||||
// ссылка на найденный элемент справочника, иначе - Неопределено.
|
||||
//
|
||||
Функция ИсточникДанных(ТипМенеджера, ИмяОбъекта)
|
||||
ТипОбъекта = ТипОбъектаПоТипуМенеджера(ТипМенеджера);
|
||||
ПолноеИмяОбъекта = ТипОбъекта + "." + ИмяОбъекта;
|
||||
Если Метаданные.НайтиПоПолномуИмени(ПолноеИмяОбъекта) = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта);
|
||||
КонецФункции
|
||||
|
||||
// Возвращает тип объекта метаданных по соответствующему типу менеджера
|
||||
//
|
||||
// Параметры:
|
||||
// ТипМенеджера - Строка - представление менеджера объекта метаданных,
|
||||
// например, "Справочники" или "РегистрыСведений" и т.д.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - тип объекта метаданных, например, "Справочник" или "РегистрСведений" и т.д.
|
||||
//
|
||||
Функция ТипОбъектаПоТипуМенеджера(ТипМенеджера)
|
||||
Типы = Новый Соответствие;
|
||||
Типы.Вставить("Справочники", "Справочник");
|
||||
Типы.Вставить("Документы", "Документ");
|
||||
Типы.Вставить("Обработки", "Обработка");
|
||||
Типы.Вставить("ПланыВидовХарактеристик", "ПланВидовХарактеристик");
|
||||
Типы.Вставить("РегистрыБухгалтерии", "РегистрБухгалтерии");
|
||||
Типы.Вставить("РегистрыНакопления", "РегистрНакопления");
|
||||
Типы.Вставить("РегистрыРасчета", "РегистрРасчета");
|
||||
Типы.Вставить("РегистрыСведений", "РегистрСведений");
|
||||
Типы.Вставить("БизнесПроцессы", "БизнесПроцесс");
|
||||
Типы.Вставить("ЖурналыДокументов", "ЖурналДокументов");
|
||||
Типы.Вставить("Задачи", "Задача");
|
||||
Типы.Вставить("Отчеты", "Отчет");
|
||||
Типы.Вставить("Константы", "Константа");
|
||||
Типы.Вставить("Перечисления", "Перечисление");
|
||||
Типы.Вставить("ПланыВидовРасчета", "ПланВидовРасчета");
|
||||
Типы.Вставить("ПланыОбмена", "ПланОбмена");
|
||||
Типы.Вставить("ПланыСчетов", "ПланСчетов");
|
||||
|
||||
Возврат Типы[ТипМенеджера];
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
@@ -198,7 +198,7 @@
|
||||
Если ИмяПараметра = "ПараметрыДанных.ТипОбъектаМетаданных" Тогда
|
||||
СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина;
|
||||
СвойстваНастройки.ЗначенияДляВыбора = Отчеты.УниверсальныйОтчет.ДоступныеТипыОбъектовМетаданных();
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ПолноеИмяОбъектаМетаданных" Тогда
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ИмяОбъектаМетаданных" Тогда
|
||||
СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина;
|
||||
СвойстваНастройки.ЗначенияДляВыбора = Отчеты.УниверсальныйОтчет.ДоступныеОбъектыМетаданных(КомпоновщикНастроек.Настройки);
|
||||
ИначеЕсли ИмяПараметра = "ПараметрыДанных.ИмяТаблицы" Тогда
|
||||
@@ -277,17 +277,17 @@
|
||||
//
|
||||
// // Схема зависит от значения параметра, выведенного в пользовательские настройки отчета:
|
||||
// Если ТипЗнч(НовыеПользовательскиеНастройкиКД) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
||||
// ПолноеИмяОбъектаМетаданных = "";
|
||||
// ИмяОбъектаМетаданных = "";
|
||||
// Для Каждого ЭлементКД Из НовыеПользовательскиеНастройкиКД.Элементы Цикл
|
||||
// Если ТипЗнч(ЭлементКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
// ИмяПараметра = Строка(ЭлементКД.Параметр);
|
||||
// Если ИмяПараметра = "ОбъектМетаданных" Тогда
|
||||
// ПолноеИмяОбъектаМетаданных = ЭлементКД.Значение;
|
||||
// ИмяОбъектаМетаданных = ЭлементКД.Значение;
|
||||
// КонецЕсли;
|
||||
// КонецЕсли;
|
||||
// КонецЦикла;
|
||||
// Если КлючСхемы <> ПолноеИмяОбъектаМетаданных Тогда
|
||||
// КлючСхемы = ПолноеИмяОбъектаМетаданных;
|
||||
// Если КлючСхемы <> ИмяОбъектаМетаданных Тогда
|
||||
// КлючСхемы = ИмяОбъектаМетаданных;
|
||||
// СхемаКД = Новый СхемаКомпоновкиДанных;
|
||||
// // Наполнение схемы...
|
||||
// ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКД, КлючСхемы);
|
||||
@@ -318,7 +318,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если НовыйКлючСхемы = Неопределено Тогда// Не загруженная схема.
|
||||
Если НовыйКлючСхемы = Неопределено Тогда // Не загруженная схема.
|
||||
|
||||
Если ТипЗнч(НовыеНастройкиКД) = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
НастройкиКД = НовыеНастройкиКД;
|
||||
@@ -329,7 +329,7 @@
|
||||
ПараметрыОтчета = Отчеты.УниверсальныйОтчет.ПараметрыОтчета(НастройкиКД, НовыеПользовательскиеНастройкиКД);
|
||||
|
||||
НовыйКлючСхемы = ПараметрыОтчета.ТипОбъектаМетаданных
|
||||
+ "/" + ПараметрыОтчета.ПолноеИмяОбъектаМетаданных
|
||||
+ "/" + ПараметрыОтчета.ИмяОбъектаМетаданных
|
||||
+ "/" + ПараметрыОтчета.ИмяТаблицы;
|
||||
НовыйКлючСхемы = ОбщегоНазначения.СократитьСтрокуКонтрольнойСуммой(НовыйКлючСхемы, 100);
|
||||
|
||||
|
||||
+22
-5
@@ -55,12 +55,27 @@
|
||||
<useRestriction>true</useRestriction>
|
||||
<expression>&Период.ДатаОкончания</expression>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>ИсточникДанных</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Источник данных</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
|
||||
</valueType>
|
||||
<value xsi:nil="true"/>
|
||||
<useRestriction>true</useRestriction>
|
||||
<use>Always</use>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>ТипОбъектаМетаданных</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип объекта метаданных</v8:content>
|
||||
<v8:content>Тип объекта</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<valueType>
|
||||
@@ -75,11 +90,11 @@
|
||||
<use>Always</use>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>ПолноеИмяОбъектаМетаданных</name>
|
||||
<name>ИмяОбъектаМетаданных</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Полное имя объекта метаданных</v8:content>
|
||||
<v8:content>Имя объекта</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<valueType>
|
||||
@@ -130,14 +145,16 @@
|
||||
<dcsset:userSettingID>60febb46-2215-4d7a-ac48-eac4758847c6</dcsset:userSettingID>
|
||||
</dcscor:item>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:use>false</dcscor:use>
|
||||
<dcscor:parameter>ТипОбъектаМетаданных</dcscor:parameter>
|
||||
<dcscor:value xsi:type="xs:string"/>
|
||||
<dcsset:userSettingID>2c828e9b-e1cf-4bd7-9577-d8bc5ee2a609</dcsset:userSettingID>
|
||||
</dcscor:item>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>ПолноеИмяОбъектаМетаданных</dcscor:parameter>
|
||||
<dcscor:use>false</dcscor:use>
|
||||
<dcscor:parameter>ИмяОбъектаМетаданных</dcscor:parameter>
|
||||
<dcscor:value xsi:type="xs:string"/>
|
||||
<dcsset:userSettingID>c24fcd20-6347-4f90-9622-f0d39c9bad09</dcsset:userSettingID>
|
||||
<dcsset:userSettingID>c000178b-3b77-477d-bd78-a3e60f29d7a8</dcsset:userSettingID>
|
||||
</dcscor:item>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>ИмяТаблицы</dcscor:parameter>
|
||||
|
||||
@@ -2509,58 +2509,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.НастройкиЦентраМониторинга.Command.НастройкаОтправкиОтчетовОбОшибках</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.АдресныеОбъекты.Command.ЗагрузитьАдресныйКлассификатор</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.РазмерБлокаПередачиФайла</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -2648,6 +2596,58 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.НастройкиЦентраМониторинга.Command.НастройкаОтправкиОтчетовОбОшибках</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.АдресныеОбъекты.Command.ЗагрузитьАдресныйКлассификатор</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.РазмерБлокаПередачиФайла</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.БуферОперацийСтатистики</name>
|
||||
<right>
|
||||
@@ -2831,6 +2831,25 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.УдалитьОбластиДанных</name>
|
||||
<right>
|
||||
|
||||
@@ -1933,6 +1933,17 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.ОтложенноеОбновлениеВГлавномУзлеЗавершеноУспешно</name>
|
||||
<right>
|
||||
|
||||
@@ -4837,6 +4837,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.НастройкиЦентраМониторинга.Command.НастройкаОтправкиОтчетовОбОшибках</name>
|
||||
<right>
|
||||
@@ -4930,45 +4969,6 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Document.СогласиеНаОбработкуПерсональныхДанных</name>
|
||||
<right>
|
||||
@@ -5263,6 +5263,17 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Edit</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.УдалитьОбластиДанных</name>
|
||||
<right>
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -41,6 +34,13 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" daysRepeatPeriod="1" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" weeksPeriod="1">
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<weekDays>Sun</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1260b5dd-0a74-43df-bdbb-215b253da28e">
|
||||
<name>ПолучениеСубъектовДляСкрытияПерсональныхДанных</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Получение субъектов для скрытия персональных данных</value>
|
||||
</synonym>
|
||||
<methodName>CommonModule.ЗащитаПерсональныхДанных.ПолучениеСубъектовДляСкрытияПерсональныхДанных</methodName>
|
||||
<predefined>true</predefined>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" daysRepeatPeriod="1" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" weeksPeriod="1">
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<weekDays>Sun</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3b1d0974-6031-4841-b632-aadd4ff13b2c">
|
||||
<name>СкрытиеПерсональныхДанныхСубъектов</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Скрытие персональных данных субъектов</value>
|
||||
</synonym>
|
||||
<methodName>CommonModule.ЗащитаПерсональныхДанных.СкрытиеПерсональныеДанныеСубъектов</methodName>
|
||||
<predefined>true</predefined>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
||||
Loaded 100 of 106 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user