2_4_6_117
This commit is contained in:
1 parent
728456a160
commit
a641368f32
39 files changed
+1963
-592
No files matched your search
@@ -12,13 +12,19 @@
|
|||||||
| Справочник.ПравилаПроверкиУчета КАК ПравилаПроверкиУчета
|
| Справочник.ПравилаПроверкиУчета КАК ПравилаПроверкиУчета
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
| ПравилаПроверкиУчета.Использование
|
| ПравилаПроверкиУчета.Использование
|
||||||
| И ПравилаПроверкиУчета.Идентификатор В(&МассивИдентификаторов)");
|
| И ПравилаПроверкиУчета.Идентификатор В(&ИдентификаторыПроверок)");
|
||||||
|
|
||||||
МассивИдентификаторов = Новый Массив;
|
ПроверкиВеденияУчета = КонтрольВеденияУчетаСлужебныйПовтИсп.ПроверкиВеденияУчета().Проверки;
|
||||||
МассивИдентификаторов.Добавить("СтандартныеПодсистемы.ПроверкаНезаполненныхОбязательныхРеквизитов");
|
ПараметрыОтбора = Новый Структура;
|
||||||
МассивИдентификаторов.Добавить("СтандартныеПодсистемы.ПроверкаСсылочнойЦелостности");
|
ПараметрыОтбора.Вставить("Отключена", Истина);
|
||||||
|
ОтключенныеПроверки = ПроверкиВеденияУчета.НайтиСтроки(ПараметрыОтбора);
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("МассивИдентификаторов", МассивИдентификаторов);
|
ИдентификаторыПроверок = Новый Массив;
|
||||||
|
Для Каждого ОтключеннаяПроверка Из ОтключенныеПроверки Цикл
|
||||||
|
ИдентификаторыПроверок.Добавить(ОтключеннаяПроверка.Идентификатор);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ИдентификаторыПроверок", ИдентификаторыПроверок);
|
||||||
|
|
||||||
Ссылки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
Ссылки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Объект.Предопределенный Тогда
|
Если Объект.Предопределенный Тогда
|
||||||
ТолькоПросмотр = Истина;
|
Элементы.ГруппаНаименование.ТолькоПросмотр = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
ИмяПоляСПолнымПутем = "ПолныйПутьLinux";
|
ИмяПоляСПолнымПутем = "ПолныйПутьLinux";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИмяКаталогаТестовое = ПолныйПутьТома + "ПроверкаДоступа\";
|
ИмяКаталогаТестовое = ПолныйПутьТома + "ПроверкаДоступа" + ПолучитьРазделительПути();
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
СоздатьКаталог(ИмяКаталогаТестовое);
|
СоздатьКаталог(ИмяКаталогаТестовое);
|
||||||
|
|||||||
@@ -3,24 +3,16 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||||
|
|
||||||
Если ПараметрКоманды.Количество() = 1 Тогда
|
ПараметрыВопроса = ЗащитаПерсональныхДанныхВызовСервера.ПараметрыВопросаПодтвержденияСкрытия(ПараметрКоманды);
|
||||||
|
|
||||||
ТекстВопроса = НСтр("ru = 'Персональные данные субъекта «%1» будут скрыты.
|
Субъекты = ПараметрыВопроса.Субъекты;
|
||||||
|
|
Если Субъекты.Количество() > 0 Тогда
|
||||||
|Продолжить?'");
|
|
||||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстВопроса, ПараметрКоманды[0]);
|
|
||||||
|
|
||||||
Иначе
|
Оповещение = Новый ОписаниеОповещения("ОбработкаКомандыЗавершение", ЭтотОбъект, Субъекты);
|
||||||
|
ПоказатьВопрос(Оповещение, ПараметрыВопроса.ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
|
||||||
ТекстВопроса = НСтр("ru = 'Персональные данные субъектов будут скрыты.
|
|
||||||
|
|
|
||||||
|Продолжить?'");
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Оповещение = Новый ОписаниеОповещения("ОбработкаКомандыЗавершение", ЭтотОбъект, ПараметрКоманды);
|
|
||||||
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -32,56 +24,12 @@
|
|||||||
|
|
||||||
Если Результат = КодВозвратаДиалога.Да Тогда
|
Если Результат = КодВозвратаДиалога.Да Тогда
|
||||||
|
|
||||||
СкрытьПерсональныеДанныеСубъектов(Субъекты);
|
ЗащитаПерсональныхДанныхВызовСервера.СкрытьПерсональныеДанныеСубъектов(Субъекты, Истина);
|
||||||
Оповестить("СкрытыПерсональныеДанные");
|
Оповестить("СкрытыПерсональныеДанные");
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
|
||||||
Процедура СкрытьПерсональныеДанныеСубъектов(Субъекты)
|
|
||||||
|
|
||||||
ОтбираемыеСубъекты = Новый Массив;
|
|
||||||
НастройкиСубъектов = ЗащитаПерсональныхДанных.ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(НастройкиСубъектов) Тогда
|
|
||||||
|
|
||||||
Для Каждого НастройкиСкрытия Из НастройкиСубъектов Цикл
|
|
||||||
|
|
||||||
Субъект = НастройкиСкрытия.Ключ;
|
|
||||||
Настройки = НастройкиСкрытия.Значение;
|
|
||||||
|
|
||||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
|
||||||
Или Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
|
||||||
|
|
||||||
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено Тогда
|
|
||||||
ТекстПричины = НСтр("ru = 'Скрытие ранее отменено по причине: %1.'");
|
|
||||||
ТекстПричины = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПричины, Настройки.ПричинаОтменыСкрытия);
|
|
||||||
Иначе
|
|
||||||
ТекстПричины = НСтр("ru = 'Скрытие уже выполнено.'");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта «%1» не могут быть скрыты.
|
|
||||||
|%2'");
|
|
||||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Субъект, ТекстПричины);
|
|
||||||
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
|
|
||||||
|
|
||||||
Продолжить;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ОтбираемыеСубъекты.Добавить(Субъект);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОтбираемыеСубъекты, Субъекты);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЗащитаПерсональныхДанных.СкрытьПерсональныеДанныеСубъектов(ОтбираемыеСубъекты, Истина);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
@@ -3126,6 +3126,10 @@
|
|||||||
<items xsi:type="form:FormField">
|
<items xsi:type="form:FormField">
|
||||||
<name>СписокСостоянияУзловИмяПланаОбмена</name>
|
<name>СписокСостоянияУзловИмяПланаОбмена</name>
|
||||||
<id>89</id>
|
<id>89</id>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Вид обмена</value>
|
||||||
|
</title>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<userVisible>
|
<userVisible>
|
||||||
@@ -3165,19 +3169,19 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</items>
|
</items>
|
||||||
<items xsi:type="form:FormField">
|
<items xsi:type="form:FormField">
|
||||||
<name>СписокСостоянияУзловУзелИнформационнойБазы</name>
|
<name>СписокСостоянияУзловНаименованиеКорреспондента</name>
|
||||||
<id>10</id>
|
<id>558</id>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<userVisible>
|
<userVisible>
|
||||||
<common>true</common>
|
<common>true</common>
|
||||||
</userVisible>
|
</userVisible>
|
||||||
<dataPath xsi:type="form:DataPath">
|
<dataPath xsi:type="form:DataPath">
|
||||||
<segments>СписокСостоянияУзлов.УзелИнформационнойБазы</segments>
|
<segments>СписокСостоянияУзлов.НаименованиеКорреспондента</segments>
|
||||||
</dataPath>
|
</dataPath>
|
||||||
<extendedTooltip>
|
<extendedTooltip>
|
||||||
<name>СписокСостоянияУзловУзелИнформационнойБазыExtendedTooltip</name>
|
<name>СписокСостоянияУзловНаименованиеКорреспондентаРасширеннаяПодсказка</name>
|
||||||
<id>502</id>
|
<id>560</id>
|
||||||
<type>Label</type>
|
<type>Label</type>
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
<autoMaxHeight>true</autoMaxHeight>
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
@@ -3186,8 +3190,8 @@
|
|||||||
</extInfo>
|
</extInfo>
|
||||||
</extendedTooltip>
|
</extendedTooltip>
|
||||||
<contextMenu>
|
<contextMenu>
|
||||||
<name>СписокСостоянияУзловУзелИнформационнойБазыКонтекстноеМеню</name>
|
<name>СписокСостоянияУзловНаименованиеКорреспондентаКонтекстноеМеню</name>
|
||||||
<id>11</id>
|
<id>559</id>
|
||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<type>InputField</type>
|
<type>InputField</type>
|
||||||
@@ -4558,6 +4562,24 @@
|
|||||||
<common>true</common>
|
<common>true</common>
|
||||||
</edit>
|
</edit>
|
||||||
</columns>
|
</columns>
|
||||||
|
<columns>
|
||||||
|
<name>НаименованиеКорреспондента</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Информационная база</value>
|
||||||
|
</title>
|
||||||
|
<id>16</id>
|
||||||
|
<valueType>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</columns>
|
||||||
</attributes>
|
</attributes>
|
||||||
<attributes>
|
<attributes>
|
||||||
<name>НастраиваемыеСинхронизации</name>
|
<name>НастраиваемыеСинхронизации</name>
|
||||||
|
|||||||
@@ -4464,6 +4464,8 @@
|
|||||||
|
|
||||||
УлицаНайдена = Ложь;
|
УлицаНайдена = Ложь;
|
||||||
ВариантАдреса = Новый Структура;
|
ВариантАдреса = Новый Структура;
|
||||||
|
ПроверитьИсторию = Ложь;
|
||||||
|
|
||||||
Для Каждого Запись Из ЗаписиДомов Цикл;
|
Для Каждого Запись Из ЗаписиДомов Цикл;
|
||||||
ЗаполнитьПочтовыйИндексИКодКЛАДРПоИерархииФИАС(ВариантАдреса, Запись);
|
ЗаполнитьПочтовыйИндексИКодКЛАДРПоИерархииФИАС(ВариантАдреса, Запись);
|
||||||
|
|
||||||
@@ -4492,6 +4494,8 @@
|
|||||||
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "НаселПункт",
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "НаселПункт",
|
||||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Населенный пункт ""%1"" отсутствует в адресном классификаторе'"),
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Населенный пункт ""%1"" отсутствует в адресном классификаторе'"),
|
||||||
НаселенныйПункт.Наименование + " " + НаселенныйПункт.Сокращение));
|
НаселенныйПункт.Наименование + " " + НаселенныйПункт.Сокращение));
|
||||||
|
ИначеЕсли ПроверятьНаселенныйПункт И Запись.НаселенныйПунктНайден <> Истина Тогда
|
||||||
|
ПроверитьИсторию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПроверятьУлицу И Запись.УлицаНайден И Запись.УлицаАктуален = Истина Тогда
|
Если ПроверятьУлицу И Запись.УлицаНайден И Запись.УлицаАктуален = Истина Тогда
|
||||||
@@ -4502,6 +4506,8 @@
|
|||||||
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Дополнительный",
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Дополнительный",
|
||||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Дополнительная территория ""%1""отсутствует в адресном классификаторе'"),
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Дополнительная территория ""%1""отсутствует в адресном классификаторе'"),
|
||||||
Дополнительный.Наименование + " " + Дополнительный.Сокращение));
|
Дополнительный.Наименование + " " + Дополнительный.Сокращение));
|
||||||
|
ИначеЕсли ПроверятьДополнительный И Запись.ДополнительныйНайден <> Истина Тогда
|
||||||
|
ПроверитьИсторию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПроверятьПодчиненный И Не Запись.ПодчиненныйНайден И Запись.ПодчиненныйАктуален = Истина Тогда
|
Если ПроверятьПодчиненный И Не Запись.ПодчиненныйНайден И Запись.ПодчиненныйАктуален = Истина Тогда
|
||||||
@@ -4529,6 +4535,17 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверитьИсторию Тогда
|
||||||
|
НовыйАдрес = АнализИсторииОдногоАдресаПоКлассификатору(Адрес, Уровни);
|
||||||
|
Если НовыйАдрес <> Неопределено Тогда
|
||||||
|
|
||||||
|
Результат.Вставить("Исторический", Истина);
|
||||||
|
Результат.Варианты.Добавить(НовыйАдрес);
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если КорректныеЗаписи.Количество() = 0 Тогда
|
Если КорректныеЗаписи.Количество() = 0 Тогда
|
||||||
// Нет смысла искать дома и выдавать варианты, надо посмотреть в историю.
|
// Нет смысла искать дома и выдавать варианты, надо посмотреть в историю.
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
@@ -4636,6 +4653,8 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// История
|
||||||
|
|
||||||
Функция ИсторияАдресногоОбъекта(Наименование, Сокращение, Запись)
|
Функция ИсторияАдресногоОбъекта(Наименование, Сокращение, Запись)
|
||||||
|
|
||||||
Результат = Новый СписокЗначений;
|
Результат = Новый СписокЗначений;
|
||||||
@@ -4707,6 +4726,550 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстЗапроса, Флаг, ИмяПоля)
|
||||||
|
Если Флаг Тогда
|
||||||
|
ТекстЗапроса = ТекстЗапроса + ", " + Символы.ПС + ИмяПоля + ".ОкончаниеДействияЗаписи УБЫВ";
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ФлагПроверки, ИмяПоля)
|
||||||
|
|
||||||
|
Если ФлагПроверки Тогда
|
||||||
|
Вариант = "
|
||||||
|
| ВЫБОР КОГДА [Поле].Идентификатор ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КАК [Поле]Найден,
|
||||||
|
| [Поле].АдресныйОбъект КАК [Поле]АдресныйОбъект,
|
||||||
|
| [Поле].Идентификатор КАК [Поле]Идентификатор,
|
||||||
|
| [Поле].ПочтовыйИндекс КАК [Поле]ПочтовыйИндекс,
|
||||||
|
| [Поле].КодКЛАДР КАК [Поле]КодКЛАДР,
|
||||||
|
| [Поле].Дополнительно КАК [Поле]Дополнительно,
|
||||||
|
|";
|
||||||
|
Иначе
|
||||||
|
Вариант = "
|
||||||
|
| NULL КАК [Поле]Найден,
|
||||||
|
| NULL КАК [Поле]Идентификатор,
|
||||||
|
| NULL КАК [Поле]ПочтовыйИндекс,
|
||||||
|
| NULL КАК [Поле]КодКЛАДР,
|
||||||
|
| NULL КАК [Поле]Дополнительно,
|
||||||
|
|";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат СтрЗаменить(Вариант, "[Поле]", ИмяПоля);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Локальная проверка одного адреса.
|
||||||
|
//
|
||||||
|
Функция АнализИсторииОдногоАдресаПоКлассификатору(Адрес, Уровни)
|
||||||
|
|
||||||
|
Результат = Новый Структура("Ошибки, Варианты, АдресПроверен", Новый Массив, Новый Массив, Истина);
|
||||||
|
ОшибкиПроверки = Результат.Ошибки;
|
||||||
|
ВариантыАдреса = Результат.Варианты;
|
||||||
|
|
||||||
|
Если ТипЗнч(Адрес) <> Тип("ОбъектXDTO") Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Адрес", НСтр("ru = 'Невозможно проверить адрес из-за некорректных сведений. Проверьте правильность заполнения адреса.'"));
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
//// Субъект должен быть всегда
|
||||||
|
СубъектРФ = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.СубъектРФ);
|
||||||
|
|
||||||
|
Если ПустаяСтрока(СубъектРФ.Наименование) Тогда
|
||||||
|
// Нет субъекта
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ", НСтр("ru = 'Не указан субъект РФ адреса'") );
|
||||||
|
Возврат Результат;
|
||||||
|
ИначеЕсли Уровни.Найти(1) = Неопределено Тогда
|
||||||
|
// В уровнях должно быть указано всегда.
|
||||||
|
ВызватьИсключение НСтр("ru = 'В уровнях для проверки адреса не указан уровень субъекта РФ.'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КодСубъектРФ = АдресныйКлассификатор.КодРегионаПоНаименованию(Адрес.СубъектРФ);
|
||||||
|
|
||||||
|
РегионЗагруженВАдресныеСведения = СведенияОРегионе(Адрес.СубъектРФ).Загружен;
|
||||||
|
Если РегионЗагруженВАдресныеСведения = Неопределено Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Регион ""%1"" не существует'"), Адрес.СубъектРФ));
|
||||||
|
Результат.АдресПроверен = Истина;
|
||||||
|
Возврат Результат;
|
||||||
|
ИначеЕсли НЕ РегионЗагруженВАдресныеСведения Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ", НСтр("ru = 'Отсутствуют адресные сведения по региону'") + ": " + Адрес.СубъектРФ + ".");
|
||||||
|
Результат.АдресПроверен = Ложь;
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Расшифровка свойств адреса
|
||||||
|
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||||
|
| Значение
|
||||||
|
|ИЗ
|
||||||
|
| РегистрСведений.СлужебныеАдресныеСведения
|
||||||
|
|ГДЕ
|
||||||
|
| Тип = ""ТипАдрЭл"" И Ключ = ""ПочтовыйИндекс""
|
||||||
|
|;//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|ВЫБРАТЬ
|
||||||
|
| Ключ КАК Сокращение,
|
||||||
|
| Идентификатор КАК Идентификатор,
|
||||||
|
| Значение КАК Значение
|
||||||
|
|ИЗ
|
||||||
|
| РегистрСведений.СлужебныеАдресныеСведения
|
||||||
|
|ГДЕ
|
||||||
|
| Тип = ""ТипАдрЭл""
|
||||||
|
| И (
|
||||||
|
| Идентификатор = 91 ИЛИ Идентификатор = 90
|
||||||
|
| )
|
||||||
|
|;//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|ВЫБРАТЬ
|
||||||
|
| Расшифровка.Ключ КАК Значение,
|
||||||
|
| Расшифровка.Значение КАК ТипАдрЭл,
|
||||||
|
|
|
||||||
|
| ВЫБОР
|
||||||
|
| КОГДА НЕ ТипыВладения.Идентификатор ЕСТЬ NULL ТОГДА ТипыВладения.Идентификатор
|
||||||
|
| КОГДА НЕ ТипыСтроения.Идентификатор ЕСТЬ NULL ТОГДА ТипыСтроения.Идентификатор
|
||||||
|
| ИНАЧЕ 0
|
||||||
|
| КОНЕЦ КАК Идентификатор
|
||||||
|
|
|
||||||
|
|ИЗ
|
||||||
|
| РегистрСведений.СлужебныеАдресныеСведения КАК Расшифровка
|
||||||
|
|
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.СлужебныеАдресныеСведения КАК ТипыВладения
|
||||||
|
|ПО
|
||||||
|
| ТипыВладения.Тип = ""ESTSTAT""
|
||||||
|
| И ТипыВладения.Значение = Расшифровка.Ключ
|
||||||
|
|
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.СлужебныеАдресныеСведения КАК ТипыСтроения
|
||||||
|
|ПО
|
||||||
|
| ТипыСтроения.Тип = ""STRSTAT""
|
||||||
|
| И ТипыСтроения.Значение = Расшифровка.Ключ
|
||||||
|
|
|
||||||
|
|ГДЕ
|
||||||
|
| Расшифровка.Тип = ""ДопАдрЭлНомер""");
|
||||||
|
НаборРезультатов = Запрос.ВыполнитьПакет();
|
||||||
|
|
||||||
|
Таблица = НаборРезультатов[0].Выгрузить();
|
||||||
|
Если Таблица.Количество() = 0 Тогда
|
||||||
|
ТипАдрЭлПочтовыйИндекс = "";
|
||||||
|
Иначе
|
||||||
|
ТипАдрЭлПочтовыйИндекс = Таблица[0].Значение;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТаблицаСокращенийДополнительных = НаборРезультатов[1].Выгрузить();
|
||||||
|
ТаблицаСокращенийДополнительных.Индексы.Добавить("Сокращение, Значение");
|
||||||
|
|
||||||
|
ТаблицаСокращенийЗданий = НаборРезультатов[2].Выгрузить();
|
||||||
|
ТаблицаСокращенийЗданий.Индексы.Добавить("ТипАдрЭл");
|
||||||
|
|
||||||
|
Дополнительный = Новый Структура("Наименование, Сокращение");
|
||||||
|
Подчиненный = Новый Структура("Наименование, Сокращение");
|
||||||
|
ЗданияИПомещения = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого ДополнительныйЭлемент Из Адрес.ПолучитьСписок("ДопАдрЭл") Цикл
|
||||||
|
ТипАдресногоЭлемента = СокрЛП(ДополнительныйЭлемент.ТипАдрЭл);
|
||||||
|
|
||||||
|
// Здание или помещение, почтовый индекс?
|
||||||
|
Если ТипАдресногоЭлемента = "" Тогда
|
||||||
|
ЗначениеНомера = ДополнительныйЭлемент.Номер;
|
||||||
|
СтрокаЗдания = ТаблицаСокращенийЗданий.Найти(ЗначениеНомера.Тип, "ТипАдрЭл");
|
||||||
|
Если СтрокаЗдания <> Неопределено Тогда
|
||||||
|
ЗданияИПомещения[СтрокаЗдания.Значение] = Новый Структура("Вид, Значение", СтрокаЗдания.Идентификатор, ЗначениеНомера.Значение);
|
||||||
|
КонецЕсли;
|
||||||
|
Продолжить;
|
||||||
|
ИначеЕсли ТипАдресногоЭлемента = ТипАдрЭлПочтовыйИндекс Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Дополнительный или подчиненный?
|
||||||
|
Вариант = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(ДополнительныйЭлемент.Значение);
|
||||||
|
|
||||||
|
// У ФИАС некоторые сокращения ошибочно содержат в конце точку. Для поиска вариантов эту точку необходимо убрать.
|
||||||
|
СокращениеВарианта = ?( СтрЗаканчиваетсяНа(Вариант.Сокращение, "."), Лев(Вариант.Сокращение, СтрДлина(Вариант.Сокращение) - 1), Вариант.Сокращение);
|
||||||
|
// У ФИАС необходимо учитывать кв-л
|
||||||
|
ДополнитьТаблицуСокращений(ТаблицаСокращенийДополнительных);
|
||||||
|
|
||||||
|
СтрокиВариантов = ТаблицаСокращенийДополнительных.НайтиСтроки(Новый Структура("Сокращение, Значение, Идентификатор", СокращениеВарианта, ТипАдресногоЭлемента, 90));
|
||||||
|
Если СтрокиВариантов.Количество() > 0 Тогда
|
||||||
|
Код = СтрокиВариантов[0].Идентификатор;
|
||||||
|
Дополнительный = Вариант;
|
||||||
|
Иначе
|
||||||
|
СтрокиВариантов = ТаблицаСокращенийДополнительных.НайтиСтроки(Новый Структура("Сокращение, Значение, Идентификатор", СокращениеВарианта, ТипАдресногоЭлемента, 91));
|
||||||
|
Если СтрокиВариантов.Количество() > 0 Тогда
|
||||||
|
Подчиненный = Вариант;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Округ = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.Округ);
|
||||||
|
Район = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(ПолучитьXDTOРеквизитОбъекта(Адрес, "СвРайМО/Район"));
|
||||||
|
Город = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.Город);
|
||||||
|
ВнутригородскойРайон = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.ВнутригРайон);
|
||||||
|
НаселенныйПункт = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.НаселПункт);
|
||||||
|
Улица = АдресныйКлассификаторКлиентСервер.НаименованиеИСокращение(Адрес.Улица);
|
||||||
|
|
||||||
|
ИндексЭлемент = ПолучитьXDTOРеквизитОбъекта(Адрес, "ДопАдрЭл[ТипАдрЭл='10100000']");
|
||||||
|
Индекс = ?(ИндексЭлемент <> Неопределено, ИндексЭлемент.Значение, "");
|
||||||
|
|
||||||
|
ПроверятьОкруг = Не ПустаяСтрока(Округ.Наименование);
|
||||||
|
ПроверятьРайон = Не ПустаяСтрока(Район.Наименование);
|
||||||
|
ПроверятьГород = Не ПустаяСтрока(Город.Наименование);
|
||||||
|
ПроверятьВнутригородскойРайон = Не ПустаяСтрока(ВнутригородскойРайон.Наименование);
|
||||||
|
ПроверятьНаселенныйПункт = Не ПустаяСтрока(НаселенныйПункт.Наименование);
|
||||||
|
ПроверятьУлицу = Не ПустаяСтрока(Улица.Наименование);
|
||||||
|
ПроверятьДополнительный = Не ПустаяСтрока(Дополнительный.Наименование);
|
||||||
|
ПроверятьПодчиненный = Не ПустаяСтрока(Подчиненный.Наименование);
|
||||||
|
|
||||||
|
ПолеАдресныйОбъектИдентификатор = ?(ПроверятьПодчиненный, "Подчиненный.Идентификатор",
|
||||||
|
?(ПроверятьДополнительный, "Дополнительный.Идентификатор",
|
||||||
|
?(ПроверятьУлицу, "Улица.Идентификатор",
|
||||||
|
?(ПроверятьНаселенныйПункт, "НаселенныйПункт.Идентификатор",
|
||||||
|
?(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон.Идентификатор",
|
||||||
|
?(ПроверятьГород, "Город.Идентификатор",
|
||||||
|
?(ПроверятьРайон, "Район.Идентификатор",
|
||||||
|
?(ПроверятьОкруг, "Округ.Идентификатор", "СубъектРФ.Идентификатор"))))))));
|
||||||
|
|
||||||
|
ТекстУпорядочить = "УПОРЯДОЧИТЬ ПО СубъектРФ.ОкончаниеДействияЗаписи УБЫВ";
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьОкруг, "Округ");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьРайон, "Район");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьГород, "Город");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьВнутригородскойРайон, "ВнутригородскойРайон");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьНаселенныйПункт, "НаселенныйПункт");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьУлицу, "Улица");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьДополнительный, "Дополнительный");
|
||||||
|
ТекстОпциональныхПолейУпорядочиванияЗапросаПроверкиАдресаИстория(ТекстУпорядочить, ПроверятьПодчиненный, "Подчиненный");
|
||||||
|
|
||||||
|
Запрос.Текст = "ВЫБРАТЬ
|
||||||
|
| ИСТИНА КАК СубъектРФНайден,
|
||||||
|
| СубъектРФ.Идентификатор КАК СубъектРФИдентификатор,
|
||||||
|
| СубъектРФ.ПочтовыйИндекс КАК СубъектРФПочтовыйИндекс,
|
||||||
|
| СубъектРФ.КодСубъектаРФ КАК СубъектРФКод,
|
||||||
|
| СубъектРФ.КодКЛАДР КАК СубъектРФКодКЛАДР,
|
||||||
|
| СубъектРФ.Дополнительно КАК СубъектРФДополнительно,
|
||||||
|
|
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьОкруг, "Округ") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьРайон, "Район") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьГород, "Город") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьНаселенныйПункт, "НаселенныйПункт") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьУлицу, "Улица") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьДополнительный, "Дополнительный") + "
|
||||||
|
| " + ТекстОпциональныхПолейЗапросаПроверкиАдресаИстория(ПроверятьПодчиненный, "Подчиненный") + "
|
||||||
|
|
|
||||||
|
| NULL КАК ДомаКодКЛАДР
|
||||||
|
|
|
||||||
|
|ИЗ
|
||||||
|
| // Иерархия подчиненности
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК СубъектРФ
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК СубъектРФДополнительно
|
||||||
|
|ПО
|
||||||
|
| СубъектРФДополнительно.Идентификатор = СубъектРФ.Дополнительно
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьОкруг, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.АдресныеОбъекты КАК Округ
|
||||||
|
|ПО
|
||||||
|
| Округ.Наименование = &ОкругНаименование
|
||||||
|
| И Округ.Сокращение = &ОкругСокращение
|
||||||
|
| И Округ.Уровень = 2
|
||||||
|
| И Округ.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Округ.КодРайона = 0
|
||||||
|
| И Округ.КодГорода = 0
|
||||||
|
| И Округ.КодВнутригородскогоРайона = 0
|
||||||
|
| И Округ.КодНаселенногоПункта = 0
|
||||||
|
| И Округ.КодУлицы = 0
|
||||||
|
| И Округ.КодДополнительногоЭлемента = 0
|
||||||
|
| И Округ.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК ОкругДополнительно
|
||||||
|
|ПО
|
||||||
|
| ОкругДополнительно.Идентификатор = Округ.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьРайон, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК Район
|
||||||
|
|ПО
|
||||||
|
| Район.Наименование = &РайонНаименование
|
||||||
|
| И Район.Сокращение = &РайонСокращение
|
||||||
|
| И Район.Уровень = 3
|
||||||
|
| И Район.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Район.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И Район.КодГорода = 0
|
||||||
|
| И Район.КодВнутригородскогоРайона = 0
|
||||||
|
| И Район.КодНаселенногоПункта = 0
|
||||||
|
| И Район.КодУлицы = 0
|
||||||
|
| И Район.КодДополнительногоЭлемента = 0
|
||||||
|
| И Район.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК РайонДополнительно
|
||||||
|
|ПО
|
||||||
|
| РайонДополнительно.Идентификатор = Район.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьГород, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК Город
|
||||||
|
|ПО
|
||||||
|
| Город.Наименование = &ГородНаименование
|
||||||
|
| И Город.Сокращение = &ГородСокращение
|
||||||
|
| И Город.Уровень = 4
|
||||||
|
| И Город.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Город.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И Город.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И Город.КодВнутригородскогоРайона = 0
|
||||||
|
| И Город.КодНаселенногоПункта = 0
|
||||||
|
| И Город.КодУлицы = 0
|
||||||
|
| И Город.КодДополнительногоЭлемента = 0
|
||||||
|
| И Город.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК ГородДополнительно
|
||||||
|
|ПО
|
||||||
|
| ГородДополнительно.Идентификатор = Город.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьВнутригородскойРайон, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК ВнутригородскойРайон
|
||||||
|
|ПО
|
||||||
|
| ВнутригородскойРайон.Наименование = &ВнутригородскойРайонНаименование
|
||||||
|
| И ВнутригородскойРайон.Сокращение = &ВнутригородскойРайонСокращение
|
||||||
|
| И ВнутригородскойРайон.Уровень = 5
|
||||||
|
| И ВнутригородскойРайон.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И ВнутригородскойРайон.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И ВнутригородскойРайон.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И ВнутригородскойРайон.КодГорода = " + ?(ПроверятьГород, "Город.КодГорода", "0") + "
|
||||||
|
| И ВнутригородскойРайон.КодНаселенногоПункта = 0
|
||||||
|
| И ВнутригородскойРайон.КодУлицы = 0
|
||||||
|
| И ВнутригородскойРайон.КодДополнительногоЭлемента = 0
|
||||||
|
| И ВнутригородскойРайон.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК ВнутригородскойРайонДополнительно
|
||||||
|
|ПО
|
||||||
|
| ВнутригородскойРайонДополнительно.Идентификатор = ВнутригородскойРайон.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьНаселенныйПункт, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК НаселенныйПункт
|
||||||
|
|ПО
|
||||||
|
| НаселенныйПункт.Наименование = &НаселенныйПунктНаименование
|
||||||
|
| И НаселенныйПункт.Сокращение = &НаселенныйПунктСокращение
|
||||||
|
| И НаселенныйПункт.Уровень = 6
|
||||||
|
| И НаселенныйПункт.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И НаселенныйПункт.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И НаселенныйПункт.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И НаселенныйПункт.КодГорода = " + ?(ПроверятьГород, "Город.КодГорода", "0") + "
|
||||||
|
| И НаселенныйПункт.КодВнутригородскогоРайона = " + ?(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон.КодВнутригородскогоРайона", "0") + "
|
||||||
|
| И НаселенныйПункт.КодУлицы = 0
|
||||||
|
| И НаселенныйПункт.КодДополнительногоЭлемента = 0
|
||||||
|
| И НаселенныйПункт.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК НаселенныйПунктДополнительно
|
||||||
|
|ПО
|
||||||
|
| НаселенныйПунктДополнительно.Идентификатор = НаселенныйПункт.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьУлицу, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК Улица
|
||||||
|
|ПО
|
||||||
|
| Улица.Наименование = &УлицаНаименование
|
||||||
|
| И Улица.Сокращение = &УлицаСокращение
|
||||||
|
| И Улица.Уровень = 7
|
||||||
|
| И Улица.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Улица.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И Улица.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И Улица.КодГорода = " + ?(ПроверятьГород, "Город.КодГорода", "0") + "
|
||||||
|
| И Улица.КодВнутригородскогоРайона = " + ?(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон.КодВнутригородскогоРайона", "0") + "
|
||||||
|
| И Улица.КодНаселенногоПункта = " + ?(ПроверятьНаселенныйПункт, "НаселенныйПункт.КодНаселенногоПункта", "0") + "
|
||||||
|
| И Улица.КодДополнительногоЭлемента = 0
|
||||||
|
| И Улица.КодПодчиненногоЭлемента = 0
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК УлицаДополнительно
|
||||||
|
|ПО
|
||||||
|
| УлицаДополнительно.Идентификатор = Улица.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьДополнительный, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК Дополнительный
|
||||||
|
|ПО
|
||||||
|
| Дополнительный.Наименование = &ДополнительныйНаименование
|
||||||
|
| И Дополнительный.Сокращение = &ДополнительныйСокращение
|
||||||
|
| И Дополнительный.Уровень = 65
|
||||||
|
| И Дополнительный.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Дополнительный.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И Дополнительный.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И Дополнительный.КодГорода = " + ?(ПроверятьГород, "Город.КодГорода", "0") + "
|
||||||
|
| И Дополнительный.КодВнутригородскогоРайона = " + ?(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон.КодВнутригородскогоРайона", "0") + "
|
||||||
|
| И Дополнительный.КодНаселенногоПункта = " + ?(ПроверятьНаселенныйПункт, "НаселенныйПункт.КодНаселенногоПункта", "0") + "
|
||||||
|
| И Дополнительный.КодУлицы = " + ?(ПроверятьУлицу, "Улица.КодУлицы", "0") + "
|
||||||
|
| И Дополнительный.КодПодчиненногоЭлемента = 0
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|" + ?(ПроверятьПодчиненный, "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ИсторияАдресныхОбъектов КАК Подчиненный
|
||||||
|
|ПО
|
||||||
|
| Подчиненный.Наименование = &ПодчиненныйНаименование
|
||||||
|
| И Подчиненный.Сокращение = &ПодчиненныйСокращение
|
||||||
|
| И Подчиненный.Уровень = 7
|
||||||
|
| И Подчиненный.КодСубъектаРФ = СубъектРФ.КодСубъектаРФ
|
||||||
|
| И Подчиненный.КодОкруга = " + ?(ПроверятьОкруг, "Округ.КодОкруга", "0") + "
|
||||||
|
| И Подчиненный.КодРайона = " + ?(ПроверятьРайон, "Район.КодРайона", "0") + "
|
||||||
|
| И Подчиненный.КодГорода = " + ?(ПроверятьГород, "Город.КодГорода", "0") + "
|
||||||
|
| И Подчиненный.КодВнутригородскогоРайона = " + ?(ПроверятьВнутригородскойРайон, "ВнутригородскойРайон.КодВнутригородскогоРайона", "0") + "
|
||||||
|
| И Подчиненный.КодНаселенногоПункта = " + ?(ПроверятьНаселенныйПункт, "НаселенныйПункт.КодНаселенногоПункта", "0") + "
|
||||||
|
| И Подчиненный.КодУлицы = " + ?(ПроверятьУлицу, "Улица.КодУлицы", "0") + "
|
||||||
|
| И Подчиненный.КодДополнительногоЭлемента = " + ?(ПроверятьДополнительный, "Дополнительный.КодДополнительногоЭлемента", "0") + "
|
||||||
|
|ЛЕВОЕ СОЕДИНЕНИЕ
|
||||||
|
| РегистрСведений.ДополнительныеАдресныеСведения КАК ПодчиненныйДополнительно
|
||||||
|
|ПО
|
||||||
|
| ПодчиненныйДополнительно.Идентификатор = Подчиненный.Дополнительно
|
||||||
|
|", "") + "
|
||||||
|
|
|
||||||
|
|// Условие на регион, который есть всегда
|
||||||
|
|ГДЕ
|
||||||
|
| СубъектРФ.КодСубъектаРФ = &КодСубъектРФ
|
||||||
|
| И СубъектРФ.КодОкруга = 0
|
||||||
|
| И СубъектРФ.КодРайона = 0
|
||||||
|
| И СубъектРФ.КодГорода = 0
|
||||||
|
| И СубъектРФ.КодВнутригородскогоРайона = 0
|
||||||
|
| И СубъектРФ.КодНаселенногоПункта = 0
|
||||||
|
| И СубъектРФ.КодУлицы = 0
|
||||||
|
| И СубъектРФ.КодДополнительногоЭлемента = 0
|
||||||
|
| И СубъектРФ.КодПодчиненногоЭлемента = 0
|
||||||
|
| " + ТекстУпорядочить;
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("КодСубъектРФ", КодСубъектРФ);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ОкругНаименование", Округ.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("ОкругСокращение", Округ.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("РайонНаименование", Район.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("РайонСокращение", Район.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ГородНаименование", Город.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("ГородСокращение", Город.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ВнутригородскойРайонНаименование", ВнутригородскойРайон.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("ВнутригородскойРайонСокращение", ВнутригородскойРайон.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("НаселенныйПунктНаименование", НаселенныйПункт.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("НаселенныйПунктСокращение", НаселенныйПункт.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("УлицаНаименование", Улица.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("УлицаСокращение", Улица.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ДополнительныйНаименование", Дополнительный.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("ДополнительныйСокращение", Дополнительный.Сокращение);
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ПодчиненныйНаименование", Подчиненный.Наименование);
|
||||||
|
Запрос.УстановитьПараметр("ПодчиненныйСокращение", Подчиненный.Сокращение);
|
||||||
|
|
||||||
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
|
||||||
|
Если РезультатЗапроса.Пустой() Тогда
|
||||||
|
// Нет региона
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Субъект РФ (регион) ""%1"" не найден в адресном классификаторе'"), СубъектРФ.Наименование + " " + СубъектРФ.Сокращение));
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Оставляем только записи со всеми корректными данными.
|
||||||
|
ЗаписиДомов = РезультатЗапроса.Выгрузить();
|
||||||
|
|
||||||
|
КорректныеЗаписи = Новый Массив;
|
||||||
|
|
||||||
|
УлицаНайдена = Ложь;
|
||||||
|
ВариантАдреса = Новый Структура;
|
||||||
|
История = Новый Соответствие;
|
||||||
|
Для Каждого Запись Из ЗаписиДомов Цикл;
|
||||||
|
ЗаполнитьПочтовыйИндексИКодКЛАДРПоИерархииФИАС(ВариантАдреса, Запись, Ложь);
|
||||||
|
|
||||||
|
Если ПроверятьОкруг И Не Запись.ОкругНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Округ",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Округ ""%1"" отсутствует в адресном классификаторе'"), Округ.Наименование + " " + Округ.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьРайон И Не Запись.РайонНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СвРайМО/Район",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Район ""%1"" отсутствует в адресном классификаторе'"), Район.Наименование + " " + Район.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьГород И Не Запись.ГородНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Город",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Город ""%1"" отсутствует в адресном классификаторе'"), Город.Наименование + " " + Город.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьВнутригородскойРайон И Не Запись.ВнутригородскойРайонНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "ВнутригРайон",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Внутригородской район ""%1"" отсутствует в адресном классификаторе'"),
|
||||||
|
ВнутригородскойРайон.Наименование + " " + ВнутригородскойРайон.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьНаселенныйПункт И Не Запись.НаселенныйПунктНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "НаселПункт",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Населенный пункт ""%1"" отсутствует в адресном классификаторе'"),
|
||||||
|
НаселенныйПункт.Наименование + " " + НаселенныйПункт.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьУлицу И Не Запись.УлицаНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Улица",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Улица ""%1""отсутствует в адресном классификаторе'"),
|
||||||
|
Улица.Наименование + " " + Улица.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьДополнительный И Не Запись.ДополнительныйНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Дополнительный",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Дополнительная территория ""%1""отсутствует в адресном классификаторе'"),
|
||||||
|
Дополнительный.Наименование + " " + Дополнительный.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьПодчиненный И Не Запись.ПодчиненныйНайден Тогда
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Подчиненный",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Элемент дополнительной территории ""%1"" отсутствует в адресном классификаторе'"),
|
||||||
|
Подчиненный.Наименование + " " + Подчиненный.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОшибкиПроверки.Количество() = 0 Тогда
|
||||||
|
|
||||||
|
Если ПроверятьДополнительный Тогда
|
||||||
|
АдресНовый = АктуальныеАдресныеСведения(Запись.ДополнительныйАдресныйОбъект);
|
||||||
|
Возврат АдресНовый;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПроверятьУлицу И Запись.УлицаНайден Тогда
|
||||||
|
УлицаНайдена = Истина;
|
||||||
|
АдресНовый = АктуальныеАдресныеСведения(Запись.УлицаАдресныйОбъект);
|
||||||
|
Возврат АдресНовый;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Вся запись правильная
|
||||||
|
КорректныеЗаписи.Добавить(АдресНовый);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ПроверятьУлицу И НЕ УлицаНайдена Тогда
|
||||||
|
ИсторияОбъекта = ИсторияАдресногоОбъекта(Улица.Наименование, Улица.Сокращение, Запись);
|
||||||
|
Если ИсторияОбъекта.Количество() > 0 Тогда
|
||||||
|
Для каждого СтрокаОбъект Из ИсторияОбъекта Цикл
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Улица",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Улица ""%1"" была переименована в ""%2""'"), СтрокаОбъект.Значение, СтрокаОбъект.Представление));
|
||||||
|
КонецЦикла;
|
||||||
|
Иначе
|
||||||
|
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Улица",
|
||||||
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Улица ""%1"" отсутствует в адресном классификаторе'"), Улица.Наименование + " " + Улица.Сокращение));
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если КорректныеЗаписи.Количество() = 0 Тогда
|
||||||
|
// Нет смысла искать дома и выдавать варианты, надо посмотреть в историю.
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Функция - Сформировать описание здания.
|
// Функция - Сформировать описание здания.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@@ -5312,10 +5875,10 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ЗаполнитьПочтовыйИндексИКодКЛАДРПоИерархииФИАС(Вариант, ЗаписьИсточника)
|
Процедура ЗаполнитьПочтовыйИндексИКодКЛАДРПоИерархииФИАС(Вариант, ЗаписьИсточника, ПроверятьДома = Истина)
|
||||||
|
|
||||||
УстановитьРеквизитЗаписиФИАСИерархически(Вариант, "Индекс", ЗаписьИсточника, "ПочтовыйИндекс");
|
УстановитьРеквизитЗаписиФИАСИерархически(Вариант, "Индекс", ЗаписьИсточника, "ПочтовыйИндекс", ПроверятьДома);
|
||||||
УстановитьРеквизитЗаписиФИАСИерархически(Вариант, "КодКЛАДР", ЗаписьИсточника, "КодКЛАДР");
|
УстановитьРеквизитЗаписиФИАСИерархически(Вариант, "КодКЛАДР", ЗаписьИсточника, "КодКЛАДР", ПроверятьДома);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -5330,10 +5893,10 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьРеквизитЗаписиФИАСИерархически(Приемник, ИмяПоляПриемника, Источник, ИмяПоляИсточника)
|
Процедура УстановитьРеквизитЗаписиФИАСИерархически(Приемник, ИмяПоляПриемника, Источник, ИмяПоляИсточника, ПроверятьДома = Истина)
|
||||||
|
|
||||||
Варианты = Новый Массив;
|
Варианты = Новый Массив;
|
||||||
Если ИмяПоляИсточника <> "Идентификатор" Тогда
|
Если ПроверятьДома И ИмяПоляИсточника <> "Идентификатор" Тогда
|
||||||
Варианты.Добавить("Дома");
|
Варианты.Добавить("Дома");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Варианты.Добавить("Подчиненный");
|
Варианты.Добавить("Подчиненный");
|
||||||
|
|||||||
@@ -300,7 +300,6 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Скрывает персональные данные субъектов. Состав персональных данных определяется программно.
|
// Скрывает персональные данные субъектов. Состав персональных данных определяется программно.
|
||||||
// См. ЗащитаПерсональныхДанныхПереопределяемый.ЗаполнитьСведенияОПерсональныхДанных.
|
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Субъекты - Массив, ОпределяемыйТип.СубъектПерсональныхДанных - ссылка или массив ссылок одного типа на субъекты.
|
// Субъекты - Массив, ОпределяемыйТип.СубъектПерсональныхДанных - ссылка или массив ссылок одного типа на субъекты.
|
||||||
@@ -430,6 +429,8 @@
|
|||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
|
|
||||||
|
ПересчитанаДатаСкрытияПДнСубъектов = Ложь;
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ДнейДоСкрытияПДн) Тогда
|
Если Не ЗначениеЗаполнено(ДнейДоСкрытияПДн) Тогда
|
||||||
ДнейДоСкрытияПДн = 7;
|
ДнейДоСкрытияПДн = 7;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -441,14 +442,22 @@
|
|||||||
ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
|
ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
|
||||||
РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
|
РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
|
||||||
|
|
||||||
|
ПересчитанаДатаСкрытияПДнСубъектов = Истина;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Установить(ДнейДоСкрытияПДн);
|
Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Установить(ДнейДоСкрытияПДн);
|
||||||
|
|
||||||
ИначеЕсли ТекущееЗначениеИспользоватьСкрытиеПДн <> ИспользоватьСкрытиеПДн Тогда
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ТекущееЗначениеИспользоватьСкрытиеПДн <> ИспользоватьСкрытиеПДн Тогда
|
||||||
|
|
||||||
Если ИспользоватьСкрытиеПДн Тогда
|
Если ИспользоватьСкрытиеПДн Тогда
|
||||||
|
|
||||||
|
Если Не ПересчитанаДатаСкрытияПДнСубъектов Тогда
|
||||||
РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
|
РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
|
ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -472,6 +481,115 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Определяет наличие скрытых персональных данных в объекте. В качестве объекта может быть передан и сам субъект.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Объект - СправочникОбъект, ДокументОбъект, РегистрСведенийНаборЗаписей - проверяемый объект. Также
|
||||||
|
// в качестве значения параметра могут быть указаны наборы записей других регистров
|
||||||
|
// или значения типа СправочникСсылка, ДокументСсылка.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево - признак наличия скрытых персональных данных.
|
||||||
|
//
|
||||||
|
Функция ЭтоОбъектСоСкрытымиПерсональнымиДанными(Знач Объект) Экспорт
|
||||||
|
|
||||||
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТипЗначенияОбъекта = ТипЗнч(Объект);
|
||||||
|
ТипыСубъектов = ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектов();
|
||||||
|
|
||||||
|
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗначенияОбъекта)
|
||||||
|
ИЛИ Документы.ТипВсеСсылки().СодержитТип(ТипЗначенияОбъекта) Тогда
|
||||||
|
|
||||||
|
Если ТипыСубъектов.Найти(ТипЗначенияОбъекта) <> Неопределено Тогда
|
||||||
|
Возврат ЕстьСубъектыСоСкрытымиПерсональнымиДанными(Объект);
|
||||||
|
Иначе
|
||||||
|
Объект = Объект.ПолучитьОбъект();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли Объект.ДополнительныеСвойства.Свойство("СкрытиеКонфиденциальнойИнформации") Тогда
|
||||||
|
Возврат Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОбъектМетаданных = Объект.Метаданные();
|
||||||
|
ПолноеИмяИсточника = ОбъектМетаданных.ПолноеИмя();
|
||||||
|
|
||||||
|
ИменаИсточников = ЗащитаПерсональныхДанныхПовтИсп.ИменаИсточниковПерсональныхДанных();
|
||||||
|
Если ИменаИсточников.Найти(ПолноеИмяИсточника) <> Неопределено Тогда
|
||||||
|
|
||||||
|
ПолныеИменаРеквизитов = ЗащитаПерсональныхДанныхПовтИсп.ИменаРеквизитовИсточникаСодержащихСубъект(ПолноеИмяИсточника);
|
||||||
|
Если ЗначениеЗаполнено(ПолныеИменаРеквизитов) Тогда
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ЭтоРегистрСведений(ОбъектМетаданных) Тогда
|
||||||
|
|
||||||
|
Субъекты = Новый Массив;
|
||||||
|
РежимЗаписиНезависимый = (ОбъектМетаданных.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.Независимый);
|
||||||
|
|
||||||
|
Если РежимЗаписиНезависимый Тогда
|
||||||
|
|
||||||
|
Субъект = Объект.Отбор[ПолныеИменаРеквизитов[0]].Значение;
|
||||||
|
Если ЗначениеЗаполнено(Субъект) Тогда
|
||||||
|
Субъекты.Добавить(Субъект);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Субъекты) Тогда
|
||||||
|
Субъекты = Объект.ВыгрузитьКолонку(ПолныеИменаРеквизитов[0]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ЕстьСубъектыСоСкрытымиПерсональнымиДанными(Субъекты);
|
||||||
|
|
||||||
|
ИначеЕсли ОбщегоНазначения.ЭтоРегистрРасчета(ОбъектМетаданных)
|
||||||
|
Или ОбщегоНазначения.ЭтоРегистрНакопления(ОбъектМетаданных) Тогда
|
||||||
|
|
||||||
|
Субъекты = Объект.ВыгрузитьКолонку(ПолныеИменаРеквизитов[0]);
|
||||||
|
Возврат ЕстьСубъектыСоСкрытымиПерсональнымиДанными(Субъекты);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Возврат ЕстьСкрытыеПерсональныеДанные(Объект, ПолныеИменаРеквизитов);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Ложь;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#Область ОбменДанными
|
||||||
|
|
||||||
|
// Пересчитывает даты скрытия персональных данных субъектов по основаниям, полученным в ходе обмена
|
||||||
|
// из записей регистра сведений СогласияНаОбработкуПерсональныхДанных.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Объект - ПланОбменаОбъект - узел плана обмена, для которого выполнялось получение данных.
|
||||||
|
//
|
||||||
|
Процедура ПослеЗагрузкиДанных(Объект) Экспорт
|
||||||
|
|
||||||
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не Объект.ДополнительныеСвойства.Свойство("ОснованияСкрытияПерсональныхДанных") Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Объект.ДополнительныеСвойства.ОснованияСкрытияПерсональныхДанных.Количество() > 0 Тогда
|
||||||
|
РассчитатьДатуСкрытияПерсональныхДанныхПоОснованиям(Объект.ДополнительныеСвойства.ОснованияСкрытияПерсональныхДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Процедуры и функции для встраивания подсистемы в формы объектов конфигурации.
|
// Процедуры и функции для встраивания подсистемы в формы объектов конфигурации.
|
||||||
|
|
||||||
@@ -495,7 +613,7 @@
|
|||||||
Список = Форма[СписокФормы.ПутьКДанным];
|
Список = Форма[СписокФормы.ПутьКДанным];
|
||||||
ИмяСпискаФормы = СписокФормы.Имя;
|
ИмяСпискаФормы = СписокФормы.Имя;
|
||||||
|
|
||||||
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьСоСкрытымиПДн", Ложь);
|
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьСоСкрытымиПДн", Ложь);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -550,9 +668,7 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
ДнейДоСкрытия = ДнейДоСкрытияПерсональныхДанныхСубъектов();
|
||||||
|
|
||||||
ДнейДоСкрытия = Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить();
|
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
Запрос = Новый Запрос;
|
||||||
Запрос.Текст = ТекстЗапросаСубъектыДляСкрытияПерсональныхДанных(Истина) + "
|
Запрос.Текст = ТекстЗапросаСубъектыДляСкрытияПерсональныхДанных(Истина) + "
|
||||||
@@ -563,11 +679,8 @@
|
|||||||
| Субъекты.Субъект КАК Субъект
|
| Субъекты.Субъект КАК Субъект
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| ВТСубъектыДляСкрытия КАК Субъекты
|
| ВТСубъектыДляСкрытия КАК Субъекты
|
||||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СубъектыДляСкрытияПерсональныхДанных КАК СубъектыДляСкрытияПДн
|
|
||||||
| ПО СубъектыДляСкрытияПДн.Субъект = Субъекты.Субъект
|
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
| Субъекты.Субъект В(&Субъекты)
|
| Субъекты.Субъект В(&Субъекты)
|
||||||
| И СубъектыДляСкрытияПДн.Субъект ЕСТЬ NULL
|
|
||||||
|
|
|
|
||||||
|ОБЪЕДИНИТЬ ВСЕ
|
|ОБЪЕДИНИТЬ ВСЕ
|
||||||
|
|
|
|
||||||
@@ -585,7 +698,10 @@
|
|||||||
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
|
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
|
||||||
Запрос.УстановитьПараметр("РасчетнаяДата", ТекущаяДата + ДнейДоСкрытия * 86400);
|
Запрос.УстановитьПараметр("РасчетнаяДата", ТекущаяДата + ДнейДоСкрытия * 86400);
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
Пока Выборка.Следующий() Цикл
|
Пока Выборка.Следующий() Цикл
|
||||||
СтрокаСписка = Строки[Выборка.Субъект];
|
СтрокаСписка = Строки[Выборка.Субъект];
|
||||||
СтрокаСписка.Данные["ОтсутствуетСогласие"] = 1;
|
СтрокаСписка.Данные["ОтсутствуетСогласие"] = 1;
|
||||||
@@ -719,6 +835,86 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// См. ОбменДаннымиСобытия.ПриОтправкеДанных.
|
||||||
|
Процедура ПриОтправкеДанных(ЭлементДанных, ОтправкаЭлемента, Получатель, Знач СозданиеНачальногоОбраза) Экспорт
|
||||||
|
|
||||||
|
Если Не СозданиеНачальногоОбраза
|
||||||
|
Или Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УзлыРИБ = СтандартныеПодсистемыПовтИсп.УзлыРИБ();
|
||||||
|
Если УзлыРИБ.НайтиПоЗначению(Получатель) <> Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЭтоОбъектСоСкрытымиПерсональнымиДанными(ЭлементДанных) Тогда
|
||||||
|
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// См. СтандартныеПодсистемыСервер.ПриПолученииДанныхОтГлавного.
|
||||||
|
Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт
|
||||||
|
|
||||||
|
// Стандартная обработка не переопределяется.
|
||||||
|
Если ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.СубъектыДляСкрытияПерсональныхДанных") Тогда
|
||||||
|
|
||||||
|
Если ПланыОбмена.ИзменениеЗарегистрировано(Отправитель.Ссылка, ЭлементДанных)
|
||||||
|
И ЕстьСубъектыСоСкрытымиПерсональнымиДанными(ЭлементДанных.Отбор.Субъект.Значение) Тогда
|
||||||
|
|
||||||
|
ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
ПроверитьВозможностьПолученияЭлементаДанных(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// См. СтандартныеПодсистемыСервер.ПриПолученииДанныхОтПодчиненного.
|
||||||
|
Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт
|
||||||
|
|
||||||
|
// Стандартная обработка не переопределяется.
|
||||||
|
Если ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.СубъектыДляСкрытияПерсональныхДанных") Тогда
|
||||||
|
|
||||||
|
Если ЭлементДанных.Количество() > 0 И ЭлементДанных[0].Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
||||||
|
ПолучениеЭлемента = ПолучениеЭлементаДанных.Принять;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("РегистрСведенийНаборЗаписей.СогласияНаОбработкуПерсональныхДанных") Тогда
|
||||||
|
|
||||||
|
Регистратор = ЭлементДанных.Отбор.Регистратор.Значение;
|
||||||
|
|
||||||
|
Если Не Отправитель.ДополнительныеСвойства.Свойство("ОснованияСкрытияПерсональныхДанных") Тогда
|
||||||
|
Отправитель.ДополнительныеСвойства.Вставить("ОснованияСкрытияПерсональныхДанных", Новый Массив);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Отправитель.ДополнительныеСвойства.ОснованияСкрытияПерсональныхДанных.Найти(Регистратор) = Неопределено Тогда
|
||||||
|
Отправитель.ДополнительныеСвойства.ОснованияСкрытияПерсональныхДанных.Добавить(Регистратор);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов.
|
// См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов.
|
||||||
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
||||||
|
|
||||||
@@ -737,7 +933,7 @@
|
|||||||
//
|
//
|
||||||
Функция ПропуститьРегистрациюОбъекта(ИмяПланаОбмена, Объект) Экспорт
|
Функция ПропуститьРегистрациюОбъекта(ИмяПланаОбмена, Объект) Экспорт
|
||||||
|
|
||||||
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
Если Не ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
Возврат Ложь;
|
Возврат Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -754,31 +950,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// См. ОбменДаннымиСобытия.ПриОтправкеДанных.
|
|
||||||
Процедура ПриОтправкеДанных(ЭлементДанных, ОтправкаЭлемента, Получатель, Знач СозданиеНачальногоОбраза) Экспорт
|
|
||||||
|
|
||||||
Если Не СозданиеНачальногоОбраза
|
|
||||||
Или Не ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
|
||||||
|
|
||||||
МодульОбменДаннымиПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиПовтИсп");
|
|
||||||
|
|
||||||
ИмяПланаОбмена = ЗащитаПерсональныхДанныхПовтИсп.ПолучитьИмяПланаОбмена(Получатель);
|
|
||||||
Если МодульОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяПланаОбмена) Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЭтоОбъектСоСкрытымиПерсональнымиДанными(ЭлементДанных) Тогда
|
|
||||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -840,6 +1011,82 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиПодписокНаСобытия
|
||||||
|
|
||||||
|
Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
|
||||||
|
|
||||||
|
// ОбменДанными.Загрузка проверяется внутри вызова.
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
|
||||||
|
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
|
||||||
|
МодульДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник,
|
||||||
|
Отказ, РежимЗаписи, РежимПроведения);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПроверитьДатуЗапретаИзмененияПередУдалением(Источник, Отказ) Экспорт
|
||||||
|
|
||||||
|
// ОбменДанными.Загрузка проверяется внутри вызова.
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
|
||||||
|
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
|
||||||
|
МодульДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередУдалением(Источник, Отказ);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
Функция ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Экспорт
|
||||||
|
|
||||||
|
Возврат ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов");
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ДнейДоСкрытияПерсональныхДанныхСубъектов() Экспорт
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Возврат Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ПроверитьВозможностьПолученияЭлементаДанных(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель)
|
||||||
|
|
||||||
|
УзлыРИБ = СтандартныеПодсистемыПовтИсп.УзлыРИБ();
|
||||||
|
ЭтоУзелРИБ = УзлыРИБ.НайтиПоЗначению(Отправитель.Ссылка) <> Неопределено;
|
||||||
|
|
||||||
|
Если ЭтоУзелРИБ И Не ПланыОбмена.ИзменениеЗарегистрировано(Отправитель.Ссылка, ЭлементДанных) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЭтоОбъектСоСкрытымиПерсональнымиДанными(ЭлементДанных) Тогда
|
||||||
|
|
||||||
|
ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать;
|
||||||
|
|
||||||
|
Если ЭтоУзелРИБ Тогда
|
||||||
|
ОтправкаНазад = Истина;
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ОписаниеОшибки = НСтр("ru = 'Загрузка данных по субъекту (%1) со скрытыми персональными данными.'");
|
||||||
|
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ОписаниеОшибки, Строка(ЭлементДанных));
|
||||||
|
|
||||||
|
ЗаписьЖурналаРегистрации(
|
||||||
|
НСтр("ru = 'Защита персональных данных.Изменение скрытых персональных данных'",
|
||||||
|
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка,
|
||||||
|
,
|
||||||
|
,
|
||||||
|
ОписаниеОшибки,
|
||||||
|
РежимТранзакцииЗаписиЖурналаРегистрации.Независимая);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ТекстЗапросаСубъектыДляСкрытияПерсональныхДанных(ВоВременнуюТаблицу = Ложь)
|
Функция ТекстЗапросаСубъектыДляСкрытияПерсональныхДанных(ВоВременнуюТаблицу = Ложь)
|
||||||
|
|
||||||
ТекстЗапроса = "";
|
ТекстЗапроса = "";
|
||||||
@@ -873,29 +1120,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
|
|
||||||
|
|
||||||
// ОбменДанными.Загрузка проверяется внутри вызова.
|
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
|
|
||||||
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
|
|
||||||
МодульДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник,
|
|
||||||
Отказ, РежимЗаписи, РежимПроведения);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура ПроверитьДатуЗапретаИзмененияПередУдалением(Источник, Отказ) Экспорт
|
|
||||||
|
|
||||||
// ОбменДанными.Загрузка проверяется внутри вызова.
|
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
|
|
||||||
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
|
|
||||||
МодульДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередУдалением(Источник, Отказ);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Функция СведенияОПерсональныхДанных() Экспорт
|
Функция СведенияОПерсональныхДанных() Экспорт
|
||||||
|
|
||||||
// Таблица сведений о персональных данных.
|
// Таблица сведений о персональных данных.
|
||||||
@@ -1258,71 +1482,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Определяет наличие скрытых персональных данных в объекте.
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Объект - СправочникОбъект, ДокументОбъект, РегистрСведенийНаборЗаписей и т.п. - проверяемый объект.
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Булево - признак наличия скрытых персональных данных.
|
|
||||||
//
|
|
||||||
Функция ЭтоОбъектСоСкрытымиПерсональнымиДанными(Объект)
|
|
||||||
|
|
||||||
Если Объект.ДополнительныеСвойства.Свойство("СкрытиеКонфиденциальнойИнформации") Тогда
|
|
||||||
Возврат Истина;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ОбъектМетаданных = Объект.Метаданные();
|
|
||||||
ПолноеИмяИсточника = ОбъектМетаданных.ПолноеИмя();
|
|
||||||
|
|
||||||
ИменаИсточников = ЗащитаПерсональныхДанныхПовтИсп.ИменаИсточниковПерсональныхДанных();
|
|
||||||
Если ИменаИсточников.Найти(ПолноеИмяИсточника) <> Неопределено Тогда
|
|
||||||
|
|
||||||
ПолныеИменаРеквизитов = ЗащитаПерсональныхДанныхПовтИсп.ИменаРеквизитовИсточникаСодержащихСубъект(ПолноеИмяИсточника);
|
|
||||||
Если ЗначениеЗаполнено(ПолныеИменаРеквизитов) Тогда
|
|
||||||
|
|
||||||
Если ОбщегоНазначения.ЭтоРегистрСведений(ОбъектМетаданных) Тогда
|
|
||||||
|
|
||||||
Субъекты = Новый Массив;
|
|
||||||
РежимЗаписиНезависимый = (ОбъектМетаданных.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.Независимый);
|
|
||||||
|
|
||||||
Если РежимЗаписиНезависимый Тогда
|
|
||||||
|
|
||||||
Субъект = Объект.Отбор[ПолныеИменаРеквизитов[0]].Значение;
|
|
||||||
Если ЗначениеЗаполнено(Субъект) Тогда
|
|
||||||
Субъекты.Добавить(Субъект);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Субъекты) Тогда
|
|
||||||
Субъекты = Объект.ВыгрузитьКолонку(ПолныеИменаРеквизитов[0]);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат ЕстьСубъектыСоСкрытымиПерсональнымиДанными(Субъекты);
|
|
||||||
|
|
||||||
ИначеЕсли ОбщегоНазначения.ЭтоРегистрРасчета(ОбъектМетаданных)
|
|
||||||
Или ОбщегоНазначения.ЭтоРегистрНакопления(ОбъектМетаданных) Тогда
|
|
||||||
|
|
||||||
Субъекты = Объект.ВыгрузитьКолонку(ПолныеИменаРеквизитов[0]);
|
|
||||||
Возврат ЕстьСубъектыСоСкрытымиПерсональнымиДанными(Субъекты);
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Возврат ЕстьСкрытыеПерсональныеДанные(Объект, ПолныеИменаРеквизитов);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
Возврат Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат Ложь;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Определяет факт наличия среди переданных в параметре субъектов тех, по которым выполнялось скрытие персональных данных.
|
// Определяет факт наличия среди переданных в параметре субъектов тех, по которым выполнялось скрытие персональных данных.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@@ -1335,8 +1494,7 @@
|
|||||||
|
|
||||||
ЕстьСкрытые = Ложь;
|
ЕстьСкрытые = Ложь;
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Субъекты)
|
Если Не ЗначениеЗаполнено(Субъекты) Тогда
|
||||||
Или Не ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
|
||||||
Возврат ЕстьСкрытые;
|
Возврат ЕстьСкрытые;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1344,15 +1502,8 @@
|
|||||||
Субъекты = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Субъекты);
|
Субъекты = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Субъекты);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТипыСубъектов = ЗащитаПерсональныхДанныхПовтИсп.ТипыСубъектов();
|
|
||||||
Если ТипыСубъектов.Найти(ТипЗнч(Субъекты[0])) = Неопределено Тогда
|
|
||||||
Возврат ЕстьСкрытые;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
НастройкиСубъектов = ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
НастройкиСубъектов = ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(НастройкиСубъектов) Тогда
|
|
||||||
|
|
||||||
Для Каждого СубъектИНастройки Из НастройкиСубъектов Цикл
|
Для Каждого СубъектИНастройки Из НастройкиСубъектов Цикл
|
||||||
|
|
||||||
НастройкиСубъекта = СубъектИНастройки.Значение;
|
НастройкиСубъекта = СубъектИНастройки.Значение;
|
||||||
@@ -1365,8 +1516,6 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат ЕстьСкрытые;
|
Возврат ЕстьСкрытые;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -1386,11 +1535,6 @@
|
|||||||
Функция ЕстьСкрытыеПерсональныеДанные(Объект, ПолныеИменаРеквизитов)
|
Функция ЕстьСкрытыеПерсональныеДанные(Объект, ПолныеИменаРеквизитов)
|
||||||
|
|
||||||
ЕстьСкрытые = Ложь;
|
ЕстьСкрытые = Ложь;
|
||||||
|
|
||||||
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
|
||||||
Возврат ЕстьСкрытые;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЧастиИменРеквизитов = Новый Массив;
|
ЧастиИменРеквизитов = Новый Массив;
|
||||||
|
|
||||||
Для Каждого ПолноеИмяРеквизита Из ПолныеИменаРеквизитов Цикл
|
Для Каждого ПолноеИмяРеквизита Из ПолныеИменаРеквизитов Цикл
|
||||||
@@ -1448,16 +1592,15 @@
|
|||||||
//
|
//
|
||||||
Функция ПрочитатьНастройкиСкрытияСубъектов(Знач Субъекты) Экспорт
|
Функция ПрочитатьНастройкиСкрытияСубъектов(Знач Субъекты) Экспорт
|
||||||
|
|
||||||
|
НастройкиСубъектов = Новый Соответствие;
|
||||||
Если Не ЗначениеЗаполнено(Субъекты) Тогда
|
Если Не ЗначениеЗаполнено(Субъекты) Тогда
|
||||||
Возврат Неопределено;
|
Возврат НастройкиСубъектов;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТипЗнч(Субъекты) <> Тип("Массив") Тогда
|
Если ТипЗнч(Субъекты) <> Тип("Массив") Тогда
|
||||||
Субъекты = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Субъекты);
|
Субъекты = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Субъекты);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НастройкиСубъектов = Новый Соответствие;
|
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
Запрос = Новый Запрос;
|
||||||
Запрос.УстановитьПараметр("Субъекты", Субъекты);
|
Запрос.УстановитьПараметр("Субъекты", Субъекты);
|
||||||
|
|
||||||
@@ -1472,20 +1615,22 @@
|
|||||||
|ГДЕ
|
|ГДЕ
|
||||||
| СубъектыДляСкрытияПерсональныхДанных.Субъект В(&Субъекты)";
|
| СубъектыДляСкрытияПерсональныхДанных.Субъект В(&Субъекты)";
|
||||||
|
|
||||||
Результат = Запрос.Выполнить();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
Если Не Результат.Пустой() Тогда
|
|
||||||
|
|
||||||
Выборка = Результат.Выбрать();
|
|
||||||
Пока Выборка.Следующий() Цикл
|
|
||||||
|
|
||||||
НастройкиСкрытия = НастройкиСкрытияСубъектовПоУмолчанию();
|
НастройкиСкрытия = НастройкиСкрытияСубъектовПоУмолчанию();
|
||||||
ЗаполнитьЗначенияСвойств(НастройкиСкрытия, Выборка);
|
|
||||||
НастройкиСубъектов.Вставить(Выборка.Субъект, НастройкиСкрытия);
|
Для Каждого Субъект Из Субъекты Цикл
|
||||||
|
|
||||||
|
НастройкиСкрытияСубъекта = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(НастройкиСкрытия);
|
||||||
|
|
||||||
|
Выборка.Сбросить();
|
||||||
|
Если Выборка.НайтиСледующий(Новый Структура("Субъект", Субъект)) Тогда
|
||||||
|
ЗаполнитьЗначенияСвойств(НастройкиСкрытияСубъекта, Выборка);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НастройкиСубъектов.Вставить(Субъект, НастройкиСкрытияСубъекта);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат НастройкиСубъектов;
|
Возврат НастройкиСубъектов;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -1539,9 +1684,7 @@
|
|||||||
//
|
//
|
||||||
Функция НастройкиСкрытияСубъектовПоУмолчанию()
|
Функция НастройкиСкрытияСубъектовПоУмолчанию()
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
ДнейДоСкрытия = ДнейДоСкрытияПерсональныхДанныхСубъектов();
|
||||||
|
|
||||||
ДнейДоСкрытия = Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить();
|
|
||||||
ДатаСкрытия = НачалоДня(ТекущаяДатаСеанса()) + ДнейДоСкрытия * 86400;
|
ДатаСкрытия = НачалоДня(ТекущаяДатаСеанса()) + ДнейДоСкрытия * 86400;
|
||||||
|
|
||||||
НастройкиСкрытия = Новый Структура;
|
НастройкиСкрытия = Новый Структура;
|
||||||
@@ -1571,7 +1714,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ДнейДоСкрытия = Неопределено Тогда
|
Если ДнейДоСкрытия = Неопределено Тогда
|
||||||
ДнейДоСкрытия = Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Получить();
|
ДнейДоСкрытия = ДнейДоСкрытияПерсональныхДанныхСубъектов();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(СрокДействияСогласия) Тогда
|
Если ЗначениеЗаполнено(СрокДействияСогласия) Тогда
|
||||||
@@ -1586,19 +1729,57 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура РассчитатьДатуСкрытияПерсональныхДанныхСубъекта(Субъект) Экспорт
|
Процедура РассчитатьДатуСкрытияПерсональныхДанныхПоОснованиям(Основания) Экспорт
|
||||||
|
|
||||||
НастройкиСубъектов = ПрочитатьНастройкиСкрытияСубъектов(Субъект);
|
Если ТипЗнч(Основания) <> Тип("Массив") Тогда
|
||||||
НастройкиСкрытия = НастройкиСубъектов.Получить(Субъект);
|
Основания = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Основания);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(НастройкиСкрытия)
|
|
||||||
И (НастройкиСкрытия.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
|
||||||
Или НастройкиСкрытия.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено) Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПрежниеСубъекты = Новый Массив;
|
||||||
|
|
||||||
|
Запрос = Новый Запрос();
|
||||||
|
Запрос.УстановитьПараметр("Основания", Основания);
|
||||||
|
|
||||||
|
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||||
|
| СубъектыДляСкрытияПерсональныхДанных.Субъект КАК Субъект
|
||||||
|
|ИЗ
|
||||||
|
| РегистрСведений.СубъектыДляСкрытияПерсональныхДанных КАК СубъектыДляСкрытияПерсональныхДанных
|
||||||
|
|ГДЕ
|
||||||
|
| СубъектыДляСкрытияПерсональныхДанных.Основание В (&Основания)";
|
||||||
|
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
|
||||||
|
Пока Выборка.Следующий() Цикл
|
||||||
|
|
||||||
|
ОбновитьНастройкиСкрытияСубъекта(Выборка.Субъект);
|
||||||
|
ПрежниеСубъекты.Добавить(Выборка.Субъект);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
СубъектыОснований = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Основания, "Субъект");
|
||||||
|
ТекущиеСубъекты = ОбщегоНазначения.ВыгрузитьКолонку(СубъектыОснований, "Значение", Истина);
|
||||||
|
|
||||||
|
ОставшиесяСубъекты = ОбщегоНазначенияКлиентСервер.РазностьМассивов(ТекущиеСубъекты, ПрежниеСубъекты);
|
||||||
|
НастройкиСубъектов = ПрочитатьНастройкиСкрытияСубъектов(ОставшиесяСубъекты);
|
||||||
|
|
||||||
|
Для Каждого СубъектИНастройки Из НастройкиСубъектов Цикл
|
||||||
|
|
||||||
|
Субъект = СубъектИНастройки.Ключ;
|
||||||
|
НастройкиСубъекта = СубъектИНастройки.Значение;
|
||||||
|
|
||||||
|
Если НастройкиСубъекта.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
||||||
|
Или НастройкиСубъекта.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
ОбновитьНастройкиСкрытияСубъекта(Субъект);
|
ОбновитьНастройкиСкрытияСубъекта(Субъект);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ОчиститьСрокСкрытияПерсональныхДанныхСубъектов()
|
Процедура ОчиститьСрокСкрытияПерсональныхДанныхСубъектов()
|
||||||
|
|||||||
@@ -38,3 +38,109 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
Функция ПараметрыВопросаПодтвержденияСкрытия(Субъекты) Экспорт
|
||||||
|
|
||||||
|
ТекстВопроса = "";
|
||||||
|
ПараметрыВопроса = Новый Структура;
|
||||||
|
|
||||||
|
СкрываемыеСубъекты = Новый Массив;
|
||||||
|
СкрываемыеСубъектыБезСогласия = Новый Массив;
|
||||||
|
СкрываемыеСубъектыССогласием = Новый Массив;
|
||||||
|
|
||||||
|
ДатаСеанса = НачалоДня(ТекущаяДатаСеанса());
|
||||||
|
ПустаяДата = Дата(1, 1, 1);
|
||||||
|
|
||||||
|
ДнейДоСкрытия = ЗащитаПерсональныхДанных.ДнейДоСкрытияПерсональныхДанныхСубъектов();
|
||||||
|
НастройкиСубъектов = ЗащитаПерсональныхДанных.ПрочитатьНастройкиСкрытияСубъектов(Субъекты);
|
||||||
|
|
||||||
|
Для Каждого НастройкиСкрытия Из НастройкиСубъектов Цикл
|
||||||
|
|
||||||
|
Субъект = НастройкиСкрытия.Ключ;
|
||||||
|
Настройки = НастройкиСкрытия.Значение;
|
||||||
|
|
||||||
|
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено
|
||||||
|
Или Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеВыполнено Тогда
|
||||||
|
|
||||||
|
Если Настройки.Состояние = Перечисления.СостоянияСубъектовДляСкрытия.СкрытиеОтменено Тогда
|
||||||
|
ТекстПричины = НСтр("ru = 'Скрытие ранее отменено по причине: %1.'");
|
||||||
|
ТекстПричины = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПричины, Настройки.ПричинаОтменыСкрытия);
|
||||||
|
Иначе
|
||||||
|
ТекстПричины = НСтр("ru = 'Скрытие уже выполнено.'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта «%1» не могут быть скрыты.
|
||||||
|
|%2'");
|
||||||
|
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Субъект, ТекстПричины);
|
||||||
|
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
ИначеЕсли ЗначениеЗаполнено(Настройки.Основание)
|
||||||
|
И (Настройки.ДатаСкрытия = ПустаяДата Или Настройки.ДатаСкрытия - ДнейДоСкрытия * 86400 > ДатаСеанса) Тогда
|
||||||
|
СкрываемыеСубъектыССогласием.Добавить(Субъект);
|
||||||
|
Иначе
|
||||||
|
СкрываемыеСубъектыБезСогласия.Добавить(Субъект);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СкрываемыеСубъекты.Добавить(Субъект);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СкрываемыеСубъектыБезСогласия) Тогда
|
||||||
|
|
||||||
|
Заголовок = НСтр("ru = 'Будут скрыты персональные данные субъектов:'");
|
||||||
|
ТекстВопроса = ПредставлениеСпискаСубъектов(Заголовок, СкрываемыеСубъектыБезСогласия);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(СкрываемыеСубъектыССогласием) Тогда
|
||||||
|
|
||||||
|
Заголовок = НСтр("ru = 'Несмотря на полученное согласие на обработку ПДн, будут скрыты персональные данные субъектов:'");
|
||||||
|
ТекстВопроса = ?(ЗначениеЗаполнено(ТекстВопроса), ТекстВопроса + Символы.ПС, "") + ПредставлениеСпискаСубъектов(Заголовок, СкрываемыеСубъектыССогласием);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ТекстВопроса) Тогда
|
||||||
|
ТекстВопроса = ТекстВопроса + Символы.ПС + НСтр("ru = 'Восстановление данных будет невозможно. Продолжить?'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыВопроса.Вставить("Субъекты", СкрываемыеСубъекты);
|
||||||
|
ПараметрыВопроса.Вставить("ТекстВопроса", ТекстВопроса);
|
||||||
|
|
||||||
|
Возврат ПараметрыВопроса;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПредставлениеСпискаСубъектов(Заголовок, Субъекты)
|
||||||
|
|
||||||
|
ПредставлениеСписка = "";
|
||||||
|
ПредставлениеСписка = Заголовок + Символы.ПС;
|
||||||
|
|
||||||
|
Если Субъекты.Количество() = 1 Тогда
|
||||||
|
ПредставлениеСписка = СтрЗаменить(ПредставлениеСписка, НСтр("ru = 'субъектов'"), НСтр("ru = 'субъекта'"));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Номер = 1;
|
||||||
|
Для Каждого Субъект Из Субъекты Цикл
|
||||||
|
|
||||||
|
ПредставлениеСписка = ПредставлениеСписка + ?(Номер <> 1, ", ", "");
|
||||||
|
ПредставлениеСписка = ПредставлениеСписка + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1'"), Субъект);
|
||||||
|
|
||||||
|
Номер = Номер + 1;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ПредставлениеСписка + "." + Символы.ПС;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура СкрытьПерсональныеДанныеСубъектов(Субъекты, СообщатьОбИсключениях = Ложь) Экспорт
|
||||||
|
|
||||||
|
ЗащитаПерсональныхДанных.СкрытьПерсональныеДанныеСубъектов(Субъекты, СообщатьОбИсключениях);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
@@ -238,10 +238,4 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьИмяПланаОбмена(УзелПланаОбмена) Экспорт
|
|
||||||
|
|
||||||
Возврат УзелПланаОбмена.Метаданные().Имя;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -293,6 +293,11 @@
|
|||||||
МодульДополнительныеОтчетыИОбработки.ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
МодульДополнительныеОтчетыИОбработки.ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
|
||||||
|
МодульЗащитаПерсональныхДанных = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
|
||||||
|
МодульЗащитаПерсональныхДанных.ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПользователиСлужебный.ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
ПользователиСлужебный.ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
|
||||||
@@ -337,6 +342,11 @@
|
|||||||
МодульДополнительныеОтчетыИОбработки.ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
МодульДополнительныеОтчетыИОбработки.ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
|
||||||
|
МодульЗащитаПерсональныхДанных = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
|
||||||
|
МодульЗащитаПерсональныхДанных.ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПользователиСлужебный.ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
ПользователиСлужебный.ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель);
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
|
||||||
|
|||||||
@@ -72,6 +72,7 @@
|
|||||||
// * ДополнительныеПараметры - ХранилищеЗначений - Дополнительная информация о проверке для программного
|
// * ДополнительныеПараметры - ХранилищеЗначений - Дополнительная информация о проверке для программного
|
||||||
// использования.
|
// использования.
|
||||||
// * Комментарий - Строка - комментарий к проверке.
|
// * Комментарий - Строка - комментарий к проверке.
|
||||||
|
// * Отключена - Булево - если Истина, то проверка не будет выполняться в фоне по расписанию.
|
||||||
//
|
//
|
||||||
// Пример:
|
// Пример:
|
||||||
// 1) Добавление проверки
|
// 1) Добавление проверки
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|по значению одноименного ресурса предыдущей версии.'");
|
|по значению одноименного ресурса предыдущей версии.'");
|
||||||
|
|
||||||
Обработчик = Обработчики.Добавить();
|
Обработчик = Обработчики.Добавить();
|
||||||
Обработчик.Версия = "2.4.6.91";
|
Обработчик.Версия = "2.4.6.113";
|
||||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("fcd45d27-8e5d-45dd-9648-deff60825ae1");
|
Обработчик.Идентификатор = Новый УникальныйИдентификатор("fcd45d27-8e5d-45dd-9648-deff60825ae1");
|
||||||
Обработчик.Процедура = "Справочники.ПравилаПроверкиУчета.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
Обработчик.Процедура = "Справочники.ПравилаПроверкиУчета.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||||
Обработчик.РежимВыполнения = "Отложенно";
|
Обработчик.РежимВыполнения = "Отложенно";
|
||||||
@@ -40,8 +40,7 @@
|
|||||||
Обработчик.БлокируемыеОбъекты = "Справочник.ПравилаПроверкиУчета";
|
Обработчик.БлокируемыеОбъекты = "Справочник.ПравилаПроверкиУчета";
|
||||||
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
|
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
|
||||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||||
Обработчик.Комментарий = НСтр("ru = 'Отключение автоматического запуска проверок ссылочной целостности и
|
Обработчик.Комментарий = НСтр("ru = 'Отключение автоматического запуска системных проверок в подсистеме контроля ведения учета.'");
|
||||||
|заполненности обязательных реквизитов в подсистеме контроля ведения учета.'");
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -195,6 +194,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КэшБитыхСсылок = Новый Соответствие;
|
КэшБитыхСсылок = Новый Соответствие;
|
||||||
|
ПараметрыПроверки.Вставить("КэшСсылок", Новый Соответствие);
|
||||||
|
|
||||||
Для Каждого ВидМетаданных Из СсылочныеВидыОбъектовМетаданных() Цикл
|
Для Каждого ВидМетаданных Из СсылочныеВидыОбъектовМетаданных() Цикл
|
||||||
Для Каждого ОбъектМетаданных Из ВидМетаданных Цикл
|
Для Каждого ОбъектМетаданных Из ВидМетаданных Цикл
|
||||||
@@ -207,6 +207,7 @@
|
|||||||
НайтиБитыеСсылкиВРегистрах(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок);
|
НайтиБитыеСсылкиВРегистрах(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
ПараметрыПроверки.Удалить("КэшСсылок");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -573,11 +574,22 @@
|
|||||||
|
|
||||||
ОчиститьРезультатыПредыдущихПроверок(ВыполняемаяПроверка, ПараметрыПроверки.ПараметрыВыполненияПроверки);
|
ОчиститьРезультатыПредыдущихПроверок(ВыполняемаяПроверка, ПараметрыПроверки.ПараметрыВыполненияПроверки);
|
||||||
|
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПараметрыОбработчика = Новый Массив;
|
ПараметрыОбработчика = Новый Массив;
|
||||||
ПараметрыОбработчика.Добавить(ВыполняемаяПроверка);
|
ПараметрыОбработчика.Добавить(ВыполняемаяПроверка);
|
||||||
ПараметрыОбработчика.Добавить(ПараметрыПроверки);
|
ПараметрыОбработчика.Добавить(ПараметрыПроверки);
|
||||||
ОбщегоНазначения.ВыполнитьМетодКонфигурации(СтрокаПроверки.ОбработчикПроверки, ПараметрыОбработчика);
|
ОбщегоНазначения.ВыполнитьМетодКонфигурации(СтрокаПроверки.ОбработчикПроверки, ПараметрыОбработчика);
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, 0);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик регламентного задания "ПроверкаВеденияУчета". Предназначен для обработки
|
// Обработчик регламентного задания "ПроверкаВеденияУчета". Предназначен для обработки
|
||||||
@@ -1297,11 +1309,7 @@
|
|||||||
ПроверкаОбъект.КонтекстПроверокВеденияУчета = Проверка.КонтекстПроверокВеденияУчета;
|
ПроверкаОбъект.КонтекстПроверокВеденияУчета = Проверка.КонтекстПроверокВеденияУчета;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаСсылочнойЦелостности" Или Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаНезаполненныхОбязательныхРеквизитов" Тогда
|
ПроверкаОбъект.Использование = Не Проверка.Отключена;
|
||||||
ПроверкаОбъект.Использование = Ложь;
|
|
||||||
Иначе
|
|
||||||
ПроверкаОбъект.Использование = Истина;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Проверка.ЛимитПроблем) Тогда
|
Если ЗначениеЗаполнено(Проверка.ЛимитПроблем) Тогда
|
||||||
ПроверкаОбъект.ЛимитПроблем = Проверка.ЛимитПроблем;
|
ПроверкаОбъект.ЛимитПроблем = Проверка.ЛимитПроблем;
|
||||||
@@ -1503,6 +1511,8 @@
|
|||||||
|
|
||||||
Процедура НайтиБитыеСсылки(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
Процедура НайтиБитыеСсылки(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
||||||
|
|
||||||
|
РазмерКэшаПроверенныхСсылок = РазмерКэшаПроверенныхСсылок();
|
||||||
|
|
||||||
Реквизиты = ОбъектМетаданных.Реквизиты;
|
Реквизиты = ОбъектМетаданных.Реквизиты;
|
||||||
РеквизитыОбъекта = СсылочныеРеквизитыОбъекта(ОбъектМетаданных);
|
РеквизитыОбъекта = СсылочныеРеквизитыОбъекта(ОбъектМетаданных);
|
||||||
РеквизитыТабличныхЧастейОбъекта = СсылочныеРеквизитыТабличныхЧастейОбъекта(ОбъектМетаданных);
|
РеквизитыТабличныхЧастейОбъекта = СсылочныеРеквизитыТабличныхЧастейОбъекта(ОбъектМетаданных);
|
||||||
@@ -1548,6 +1558,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПараметрыПроверки.КэшСсылок[ТекущаяСсылка] <> Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ОбнаруженаБитаяСсылка = КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено;
|
ОбнаруженаБитаяСсылка = КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено;
|
||||||
Если Не ОбнаруженаБитаяСсылка И Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
Если Не ОбнаруженаБитаяСсылка И Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
||||||
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
@@ -1559,6 +1573,11 @@
|
|||||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru='У объекта ""%1"" в реквизите ""%2"" указан несуществующий элемент: ""%3"".'"),
|
НСтр("ru='У объекта ""%1"" в реквизите ""%2"" указан несуществующий элемент: ""%3"".'"),
|
||||||
СсылкаНаОбъект, СсылочныйРеквизит.Ключ, ТекущаяСсылка);
|
СсылкаНаОбъект, СсылочныйРеквизит.Ключ, ТекущаяСсылка);
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыПроверки.КэшСсылок.Количество() = РазмерКэшаПроверенныхСсылок Тогда
|
||||||
|
ПараметрыПроверки.КэшСсылок.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыПроверки.КэшСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1594,6 +1613,11 @@
|
|||||||
НСтр("ru = 'У объекта ""%1"" в реквизите ""%2"" табличной части ""%3"" (строка № %4) указан несуществующий элемент: ""%5"".'"),
|
НСтр("ru = 'У объекта ""%1"" в реквизите ""%2"" табличной части ""%3"" (строка № %4) указан несуществующий элемент: ""%5"".'"),
|
||||||
СсылкаНаОбъект, ИмяРеквизитаТЧ, СтрЗаменить(РезультатЗапросаПоРеквизитамТЧ.Ключ, ИмяРеквизитаТЧ, ""),
|
СсылкаНаОбъект, ИмяРеквизитаТЧ, СтрЗаменить(РезультатЗапросаПоРеквизитамТЧ.Ключ, ИмяРеквизитаТЧ, ""),
|
||||||
ТекущийНомерСтроки, ТекущаяСсылка);
|
ТекущийНомерСтроки, ТекущаяСсылка);
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыПроверки.КэшСсылок.Количество() = РазмерКэшаПроверенныхСсылок Тогда
|
||||||
|
ПараметрыПроверки.КэшСсылок.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыПроверки.КэшСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1671,6 +1695,9 @@
|
|||||||
Для Каждого ТабличнаяЧасть Из ОбъектМетаданных.ТабличныеЧасти Цикл
|
Для Каждого ТабличнаяЧасть Из ОбъектМетаданных.ТабличныеЧасти Цикл
|
||||||
Для Каждого РеквизитТабличнойЧасти Из ТабличнаяЧасть.Реквизиты Цикл
|
Для Каждого РеквизитТабличнойЧасти Из ТабличнаяЧасть.Реквизиты Цикл
|
||||||
Если СодержитСсылочныйТип(РеквизитТабличнойЧасти) Тогда
|
Если СодержитСсылочныйТип(РеквизитТабличнойЧасти) Тогда
|
||||||
|
Если РеквизитТабличнойЧасти.Имя = "ТочкаМаршрута" Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
Результат.Добавить(ТабличнаяЧасть.Имя + "." + РеквизитТабличнойЧасти.Имя);
|
Результат.Добавить(ТабличнаяЧасть.Имя + "." + РеквизитТабличнойЧасти.Имя);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1717,6 +1744,7 @@
|
|||||||
|
|
||||||
Процедура НайтиБитыеСсылкиВРегистрахНакопления(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
Процедура НайтиБитыеСсылкиВРегистрахНакопления(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
||||||
|
|
||||||
|
РазмерКэшаПроверенныхСсылок = РазмерКэшаПроверенныхСсылок();
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
Измерения = ОбъектМетаданных.Измерения;
|
Измерения = ОбъектМетаданных.Измерения;
|
||||||
Реквизиты = ОбъектМетаданных.Реквизиты;
|
Реквизиты = ОбъектМетаданных.Реквизиты;
|
||||||
@@ -1789,6 +1817,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПараметрыПроверки.КэшСсылок[ТекущаяСсылка] <> Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
@@ -1800,14 +1832,17 @@
|
|||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра накопления ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра накопления ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
||||||
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
||||||
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
||||||
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
||||||
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыПроверки.КэшСсылок.Количество() = РазмерКэшаПроверенныхСсылок Тогда
|
||||||
|
ПараметрыПроверки.КэшСсылок.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыПроверки.КэшСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2227,6 +2262,7 @@
|
|||||||
|
|
||||||
Процедура НайтиБитыеСсылкиВРегистрахБухгалтерии(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
Процедура НайтиБитыеСсылкиВРегистрахБухгалтерии(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
||||||
|
|
||||||
|
РазмерКэшаПроверенныхСсылок = РазмерКэшаПроверенныхСсылок();
|
||||||
Измерения = ОбъектМетаданных.Измерения;
|
Измерения = ОбъектМетаданных.Измерения;
|
||||||
Реквизиты = ОбъектМетаданных.Реквизиты;
|
Реквизиты = ОбъектМетаданных.Реквизиты;
|
||||||
СтандартныеРеквизиты = ОбъектМетаданных.СтандартныеРеквизиты;
|
СтандартныеРеквизиты = ОбъектМетаданных.СтандартныеРеквизиты;
|
||||||
@@ -2419,6 +2455,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПараметрыПроверки.КэшСсылок[ТекущаяСсылка] <> Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
@@ -2430,14 +2470,17 @@
|
|||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра бухгалтерии ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра бухгалтерии ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
||||||
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
||||||
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
||||||
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
||||||
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыПроверки.КэшСсылок.Количество() = РазмерКэшаПроверенныхСсылок Тогда
|
||||||
|
ПараметрыПроверки.КэшСсылок.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыПроверки.КэшСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2474,6 +2517,7 @@
|
|||||||
|
|
||||||
Процедура НайтиБитыеСсылкиВРегистрахРасчета(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
Процедура НайтиБитыеСсылкиВРегистрахРасчета(ОбъектМетаданных, ПараметрыПроверки, КэшБитыхСсылок)
|
||||||
|
|
||||||
|
РазмерКэшаПроверенныхСсылок = РазмерКэшаПроверенныхСсылок();
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
Измерения = ОбъектМетаданных.Измерения;
|
Измерения = ОбъектМетаданных.Измерения;
|
||||||
Реквизиты = ОбъектМетаданных.Реквизиты;
|
Реквизиты = ОбъектМетаданных.Реквизиты;
|
||||||
@@ -2563,6 +2607,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ПараметрыПроверки.КэшСсылок[ТекущаяСсылка] <> Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
Если КэшБитыхСсылок.Получить(ТекущаяСсылка) <> Неопределено Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
@@ -2574,14 +2622,17 @@
|
|||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
Если Не ОбщегоНазначения.СсылкаСуществует(ТекущаяСсылка) Тогда
|
||||||
|
|
||||||
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "")
|
||||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра расчета ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='У регистра расчета ""%1"" в %2, записи №%3 по регистратору ""%4"" указан несуществующий элемент: ""%5"".'"),
|
||||||
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
ОбъектМетаданных.Представление(), ПодчиненныйОбъект.ТипМетаданныхВТворительномПадеже,
|
||||||
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
Формат(СтрокаРезультата.НомерСтроки, "ЧГ=0"), СтрокаРезультата["РегистраторРеквизитПредставление"],
|
||||||
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
СтрокаРезультата[ПодчиненныйОбъект.ИмяМетаданных + ПодчиненныйОбъект.ТипМетаданныхВИменительномПадеже + "Представление"]);
|
||||||
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
КэшБитыхСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
|
Иначе
|
||||||
|
Если ПараметрыПроверки.КэшСсылок.Количество() = РазмерКэшаПроверенныхСсылок Тогда
|
||||||
|
ПараметрыПроверки.КэшСсылок.Очистить();
|
||||||
|
КонецЕсли;
|
||||||
|
ПараметрыПроверки.КэшСсылок.Вставить(ТекущаяСсылка, "");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2622,6 +2673,11 @@
|
|||||||
|
|
||||||
Процедура НайтиНезаполненныеОбязательныеРеквизиты(ОбъектМетаданных, ПараметрыПроверки)
|
Процедура НайтиНезаполненныеОбязательныеРеквизиты(ОбъектМетаданных, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
Реквизиты = ОбъектМетаданных.Реквизиты;
|
Реквизиты = ОбъектМетаданных.Реквизиты;
|
||||||
|
|
||||||
@@ -2642,13 +2698,19 @@
|
|||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = 0;
|
||||||
ОграничениеПоДате = ПараметрыПроверки.ДатаНачалаПроверки;
|
ОграничениеПоДате = ПараметрыПроверки.ДатаНачалаПроверки;
|
||||||
|
|
||||||
Пока Истина Цикл
|
Пока Истина Цикл
|
||||||
|
|
||||||
Если Результат.Количество() = 0 Тогда
|
Если Результат.Количество() = 0 Тогда
|
||||||
Прервать;
|
Прервать;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор + "." + ПолноеИмя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого СтрокаРезультата Из Результат Цикл
|
Для Каждого СтрокаРезультата Из Результат Цикл
|
||||||
|
|
||||||
СсылкаНаОбъект = СтрокаРезультата.ПроблемныйОбъект;
|
СсылкаНаОбъект = СтрокаРезультата.ПроблемныйОбъект;
|
||||||
@@ -2688,6 +2750,12 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = ОбщееКоличествоДанных + Результат.Количество();
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ОбщееКоличествоДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("Ссылка", СтрокаРезультата.ПроблемныйОбъект);
|
Запрос.УстановитьПараметр("Ссылка", СтрокаРезультата.ПроблемныйОбъект);
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
@@ -2729,6 +2797,11 @@
|
|||||||
|
|
||||||
Процедура НайтиНезаполненныеОбязательныеРеквизитыВПодчиненныхПериодическихРегистрах(ОбъектМетаданных, ПараметрыПроверки)
|
Процедура НайтиНезаполненныеОбязательныеРеквизитыВПодчиненныхПериодическихРегистрах(ОбъектМетаданных, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
Если ОбщегоНазначения.ЭтоРегистрРасчета(ОбъектМетаданных) Тогда
|
Если ОбщегоНазначения.ЭтоРегистрРасчета(ОбъектМетаданных) Тогда
|
||||||
|
|
||||||
@@ -2799,9 +2872,14 @@
|
|||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
||||||
|
ОбщееКоличествоДанных = 0;
|
||||||
|
|
||||||
Пока Результат.Количество() > 0 Цикл
|
Пока Результат.Количество() > 0 Цикл
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор + "." + ПолноеИмя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого СтрокаРезультата Из Результат Цикл
|
Для Каждого СтрокаРезультата Из Результат Цикл
|
||||||
|
|
||||||
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
||||||
@@ -2828,6 +2906,12 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = ОбщееКоличествоДанных + Результат.Количество();
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ОбщееКоличествоДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("ДатаНачалаПроверки", СтрокаРезультата.Период);
|
Запрос.УстановитьПараметр("ДатаНачалаПроверки", СтрокаРезультата.Период);
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
@@ -2837,6 +2921,11 @@
|
|||||||
|
|
||||||
Процедура НайтиНезаполненныеОбязательныеРеквизитыВПодчиненныхНепериодическихРегистрах(ОбъектМетаданных, ПараметрыПроверки)
|
Процедура НайтиНезаполненныеОбязательныеРеквизитыВПодчиненныхНепериодическихРегистрах(ОбъектМетаданных, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
|
|
||||||
Запрос = Новый Запрос(
|
Запрос = Новый Запрос(
|
||||||
@@ -2859,9 +2948,14 @@
|
|||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
||||||
|
ОбщееКоличествоДанных = 0;
|
||||||
|
|
||||||
Пока Результат.Количество() > 0 Цикл
|
Пока Результат.Количество() > 0 Цикл
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор + "." + ПолноеИмя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого СтрокаРезультата Из Результат Цикл
|
Для Каждого СтрокаРезультата Из Результат Цикл
|
||||||
|
|
||||||
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
||||||
@@ -2887,6 +2981,12 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = ОбщееКоличествоДанных + Результат.Количество();
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ОбщееКоличествоДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("Регистратор", СтрокаРезультата.РегистраторРеквизитСсылка);
|
Запрос.УстановитьПараметр("Регистратор", СтрокаРезультата.РегистраторРеквизитСсылка);
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
@@ -2896,6 +2996,11 @@
|
|||||||
|
|
||||||
Процедура НайтиНезаполненныеОбязательныеРеквизитыВНезависимыхНепериодическихРегистрахСведений(ОбъектМетаданных, ПараметрыПроверки)
|
Процедура НайтиНезаполненныеОбязательныеРеквизитыВНезависимыхНепериодическихРегистрахСведений(ОбъектМетаданных, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
||||||
Условие = "";
|
Условие = "";
|
||||||
@@ -2922,6 +3027,8 @@
|
|||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки", ПоляВыборки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки", ПоляВыборки);
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = 0;
|
||||||
|
|
||||||
Запрос = Новый Запрос(ТекстЗапроса);
|
Запрос = Новый Запрос(ТекстЗапроса);
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
@@ -2933,6 +3040,10 @@
|
|||||||
Прервать;
|
Прервать;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор + "." + ПолноеИмя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого СтрокаРезультата Из Результат Цикл
|
Для Каждого СтрокаРезультата Из Результат Цикл
|
||||||
|
|
||||||
Если Не ЭтоПервыйПроход И Результат.Индекс(СтрокаРезультата) = 0 Тогда
|
Если Не ЭтоПервыйПроход И Результат.Индекс(СтрокаРезультата) = 0 Тогда
|
||||||
@@ -2980,6 +3091,12 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = ОбщееКоличествоДанных + Результат.Количество();
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ОбщееКоличествоДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЭтоПервыйПроход Тогда
|
Если ЭтоПервыйПроход Тогда
|
||||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, УсловиеПервогоПрохода, "Где " + Условие);
|
Запрос.Текст = СтрЗаменить(Запрос.Текст, УсловиеПервогоПрохода, "Где " + Условие);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -2996,6 +3113,11 @@
|
|||||||
|
|
||||||
Процедура НайтиНезаполненныеОбязательныеРеквизитыВНезависимыхПериодическихРегистрахСведений(ОбъектМетаданных, ПараметрыПроверки)
|
Процедура НайтиНезаполненныеОбязательныеРеквизитыВНезависимыхПериодическихРегистрахСведений(ОбъектМетаданных, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульОценкаПроизводительности = Неопределено;
|
||||||
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||||
|
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
МенеджерРегистра = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
||||||
УсловиеПоИзмерениям = "";
|
УсловиеПоИзмерениям = "";
|
||||||
@@ -3029,6 +3151,8 @@
|
|||||||
Запрос = Новый Запрос(ТекстПервогоЗапроса);
|
Запрос = Новый Запрос(ТекстПервогоЗапроса);
|
||||||
Запрос.УстановитьПараметр("Период", ПараметрыПроверки.ДатаНачалаПроверки);
|
Запрос.УстановитьПараметр("Период", ПараметрыПроверки.ДатаНачалаПроверки);
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = 0;
|
||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
ЭтоПервыйПроход = Истина;
|
ЭтоПервыйПроход = Истина;
|
||||||
|
|
||||||
@@ -3039,6 +3163,10 @@
|
|||||||
Прервать;
|
Прервать;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
ОписаниеЗамера = МодульОценкаПроизводительности.НачатьЗамерДлительнойОперации(ПараметрыПроверки.Идентификатор + "." + ПолноеИмя);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого СтрокаРезультата Из Результат Цикл
|
Для Каждого СтрокаРезультата Из Результат Цикл
|
||||||
|
|
||||||
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
ТекущийНаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
|
||||||
@@ -3090,6 +3218,12 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбщееКоличествоДанных = ОбщееКоличествоДанных + Результат.Количество();
|
||||||
|
|
||||||
|
Если МодульОценкаПроизводительности <> Неопределено Тогда
|
||||||
|
МодульОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, ОбщееКоличествоДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЭтоПервыйПроход Тогда
|
Если ЭтоПервыйПроход Тогда
|
||||||
ЭтоПервыйПроход = Ложь;
|
ЭтоПервыйПроход = Ложь;
|
||||||
Запрос.Текст = ТекстЗапросаСУсловием;
|
Запрос.Текст = ТекстЗапросаСУсловием;
|
||||||
@@ -3166,6 +3300,11 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция РазмерКэшаПроверенныхСсылок()
|
||||||
|
|
||||||
|
Возврат 100000;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаНезаполненныхОбязательныхРеквизитов";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаНезаполненныхОбязательныхРеквизитов";
|
||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьНезаполненныеОбязательныеРеквизиты";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьНезаполненныеОбязательныеРеквизиты";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Проверка = Проверки.Добавить();
|
Проверка = Проверки.Добавить();
|
||||||
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
||||||
@@ -99,6 +100,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаСсылочнойЦелостности";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаСсылочнойЦелостности";
|
||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьСсылочнуюЦелостность";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьСсылочнуюЦелостность";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Проверка = Проверки.Добавить();
|
Проверка = Проверки.Добавить();
|
||||||
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
||||||
@@ -116,6 +118,7 @@
|
|||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьЦиклическиеСсылки";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьЦиклическиеСсылки";
|
||||||
Проверка.ОбработчикПереходаКИсправлению = "Отчет.РезультатыПроверкиУчета.Форма.ИсправлениеЦиклическихСсылок";
|
Проверка.ОбработчикПереходаКИсправлению = "Отчет.РезультатыПроверкиУчета.Форма.ИсправлениеЦиклическихСсылок";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Проверка = Проверки.Добавить();
|
Проверка = Проверки.Добавить();
|
||||||
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
||||||
@@ -127,6 +130,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаОтсутствующихПредопределенныхЭлементов";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаОтсутствующихПредопределенныхЭлементов";
|
||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьОтсутствующиеПредопределенныеЭлементы";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьОтсутствующиеПредопределенныеЭлементы";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Проверка = Проверки.Добавить();
|
Проверка = Проверки.Добавить();
|
||||||
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
||||||
@@ -138,6 +142,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаДублированияПредопределенныхЭлементов";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаДублированияПредопределенныхЭлементов";
|
||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьДублированиеПредопределенныхЭлементов";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьДублированиеПредопределенныхЭлементов";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Проверка = Проверки.Добавить();
|
Проверка = Проверки.Добавить();
|
||||||
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
Проверка.ИдентификаторГруппы = ГруппаПроверок.Идентификатор;
|
||||||
@@ -155,6 +160,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаОтсутствияПредопределенныхУзловПлановОбмена";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаОтсутствияПредопределенныхУзловПлановОбмена";
|
||||||
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьНаличиеПредопределенныхУзловПлановОбмена";
|
Проверка.ОбработчикПроверки = "КонтрольВеденияУчетаСлужебный.ПроверитьНаличиеПредопределенныхУзловПлановОбмена";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
|
||||||
|
|
||||||
@@ -168,6 +174,7 @@
|
|||||||
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаСсылокНаНесуществующиеФайлыВТоме";
|
Проверка.Идентификатор = "СтандартныеПодсистемы.ПроверкаСсылокНаНесуществующиеФайлыВТоме";
|
||||||
Проверка.ОбработчикПроверки = "РаботаСФайламиСлужебный.ПроверкаСсылокНаНесуществующиеФайлыВТоме";
|
Проверка.ОбработчикПроверки = "РаботаСФайламиСлужебный.ПроверкаСсылокНаНесуществующиеФайлыВТоме";
|
||||||
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
Проверка.КонтекстПроверокВеденияУчета = "СистемныеПроверки";
|
||||||
|
Проверка.Отключена = Истина;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -240,6 +247,7 @@
|
|||||||
// * ДополнительныеПараметры - ХранилищеЗначений - Дополнительная информация о проверке для программного
|
// * ДополнительныеПараметры - ХранилищеЗначений - Дополнительная информация о проверке для программного
|
||||||
// использования.
|
// использования.
|
||||||
// * Комментарий - Строка - комментарий к проверке.
|
// * Комментарий - Строка - комментарий к проверке.
|
||||||
|
// * Отключена - Булево - если Истина, то проверка не будет выполняться в фоне по расписанию.
|
||||||
//
|
//
|
||||||
Функция НоваяТаблицаПроверок()
|
Функция НоваяТаблицаПроверок()
|
||||||
|
|
||||||
@@ -261,6 +269,7 @@
|
|||||||
КолонкиПроверок.Добавить("ДополнительныеПараметры", Новый ОписаниеТипов("ХранилищеЗначения"));
|
КолонкиПроверок.Добавить("ДополнительныеПараметры", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
КолонкиПроверок.Добавить("ИдентификаторРодителя", Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(256)));
|
КолонкиПроверок.Добавить("ИдентификаторРодителя", Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(256)));
|
||||||
КолонкиПроверок.Добавить("Комментарий", Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(256)));
|
КолонкиПроверок.Добавить("Комментарий", Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(256)));
|
||||||
|
КолонкиПроверок.Добавить("Отключена", Новый ОписаниеТипов("Булево"));
|
||||||
|
|
||||||
Возврат Проверки;
|
Возврат Проверки;
|
||||||
|
|
||||||
|
|||||||
@@ -1027,13 +1027,39 @@
|
|||||||
// Выполнение ПКС для ТЧ
|
// Выполнение ПКС для ТЧ
|
||||||
Если СтекВыгрузки.Количество() = 1 Тогда
|
Если СтекВыгрузки.Количество() = 1 Тогда
|
||||||
|
|
||||||
|
// Формируем структуру новых табличных частей по ПКС.
|
||||||
|
СвойстваТЧПриемника = Новый Структура;
|
||||||
Для Каждого ТЧИСвойства Из ПравилоКонвертации.СвойстваТабличныхЧастей Цикл
|
Для Каждого ТЧИСвойства Из ПравилоКонвертации.СвойстваТабличныхЧастей Цикл
|
||||||
|
|
||||||
Если НЕ ТЧИСвойства.ИспользуетсяАлгоритмКонвертации Тогда
|
ИмяТЧПриемника = ТЧИСвойства.ТЧФормата;
|
||||||
|
|
||||||
|
Если ПустаяСтрока(ИмяТЧПриемника) Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не СвойстваТЧПриемника.Свойство(ИмяТЧПриемника) Тогда
|
||||||
|
ТаблицаПКС = Новый ТаблицаЗначений;
|
||||||
|
ТаблицаПКС.Колонки.Добавить("СвойствоФормата", Новый ОписаниеТипов("Строка"));
|
||||||
|
|
||||||
|
СвойстваТЧПриемника.Вставить(ИмяТЧПриемника, ТаблицаПКС);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого ПКС Из ТЧИСвойства.Свойства Цикл
|
||||||
|
СтрокаСвойство = СвойстваТЧПриемника[ИмяТЧПриемника].Добавить();
|
||||||
|
СтрокаСвойство.СвойствоФормата = ПКС.СвойствоФормата;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого ТЧИСвойства Из ПравилоКонвертации.СвойстваТабличныхЧастей Цикл
|
||||||
|
|
||||||
|
Если Не ТЧИСвойства.ИспользуетсяАлгоритмКонвертации Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПКСДляТЧ = ТЧИСвойства.Свойства;
|
ПКСДляТЧ = ТЧИСвойства.Свойства;
|
||||||
ИмяТЧПриемника = ТЧИСвойства.ТЧФормата;
|
ИмяТЧПриемника = ТЧИСвойства.ТЧФормата;
|
||||||
|
|
||||||
ТЧПриемника = Неопределено;
|
ТЧПриемника = Неопределено;
|
||||||
Если Не ЗначениеЗаполнено(ИмяТЧПриемника)
|
Если Не ЗначениеЗаполнено(ИмяТЧПриемника)
|
||||||
Или Не Приемник.Свойство(ИмяТЧПриемника, ТЧПриемника) Тогда
|
Или Не Приемник.Свойство(ИмяТЧПриемника, ТЧПриемника) Тогда
|
||||||
@@ -1041,7 +1067,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Создаем новую ТЗ, в которой нет ограничений типа для колонок.
|
// Создаем новую ТЗ, в которой нет ограничений типа для колонок.
|
||||||
НоваяТЧПриемника = СоздатьТЧПриемникаПоПКС(ПКСДляТЧ);
|
НоваяТЧПриемника = СоздатьТЧПриемникаПоПКС(СвойстваТЧПриемника[ИмяТЧПриемника]);
|
||||||
|
|
||||||
// Убираем лишние колонки, которые могли добавить в приемнике.
|
// Убираем лишние колонки, которые могли добавить в приемнике.
|
||||||
УдаляемыеКолонки = Новый Массив;
|
УдаляемыеКолонки = Новый Массив;
|
||||||
@@ -2456,12 +2482,6 @@
|
|||||||
|
|
||||||
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
||||||
|
|
||||||
СведенияОВерсииОбъекта = Новый Структура;
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ОтложеннаяОбработка", Истина);
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", "ИзмененоПользователем");
|
|
||||||
СведенияОВерсииОбъекта.Вставить("АвторВерсии", УзелКорреспондента);
|
|
||||||
Объект.ДополнительныеСвойства.Вставить("СведенияОВерсииОбъекта", СведенияОВерсииОбъекта);
|
|
||||||
|
|
||||||
// Выполняем попытку проведения документа.
|
// Выполняем попытку проведения документа.
|
||||||
Объект.Записать(РежимЗаписиДокумента.Проведение);
|
Объект.Записать(РежимЗаписиДокумента.Проведение);
|
||||||
|
|
||||||
@@ -4469,12 +4489,6 @@
|
|||||||
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
||||||
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
||||||
|
|
||||||
СведенияОВерсииОбъекта = Новый Структура;
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ОтложеннаяОбработка", Истина);
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", "ИзмененоПользователем");
|
|
||||||
СведенияОВерсииОбъекта.Вставить("АвторВерсии", КомпонентыОбмена.УзелКорреспондента);
|
|
||||||
Объект.ДополнительныеСвойства.Вставить("СведенияОВерсииОбъекта", СведенияОВерсииОбъекта);
|
|
||||||
|
|
||||||
// Выполняем попытку записи объекта.
|
// Выполняем попытку записи объекта.
|
||||||
Объект.Записать();
|
Объект.Записать();
|
||||||
|
|
||||||
|
|||||||
@@ -2319,6 +2319,7 @@
|
|||||||
|////////////////////////////////////////////////////////////////////////////////
|
|////////////////////////////////////////////////////////////////////////////////
|
||||||
|ВЫБРАТЬ
|
|ВЫБРАТЬ
|
||||||
| ПланыОбмена.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
| ПланыОбмена.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||||
|
| ПланыОбмена.Наименование КАК НаименованиеКорреспондента,
|
||||||
|
|
|
|
||||||
| [ДополнительныеСвойстваПланаОбмена]
|
| [ДополнительныеСвойстваПланаОбмена]
|
||||||
|
|
|
|
||||||
|
|||||||
@@ -1158,6 +1158,11 @@
|
|||||||
|
|
||||||
Иначе // реквизиты ТЧ объекта
|
Иначе // реквизиты ТЧ объекта
|
||||||
|
|
||||||
|
// Проверка, что это ТЧ объекта, а не таблица регистра.
|
||||||
|
Если Объект.Метаданные().ТабличныеЧасти.Найти(СтрокаТаблицыРеквизитовРегистрации.ИмяТабличнойЧасти) = Неопределено Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ТаблицаРеквизитовРегистрацииВерсияОбъектаДоИзменения = РеквизитыРегистрацииТабличнойЧастиДоИзменения(Объект, СтрокаТаблицыРеквизитовРегистрации);
|
ТаблицаРеквизитовРегистрацииВерсияОбъектаДоИзменения = РеквизитыРегистрацииТабличнойЧастиДоИзменения(Объект, СтрокаТаблицыРеквизитовРегистрации);
|
||||||
|
|
||||||
ТаблицаРеквизитовРегистрацииВерсияОбъектаПослеИзменения = РеквизитыРегистрацииТабличнойЧастиПослеИзменения(Объект, СтрокаТаблицыРеквизитовРегистрации);
|
ТаблицаРеквизитовРегистрацииВерсияОбъектаПослеИзменения = РеквизитыРегистрацииТабличнойЧастиПослеИзменения(Объект, СтрокаТаблицыРеквизитовРегистрации);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||||
|
|
||||||
Описание.Имя = "СтандартныеПодсистемы";
|
Описание.Имя = "СтандартныеПодсистемы";
|
||||||
Описание.Версия = "2.4.6.97";
|
Описание.Версия = "2.4.6.117";
|
||||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,14 @@
|
|||||||
Обработчик.Приоритет = 80;
|
Обработчик.Приоритет = 80;
|
||||||
Обработчик.МонопольныйРежим = Истина;
|
Обработчик.МонопольныйРежим = Истина;
|
||||||
|
|
||||||
|
Если РаботаВМоделиСервиса.РазделениеВключено() Тогда
|
||||||
|
Обработчик = Обработчики.Добавить();
|
||||||
|
Обработчик.Версия = "2.4.6.105";
|
||||||
|
Обработчик.Процедура = "ОчередьЗаданийСлужебный.ЗапланироватьНеАктивныеЗадания";
|
||||||
|
Обработчик.ОбщиеДанные = Истина;
|
||||||
|
Обработчик.РежимВыполнения = "Оперативно";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// См. ЗагрузкаДанныхИзФайлаПереопределяемый.ПриОпределенииСправочниковДляЗагрузкиДанных.
|
// См. ЗагрузкаДанныхИзФайлаПереопределяемый.ПриОпределенииСправочниковДляЗагрузкиДанных.
|
||||||
@@ -699,6 +707,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИсходнаяДатаДляПроверки = ДатаДляПроверки;
|
ИсходнаяДатаДляПроверки = ДатаДляПроверки;
|
||||||
|
ВремяНачалаПоследнегоЗапуска = '00010101' + (ДатаНачалаПоследнегоЗапуска - НачалоДня(ДатаНачалаПоследнегоЗапуска));
|
||||||
|
|
||||||
// Границы по датам
|
// Границы по датам
|
||||||
Если ЗначениеЗаполнено(Расписание.ДатаКонца)
|
Если ЗначениеЗаполнено(Расписание.ДатаКонца)
|
||||||
@@ -863,15 +872,17 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Учет времени
|
// Учет времени
|
||||||
|
ВремяДляПроверки = '00010101' + (ДатаДляПроверки - НачалоДня(ДатаДляПроверки));
|
||||||
|
|
||||||
Если Расписание.ДетальныеРасписанияДня.Количество() = 0 Тогда
|
Если Расписание.ДетальныеРасписанияДня.Количество() = 0 Тогда
|
||||||
ДетальныеРасписания = Новый Массив;
|
ДетальныеРасписания = Новый Массив;
|
||||||
ДетальныеРасписания.Добавить(Расписание);
|
ДетальныеРасписания.Добавить(Расписание);
|
||||||
ВремяДляПроверки = ДатаДляПроверки;
|
|
||||||
ВремяНачалаПоследнегоЗапуска = ДатаНачалаПоследнегоЗапуска;
|
|
||||||
Иначе
|
Иначе
|
||||||
ДетальныеРасписания = Расписание.ДетальныеРасписанияДня;
|
ДетальныеРасписания = Расписание.ДетальныеРасписанияДня;
|
||||||
ВремяДляПроверки = '00010101' + (ДатаДляПроверки - НачалоДня(ДатаДляПроверки));
|
|
||||||
ВремяНачалаПоследнегоЗапуска = '00010101' + (ДатаНачалаПоследнегоЗапуска - НачалоДня(ДатаНачалаПоследнегоЗапуска));
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Если у нас есть промежутки, с переходом через полночь, то разбиваем их на два промежутка.
|
// Если у нас есть промежутки, с переходом через полночь, то разбиваем их на два промежутка.
|
||||||
@@ -1482,25 +1493,14 @@
|
|||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
Расписание = Выборка.Расписание.Получить();
|
Расписание = Выборка.Расписание.Получить();
|
||||||
Если Расписание <> Неопределено Тогда
|
|
||||||
|
|
||||||
Задание.ЗапланированныйМоментЗапуска = ПолучитьЗапланированныйМоментЗапускаЗадания(
|
Если Расписание = Неопределено Или (Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Завершено
|
||||||
Расписание, ЧасовойПояс, Задание.ДатаНачалаПоследнегоЗапуска, Задание.ДатаЗавершенияПоследнегоЗапуска);
|
И Расписание.ПериодПовтораДней = 0 И Расписание.ПериодПовтораВТечениеДня = 0) Тогда
|
||||||
Задание.НомерПопытки = 0;
|
|
||||||
Если ЗначениеЗаполнено(Задание.ЗапланированныйМоментЗапуска) Тогда
|
|
||||||
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Запланировано;
|
|
||||||
Иначе
|
|
||||||
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.НеАктивно;
|
|
||||||
КонецЕсли;
|
|
||||||
Задание.ИсполняющееФоновоеЗадание = Неопределено;
|
|
||||||
РаботаВМоделиСервиса.ЗаписатьВспомогательныеДанные(Задание);
|
|
||||||
|
|
||||||
Иначе // Нет расписания
|
|
||||||
|
|
||||||
Если РаботаВМоделиСервисаПовтИсп.ЭтоРазделеннаяКонфигурация() И РаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(
|
Если РаботаВМоделиСервисаПовтИсп.ЭтоРазделеннаяКонфигурация() И РаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(
|
||||||
Задание.Метаданные().ПолноеИмя(),
|
Задание.Метаданные().ПолноеИмя(),
|
||||||
РаботаВМоделиСервиса.РазделительВспомогательныхДанных()) Тогда
|
РаботаВМоделиСервиса.РазделительВспомогательныхДанных()) Тогда
|
||||||
Если ЗначениеЗаполнено(Задание.Шаблон) Тогда // Задание по шаблону без расписания.
|
Если Расписание = Неопределено И ЗначениеЗаполнено(Задание.Шаблон) Тогда // Задание по шаблону без расписания.
|
||||||
|
|
||||||
ШаблонСообщения = НСтр("ru = 'Для шаблон заданий очереди %1 не найдено расписание'");
|
ШаблонСообщения = НСтр("ru = 'Для шаблон заданий очереди %1 не найдено расписание'");
|
||||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Задание.Шаблон);
|
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Задание.Шаблон);
|
||||||
@@ -1522,6 +1522,19 @@
|
|||||||
Задание.ОбменДанными.Загрузка = Истина;
|
Задание.ОбменДанными.Загрузка = Истина;
|
||||||
Задание.Удалить();
|
Задание.Удалить();
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Задание.ЗапланированныйМоментЗапуска = ПолучитьЗапланированныйМоментЗапускаЗадания(
|
||||||
|
Расписание, ЧасовойПояс, Задание.ДатаНачалаПоследнегоЗапуска, Задание.ДатаЗавершенияПоследнегоЗапуска);
|
||||||
|
Задание.НомерПопытки = 0;
|
||||||
|
Если ЗначениеЗаполнено(Задание.ЗапланированныйМоментЗапуска) Тогда
|
||||||
|
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Запланировано;
|
||||||
|
Иначе
|
||||||
|
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.НеАктивно;
|
||||||
|
КонецЕсли;
|
||||||
|
Задание.ИсполняющееФоновоеЗадание = Неопределено;
|
||||||
|
РаботаВМоделиСервиса.ЗаписатьВспомогательныеДанные(Задание);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1817,4 +1830,146 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗапланироватьНеАктивныеЗадания() Экспорт
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
|
||||||
|
СправочникиЗаданий = ОчередьЗаданийСлужебныйПовтИсп.ПолучитьСправочникиЗаданий();
|
||||||
|
ТекстЗапроса = "";
|
||||||
|
Для Каждого СправочникЗаданий Из СправочникиЗаданий Цикл
|
||||||
|
|
||||||
|
Если Не ПустаяСтрока(ТекстЗапроса) Тогда
|
||||||
|
|
||||||
|
ТекстЗапроса = ТекстЗапроса + "
|
||||||
|
|
|
||||||
|
|ОБЪЕДИНИТЬ ВСЕ
|
||||||
|
|"
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если РаботаВМоделиСервисаПовтИсп.ЭтоРазделеннаяКонфигурация() И РаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(СправочникЗаданий.СоздатьЭлемент().Метаданные().ПолноеИмя(), РаботаВМоделиСервиса.РазделительВспомогательныхДанных()) Тогда
|
||||||
|
|
||||||
|
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| Очередь.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных,
|
||||||
|
| Очередь.Ссылка КАК Идентификатор,
|
||||||
|
| ЕСТЬNULL(Очередь.Шаблон, НЕОПРЕДЕЛЕНО) КАК Шаблон,
|
||||||
|
| ЕСТЬNULL(ЧасовыеПояса.Значение, """") КАК ЧасовойПояс,
|
||||||
|
| ВЫБОР
|
||||||
|
| КОГДА Очередь.Шаблон = ЗНАЧЕНИЕ(Справочник.ШаблоныЗаданийОчереди.ПустаяСсылка)
|
||||||
|
| ТОГДА Очередь.Расписание
|
||||||
|
| ИНАЧЕ Очередь.Шаблон.Расписание
|
||||||
|
| КОНЕЦ КАК Расписание,
|
||||||
|
| ВЫБОР
|
||||||
|
| КОГДА Очередь.Шаблон = ЗНАЧЕНИЕ(Справочник.ШаблоныЗаданийОчереди.ПустаяСсылка)
|
||||||
|
| ТОГДА Очередь.КоличествоПовторовПриАварийномЗавершении
|
||||||
|
| ИНАЧЕ Очередь.Шаблон.КоличествоПовторовПриАварийномЗавершении
|
||||||
|
| КОНЕЦ КАК КоличествоПовторовПриАварийномЗавершении,
|
||||||
|
| ВЫБОР
|
||||||
|
| КОГДА Очередь.Шаблон = ЗНАЧЕНИЕ(Справочник.ШаблоныЗаданийОчереди.ПустаяСсылка)
|
||||||
|
| ТОГДА Очередь.ИнтервалПовтораПриАварийномЗавершении
|
||||||
|
| ИНАЧЕ Очередь.Шаблон.ИнтервалПовтораПриАварийномЗавершении
|
||||||
|
| КОНЕЦ КАК ИнтервалПовтораПриАварийномЗавершении
|
||||||
|
|ИЗ
|
||||||
|
| %1 КАК Очередь
|
||||||
|
| ЛЕВОЕ СОЕДИНЕНИЕ Константа.ЧасовойПоясОбластиДанных КАК ЧасовыеПояса
|
||||||
|
| ПО Очередь.ОбластьДанныхВспомогательныеДанные = ЧасовыеПояса.ОбластьДанныхВспомогательныеДанные
|
||||||
|
|ГДЕ
|
||||||
|
| Очередь.СостояниеЗадания = ЗНАЧЕНИЕ(Перечисление.СостоянияЗаданий.НеАктивно)
|
||||||
|
| И Очередь.Использование"
|
||||||
|
, СправочникЗаданий.ПустаяСсылка().Метаданные().ПолноеИмя());
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| -1 КАК ОбластьДанных,
|
||||||
|
| Очередь.Ссылка КАК Идентификатор,
|
||||||
|
| НЕОПРЕДЕЛЕНО КАК Шаблон,
|
||||||
|
| """" КАК ЧасовойПояс,
|
||||||
|
| Очередь.Расписание КАК Расписание,
|
||||||
|
| Очередь.КоличествоПовторовПриАварийномЗавершении КАК КоличествоПовторовПриАварийномЗавершении,
|
||||||
|
| Очередь.ИнтервалПовтораПриАварийномЗавершении КАК ИнтервалПовтораПриАварийномЗавершении
|
||||||
|
|ИЗ
|
||||||
|
| %1 КАК Очередь
|
||||||
|
|ГДЕ
|
||||||
|
| Очередь.СостояниеЗадания = ЗНАЧЕНИЕ(Перечисление.СостоянияЗаданий.НеАктивно)
|
||||||
|
| И Очередь.Использование"
|
||||||
|
, СправочникЗаданий.ПустаяСсылка().Метаданные().ПолноеИмя());
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Запрос.Текст = ТекстЗапроса;
|
||||||
|
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
|
||||||
|
Пока Выборка.Следующий() Цикл
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Выборка.ЧасовойПояс) Тогда
|
||||||
|
ЧасовойПояс = Выборка.ЧасовойПояс;
|
||||||
|
Иначе
|
||||||
|
ЧасовойПояс = Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Выборка.Шаблон) Тогда
|
||||||
|
ИмяМетода = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Выборка.Шаблон, "ИмяМетода");
|
||||||
|
Иначе
|
||||||
|
ИмяМетода = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Выборка.Идентификатор, "ИмяМетода");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НачатьТранзакцию();
|
||||||
|
Попытка
|
||||||
|
|
||||||
|
Блокировка = Новый БлокировкаДанных;
|
||||||
|
ЭлементБлокировки = Блокировка.Добавить(Выборка.Идентификатор.Метаданные().ПолноеИмя());
|
||||||
|
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Идентификатор);
|
||||||
|
Блокировка.Заблокировать();
|
||||||
|
|
||||||
|
Задание = Выборка.Идентификатор.ПолучитьОбъект();
|
||||||
|
|
||||||
|
Расписание = Выборка.Расписание.Получить();
|
||||||
|
|
||||||
|
// Если это задания периодические (не одноразовые)
|
||||||
|
Если (Расписание <> Неопределено И (Расписание.ПериодПовтораДней <> 0 Или Расписание.ПериодПовтораВТечениеДня <> 0)) Тогда
|
||||||
|
|
||||||
|
Задание.ЗапланированныйМоментЗапуска = ПолучитьЗапланированныйМоментЗапускаЗадания(
|
||||||
|
Расписание, ЧасовойПояс, Задание.ДатаНачалаПоследнегоЗапуска, Задание.ДатаЗавершенияПоследнегоЗапуска);
|
||||||
|
Задание.НомерПопытки = 0;
|
||||||
|
Если ЗначениеЗаполнено(Задание.ЗапланированныйМоментЗапуска) Тогда
|
||||||
|
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Запланировано;
|
||||||
|
Иначе
|
||||||
|
Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.НеАктивно;
|
||||||
|
КонецЕсли;
|
||||||
|
Задание.ИсполняющееФоновоеЗадание = Неопределено;
|
||||||
|
Задание.ОбменДанными.Загрузка = Истина;
|
||||||
|
Задание.Записать();
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗафиксироватьТранзакцию();
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
|
||||||
|
ОтменитьТранзакцию();
|
||||||
|
|
||||||
|
ТекстСообщения = НСтр("ru = 'Задание не удалось обновить
|
||||||
|
|ОбластьДанных: %1
|
||||||
|
|Имя метода: %2'");
|
||||||
|
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Строка(Выборка.ОбластьДанных), ИмяМетода);
|
||||||
|
|
||||||
|
ЗаписьЖурналаРегистрации(
|
||||||
|
НСтр("ru = 'Обновление очереди заданий'",
|
||||||
|
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||||
|
УровеньЖурналаРегистрации.Ошибка,,,
|
||||||
|
ТекстСообщения);
|
||||||
|
|
||||||
|
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -518,7 +518,9 @@
|
|||||||
Письмо.АдресаУведомленияОПрочтении.Добавить(РеквизитыОтправителя.АдресЭлектроннойПочты);
|
Письмо.АдресаУведомленияОПрочтении.Добавить(РеквизитыОтправителя.АдресЭлектроннойПочты);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТипЗнч(Соединение) <> Тип("ИнтернетПочта") Тогда
|
СоздаватьСоединение = ТипЗнч(Соединение) <> Тип("ИнтернетПочта");
|
||||||
|
Если СоздаватьСоединение Тогда
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись);
|
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись);
|
||||||
Соединение = Новый ИнтернетПочта;
|
Соединение = Новый ИнтернетПочта;
|
||||||
Соединение.Подключиться(Профиль);
|
Соединение.Подключиться(Профиль);
|
||||||
@@ -527,13 +529,17 @@
|
|||||||
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения,
|
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения,
|
||||||
?(ПротоколПочты = "IMAP", ПротоколИнтернетПочты.IMAP, ПротоколИнтернетПочты.SMTP));
|
?(ПротоколПочты = "IMAP", ПротоколИнтернетПочты.IMAP, ПротоколИнтернетПочты.SMTP));
|
||||||
|
|
||||||
|
Если СоздаватьСоединение Тогда
|
||||||
|
Соединение.Отключиться();
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПараметрыОтправки.Вставить("ИдентификаторСообщения", Письмо.ИдентификаторСообщения);
|
ПараметрыОтправки.Вставить("ИдентификаторСообщения", Письмо.ИдентификаторСообщения);
|
||||||
ПараметрыОтправки.Вставить("ОшибочныеПолучатели", ОшибочныеПолучатели);
|
ПараметрыОтправки.Вставить("ОшибочныеПолучатели", ОшибочныеПолучатели);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ЗагрузитьСообщения(Знач УчетнаяЗапись,
|
Функция ЗагрузитьСообщения(Знач УчетнаяЗапись, Знач ПараметрыЗагрузки = Неопределено) Экспорт
|
||||||
Знач ПараметрыЗагрузки = Неопределено) Экспорт
|
|
||||||
|
|
||||||
// Используется для проверки возможности входа на почтовый ящик.
|
// Используется для проверки возможности входа на почтовый ящик.
|
||||||
Перем РежимТестирования;
|
Перем РежимТестирования;
|
||||||
@@ -559,7 +565,9 @@
|
|||||||
ПолучениеЗаголовков = Ложь;
|
ПолучениеЗаголовков = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись, Истина);
|
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись, Истина);
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||||
|
|
||||||
Если ПараметрыЗагрузки.Свойство("ЗаголовкиИдентификаторы") Тогда
|
Если ПараметрыЗагрузки.Свойство("ЗаголовкиИдентификаторы") Тогда
|
||||||
ЗаголовкиИдентификаторы = ПараметрыЗагрузки.ЗаголовкиИдентификаторы;
|
ЗаголовкиИдентификаторы = ПараметрыЗагрузки.ЗаголовкиИдентификаторы;
|
||||||
@@ -569,13 +577,13 @@
|
|||||||
|
|
||||||
НаборСообщенийДляУдаления = Новый Массив;
|
НаборСообщенийДляУдаления = Новый Массив;
|
||||||
|
|
||||||
Соединение = Новый ИнтернетПочта;
|
|
||||||
|
|
||||||
Протокол = ПротоколИнтернетПочты.POP3;
|
Протокол = ПротоколИнтернетПочты.POP3;
|
||||||
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УчетнаяЗапись, "ПротоколВходящейПочты") = "IMAP" Тогда
|
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УчетнаяЗапись, "ПротоколВходящейПочты") = "IMAP" Тогда
|
||||||
Протокол = ПротоколИнтернетПочты.IMAP;
|
Протокол = ПротоколИнтернетПочты.IMAP;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
|
Соединение = Новый ИнтернетПочта;
|
||||||
Соединение.Подключиться(Профиль, Протокол);
|
Соединение.Подключиться(Профиль, Протокол);
|
||||||
|
|
||||||
Если ПолучениеЗаголовков Тогда
|
Если ПолучениеЗаголовков Тогда
|
||||||
@@ -612,6 +620,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Соединение.Отключиться();
|
Соединение.Отключиться();
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||||
|
|
||||||
Если РежимТестирования Тогда
|
Если РежимТестирования Тогда
|
||||||
Возврат Истина;
|
Возврат Истина;
|
||||||
@@ -877,6 +886,7 @@
|
|||||||
|
|
||||||
Процедура ПроверитьВозможностьПодключенияКПочтовомуСерверу(Знач УчетнаяЗапись, ВходящаяПочта)
|
Процедура ПроверитьВозможностьПодключенияКПочтовомуСерверу(Знач УчетнаяЗапись, ВходящаяПочта)
|
||||||
|
|
||||||
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись, ВходящаяПочта);
|
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись, ВходящаяПочта);
|
||||||
Соединение = Новый ИнтернетПочта;
|
Соединение = Новый ИнтернетПочта;
|
||||||
|
|
||||||
|
|||||||
@@ -1445,6 +1445,11 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДоступныеТома = ДоступныеТома(ПараметрыПроверки);
|
||||||
|
Если ДоступныеТома.Количество() = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
||||||
|
|
||||||
МодульРаботаВМоделиСервиса = Неопределено;
|
МодульРаботаВМоделиСервиса = Неопределено;
|
||||||
@@ -1468,7 +1473,7 @@
|
|||||||
Если Не ПроверитьОбъектПрисоединенныхФайлов(ОбъектМетаданных) Тогда
|
Если Не ПроверитьОбъектПрисоединенныхФайлов(ОбъектМетаданных) Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ПоискСсылокНаНесуществующиеФайлыВТоме(ОбъектМетаданных, ПараметрыПроверки);
|
ПоискСсылокНаНесуществующиеФайлыВТомах(ОбъектМетаданных, ПараметрыПроверки, ДоступныеТома);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@@ -7897,7 +7902,10 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ПоискСсылокНаНесуществующиеФайлыВТоме(ОбъектМетаданных, ПараметрыПроверки)
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Контроль ведения учета.
|
||||||
|
|
||||||
|
Процедура ПоискСсылокНаНесуществующиеФайлыВТомах(ОбъектМетаданных, ПараметрыПроверки, ДоступныеТома)
|
||||||
|
|
||||||
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
||||||
|
|
||||||
@@ -7919,6 +7927,7 @@
|
|||||||
|ГДЕ
|
|ГДЕ
|
||||||
| ОбъектМетаданных.Ссылка > &Ссылка
|
| ОбъектМетаданных.Ссылка > &Ссылка
|
||||||
| И ОбъектМетаданных.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВТомахНаДиске)
|
| И ОбъектМетаданных.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВТомахНаДиске)
|
||||||
|
| И ОбъектМетаданных.Том В(&ДоступныеТома)
|
||||||
|
|
|
|
||||||
|УПОРЯДОЧИТЬ ПО
|
|УПОРЯДОЧИТЬ ПО
|
||||||
| ОбъектМетаданных.Ссылка";
|
| ОбъектМетаданных.Ссылка";
|
||||||
@@ -7932,7 +7941,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Запрос = Новый Запрос(ТекстЗапроса);
|
Запрос = Новый Запрос(ТекстЗапроса);
|
||||||
Запрос.УстановитьПараметр("Ссылка", "");
|
Запрос.УстановитьПараметр("Ссылка", Справочники.ТомаХраненияФайлов.ПустаяСсылка());
|
||||||
|
Запрос.УстановитьПараметр("ДоступныеТома", ДоступныеТома);
|
||||||
|
|
||||||
Результат = Запрос.Выполнить().Выгрузить();
|
Результат = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
@@ -8003,4 +8013,84 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ДоступныеТома(ПараметрыПроверки)
|
||||||
|
|
||||||
|
ДоступныеТома = Новый Массив;
|
||||||
|
|
||||||
|
Запрос = Новый Запрос(
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| ТомаХраненияФайлов.Ссылка КАК СсылкаНаТом,
|
||||||
|
| ТомаХраненияФайлов.Наименование КАК ПредставлениеТома,
|
||||||
|
| ВЫБОР
|
||||||
|
| КОГДА &ЭтоLinuxСервер
|
||||||
|
| ТОГДА ТомаХраненияФайлов.ПолныйПутьLinux
|
||||||
|
| ИНАЧЕ ТомаХраненияФайлов.ПолныйПутьWindows
|
||||||
|
| КОНЕЦ КАК ПолныйПуть
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.ТомаХраненияФайлов КАК ТомаХраненияФайлов");
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ЭтоLinuxСервер", ОбщегоНазначения.ЭтоLinuxСервер());
|
||||||
|
|
||||||
|
Результат = Запрос.Выполнить().Выбрать();
|
||||||
|
Пока Результат.Следующий() Цикл
|
||||||
|
|
||||||
|
Если Не ТомДоступен(Результат.СсылкаНаТом, Результат.ПредставлениеТома, Результат.ПолныйПуть, ПараметрыПроверки) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДоступныеТома.Добавить(Результат.СсылкаНаТом);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ДоступныеТома;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ТомДоступен(Том, ПредставлениеТома, Путь, ПараметрыПроверки)
|
||||||
|
|
||||||
|
Если ПустаяСтрока(Путь) Тогда
|
||||||
|
|
||||||
|
УточнениеПроблемы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'У тома хранения файлов ""%1"" не задан путь к сетевому каталогу. Сохранение файлов в него невозможно.'"),
|
||||||
|
ПредставлениеТома);
|
||||||
|
ЗафиксироватьПроблемуСТомом(Том, УточнениеПроблемы, ПараметрыПроверки);
|
||||||
|
|
||||||
|
Возврат Ложь;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяКаталогаТестовое = Путь + "ПроверкаДоступа" + ПолучитьРазделительПути();
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
СоздатьКаталог(ИмяКаталогаТестовое);
|
||||||
|
УдалитьФайлы(ИмяКаталогаТестовое);
|
||||||
|
Исключение
|
||||||
|
|
||||||
|
УточнениеПроблемы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Том хранения файлов ""%1"" недоступен по причине:
|
||||||
|
|%2
|
||||||
|
|
|
||||||
|
|Указанный сетевой каталог мог быть отключен или к нему отсутствуют права доступа.
|
||||||
|
|Невозможна работа со всеми файлами, хранящимися в этом томе.'"),
|
||||||
|
Путь, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
|
УточнениеПроблемы = УточнениеПроблемы + Символы.ПС;
|
||||||
|
ЗафиксироватьПроблемуСТомом(Том, УточнениеПроблемы, ПараметрыПроверки);
|
||||||
|
Возврат Ложь;
|
||||||
|
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ЗафиксироватьПроблемуСТомом(Том, УточнениеПроблемы, ПараметрыПроверки)
|
||||||
|
|
||||||
|
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
||||||
|
|
||||||
|
Проблема = МодульКонтрольВеденияУчета.ОписаниеПроблемы(Том, ПараметрыПроверки);
|
||||||
|
Проблема.УточнениеПроблемы = УточнениеПроблемы;
|
||||||
|
МодульКонтрольВеденияУчета.ЗаписатьПроблему(Проблема, ПараметрыПроверки);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -111,13 +111,9 @@
|
|||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере);
|
ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере);
|
||||||
|
|
||||||
ТекущиеПараметры.Вставить("ДоступенСервисСклонения", Доступность);
|
ТекущиеПараметры.Вставить("ДоступенСервисСклонения", Доступность);
|
||||||
|
|
||||||
ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСоответствие(ТекущиеПараметры);
|
ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСоответствие(ТекущиеПараметры);
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Ложь);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Склоняет переданную фразу.
|
// Склоняет переданную фразу.
|
||||||
@@ -278,12 +274,8 @@
|
|||||||
Если Не ЭтоФИО И ИспользоватьСервисСклонения Тогда
|
Если Не ЭтоФИО И ИспользоватьСервисСклонения Тогда
|
||||||
|
|
||||||
СтруктураСклонения = СтруктураСклоненияЧерезЗапросКСервису(Представление, ПоказыватьСообщения);
|
СтруктураСклонения = СтруктураСклоненияЧерезЗапросКСервису(Представление, ПоказыватьСообщения);
|
||||||
|
|
||||||
Если СтруктураСклонения <> Неопределено Тогда
|
Если СтруктураСклонения <> Неопределено Тогда
|
||||||
УстановитьДоступностьСервисаСклонения(Истина);
|
|
||||||
Возврат СтруктураСклонения;
|
Возврат СтруктураСклонения;
|
||||||
Иначе
|
|
||||||
УстановитьДоступностьСервисаСклонения(Ложь);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -409,16 +401,10 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СтруктураСклонения = СтруктураСклоненияЧерезЗапросКСервису(Представление, Ложь);
|
СтруктураСклонения = СтруктураСклоненияЧерезЗапросКСервису(Представление, Ложь);
|
||||||
|
|
||||||
Если СтруктураСклонения = Неопределено Тогда
|
Если СтруктураСклонения = Неопределено Тогда
|
||||||
|
|
||||||
УстановитьДоступностьСервисаСклонения(Ложь);
|
|
||||||
Возврат Представление;
|
Возврат Представление;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьДоступностьСервисаСклонения(Истина);
|
|
||||||
|
|
||||||
// Запись в регистр СклоненияПредставленийОбъектов успешного склонения.
|
// Запись в регистр СклоненияПредставленийОбъектов успешного склонения.
|
||||||
Если ЗначениеЗаполнено(Объект) Тогда
|
Если ЗначениеЗаполнено(Объект) Тогда
|
||||||
ЗаписатьВРегистрСклонения(Представление, Объект, СтруктураСклонения);
|
ЗаписатьВРегистрСклонения(Представление, Объект, СтруктураСклонения);
|
||||||
@@ -470,8 +456,10 @@
|
|||||||
Ответ = ВыполнитьЗапросСервисуСклонений(Соединение, Запрос);
|
Ответ = ВыполнитьЗапросСервисуСклонений(Соединение, Запрос);
|
||||||
Исключение
|
Исключение
|
||||||
ЗарегистрироватьОшибкуСервисаСклонений(ИнформацияОбОшибке(), ПоказыватьСообщения);
|
ЗарегистрироватьОшибкуСервисаСклонений(ИнформацияОбОшибке(), ПоказыватьСообщения);
|
||||||
|
УстановитьДоступностьСервисаСклонения(Ложь);
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
УстановитьДоступностьСервисаСклонения(Истина);
|
||||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||||
|
|
||||||
СтруктураОтвета = СтруктураОтветаСервисаСклонений(Ответ);
|
СтруктураОтвета = СтруктураОтветаСервисаСклонений(Ответ);
|
||||||
|
|||||||
@@ -1409,6 +1409,7 @@
|
|||||||
| ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки,
|
| ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки,
|
||||||
| 0 КАК ИдентификаторСтрокиТабличнойЧасти,
|
| 0 КАК ИдентификаторСтрокиТабличнойЧасти,
|
||||||
| ВЫРАЗИТЬ("""" КАК СТРОКА(200)) КАК ИмяРеквизита,
|
| ВЫРАЗИТЬ("""" КАК СТРОКА(200)) КАК ИмяРеквизита,
|
||||||
|
| ВидыКонтактнойИнформации.ПометкаУдаления КАК ПометкаУдаления,
|
||||||
| ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий
|
| ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|
||||||
@@ -1417,8 +1418,7 @@
|
|||||||
|ПО
|
|ПО
|
||||||
| ВидыКонтактнойИнформации.Ссылка = КонтактнаяИнформация.Вид
|
| ВидыКонтактнойИнформации.Ссылка = КонтактнаяИнформация.Вид
|
||||||
|ГДЕ
|
|ГДЕ
|
||||||
| НЕ ВидыКонтактнойИнформации.ПометкаУдаления
|
| ВидыКонтактнойИнформации.Используется
|
||||||
| И ВидыКонтактнойИнформации.Используется
|
|
||||||
| И ЕСТЬNULL(ВидыКонтактнойИнформации.Родитель.Используется, ИСТИНА)
|
| И ЕСТЬNULL(ВидыКонтактнойИнформации.Родитель.Используется, ИСТИНА)
|
||||||
| И (
|
| И (
|
||||||
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
|
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
|
||||||
@@ -1469,6 +1469,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СтрокаКИ.ПометкаУдаления И ПустаяСтрока(СтрокаКИ.ЗначенияПолей) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИндексЭлемента = СозданныеЭлементы.Найти(СтрокаКИ.Вид);
|
ИндексЭлемента = СозданныеЭлементы.Найти(СтрокаКИ.Вид);
|
||||||
СтатическийЭлемент = ИндексЭлемента <> Неопределено;
|
СтатическийЭлемент = ИндексЭлемента <> Неопределено;
|
||||||
ЭтоНовыйВидКИ = (СтрокаКИ.Вид <> ПредыдущийВид);
|
ЭтоНовыйВидКИ = (СтрокаКИ.Вид <> ПредыдущийВид);
|
||||||
@@ -1688,7 +1692,7 @@
|
|||||||
Представление = СтрокаТабличнойЧастиФормы[ИмяРеквизита];
|
Представление = СтрокаТабличнойЧастиФормы[ИмяРеквизита];
|
||||||
Поле = "Объект." + ИмяТабличнойЧасти + "[" + (СтрокаТабличнойЧастиФормы.НомерСтроки - 1) + "]." + ИмяРеквизита;
|
Поле = "Объект." + ИмяТабличнойЧасти + "[" + (СтрокаТабличнойЧастиФормы.НомерСтроки - 1) + "]." + ИмяРеквизита;
|
||||||
|
|
||||||
Если ОбязательноеЗаполнение И ПустаяСтрока(Представление) Тогда
|
Если ОбязательноеЗаполнение И ПустаяСтрока(Представление) И Не ВидИнформации.ПометкаУдаления Тогда
|
||||||
|
|
||||||
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
|
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
|
||||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"), ВидИнформации.Наименование),,Поле);
|
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"), ВидИнформации.Наименование),,Поле);
|
||||||
@@ -1713,13 +1717,15 @@
|
|||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
ЭлементФормы = Форма.Элементы.Найти(ИмяРеквизита);
|
ЭлементФормы = Форма.Элементы.Найти(ИмяРеквизита);
|
||||||
Если ЭлементФормы = Неопределено Тогда
|
Если ЭлементФормы = Неопределено Или ВидИнформации.ПометкаУдаления Тогда
|
||||||
Продолжить; // Элемент не был создан. Не была вызвана отложенная инициализация.
|
Продолжить; // Элемент не был создан. Не была вызвана отложенная инициализация.
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Представление = Форма[ИмяРеквизита];
|
Представление = Форма[ИмяРеквизита];
|
||||||
|
|
||||||
Если ВидИнформации <> ПредыдущийВид И ОбязательноеЗаполнение И ПустаяСтрока(Представление)
|
Если ВидИнформации <> ПредыдущийВид
|
||||||
|
И ОбязательноеЗаполнение
|
||||||
|
И ПустаяСтрока(Представление)
|
||||||
И Не ЕстьДругиеЗаполненныеСтрокКИДанногоВида(Форма, СтрокаТаблицы, ВидИнформации) Тогда
|
И Не ЕстьДругиеЗаполненныеСтрокКИДанногоВида(Форма, СтрокаТаблицы, ВидИнформации) Тогда
|
||||||
// И нет других строк с данными для видов КИ с множественными значениями.
|
// И нет других строк с данными для видов КИ с множественными значениями.
|
||||||
|
|
||||||
@@ -3551,7 +3557,7 @@
|
|||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяРеквизита, 2, Ложь);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяРеквизита, 2, Ложь);
|
||||||
|
|
||||||
// Устанавливаем свойства поля ввода.
|
// Устанавливаем свойства поля ввода.
|
||||||
Если ИнформацияОВидеКИ.Тип <> Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
Если ИнформацияОВидеКИ.Тип <> Перечисления.ТипыКонтактнойИнформации.Другое И Не ИнформацияОВидеКИ.ПометкаУдаления Тогда
|
||||||
// Ввод комментария через контекстное меню.
|
// Ввод комментария через контекстное меню.
|
||||||
ИмяКоманды = "КонтекстноеМеню" + ИмяРеквизита;
|
ИмяКоманды = "КонтекстноеМеню" + ИмяРеквизита;
|
||||||
Кнопка = Форма.Элементы.Добавить(ИмяКоманды,Тип("КнопкаФормы"), Элемент.КонтекстноеМеню);
|
Кнопка = Форма.Элементы.Добавить(ИмяКоманды,Тип("КнопкаФормы"), Элемент.КонтекстноеМеню);
|
||||||
@@ -3567,7 +3573,7 @@
|
|||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ИнформацияОВидеКИ.ХранитьИсториюИзменений Тогда
|
Если ИнформацияОВидеКИ.ХранитьИсториюИзменений И Не ИнформацияОВидеКИ.ПометкаУдаления Тогда
|
||||||
// Вывод истории контактной информации через контекстное меню.
|
// Вывод истории контактной информации через контекстное меню.
|
||||||
ИмяКоманды = "КонтекстноеМенюИстория" + ИмяРеквизита;
|
ИмяКоманды = "КонтекстноеМенюИстория" + ИмяРеквизита;
|
||||||
Кнопка = Форма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), Элемент.КонтекстноеМеню);
|
Кнопка = Форма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), Элемент.КонтекстноеМеню);
|
||||||
@@ -3614,11 +3620,13 @@
|
|||||||
ГруппКнопокРазделитель = Форма.Элементы.Добавить("ПодменюРазделительКарты" + ИмяРеквизита, Тип("ГруппаФормы"), Элемент.КонтекстноеМеню);
|
ГруппКнопокРазделитель = Форма.Элементы.Добавить("ПодменюРазделительКарты" + ИмяРеквизита, Тип("ГруппаФормы"), Элемент.КонтекстноеМеню);
|
||||||
ГруппКнопокРазделитель.Вид = ВидГруппыФормы.ГруппаКнопок;
|
ГруппКнопокРазделитель.Вид = ВидГруппыФормы.ГруппаКнопок;
|
||||||
|
|
||||||
|
Если Не ИнформацияОВидеКИ.ПометкаУдаления Тогда
|
||||||
// Заполнить
|
// Заполнить
|
||||||
ГруппаПодменюАдреса = Форма.Элементы.Добавить("КонтекстноеПодменюКопироватьАдреса" + ИмяРеквизита, Тип("ГруппаФормы"), ГруппКнопокРазделитель);
|
ГруппаПодменюАдреса = Форма.Элементы.Добавить("КонтекстноеПодменюКопироватьАдреса" + ИмяРеквизита, Тип("ГруппаФормы"), ГруппКнопокРазделитель);
|
||||||
ГруппаПодменюАдреса.Вид = ВидГруппыФормы.Подменю;
|
ГруппаПодменюАдреса.Вид = ВидГруппыФормы.Подменю;
|
||||||
ГруппаПодменюАдреса.Отображение = ОтображениеКнопки.Текст;
|
ГруппаПодменюАдреса.Отображение = ОтображениеКнопки.Текст;
|
||||||
ГруппаПодменюАдреса.Заголовок = НСтр("ru='Заполнить'");
|
ГруппаПодменюАдреса.Заголовок = НСтр("ru='Заполнить'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -3630,7 +3638,7 @@
|
|||||||
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(ИнформацияОВидеКИ.Тип)
|
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(ИнформацияОВидеКИ.Тип)
|
||||||
И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
|
И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
|
||||||
|
|
||||||
Элемент.КнопкаВыбора = Истина;
|
Элемент.КнопкаВыбора = Не ИнформацияОВидеКИ.ПометкаУдаления;
|
||||||
Если ИнформацияОВидеКИ.РедактированиеТолькоВДиалоге Тогда
|
Если ИнформацияОВидеКИ.РедактированиеТолькоВДиалоге Тогда
|
||||||
Элемент.РедактированиеТекста = Ложь;
|
Элемент.РедактированиеТекста = Ложь;
|
||||||
Элемент.ЦветФона = ЦветаСтиля.КонтактнаяИнформацияСРедактированиемВДиалогеЦвет;
|
Элемент.ЦветФона = ЦветаСтиля.КонтактнаяИнформацияСРедактированиемВДиалогеЦвет;
|
||||||
@@ -3640,6 +3648,18 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
||||||
|
|
||||||
|
Если ИнформацияОВидеКИ.ПометкаУдаления Тогда
|
||||||
|
|
||||||
|
Элемент.ШрифтЗаголовка = Новый Шрифт(,,,,, Истина);
|
||||||
|
Если Не ИнформацияОВидеКИ.РедактированиеТолькоВДиалоге Тогда
|
||||||
|
Элемент.КнопкаОчистки = Истина;
|
||||||
|
Элемент.РедактированиеТекста = Ложь;
|
||||||
|
Иначе
|
||||||
|
Элемент.ТолькоПросмотр = Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Элемент;
|
Возврат Элемент;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -3853,7 +3873,7 @@
|
|||||||
ДанныеВидаКонтактнойИнформации = ДанныеВидовКонтактнойИнформации[СтрокаКонтактнойИнформации.Вид];
|
ДанныеВидаКонтактнойИнформации = ДанныеВидовКонтактнойИнформации[СтрокаКонтактнойИнформации.Вид];
|
||||||
ДанныеВидаКонтактнойИнформации.Вставить("Ссылка", СтрокаКонтактнойИнформации.Вид);
|
ДанныеВидаКонтактнойИнформации.Вставить("Ссылка", СтрокаКонтактнойИнформации.Вид);
|
||||||
|
|
||||||
Если ЭтоНовыйВидКИ И ДанныеВидаКонтактнойИнформации.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти Тогда
|
Если ЭтоНовыйВидКИ И ДанныеВидаКонтактнойИнформации.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти И Не ДанныеВидаКонтактнойИнформации.ПометкаУдаления Тогда
|
||||||
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
|
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
|
||||||
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, СтрокаКонтактнойИнформации.Наименование);
|
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, СтрокаКонтактнойИнформации.Наименование);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -4037,7 +4057,7 @@
|
|||||||
Элемент.ПутьКДанным = "Объект." + ИмяТабличнойЧасти + "." + СтрокаТабличнойЧасти.ИмяРеквизита;
|
Элемент.ПутьКДанным = "Объект." + ИмяТабличнойЧасти + "." + СтрокаТабличнойЧасти.ИмяРеквизита;
|
||||||
|
|
||||||
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(СтрокаТабличнойЧасти.Тип) Тогда
|
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(СтрокаТабличнойЧасти.Тип) Тогда
|
||||||
Элемент.КнопкаВыбора = Истина;
|
Элемент.КнопкаВыбора = Не СтрокаТабличнойЧасти.ПометкаУдаления;
|
||||||
Если ВидКонтактнойИнформацииТЧ.РедактированиеТолькоВДиалоге Тогда
|
Если ВидКонтактнойИнформацииТЧ.РедактированиеТолькоВДиалоге Тогда
|
||||||
Элемент.РедактированиеТекста = Ложь;
|
Элемент.РедактированиеТекста = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -4046,8 +4066,13 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_КонтактнаяИнформацияПриИзменении");
|
||||||
|
|
||||||
|
Если СтрокаТабличнойЧасти.ПометкаУдаления Тогда
|
||||||
|
Элемент.Шрифт = Новый Шрифт(,,,,, Истина);
|
||||||
|
Элемент.РедактированиеТекста = Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ВидКонтактнойИнформацииТЧ.ОбязательноеЗаполнение Тогда
|
Если ВидКонтактнойИнформацииТЧ.ОбязательноеЗаполнение Тогда
|
||||||
Элемент.АвтоОтметкаНезаполненного = Истина;
|
Элемент.АвтоОтметкаНезаполненного = Не СтрокаТабличнойЧасти.ПометкаУдаления;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения].ДобавленныеЭлементы.Добавить(СтрокаТабличнойЧасти.ИмяРеквизита,
|
Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения].ДобавленныеЭлементы.Добавить(СтрокаТабличнойЧасти.ИмяРеквизита,
|
||||||
@@ -4643,6 +4668,7 @@
|
|||||||
|
|
||||||
Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||||
|
|
||||||
|
Если Не ВидКонтактнойИнформации.ПометкаУдаления Тогда
|
||||||
// Ввод комментария через контекстное меню.
|
// Ввод комментария через контекстное меню.
|
||||||
ИмяКоманды = "КонтекстноеМенюПодменю" + ИмяРеквизита;
|
ИмяКоманды = "КонтекстноеМенюПодменю" + ИмяРеквизита;
|
||||||
Кнопка = Форма.Элементы.Добавить(ИмяКоманды,Тип("КнопкаФормы"), ГруппаПодменю);
|
Кнопка = Форма.Элементы.Добавить(ИмяКоманды,Тип("КнопкаФормы"), ГруппаПодменю);
|
||||||
@@ -4656,9 +4682,10 @@
|
|||||||
|
|
||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 1);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 1);
|
||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
// История изменений
|
// История изменений
|
||||||
Если ВидКонтактнойИнформации.ХранитьИсториюИзменений Тогда
|
Если ВидКонтактнойИнформации.ХранитьИсториюИзменений И Не ВидКонтактнойИнформации.ПометкаУдаления Тогда
|
||||||
|
|
||||||
ИмяКоманды = "КонтекстноеМенюПодменюИстория" + ИмяРеквизита;
|
ИмяКоманды = "КонтекстноеМенюПодменюИстория" + ИмяРеквизита;
|
||||||
Кнопка = Форма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), ГруппаПодменю);
|
Кнопка = Форма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), ГруппаПодменю);
|
||||||
@@ -4702,6 +4729,8 @@
|
|||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 1);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 1);
|
||||||
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
ПараметрыКонтактнойИнформации.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||||
|
|
||||||
|
Если Не ВидКонтактнойИнформации.ПометкаУдаления Тогда
|
||||||
|
|
||||||
ГруппаРазделитель = Форма.Элементы.Добавить("ПодменюРазделитель" + ИмяРеквизита, Тип("ГруппаФормы"), ГруппаРазделитель);
|
ГруппаРазделитель = Форма.Элементы.Добавить("ПодменюРазделитель" + ИмяРеквизита, Тип("ГруппаФормы"), ГруппаРазделитель);
|
||||||
ГруппаРазделитель.Вид = ВидГруппыФормы.ГруппаКнопок;
|
ГруппаРазделитель.Вид = ВидГруппыФормы.ГруппаКнопок;
|
||||||
|
|
||||||
@@ -4710,6 +4739,8 @@
|
|||||||
ГруппаПодменюАдреса.Отображение = ОтображениеКнопки.Текст;
|
ГруппаПодменюАдреса.Отображение = ОтображениеКнопки.Текст;
|
||||||
ГруппаПодменюАдреса.Заголовок = НСтр("ru='Заполнить'");
|
ГруппаПодменюАдреса.Заголовок = НСтр("ru='Заполнить'");
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
||||||
|
|
||||||
Элемент.Заголовок = НСтр("ru = 'Перейти'");
|
Элемент.Заголовок = НСтр("ru = 'Перейти'");
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
ПараметрыОткрытияФормы.Вставить("ВидКонтактнойИнформации", ДанныеСтроки.Вид);
|
ПараметрыОткрытияФормы.Вставить("ВидКонтактнойИнформации", ДанныеСтроки.Вид);
|
||||||
ПараметрыОткрытияФормы.Вставить("ЗначенияПолей", ДанныеСтроки.ЗначенияПолей);
|
ПараметрыОткрытияФормы.Вставить("ЗначенияПолей", ДанныеСтроки.ЗначенияПолей);
|
||||||
ПараметрыОткрытияФормы.Вставить("Представление", ТекстРедактирования);
|
ПараметрыОткрытияФормы.Вставить("Представление", ТекстРедактирования);
|
||||||
ПараметрыОткрытияФормы.Вставить("ТолькоПросмотр", Форма.ТолькоПросмотр);
|
ПараметрыОткрытияФормы.Вставить("ТолькоПросмотр", Форма.ТолькоПросмотр Или Элемент.ТолькоПросмотр);
|
||||||
ПараметрыОткрытияФормы.Вставить("ТипПомещения", ПараметрыКонтактнойИнформации.ПараметрыАдреса.ТипПомещения);
|
ПараметрыОткрытияФормы.Вставить("ТипПомещения", ПараметрыКонтактнойИнформации.ПараметрыАдреса.ТипПомещения);
|
||||||
ПараметрыОткрытияФормы.Вставить("Страна", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Страна);
|
ПараметрыОткрытияФормы.Вставить("Страна", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Страна);
|
||||||
ПараметрыОткрытияФормы.Вставить("Индекс", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Индекс);
|
ПараметрыОткрытияФормы.Вставить("Индекс", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Индекс);
|
||||||
|
|||||||
@@ -1296,7 +1296,7 @@
|
|||||||
Функция ДанныеВидовКонтактнойИнформации(Знач ВидыКонтактнойИнформации) Экспорт
|
Функция ДанныеВидовКонтактнойИнформации(Знач ВидыКонтактнойИнформации) Экспорт
|
||||||
|
|
||||||
МетаданныеРеквизитов = Метаданные.Справочники.ВидыКонтактнойИнформации.Реквизиты;
|
МетаданныеРеквизитов = Метаданные.Справочники.ВидыКонтактнойИнформации.Реквизиты;
|
||||||
Реквизиты = "Наименование, ИмяПредопределенныхДанных";
|
Реквизиты = "Наименование, ИмяПредопределенныхДанных, ПометкаУдаления";
|
||||||
Для Каждого МетаданныеРеквизита Из МетаданныеРеквизитов Цикл
|
Для Каждого МетаданныеРеквизита Из МетаданныеРеквизитов Цикл
|
||||||
Реквизиты = Реквизиты + "," + МетаданныеРеквизита.Имя;
|
Реквизиты = Реквизиты + "," + МетаданныеРеквизита.Имя;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="35709757-3655-468e-a03a-420dd21928a9">
|
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="236c7c81-784e-42cd-a959-5a6a9352cef1">
|
||||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Библиотека стандартных подсистем, редакция 2.4</value>
|
<value>Библиотека стандартных подсистем, редакция 2.4</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e2ccf507-dafe-4601-a8f9-7e47a297f3f0"/>
|
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="52656da1-07d5-4859-84b8-e37dc9db3e22"/>
|
||||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a435d3b9-729f-48ee-a864-ab4297fd9377"/>
|
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f08da7bb-aa99-4f49-bc50-04bc605d5277"/>
|
||||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="19461ada-30af-4fbf-98f7-53bc65622373"/>
|
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8454ebab-86f8-413b-ac2a-ae58cc3e2fae"/>
|
||||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="ed1bd08c-173e-4e0c-bf51-f196476cc0d2"/>
|
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="e639cfd6-02d2-4f12-960c-9fe4e3d88736"/>
|
||||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="bfc4cee5-c9dd-4f38-9d24-71e1798d67f5"/>
|
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="75a97959-9271-4fca-a76c-21f81f03585b"/>
|
||||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="ee62e349-0512-4776-9031-78966ec4955a"/>
|
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="d7968f25-7a7b-4b32-949d-88e7e136ebd0"/>
|
||||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="d8512fc9-88f7-4cac-a8ba-14645de9f922"/>
|
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="894a8fb4-f462-4e0a-8476-3ce8f88a26c4"/>
|
||||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>Russian</scriptVariant>
|
<scriptVariant>Russian</scriptVariant>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||||
<vendor>Фирма "1С"</vendor>
|
<vendor>Фирма "1С"</vendor>
|
||||||
<version>2.4.6.97</version>
|
<version>2.4.6.117</version>
|
||||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||||
<includeHelpInContents>true</includeHelpInContents>
|
<includeHelpInContents>true</includeHelpInContents>
|
||||||
<usedMobileApplicationFunctionalities>
|
<usedMobileApplicationFunctionalities>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{6,1,1,21ab78ce-4595-4055-9e1b-fc28a338d63f,1,4478f36b-9d5a-4e7b-8b24-061723d0e2f0,"2.4.6.97","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5576,1,0,35709757-3655-468e-a03a-420dd21928a9,35709757-3655-468e-a03a-420dd21928a9,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,b4c1e8c7-a731-42f3-bb3d-818b687ff04e,1,c9a77dc8-373b-4430-89bc-5ccb8a7139ee,"2.4.6.117","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5576,1,0,236c7c81-784e-42cd-a959-5a6a9352cef1,236c7c81-784e-42cd-a959-5a6a9352cef1,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-fd82Line truncated
|
||||||
@@ -808,12 +808,14 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||||
Страна = "РФ";
|
Страна = "РФ";
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||||
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||||
Страна = МодульРаботаСАдресами.ОсновнаяСтрана();
|
Страна = МодульРаботаСАдресами.ОсновнаяСтрана();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ОбновитьЗначениеРеквизита(КлассификаторБанковОбъект, "Страна", Страна);
|
ОбновитьЗначениеРеквизита(КлассификаторБанковОбъект, "Страна", Страна);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если КлассификаторБанковОбъект.Модифицированность() Тогда
|
Если КлассификаторБанковОбъект.Модифицированность() Тогда
|
||||||
ФлагОбновленный = Истина;
|
ФлагОбновленный = Истина;
|
||||||
|
|||||||
+12
-43
@@ -4781,49 +4781,7 @@
|
|||||||
Результат = Контекст.РезультатПослеВызоваПолучитьОткрытыйКлюч;
|
Результат = Контекст.РезультатПослеВызоваПолучитьОткрытыйКлюч;
|
||||||
|
|
||||||
Контекст.Вставить("ТекущаяОткрытаяЧастьКлючаЭП", Результат);
|
Контекст.Вставить("ТекущаяОткрытаяЧастьКлючаЭП", Результат);
|
||||||
|
Контекст.Вставить("ТекущийИКС", ИдентификаторКлючаСубъектаHexСтрокой(Результат));
|
||||||
Криптография.НачатьВызовВычислитьИдентификаторКлючаСубъекта(Новый ОписаниеОповещения(
|
|
||||||
"СоздатьКлючИЗапросНаСертификатПослеВызоваВычислитьИдентификаторКлючаСубъекта", ЭтотОбъект, Контекст,
|
|
||||||
"СоздатьКлючИЗапросНаСертификатПослеОшибкиВызоваВычислитьИдентификаторКлючаСубъекта", ЭтотОбъект),
|
|
||||||
Контекст.ИмяФайлаЗапроса);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиВызоваВычислитьИдентификаторКлючаСубъекта(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
|
|
||||||
|
|
||||||
СтандартнаяОбработка = Ложь;
|
|
||||||
Криптография = Неопределено;
|
|
||||||
|
|
||||||
СоздатьКлючИЗапросНаСертификатЗавершение(Контекст, ИнформацияОбОшибке,
|
|
||||||
НСтр("ru = 'Не удалось вычислить идентификатор ключа субъекта по причине:'"));
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура СоздатьКлючИЗапросНаСертификатПослеВызоваВычислитьИдентификаторКлючаСубъекта(Результат, ПараметрыВызова, Контекст) Экспорт
|
|
||||||
|
|
||||||
Контекст.Вставить("РезультатПослеВызоваВычислитьИдентификаторКлючаСубъекта", Результат);
|
|
||||||
|
|
||||||
Криптография.НачатьПолучениеСписокОшибок(Новый ОписаниеОповещения(
|
|
||||||
"СоздатьКлючИЗапросНаСертификатПослеВызоваВычислитьИдентификаторКлючаСубъектаПослеПолученияСписокОшибок", ЭтотОбъект, Контекст));
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура СоздатьКлючИЗапросНаСертификатПослеВызоваВычислитьИдентификаторКлючаСубъектаПослеПолученияСписокОшибок(СписокОшибок, Контекст) Экспорт
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(СписокОшибок) Тогда
|
|
||||||
СоздатьКлючИЗапросНаСертификатПослеОшибкиВызоваВычислитьИдентификаторКлючаСубъекта(СписокОшибок, Ложь, Контекст);
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Результат = Контекст.РезультатПослеВызоваВычислитьИдентификаторКлючаСубъекта;
|
|
||||||
|
|
||||||
Контекст.Вставить("ТекущийИКС", Результат);
|
|
||||||
|
|
||||||
НачатьПомещениеФайлов(Новый ОписаниеОповещения(
|
НачатьПомещениеФайлов(Новый ОписаниеОповещения(
|
||||||
"СоздатьКлючИЗапросНаСертификатПослеПомещенияФайлов", ЭтотОбъект, Контекст,
|
"СоздатьКлючИЗапросНаСертификатПослеПомещенияФайлов", ЭтотОбъект, Контекст,
|
||||||
@@ -4832,6 +4790,17 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Для продолжения процедуры СоздатьКлючИЗапросНаСертификат.
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция ИдентификаторКлючаСубъектаHexСтрокой(ОткрытаяЧастьКлючаHexСтрокой)
|
||||||
|
|
||||||
|
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA1);
|
||||||
|
ХешированиеДанных.Добавить(ПолучитьДвоичныеДанныеИзHexСтроки(ОткрытаяЧастьКлючаHexСтрокой));
|
||||||
|
|
||||||
|
Возврат ПолучитьHexСтрокуИзДвоичныхДанных(ХешированиеДанных.ХешСумма);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
|
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиПомещенияФайлов(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
|
Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиПомещенияФайлов(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
|
||||||
|
|||||||
@@ -16348,12 +16348,6 @@
|
|||||||
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
||||||
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
||||||
|
|
||||||
СведенияОВерсииОбъекта = Новый Структура;
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ОтложеннаяОбработка", Истина);
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", "ИзмененоПользователем");
|
|
||||||
СведенияОВерсииОбъекта.Вставить("АвторВерсии", УзелОбменаЗагрузкаДанных);
|
|
||||||
Объект.ДополнительныеСвойства.Вставить("СведенияОВерсииОбъекта", СведенияОВерсииОбъекта);
|
|
||||||
|
|
||||||
// Выполняем попытку проведения документа.
|
// Выполняем попытку проведения документа.
|
||||||
Объект.Записать(РежимЗаписиДокумента.Проведение);
|
Объект.Записать(РежимЗаписиДокумента.Проведение);
|
||||||
|
|
||||||
@@ -16433,12 +16427,6 @@
|
|||||||
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
ОбменДаннымиСервер.ПропуститьПроверкуЗапретаИзменения();
|
||||||
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
||||||
|
|
||||||
СведенияОВерсииОбъекта = Новый Структура;
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ОтложеннаяОбработка", Истина);
|
|
||||||
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", "ИзмененоПользователем");
|
|
||||||
СведенияОВерсииОбъекта.Вставить("АвторВерсии", УзелОбменаЗагрузкаДанных);
|
|
||||||
Объект.ДополнительныеСвойства.Вставить("СведенияОВерсииОбъекта", СведенияОВерсииОбъекта);
|
|
||||||
|
|
||||||
// Выполняем попытку записи объекта.
|
// Выполняем попытку записи объекта.
|
||||||
Объект.Записать();
|
Объект.Записать();
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,8 @@
|
|||||||
НастройкаОтборовНаУзле,
|
НастройкаОтборовНаУзле,
|
||||||
ЗначенияПоУмолчаниюНаУзле,
|
ЗначенияПоУмолчаниюНаУзле,
|
||||||
РегистрироватьДанныеДляВыгрузки = Истина,
|
РегистрироватьДанныеДляВыгрузки = Истина,
|
||||||
ИспользоватьНастройкиТранспорта = Истина) Экспорт
|
ИспользоватьНастройкиТранспорта = Истина,
|
||||||
|
СообщениеОбОшибке = "") Экспорт
|
||||||
|
|
||||||
КодЭтогоУзла = ?(ИспользоватьПрефиксыДляНастройкиОбмена,
|
КодЭтогоУзла = ?(ИспользоватьПрефиксыДляНастройкиОбмена,
|
||||||
ПолучитьКодУзлаЭтойБазы(ПрефиксИнформационнойБазыИсточника),
|
ПолучитьКодУзлаЭтойБазы(ПрефиксИнформационнойБазыИсточника),
|
||||||
@@ -39,7 +40,12 @@
|
|||||||
КодНовогоУзла = ИдентификаторИнформационнойБазыПриемника;
|
КодНовогоУзла = ИдентификаторИнформационнойБазыПриемника;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВыполнитьДействияПоНастройкеОбменаДанными(Отказ, НастройкаОтборовНаУзле, ЗначенияПоУмолчаниюНаУзле, КодЭтогоУзла, КодНовогоУзла, РегистрироватьДанныеДляВыгрузки, ИспользоватьНастройкиТранспорта);
|
СтатусЗавершения = Неопределено;
|
||||||
|
ВыполнитьДействияПоНастройкеОбменаДанными(СтатусЗавершения,
|
||||||
|
НастройкаОтборовНаУзле, ЗначенияПоУмолчаниюНаУзле, КодЭтогоУзла, КодНовогоУзла, РегистрироватьДанныеДляВыгрузки, ИспользоватьНастройкиТранспорта);
|
||||||
|
|
||||||
|
Отказ = СтатусЗавершения.Отказ;
|
||||||
|
СообщениеОбОшибке = СтатусЗавершения.СообщениеОбОшибке;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -540,7 +546,8 @@
|
|||||||
// Выполняет действия при создании нового обмена данными через веб-сервис.
|
// Выполняет действия при создании нового обмена данными через веб-сервис.
|
||||||
// Подробное описание см. в процедуре ВыполнитьДействияПоНастройкеНовогоОбменаДанными.
|
// Подробное описание см. в процедуре ВыполнитьДействияПоНастройкеНовогоОбменаДанными.
|
||||||
//
|
//
|
||||||
Процедура ВебСервисВыполнитьДействияПоНастройкеНовогоОбменаДанными(Отказ, НастройкаОтборовНаУзле, ЗначенияПоУмолчаниюНаУзле) Экспорт
|
Процедура ВебСервисВыполнитьДействияПоНастройкеНовогоОбменаДанными(Отказ,
|
||||||
|
НастройкаОтборовНаУзле, ЗначенияПоУмолчаниюНаУзле, СообщениеОбОшибке = "") Экспорт
|
||||||
|
|
||||||
НастройкаОтборовНаУзле = ПолучитьЗначенияНастройкиОтборов(НастройкаОтборовНаУзле);
|
НастройкаОтборовНаУзле = ПолучитьЗначенияНастройкиОтборов(НастройкаОтборовНаУзле);
|
||||||
ЗначенияПоУмолчаниюНаУзле = ПолучитьЗначенияНастройкиОтборов(ЗначенияПоУмолчаниюНаУзле);
|
ЗначенияПоУмолчаниюНаУзле = ПолучитьЗначенияНастройкиОтборов(ЗначенияПоУмолчаниюНаУзле);
|
||||||
@@ -553,7 +560,9 @@
|
|||||||
Попытка
|
Попытка
|
||||||
ПланыОбмена[ИмяПланаОбмена].ПриПолученииДанныхОтправителя(НастройкаОтборовНаУзле, Ложь);
|
ПланыОбмена[ИмяПланаОбмена].ПриПолученииДанныхОтправителя(НастройкаОтборовНаУзле, Ложь);
|
||||||
Исключение
|
Исключение
|
||||||
СообщитьИнформациюОбОшибке(ИнформацияОбОшибке(), Отказ);
|
Инфо = ИнформацияОбОшибке();
|
||||||
|
СообщениеОбОшибке = КраткоеПредставлениеОшибки(Инфо);
|
||||||
|
СообщитьИнформациюОбОшибке(Инфо, Отказ);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -563,23 +572,8 @@
|
|||||||
НастройкаОтборовНаУзле,
|
НастройкаОтборовНаУзле,
|
||||||
ЗначенияПоУмолчаниюНаУзле,
|
ЗначенияПоУмолчаниюНаУзле,
|
||||||
Ложь,
|
Ложь,
|
||||||
Ложь);
|
Ложь,
|
||||||
|
СообщениеОбОшибке);
|
||||||
Если Отказ Тогда
|
|
||||||
УдалитьНастройкуОбменаДанными();
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура УдалитьНастройкуОбменаДанными()
|
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
|
||||||
МенеджерПланаОбмена = ПланыОбмена[ИмяПланаОбмена];
|
|
||||||
УдаляемыйУзел = МенеджерПланаОбмена.НайтиПоКоду(КодНовогоУзлаВторойБазы);
|
|
||||||
Если Не УдаляемыйУзел.Пустая() Тогда
|
|
||||||
УдаляемыйУзелОбъект = УдаляемыйУзел.ПолучитьОбъект();
|
|
||||||
УдаляемыйУзелОбъект.Удалить();
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -779,7 +773,7 @@
|
|||||||
// Вспомогательные служебные процедуры и функции.
|
// Вспомогательные служебные процедуры и функции.
|
||||||
|
|
||||||
Процедура ВыполнитьДействияПоНастройкеОбменаДанными(
|
Процедура ВыполнитьДействияПоНастройкеОбменаДанными(
|
||||||
Отказ,
|
СтатусЗавершения,
|
||||||
НастройкаОтборовНаУзле,
|
НастройкаОтборовНаУзле,
|
||||||
ЗначенияПоУмолчаниюНаУзле,
|
ЗначенияПоУмолчаниюНаУзле,
|
||||||
КодЭтогоУзла,
|
КодЭтогоУзла,
|
||||||
@@ -787,6 +781,10 @@
|
|||||||
РегистрироватьДанныеДляВыгрузки = Истина,
|
РегистрироватьДанныеДляВыгрузки = Истина,
|
||||||
ИспользоватьНастройкиТранспорта = Истина)
|
ИспользоватьНастройкиТранспорта = Истина)
|
||||||
|
|
||||||
|
СтатусЗавершения = Новый Структура;
|
||||||
|
СтатусЗавершения.Вставить("Отказ", Ложь);
|
||||||
|
СтатусЗавершения.Вставить("СообщениеОбОшибке", "");
|
||||||
|
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
НачатьТранзакцию();
|
НачатьТранзакцию();
|
||||||
@@ -825,7 +823,10 @@
|
|||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
ОтменитьТранзакцию();
|
ОтменитьТранзакцию();
|
||||||
СообщитьИнформациюОбОшибке(ИнформацияОбОшибке(), Отказ);
|
|
||||||
|
Инфо = ИнформацияОбОшибке();
|
||||||
|
СтатусЗавершения.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Инфо);
|
||||||
|
СообщитьИнформациюОбОшибке(Инфо, СтатусЗавершения.Отказ);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -838,12 +839,14 @@
|
|||||||
И Не ЭтоНастройкаРаспределеннойИнформационнойБазы Тогда
|
И Не ЭтоНастройкаРаспределеннойИнформационнойБазы Тогда
|
||||||
|
|
||||||
// Выполняем регистрацию изменений на узле плана обмена.
|
// Выполняем регистрацию изменений на узле плана обмена.
|
||||||
ЗарегистрироватьИзмененияДляОбмена(Отказ);
|
ЗарегистрироватьИзмененияДляОбмена(СтатусЗавершения.Отказ);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
СообщитьИнформациюОбОшибке(ИнформацияОбОшибке(), Отказ);
|
Инфо = ИнформацияОбОшибке();
|
||||||
|
СтатусЗавершения.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Инфо);
|
||||||
|
СообщитьИнформациюОбОшибке(Инфо, СтатусЗавершения.Отказ);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
@@ -893,10 +896,17 @@
|
|||||||
Если СоздаватьНовыйУзел Тогда
|
Если СоздаватьНовыйУзел Тогда
|
||||||
НовыйУзел = МенеджерПланаОбмена.СоздатьУзел();
|
НовыйУзел = МенеджерПланаОбмена.СоздатьУзел();
|
||||||
НовыйУзел.Код = КодНовогоУзла;
|
НовыйУзел.Код = КодНовогоУзла;
|
||||||
|
Иначе
|
||||||
|
Если ВариантРаботыМастера = "ПродолжитьНастройкуОбменаДанными" Тогда
|
||||||
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Значение префикса программы ""%1"" не уникально (""%2""). Уже существует настройка синхронизации с таким же префиксом.
|
||||||
|
|Для продолжения необходимо назначить в программе ""%1"" уникальный префикс информационной базы, отличный от текущего.'"),
|
||||||
|
НаименованиеВторойБазы, КодНовогоУзлаВторойБазы);
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение НСтр("ru = 'Значение префикса первой информационной базы не уникально.
|
ВызватьИсключение НСтр("ru = 'Значение префикса первой информационной базы не уникально.
|
||||||
|В системе уже существует синхронизация данных для информационной базы (программы) с указанным префиксом.'");
|
|В системе уже существует синхронизация данных для информационной базы (программы) с указанным префиксом.'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
НовыйУзел.Наименование = НаименованиеВторойБазы;
|
НовыйУзел.Наименование = НаименованиеВторойБазы;
|
||||||
|
|
||||||
|
|||||||
@@ -5027,7 +5027,6 @@
|
|||||||
<name>ОчиститьАдрес</name>
|
<name>ОчиститьАдрес</name>
|
||||||
</handler>
|
</handler>
|
||||||
</action>
|
</action>
|
||||||
<modifiesStoredData>true</modifiesStoredData>
|
|
||||||
<currentRowUse>DontUse</currentRowUse>
|
<currentRowUse>DontUse</currentRowUse>
|
||||||
<selectedRowsUse>Auto</selectedRowsUse>
|
<selectedRowsUse>Auto</selectedRowsUse>
|
||||||
</formCommands>
|
</formCommands>
|
||||||
|
|||||||
@@ -1008,6 +1008,7 @@
|
|||||||
Процедура ОчиститьАдрес(Команда)
|
Процедура ОчиститьАдрес(Команда)
|
||||||
|
|
||||||
ОчиститьАдресКлиент();
|
ОчиститьАдресКлиент();
|
||||||
|
Модифицированность = Истина;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -2699,9 +2700,11 @@
|
|||||||
Если КоличествоОшибок = 1 Тогда
|
Если КоличествоОшибок = 1 Тогда
|
||||||
МестоОшибки = СписокОшибок[0].Значение;
|
МестоОшибки = СписокОшибок[0].Значение;
|
||||||
Если СписокОшибок[0].Пометка = Ложь И НЕ ЭтоВебСервис Тогда
|
Если СписокОшибок[0].Пометка = Ложь И НЕ ЭтоВебСервис Тогда
|
||||||
|
|
||||||
ТекстВопроса = НСтр("ru = 'Адрес не может быть проверен.'") + Символы.ПС + СписокОшибок[0].Представление + Символы.ПС + НСтр("ru = 'Загрузить классификатор для проверки адреса?'");
|
ТекстВопроса = НСтр("ru = 'Адрес не может быть проверен.'") + Символы.ПС + СписокОшибок[0].Представление + Символы.ПС + НСтр("ru = 'Загрузить классификатор для проверки адреса?'");
|
||||||
ПредложениеЗагрузкиКлассификатора(ТекстВопроса);
|
ПредложениеЗагрузкиКлассификатора(ТекстВопроса);
|
||||||
Возврат;
|
Возврат;
|
||||||
|
|
||||||
ИначеЕсли ПустаяСтрока(МестоОшибки) Или МестоОшибки = "/" Тогда
|
ИначеЕсли ПустаяСтрока(МестоОшибки) Или МестоОшибки = "/" Тогда
|
||||||
// Одна ошибка на весь адрес, не привязанная к полю.
|
// Одна ошибка на весь адрес, не привязанная к полю.
|
||||||
ПоказатьПредупреждение(, СписокОшибок[0].Представление);
|
ПоказатьПредупреждение(, СписокОшибок[0].Представление);
|
||||||
|
|||||||
@@ -1699,7 +1699,11 @@
|
|||||||
Если XDTOТип = ФабрикаXDTO.Тип(РаботаСАдресами.ПространствоИмен(), "АдресРФ") Тогда
|
Если XDTOТип = ФабрикаXDTO.Тип(РаботаСАдресами.ПространствоИмен(), "АдресРФ") Тогда
|
||||||
АдресРФ = XDTOАдрес;
|
АдресРФ = XDTOАдрес;
|
||||||
Иначе
|
Иначе
|
||||||
|
Если XDTOАдрес.Свойства().Получить("Состав") <> Неопределено Тогда
|
||||||
АдресРФ = XDTOАдрес.Состав;
|
АдресРФ = XDTOАдрес.Состав;
|
||||||
|
Иначе
|
||||||
|
АдресРФ = XDTOАдрес;
|
||||||
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ТипЗнч(АдресРФ) = Тип("ОбъектXDTO") Тогда
|
Если ТипЗнч(АдресРФ) = Тип("ОбъектXDTO") Тогда
|
||||||
@@ -2787,6 +2791,24 @@
|
|||||||
// Только уникальные ошибки - мы могли проверить адрес два раза.
|
// Только уникальные ошибки - мы могли проверить адрес два раза.
|
||||||
Обработанные = Новый Соответствие;
|
Обработанные = Новый Соответствие;
|
||||||
Для Каждого РезультатПроверки Из РезультатыАнализа.Данные Цикл
|
Для Каждого РезультатПроверки Из РезультатыАнализа.Данные Цикл
|
||||||
|
|
||||||
|
Если РезультатПроверки.Свойство("Исторический") И РезультатПроверки.Исторический Тогда
|
||||||
|
|
||||||
|
Если РезультатПроверки.Варианты.Количество() > 0 Тогда
|
||||||
|
|
||||||
|
ПредставлениеАдреса = ПредставлениеАдреса(Новый Структура("ФорматАдреса", "ФИАС"), РезультатПроверки.Варианты[0].Данные, "Россия");
|
||||||
|
|
||||||
|
ОписаниеОшибки = Новый Структура("ПутьXPath, СущностьПоля, АдресПроверен", "Представление", "", РезультатПроверки.АдресПроверен);
|
||||||
|
ШаблонОшибки = НСтр("ru='Адрес некорректный, т.к. он устарел
|
||||||
|
|Актуальный: %1'");
|
||||||
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеАдреса);
|
||||||
|
Результат.Добавить(ОписаниеОшибки, ТекстОшибки);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого ОшибкаАдреса Из РезультатПроверки.Ошибки Цикл
|
Для Каждого ОшибкаАдреса Из РезультатПроверки.Ошибки Цикл
|
||||||
Ключ = ОшибкаАдреса.Ключ;
|
Ключ = ОшибкаАдреса.Ключ;
|
||||||
Если Обработанные[Ключ] = Неопределено Тогда
|
Если Обработанные[Ключ] = Неопределено Тогда
|
||||||
@@ -2795,6 +2817,7 @@
|
|||||||
Обработанные[Ключ] = Истина;
|
Обработанные[Ключ] = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
+4
@@ -26,6 +26,10 @@ var taskNameScheduleService = [ИмяЗадачиПланировщикаЗад
|
|||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбластьОбновленияКонфигурации
|
#Область ОбластьОбновленияКонфигурации
|
||||||
|
if (useComConnector) {
|
||||||
|
var comConnectorCached = new ActiveXObject(comConnectorName) // для защиты от перерегистрации comConnector из других сеансов
|
||||||
|
}
|
||||||
|
|
||||||
// Инициализация
|
// Инициализация
|
||||||
var oFileSystemObject = new ActiveXObject("Scripting.FileSystemObject");
|
var oFileSystemObject = new ActiveXObject("Scripting.FileSystemObject");
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -8,12 +8,10 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьСкрытиеПерсональныхДанныхСубъектов") Тогда
|
Если ЗащитаПерсональныхДанных.ИспользоватьСкрытиеПерсональныхДанныхСубъектов() Тогда
|
||||||
|
|
||||||
Регистратор = Отбор.Регистратор.Значение;
|
Регистратор = Отбор.Регистратор.Значение;
|
||||||
Субъект = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Регистратор, "Субъект");
|
ЗащитаПерсональныхДанных.РассчитатьДатуСкрытияПерсональныхДанныхПоОснованиям(Регистратор);
|
||||||
|
|
||||||
ЗащитаПерсональныхДанных.РассчитатьДатуСкрытияПерсональныхДанныхСубъекта(Субъект);
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,11 @@
|
|||||||
|{ГДЕ
|
|{ГДЕ
|
||||||
| (Дата МЕЖДУ &НачалоПериода И &КонецПериода)}";
|
| (Дата МЕЖДУ &НачалоПериода И &КонецПериода)}";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений"
|
||||||
|
И МетаданныеИсточника.ПериодичностьРегистраСведений <> Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда
|
||||||
|
ОтборИсточника = "
|
||||||
|
|{ГДЕ
|
||||||
|
| (Период МЕЖДУ &НачалоПериода И &КонецПериода)}";
|
||||||
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления"
|
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления"
|
||||||
Или ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Тогда
|
Или ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Тогда
|
||||||
ОтборИсточника = "
|
ОтборИсточника = "
|
||||||
@@ -172,12 +177,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ПустаяСтрока(ИмяОбъектаМетаданных) Тогда
|
Если ПустаяСтрока(ИмяОбъектаМетаданных) Тогда
|
||||||
Если ЗначениеЗаполнено(ПараметрИсточникДанных.Значение) Тогда
|
|
||||||
ИмяОбъектаМетаданных = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПараметрИсточникДанных.Значение, "Имя");
|
|
||||||
Иначе
|
|
||||||
ИмяОбъектаМетаданных = ПараметрИмяОбъектаМетаданных.Значение;
|
ИмяОбъектаМетаданных = ПараметрИмяОбъектаМетаданных.Значение;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если (НЕ ЗначениеЗаполнено(ТипОбъектаМетаданных)
|
Если (НЕ ЗначениеЗаполнено(ТипОбъектаМетаданных)
|
||||||
ИЛИ НЕ ЗначениеЗаполнено(ИмяОбъектаМетаданных))
|
ИЛИ НЕ ЗначениеЗаполнено(ИмяОбъектаМетаданных))
|
||||||
@@ -798,63 +799,156 @@
|
|||||||
|
|
||||||
Функция ПараметрыОтчета(Настройки, ПользовательскиеНастройки) Экспорт
|
Функция ПараметрыОтчета(Настройки, ПользовательскиеНастройки) Экспорт
|
||||||
ПараметрыОтчета = Новый Структура(
|
ПараметрыОтчета = Новый Структура(
|
||||||
"ОчиститьСтруктуру, Период, ИсточникДанных, ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы", Ложь);
|
"Период, ИсточникДанных, ТипОбъектаМетаданных, ПолноеИмяОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы");
|
||||||
|
ПараметрыОтчета.Вставить("ОчиститьСтруктуру", Ложь);
|
||||||
|
|
||||||
Если Настройки.ДополнительныеСвойства.Свойство("ОтчетИнициализирован")
|
ПолучитьПараметрыИзПользовательскихНастроек(ПараметрыОтчета, ПользовательскиеНастройки);
|
||||||
И ТипЗнч(ПользовательскиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
|
ПолучитьПараметрыИзНастроек(ПараметрыОтчета, Настройки);
|
||||||
Для Каждого Элемент Из ПользовательскиеНастройки.Элементы Цикл
|
|
||||||
Если ТипЗнч(Элемент) <> Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
|
||||||
Продолжить;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИмяПараметра = Строка(Элемент.Параметр);
|
// Если в настройках варианта хранится параметр с неактуальным именем - выполнится его актуализация.
|
||||||
Если ПараметрыОтчета.Свойство(ИмяПараметра) Тогда
|
ПараметрыОтчета.Удалить("ПолноеИмяОбъектаМетаданных");
|
||||||
ПараметрыОтчета[ИмяПараметра] = Элемент.Значение;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
|
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
|
||||||
Для Каждого Параметр Из ПараметрыОтчета Цикл
|
НеактуальныйПараметр = ПараметрыДанных.Найти("ПолноеИмяОбъектаМетаданных");
|
||||||
Если ЗначениеЗаполнено(Параметр.Значение) Тогда
|
Если НеактуальныйПараметр <> Неопределено Тогда
|
||||||
Продолжить;
|
ПараметрыДанных.Удалить(НеактуальныйПараметр);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НайденныйПараметр = ПараметрыДанных.Найти(Параметр.Ключ);
|
ПривестиКИсточникуДанных(ПараметрыОтчета, Настройки);
|
||||||
Если НайденныйПараметр <> Неопределено Тогда
|
|
||||||
ПараметрыОтчета[Параметр.Ключ] = НайденныйПараметр.Значение;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ПараметрыОтчета.ИсточникДанных) Тогда
|
|
||||||
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ПараметрыОтчета.ИсточникДанных);
|
|
||||||
ПараметрыОтчета.ТипОбъектаМетаданных = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
|
|
||||||
ПараметрыОтчета.ИмяОбъектаМетаданных = ОбъектМетаданных.Имя;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПараметрыОтчета.ОчиститьСтруктуру = (ПараметрыОтчета.ИмяТаблицы <> ПараметрыДанных.Найти("ИмяТаблицы").Значение);
|
|
||||||
|
|
||||||
// Заполнение значениями по умолчанию.
|
// Заполнение значениями по умолчанию.
|
||||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ТипОбъектаМетаданных) Тогда
|
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ТипОбъектаМетаданных) Тогда
|
||||||
ПараметрыОтчета.ТипОбъектаМетаданных = ТипОбъектаМетаданныхПоУмолчанию();
|
ПараметрыОтчета.ТипОбъектаМетаданных = ТипОбъектаМетаданныхПоУмолчанию();
|
||||||
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИмяОбъектаМетаданных) Тогда
|
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИмяОбъектаМетаданных) Тогда
|
||||||
ПараметрыОтчета.ИмяОбъектаМетаданных = ИмяОбъектаМетаданныхПоУмолчанию(
|
ПараметрыОтчета.ИмяОбъектаМетаданных = ИмяОбъектаМетаданныхПоУмолчанию(
|
||||||
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных);
|
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных);
|
||||||
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИмяТаблицы) Тогда
|
|
||||||
|
Если ПараметрыОтчета.ОчиститьСтруктуру Тогда
|
||||||
|
ПривестиКИсточникуДанных(ПараметрыОтчета, Настройки);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДоступныеТаблицы = ДоступныеТаблицы(
|
||||||
|
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
||||||
|
|
||||||
|
Если ПараметрыОтчета.ИмяТаблицы = Неопределено
|
||||||
|
Или ДоступныеТаблицы.НайтиПоЗначению(ПараметрыОтчета.ИмяТаблицы) = Неопределено Тогда
|
||||||
ПараметрыОтчета.ИмяТаблицы = ИмяТаблицыПоУмолчанию(
|
ПараметрыОтчета.ИмяТаблицы = ИмяТаблицыПоУмолчанию(
|
||||||
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
Настройки, ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
||||||
КонецЕсли;
|
ПараметрыОтчета.ОчиститьСтруктуру = Истина;
|
||||||
Если Не ЗначениеЗаполнено(ПараметрыОтчета.ИсточникДанных) Тогда
|
|
||||||
ПараметрыОтчета.ИсточникДанных = ИсточникДанных(ПараметрыОтчета.ТипОбъектаМетаданных, ПараметрыОтчета.ИмяОбъектаМетаданных);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ПараметрыОтчета;
|
Возврат ПараметрыОтчета;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Получает параметры, влияющие на построение запроса набора данных СКД из пользовательских настроек.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Параметры - Структура - см. ПараметрыОтчета()
|
||||||
|
// Настройки - ПользовательскиеНастройкиКомпоновкиДанных - текущие пользовательские настройки компоновки данных.
|
||||||
|
//
|
||||||
|
Процедура ПолучитьПараметрыИзПользовательскихНастроек(Параметры, Настройки)
|
||||||
|
Если ТипЗнч(Настройки) <> Тип("ПользовательскиеНастройкиКомпоновкиДанных")
|
||||||
|
Или Настройки.Элементы.Количество() = 0 Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого ЭлементНастройки Из Настройки.Элементы Цикл
|
||||||
|
Если ТипЗнч(ЭлементНастройки) <> Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяПараметра = Строка(ЭлементНастройки.Параметр);
|
||||||
|
Если Параметры.Свойство(ИмяПараметра)
|
||||||
|
И Параметры[ИмяПараметра] = Неопределено Тогда
|
||||||
|
Параметры[ИмяПараметра] = ЭлементНастройки.Значение;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Если в настройках варианта хранится параметр с неактуальным именем - выполнится его актуализация.
|
||||||
|
Если ЗначениеЗаполнено(Параметры.ПолноеИмяОбъектаМетаданных)
|
||||||
|
И Не ЗначениеЗаполнено(Параметры.ИмяОбъектаМетаданных) Тогда
|
||||||
|
Параметры.ИмяОбъектаМетаданных = Параметры.ПолноеИмяОбъектаМетаданных;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Получает параметры, влияющие на построение запроса набора данных СКД из настроек.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Параметры - Структура - см. ПараметрыОтчета()
|
||||||
|
// Настройки - НастройкиКомпоновкиДанных - текущие настройки компоновки данных.
|
||||||
|
//
|
||||||
|
Процедура ПолучитьПараметрыИзНастроек(Параметры, Настройки)
|
||||||
|
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
|
||||||
|
|
||||||
|
Для Каждого Параметр Из Параметры Цикл
|
||||||
|
ЭлементНастройки = ПараметрыДанных.Найти(Параметр.Ключ);
|
||||||
|
Если ЭлементНастройки = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Параметр.Значение = Неопределено Тогда
|
||||||
|
Параметры[Параметр.Ключ] = ЭлементНастройки.Значение;
|
||||||
|
ИначеЕсли ЭлементНастройки.Значение <> Параметр.Значение Тогда
|
||||||
|
ЭлементНастройки.Значение = Параметр.Значение;
|
||||||
|
Настройки.ДополнительныеСвойства.Вставить("ОтчетИнициализирован", Ложь);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Если в настройках варианта хранится параметр с неактуальным именем - выполнится его актуализация.
|
||||||
|
Если ЗначениеЗаполнено(Параметры.ПолноеИмяОбъектаМетаданных)
|
||||||
|
И Не ЗначениеЗаполнено(Параметры.ИмяОбъектаМетаданных) Тогда
|
||||||
|
Параметры.ИмяОбъектаМетаданных = Параметры.ПолноеИмяОбъектаМетаданных;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Устанавливает соответствие параметров ТипОбъектаМетаданных, ИмяОбъектаМетаданных
|
||||||
|
// с параметром ИсточникДанных.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Параметры - Структура - см. ПараметрыОтчета()
|
||||||
|
// Настройки - НастройкиКомпоновкиДанных - текущие настройки компоновки данных.
|
||||||
|
//
|
||||||
|
Процедура ПривестиКИсточникуДанных(Параметры, Настройки)
|
||||||
|
Если Не ЗначениеЗаполнено(Параметры.ТипОбъектаМетаданных)
|
||||||
|
Или Не ЗначениеЗаполнено(Параметры.ИмяОбъектаМетаданных) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОбъектМетаданныхСуществует = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(
|
||||||
|
Метаданные[Параметры.ТипОбъектаМетаданных], Параметры.ИмяОбъектаМетаданных);
|
||||||
|
|
||||||
|
Если ОбъектМетаданныхСуществует Тогда
|
||||||
|
Параметры.ИсточникДанных = ИсточникДанных(Параметры.ТипОбъектаМетаданных, Параметры.ИмяОбъектаМетаданных);
|
||||||
|
ИначеЕсли ЗначениеЗаполнено(Параметры.ИсточникДанных) Тогда
|
||||||
|
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Параметры.ИсточникДанных);
|
||||||
|
Параметры.ТипОбъектаМетаданных = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
|
||||||
|
Параметры.ИмяОбъектаМетаданных = ОбъектМетаданных.Имя;
|
||||||
|
Параметры.ИмяТаблицы = Неопределено;
|
||||||
|
Иначе
|
||||||
|
Параметры.ТипОбъектаМетаданных = Неопределено;
|
||||||
|
Параметры.ИмяОбъектаМетаданных = Неопределено;
|
||||||
|
Параметры.ИмяТаблицы = Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Согласование со значением параметра данных.
|
||||||
|
ПараметрыДанных = Настройки.ПараметрыДанных;
|
||||||
|
|
||||||
|
ЭлементНастройки = ПараметрыДанных.Элементы.Найти("ИсточникДанных");
|
||||||
|
Если ЭлементНастройки = Неопределено Тогда
|
||||||
|
ЭлементНастройки = ПараметрыДанных.Элементы.Добавить();
|
||||||
|
ЭлементНастройки.Параметр = Новый ПараметрКомпоновкиДанных("ИсточникДанных");
|
||||||
|
ЭлементНастройки.Значение = Параметры.ИсточникДанных;
|
||||||
|
ЭлементНастройки.Использование = Истина;
|
||||||
|
Иначе
|
||||||
|
ПараметрыДанных.УстановитьЗначениеПараметра("ИсточникДанных", Параметры.ИсточникДанных);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ПолучитьТиповуюСхему(ПараметрыОтчета, НастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
|
Функция ПолучитьТиповуюСхему(ПараметрыОтчета, НастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
|
||||||
|
|
||||||
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
|
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
|
||||||
|
|||||||
@@ -535,6 +535,93 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
|
<object>
|
||||||
|
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||||
|
<right>
|
||||||
|
<name>Administration</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>DataAdministration</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>UpdateDataBaseConfiguration</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ExclusiveMode</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ActiveUsers</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>EventLog</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ThinClient</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>WebClient</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ThickClient</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ExternalConnection</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>Automation</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>TechnicalSpecialistMode</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeNormal</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeFullscreenWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeKiosk</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>AnalyticsSystemClient</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>SaveUserData</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>ConfigurationExtensionsAdministration</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>Output</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
</object>
|
||||||
<object>
|
<object>
|
||||||
<name>Constant.ВыполнятьЗамерыПроизводительности</name>
|
<name>Constant.ВыполнятьЗамерыПроизводительности</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -805,93 +892,6 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
<object>
|
|
||||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
|
||||||
<right>
|
|
||||||
<name>Administration</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>DataAdministration</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>UpdateDataBaseConfiguration</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ExclusiveMode</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ActiveUsers</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>EventLog</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ThinClient</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>WebClient</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ThickClient</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ExternalConnection</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>Automation</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>TechnicalSpecialistMode</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeNormal</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeFullscreenWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeKiosk</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>AnalyticsSystemClient</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>SaveUserData</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>ConfigurationExtensionsAdministration</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>Output</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
</object>
|
|
||||||
<object>
|
<object>
|
||||||
<name>InformationRegister.ОбластиТребующиеОбработкиПоставляемыхДанных</name>
|
<name>InformationRegister.ОбластиТребующиеОбработкиПоставляемыхДанных</name>
|
||||||
<right>
|
<right>
|
||||||
|
|||||||
@@ -1113,6 +1113,45 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>Constant.ВыполнятьЗамерыПроизводительности</name>
|
<name>Constant.ВыполнятьЗамерыПроизводительности</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -1519,45 +1558,6 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>InformationRegister.ОбластиТребующиеОбработкиПоставляемыхДанных</name>
|
<name>InformationRegister.ОбластиТребующиеОбработкиПоставляемыхДанных</name>
|
||||||
<right>
|
<right>
|
||||||
|
|||||||
@@ -125,17 +125,25 @@
|
|||||||
ПомощникСозданияОбменаДанными.ПрефиксИнформационнойБазыИсточникаУстановлен = ЗначениеЗаполнено(ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы"));
|
ПомощникСозданияОбменаДанными.ПрефиксИнформационнойБазыИсточникаУстановлен = ЗначениеЗаполнено(ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы"));
|
||||||
|
|
||||||
// Выполняем создание настройки обмена.
|
// Выполняем создание настройки обмена.
|
||||||
|
СообщениеОбОшибке = "";
|
||||||
ПомощникСозданияОбменаДанными.ВебСервисВыполнитьДействияПоНастройкеНовогоОбменаДанными(
|
ПомощникСозданияОбменаДанными.ВебСервисВыполнитьДействияПоНастройкеНовогоОбменаДанными(
|
||||||
Отказ,
|
Отказ,
|
||||||
СериализаторXDTO.ПрочитатьXDTO(НастройкаОтборовXDTO),
|
СериализаторXDTO.ПрочитатьXDTO(НастройкаОтборовXDTO),
|
||||||
СериализаторXDTO.ПрочитатьXDTO(ЗначенияПоУмолчаниюXDTO));
|
СериализаторXDTO.ПрочитатьXDTO(ЗначенияПоУмолчаниюXDTO),
|
||||||
|
СообщениеОбОшибке);
|
||||||
|
|
||||||
Если Отказ Тогда
|
Если Отказ Тогда
|
||||||
Сообщение = НСтр("ru = 'При создании настройки обмена во второй информационной базе возникли ошибки: %1'");
|
Сообщение = НСтр("ru = 'При сохранении настройки обмена в программе ""%1"" возникла ошибка: %2'");
|
||||||
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ПомощникСозданияОбменаДанными.СтрокаСообщенияОбОшибке());
|
Если ПустаяСтрока(СообщениеОбОшибке) Тогда
|
||||||
|
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение,
|
||||||
|
ПомощникСозданияОбменаДанными.НаименованиеЭтойБазы, ПомощникСозданияОбменаДанными.СтрокаСообщенияОбОшибке());
|
||||||
|
Иначе
|
||||||
|
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение,
|
||||||
|
ПомощникСозданияОбменаДанными.НаименованиеЭтойБазы, СообщениеОбОшибке);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииСозданиеОбменаДанными(),
|
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииСозданиеОбменаДанными(),
|
||||||
УровеньЖурналаРегистрации.Ошибка, , , Сообщение);
|
УровеньЖурналаРегистрации.Ошибка, , , ПомощникСозданияОбменаДанными.СтрокаСообщенияОбОшибке());
|
||||||
|
|
||||||
ВызватьИсключение Сообщение;
|
ВызватьИсключение Сообщение;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
Reference in new issue
Block a user