3_1_1_120

This commit is contained in:
Компания 1С committed 2019-05-30 00:58:00 +03:00
1 parent 58e7794c47
commit a1f30ddbf7
55 files changed
+1382 -519

No files matched your search

@@ -51,12 +51,12 @@
РеквизитыРодителя.ИмяПредопределенногоВида, РеквизитыРодителя.ИмяПредопределенныхДанных);
Если СтрНачинаетсяС(ИмяПредопределенногоВида, "Справочник") Тогда
ИмяОбъекта = Сред(ИмяПредопределенногоВида, 11);
ИмяОбъекта = Сред(ИмяПредопределенногоВида, СтрДлина("Справочник") + 1);
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда
ТабличнаяЧасть = Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация");
КонецЕсли;
ИначеЕсли СтрНачинаетсяС(ИмяПредопределенногоВида, "Документ") Тогда
ИмяОбъекта = Сред(ИмяПредопределенногоВида, 9);
ИмяОбъекта = Сред(ИмяПредопределенногоВида, СтрДлина("Документ") + 1);
Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда
ТабличнаяЧасть = Метаданные.Документы[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация");
КонецЕсли;
@@ -966,6 +966,7 @@
&НаКлиенте
Процедура НомерТекущегоГодаПриИзмененииЗавершение(Ответ, ДополнительныеПараметры) Экспорт
ЗаписыватьДанныеГрафика = Ложь;
Если Ответ = КодВозвратаДиалога.Да Тогда
ЗаписыватьДанныеГрафика = Истина;
КонецЕсли;
@@ -620,7 +620,7 @@
ТаблицаКалендарей = ПолучитьИзВременногоХранилища(АдресКалендарей);
Если ТаблицаКалендарей.Колонки.Найти("Code") <> Неопределено Тогда
Если ТаблицаКалендарей <> Неопределено И ТаблицаКалендарей.Колонки.Найти("Code") <> Неопределено Тогда
Возврат ТаблицаКалендарей.Найти(СокрЛП(Код), "Code") <> Неопределено;
КонецЕсли;
@@ -470,6 +470,10 @@
<metadata>Constant.СписокЗапрещенныхРасширений</metadata>
<use>DontUse</use>
</content>
<content>
<metadata>InformationRegister.СвязиАдресныхОбъектов</metadata>
<use>DontUse</use>
</content>
<content>
<metadata>InformationRegister.СообщенияОбменаДаннымиОбластейДанных</metadata>
<use>DontUse</use>
@@ -630,10 +630,13 @@
Процедура НастройкиПоУмолчанию(Команда)
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("ИмяСобытия", "НастройкиПоУмолчанию");
Если ВариантМодифицирован Тогда
ПараметрыЗаполнения.Вставить("СброситьНастройкиВарианта", Истина);
ПараметрыЗаполнения.Вставить("ВариантМодифицирован", Ложь);
КонецЕсли;
ПараметрыЗаполнения.Вставить("СброситьПользовательскиеНастройки", Истина);
ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
ОбновитьЭлементыФормыНастроек(ПараметрыЗаполнения);
@@ -431,6 +431,44 @@
////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ НА СТОРОНЕ АВТОНОМНОГО РАБОЧЕГО МЕСТА
// Для внутреннего использования
//
Процедура СинхронизироватьДанныеСПриложениемВИнтернете() Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.СинхронизацияДанныхСПриложениемВИнтернете);
УстановитьПривилегированныйРежим(Истина);
Если Не ЭтоАвтономноеРабочееМесто() Тогда
ПодробноеПредставлениеОшибкиДляЖурналаРегистрации =
НСтр("ru = 'Эта информационная база не является автономным рабочим местом. Синхронизация данных отменена.'",
ОбщегоНазначения.КодОсновногоЯзыка());
ПодробноеПредставлениеОшибки =
НСтр("ru = 'Эта информационная база не является автономным рабочим местом. Синхронизация данных отменена.'");
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииСинхронизацияДанных(),
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибкиДляЖурналаРегистрации);
ВызватьИсключение ПодробноеПредставлениеОшибки;
КонецЕсли;
Отказ = Ложь;
ПараметрыОбмена = ОбменДаннымиСервер.ПараметрыОбмена();
ПараметрыОбмена.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WS;
ПараметрыОбмена.ВыполнятьЗагрузку = Истина;
ПараметрыОбмена.ВыполнятьВыгрузку = Истина;
ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
ПриложениеВСервисе(), ПараметрыОбмена, Отказ);
Если Отказ Тогда
ВызватьИсключение НСтр("ru = 'В процессе синхронизации данных с приложением в Интернете возникли ошибки (см. журнал регистрации).'");
КонецЕсли;
КонецПроцедуры
// Для внутреннего использования.
//
Процедура ВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске() Экспорт
@@ -918,6 +956,14 @@
Возврат Результат;
КонецФункции
// Для внутреннего использования
//
Функция СобытиеЖурналаРегистрацииСинхронизацияДанных()
Возврат НСтр("ru = 'Автономная работа.Синхронизация данных'", ОбщегоНазначения.КодОсновногоЯзыка());
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обработчики условных вызовов в другие подсистемы
@@ -19,10 +19,6 @@
Возврат АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
КонецФункции
Функция ЕстьПравоДобавлениеИзменениеАдресныхСведений() Экспорт
Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.АдресныеОбъекты);
КонецФункции
// Проверка доступности поставщика - локальной базы или сервиса.
//
// Возвращаемое значение:
@@ -244,6 +240,10 @@
Процедура УстановитьМуниципальныеСведения(Адрес, ОКТМО) Экспорт
Если Не ЭтоГородФедеральногоЗначения(Адрес) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
@@ -473,6 +473,7 @@
Сведения = Новый Структура();
Сведения.Вставить("Идентификатор", СведенияОбАдресе.Идентификатор);
Сведения.Вставить("Родитель", Родитель);
Сведения.Вставить("Представление", СведенияОбАдресе.Представление);
Сведения.Вставить("Отказ", Ложь);
@@ -1170,9 +1171,12 @@
// Получаем код КЛАДР из веб-сервиса.
Если ЗагруженныеАдресныеСведения["КлассификаторДоступен"] Или Источник = "Сервис1С" Тогда
Если ЗначениеЗаполнено(ИдентификаторАдресногоОбъекта) Тогда
ИдентификаторОбъекта = ?(ЗначениеЗаполнено(Адрес.houseId), Адрес.houseId, ИдентификаторАдресногоОбъекта);
Если ЗначениеЗаполнено(ИдентификаторОбъекта) Тогда
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("selectByCode?code=%1&codeType=ID",
Строка(ИдентификаторАдресногоОбъекта));
Строка(ИдентификаторОбъекта));
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
@@ -1185,7 +1189,8 @@
КонецЕсли;
Результат.КодыАдреса.КодКЛАДР = Сведения.codeKLADR;
Результат.КодыАдреса.Идентификатор = Сведения.Id;
Результат.КодыАдреса.Идентификатор = ИдентификаторАдресногоОбъекта(Сведения, Адрес.addressType);
Результат.КодыАдреса.ИдентификаторДома = ?(ЗначениеЗаполнено(Сведения.houseId), Сведения.houseId, "");
Результат.КодыАдреса.ОКАТО = Сведения.okato;
Результат.КодыАдреса.ОКТМО = Сведения.oktmo;
Результат.КодыАдреса.КодИФНСФЛ = Сведения.ifnsFlCode;
@@ -1537,6 +1542,11 @@
КонецПроцедуры
Функция ЕстьПравоДобавлениеИзменениеАдресныхСведений() Экспорт
Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.АдресныеОбъекты);
КонецФункции
#Область АдресныйКлассификаторВМоделиСервиса
////////////////////////////////////////////////////////////////////////////////
@@ -1617,92 +1627,19 @@
#Область СлужебныеПроцедурыИФункции
////////////////////////////////////////////////////////////////////////////////
// Загрузка адресного классификатора.
Функция ИдентификаторАдресногоОбъекта(Адрес, Знач ТипАдреса)
// Загрузка всех данных классификатора адресов.
//
// Параметры:
// КодыСубъектовРФ - Массив - Содержит числовые коды регионов-субъектов для загрузки.
//
// ОписаниеФайлов - Строка, Массив - Каталог на сервере, в котором находятся файлы данных. Ожидается, что имена
// файлов будут в верхнем регистре.
// Массив элементов типа ОписаниеПередаваемогоФайла или структур с полями.
// * Имя - Строка - Имя или полное имя передаваемого файла.
// * Хранение - ДвоичныеДанные, Строка - Описание хранения файла. Строка
// может быть путем на файловой системе или адресом во временном
// хранилище.
// ОповещатьОПрогрессе - Булево - Флаг оповещения о прогрессе (см ДлительныеОперации.СообщитьПрогресс).
//
Процедура ЗагрузитьКлассификаторАдресов(КодыСубъектовРФ, ОписаниеФайлов, ПараметрыЗагрузки)
Идентификатор = "";
ИменаУровнейАдреса = ИменаУровнейАдреса(ТипАдреса, Истина);
Для каждого УровеньАдреса Из ИменаУровнейАдреса Цикл
Если ЗначениеЗаполнено(Адрес[УровеньАдреса + "Id"]) Тогда
Идентификатор = Адрес[УровеньАдреса + "Id"];
КонецЕсли;
КонецЦикла;
ДатаЗагрузки = ТекущаяУниверсальнаяДата();
Возврат Идентификатор;
Если ТипЗнч(ОписаниеФайлов) = Тип("Строка") Тогда
// Файлы уже подготовлены
КаталогФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ОписаниеФайлов);
Иначе
КаталогФайлов = ИзвлечьФайлыВКаталог(ОписаниеФайлов);
КонецЕсли;
Попытка
СлужебныеАдресныеСведения = СлужебныеАдресныеСведения(КаталогФайлов);
ОбновитьСлужебныеАдресныеСведения(СлужебныеАдресныеСведения);
// 2. Все заказанные субъекты
ВсегоСубъектов = КодыСубъектовРФ.Количество();
НомерПоПорядку = 0;
Для Каждого СубъектРФ Из КодыСубъектовРФ Цикл
НаименованиеРегиона = АдресныйКлассификатор.НаименованиеРегионаПоКоду(СубъектРФ);
НомерПоПорядку = НомерПоПорядку + 1;
Если ПараметрыЗагрузки.ОповещатьОПрогрессе Тогда
ОсталосьДляЗагрузки = ВсегоСубъектов - НомерПоПорядку;
ОповеститьОПрогрессе(НаименованиеРегиона, СубъектРФ, ОсталосьДляЗагрузки);
КонецЕсли;
Попытка
ЗагрузитьАдресныеСведенияПоРегиону(СубъектРФ, КаталогФайлов, ПараметрыЗагрузки);
// Ставим версию данных загрузки региона.
УстановитьИнформациюОЗагрузкеВерсии(СубъектРФ, СлужебныеАдресныеСведения.Версия, СлужебныеАдресныеСведения.ДатаВерсии, ДатаЗагрузки);
Исключение
// Во время загрузки возникла ошибка, очищаем частично загруженные данные.
КодыСубъектаРФ = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СубъектРФ);
ОчиститьКлассификаторАдресов(КодыСубъектаРФ);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось загрузить адресные сведения субъекта РФ: %1 %2
|по причине: %3'"), СубъектРФ, НаименованиеРегиона, ОписаниеОшибки()));
ВызватьИсключение;
КонецПопытки;
КонецЦикла;
// 4. Загружаем сокращения адресов.
// Эти данные будут нужны при разборах адреса из строки.
ОбновитьАдресныеСокращения(КаталогФайлов);
// 5. Очищаем временный каталог.
ФайловаяСистема.УдалитьВременныйФайл(КаталогФайлов);
Исключение
// Очищаем временный каталог.
ФайловаяСистема.УдалитьВременныйФайл(КаталогФайлов);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
КонецФункции
// Возвращает настройку текущего источника данных адресов.
//
@@ -2205,25 +2142,40 @@
|ИЗ
| РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень0
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень1
| ПО (АдресныеОбъектыУровень0.Идентификатор = АдресныеОбъектыУровень1.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень1.Наименование = &Наименование1)
| И (АдресныеОбъектыУровень1.Сокращение = &Сокращение1)
| ПО АдресныеОбъектыУровень1.Наименование = &Наименование1
| И АдресныеОбъектыУровень1.Сокращение = &Сокращение1
| И (АдресныеОбъектыУровень0.Идентификатор = АдресныеОбъектыУровень1.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень1
| ГДЕ (АдресныеОбъектыУровень1.Идентификатор = СвязанныеАдресныеОбъектыУровень1.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень1.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень0.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень2
| ПО (АдресныеОбъектыУровень1.Идентификатор = АдресныеОбъектыУровень2.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень2.Наименование = &Наименование2)
| И (АдресныеОбъектыУровень2.Сокращение = &Сокращение2)
| ПО АдресныеОбъектыУровень2.Наименование = &Наименование2
| И АдресныеОбъектыУровень2.Сокращение = &Сокращение2
| И (АдресныеОбъектыУровень1.Идентификатор = АдресныеОбъектыУровень2.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень2
| ГДЕ (АдресныеОбъектыУровень2.Идентификатор = СвязанныеАдресныеОбъектыУровень2.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень2.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень1.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень3
| ПО (АдресныеОбъектыУровень2.Идентификатор = АдресныеОбъектыУровень3.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень3.Наименование = &Наименование3)
| И (АдресныеОбъектыУровень3.Сокращение = &Сокращение3)
| ПО АдресныеОбъектыУровень3.Наименование = &Наименование3
| И АдресныеОбъектыУровень3.Сокращение = &Сокращение3
| И (АдресныеОбъектыУровень2.Идентификатор = АдресныеОбъектыУровень3.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень3
| ГДЕ (АдресныеОбъектыУровень3.Идентификатор = СвязанныеАдресныеОбъектыУровень3.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень3.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень2.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень4
| ПО (АдресныеОбъектыУровень3.Идентификатор = АдресныеОбъектыУровень4.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень4.Наименование = &Наименование4)
| И (АдресныеОбъектыУровень4.Сокращение = &Сокращение4)
| ПО АдресныеОбъектыУровень4.Наименование = &Наименование4
| И АдресныеОбъектыУровень4.Сокращение = &Сокращение4
| И (АдресныеОбъектыУровень3.Идентификатор = АдресныеОбъектыУровень4.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень4
| ГДЕ (АдресныеОбъектыУровень4.Идентификатор = СвязанныеАдресныеОбъектыУровень4.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень4.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень3.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень5
| ПО (АдресныеОбъектыУровень4.Идентификатор = АдресныеОбъектыУровень5.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень5.Наименование = &Наименование5)
| И (АдресныеОбъектыУровень5.Сокращение = &Сокращение5)
| ПО АдресныеОбъектыУровень5.Наименование = &Наименование5
| И АдресныеОбъектыУровень5.Сокращение = &Сокращение5
| И (АдресныеОбъектыУровень4.Идентификатор = АдресныеОбъектыУровень5.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень5
| ГДЕ (АдресныеОбъектыУровень5.Идентификатор = СвязанныеАдресныеОбъектыУровень5.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень5.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень4.Идентификатор)))
|ГДЕ
| АдресныеОбъектыУровень0.Наименование = &Наименование0
| И АдресныеОбъектыУровень0.Сокращение = &Сокращение0
@@ -2243,7 +2195,8 @@
| ПО ДомаЗданияСтроения.АдресныйОбъект = АдресныеОбъекты.Идентификатор
|";
Если ЭтоМуниципальныйАдрес(Адрес.AddressType) Тогда
ЭтоМуниципальныйАдрес = ЭтоМуниципальныйАдрес(Адрес.AddressType);
Если ЭтоМуниципальныйАдрес Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, ".РодительскийИдентификатор", ".МуниципальныйРодительскийИдентификатор");
КонецЕсли;
@@ -2254,6 +2207,13 @@
Для каждого УровеньАдреса Из ИменаУровнейАдреса Цикл
Если Не ЭтоМуниципальныйАдрес
И СтрСравнить(УровеньАдреса, "Locality") = 0
И СтрСравнить(Адрес.city, Адрес.locality) = 0
И СтрСравнить(Адрес.cityType, Адрес.localityType) = 0 Тогда
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(Адрес[УровеньАдреса]) Тогда
Запрос.УстановитьПараметр("Наименование" + Строка(Счетчик), Адрес[УровеньАдреса]);
@@ -2498,18 +2458,39 @@
| РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень0
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень1
| ПО АдресныеОбъектыУровень0.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень1.Идентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень1
| ГДЕ (АдресныеОбъектыУровень0.Идентификатор = СвязанныеАдресныеОбъектыУровень1.Идентификатор)
| И (СвязанныеАдресныеОбъектыУровень1.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень1.Идентификатор))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень2
| ПО (АдресныеОбъектыУровень1.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень2.Идентификатор)
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень2
| ГДЕ (АдресныеОбъектыУровень1.Идентификатор = СвязанныеАдресныеОбъектыУровень2.Идентификатор)
| И (СвязанныеАдресныеОбъектыУровень2.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень2.Идентификатор))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень3
| ПО (АдресныеОбъектыУровень2.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень3.Идентификатор)
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень3
| ГДЕ (АдресныеОбъектыУровень2.Идентификатор = СвязанныеАдресныеОбъектыУровень3.Идентификатор)
| И (СвязанныеАдресныеОбъектыУровень3.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень3.Идентификатор))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень4
| ПО (АдресныеОбъектыУровень3.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень4.Идентификатор)
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень4
| ГДЕ (АдресныеОбъектыУровень3.Идентификатор = СвязанныеАдресныеОбъектыУровень4.Идентификатор)
| И (СвязанныеАдресныеОбъектыУровень4.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень4.Идентификатор))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень5
| ПО (АдресныеОбъектыУровень4.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень5.Идентификатор)
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень5
| ГДЕ (АдресныеОбъектыУровень4.Идентификатор = СвязанныеАдресныеОбъектыУровень5.Идентификатор)
| И (СвязанныеАдресныеОбъектыУровень5.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень5.Идентификатор))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеАдресныеСведения КАК ДополнительныеСведения
| ПО АдресныеОбъектыУровень0.ДополнительныеАдресныеСведения = ДополнительныеСведения.Идентификатор
|ГДЕ
| АдресныеОбъектыУровень0.Идентификатор = &Идентификатор
| &ДополнительныйОтбор
|
| ОБЪЕДИНИТЬ ВСЕ
|
@@ -2589,7 +2570,16 @@
Результат = ОписаниеНовойКонтактнойИнформации();
Запрос = Новый Запрос(ТекстЗапроса);
Запрос = Новый Запрос;
ДополнительныйОтбор = "";
Если Значение.Свойство("Родитель") Тогда
ДополнительныйОтбор = "И АдресныеОбъектыУровень1.Идентификатор = &ИдентификаторРодитель";
Запрос.УстановитьПараметр("ИдентификаторРодитель", Новый УникальныйИдентификатор(Значение.Родитель));
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ДополнительныйОтбор", ДополнительныйОтбор);
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ПредставлениеМуниципальный", МуниципальныйАдрес());
Запрос.УстановитьПараметр("ПредставлениеАдминистративный", АдминистративноТерриториальныйАдрес());
Запрос.УстановитьПараметр("Идентификатор", Новый УникальныйИдентификатор(Значение.Идентификатор));
@@ -2624,15 +2614,18 @@
СловарьИменПолей = СловарьКлючейПолейАдресВСоответствииСУровнем();
Индекс = 5;
Пока Индекс >= 0 Цикл
ЗаполнитьПоляВСоответствииСУровнемАдреса(Результат, Выборка[1], Индекс, СловарьИменПолей);
Индекс = Индекс - 1;
КонецЦикла;
Если Выборка.Количество() > 1 Тогда
Индекс = 5;
Пока Индекс >= 0 Цикл
ЗаполнитьПоляВСоответствииСУровнемАдреса(Результат, Выборка[1], Индекс, СловарьИменПолей, ЭтоМуниципальныйАдрес(Выборка[1].ТипАдреса));
Индекс = Индекс - 1;
КонецЦикла;
КонецЕсли;
// Муниципальный
Индекс = 5;
Пока Индекс >= 0 Цикл
ЗаполнитьПоляВСоответствииСУровнемАдреса(Результат, Выборка[0], Индекс, СловарьИменПолей);
ЗаполнитьПоляВСоответствииСУровнемАдреса(Результат, Выборка[0], Индекс, СловарьИменПолей, ЭтоМуниципальныйАдрес(Выборка[0].ТипАдреса));
Индекс = Индекс - 1;
КонецЦикла;
@@ -3367,6 +3360,14 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОтборПоИдентификатору", "");
КонецЕсли;
Если ЭтоМуниципальныйАдрес(ТипАдреса) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "РодительскийИдентификатор", "МуниципальныйРодительскийИдентификатор");
Если Уровень = 7 Или Уровень = 6 Тогда
ДополнитьТекстЗапроса(Запрос.Текст);
КонецЕсли;
КонецЕсли;
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура")
И ДополнительныеПараметры.Свойство("СтрокаПоиска")
И ЗначениеЗаполнено(ДополнительныеПараметры.СтрокаПоиска) Тогда
@@ -3380,9 +3381,6 @@
КонецЕсли;
Если ЭтоМуниципальныйАдрес(ТипАдреса) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "РодительскийИдентификатор", "МуниципальныйРодительскийИдентификатор");
КонецЕсли;
Если Уровень = 31 Или Уровень = 41 Тогда
@@ -3418,6 +3416,34 @@
КонецПроцедуры
Процедура ДополнитьТекстЗапроса(ТекстЗапроса)
ТекстЗапроса = "
|ВЫБРАТЬ
| АдресныеОбъекты.Наименование + "" "" + АдресныеОбъекты.Сокращение КАК Представление,
| АдресныеОбъекты.Идентификатор КАК Идентификатор,
| АдресныеОбъекты.ДополнительныеАдресныеСведения КАК ДополнительныеАдресныеСведения,
| ДополнительныеСведения.ПочтовыйИндекс КАК ПочтовыйИндекс,
| ИСТИНА КАК Муниципальный,
| ЗагруженныеВерсииАдресныхСведений.ДатаВерсии > ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК РегионЗагружен
|ИЗ
| РегистрСведений.СвязиАдресныхОбъектов КАК СвязиАдресныхОбъектов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъекты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеАдресныеСведения КАК ДополнительныеСведения
| ПО АдресныеОбъекты.ДополнительныеАдресныеСведения = ДополнительныеСведения.Идентификатор
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженныеВерсииАдресныхСведений КАК ЗагруженныеВерсииАдресныхСведений
| ПО АдресныеОбъекты.КодСубъектаРФ = ЗагруженныеВерсииАдресныхСведений.КодСубъектаРФ
| ПО СвязиАдресныхОбъектов.Идентификатор = АдресныеОбъекты.Идентификатор
|ГДЕ
| СвязиАдресныхОбъектов.МуниципальныйРодительскийИдентификатор = &Идентификатор
| &ОтборПоСтроке
|
|ОБЪЕДИНИТЬ ВСЕ
|
|" + ТекстЗапроса ;
КонецПроцедуры
// Конструктор таблицы - результата выбора.
//
Функция ТаблицаДанныхДляИнтерактивногоВыбора()
@@ -3549,6 +3575,7 @@
ЗагрузитьАдресныеОбъекты(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
ЗагрузитьДомаЗданияСтроения(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
ЗагрузитьЗемельныеУчастки(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
ЗагрузитьСвязиАдресныхОбъектов(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
Если ПараметрыЗагрузки.ЗагружатьИсториюАдресов Тогда
ЗагрузитьИсториюАдресныхОбъектов(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
@@ -3570,16 +3597,16 @@
Процедура ОповеститьОПрогрессе(Знач НаименованиеРегиона, Знач СубъектРФ, Знач ОсталосьДляЗагрузки)
Перем ИнформацияОЗагрузке, ТекстОсталосьЗагрузить, ШаблонСообщения;
ШаблонСообщения = НСтр("ru = 'Загрузка региона ""%1 - %2"" %3'") + "...";
ТекстОсталосьЗагрузить = ?(ОсталосьДляЗагрузки > 0,
" (" + НСтр("ru = 'осталось'") + " " + Формат(ОсталосьДляЗагрузки, "ЧН=") + ")",
"");
Если ОсталосьДляЗагрузки > 0 Тогда
ШаблонСообщения = НСтр("ru = 'Загрузка региона ""%1 - %2""... (осталось %3)'");
ТекстОсталосьЗагрузить = Формат(ОсталосьДляЗагрузки, "ЧН=");
Иначе
ШаблонСообщения = НСтр("ru = 'Загрузка региона ""%1 - %2""'") + "...";
ТекстОсталосьЗагрузить = "";
КонецЕсли;
ИнформацияОЗагрузке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения,
СубъектРФ, НаименованиеРегиона, ТекстОсталосьЗагрузить);
СубъектРФ, НаименованиеРегиона, ТекстОсталосьЗагрузить);
ДлительныеОперации.СообщитьПрогресс(, ИнформацияОЗагрузке);
@@ -4155,28 +4182,44 @@
| КОНЕЦ
| КОНЕЦ КАК Идентификатор
|ПОМЕСТИТЬ АдресныеОбъекты
|ИЗ
| РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень0
| ИЗ
| РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень0
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень1
| ПО (АдресныеОбъектыУровень0.Идентификатор = АдресныеОбъектыУровень1.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень1.Наименование = &Наименование1)
| И (АдресныеОбъектыУровень1.Сокращение = &Сокращение1)
| ПО АдресныеОбъектыУровень1.Наименование = &Наименование1
| И АдресныеОбъектыУровень1.Сокращение = &Сокращение1
| И (АдресныеОбъектыУровень0.Идентификатор = АдресныеОбъектыУровень1.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень1
| ГДЕ (АдресныеОбъектыУровень1.Идентификатор = СвязанныеАдресныеОбъектыУровень1.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень1.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень0.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень2
| ПО (АдресныеОбъектыУровень1.Идентификатор = АдресныеОбъектыУровень2.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень2.Наименование = &Наименование2)
| И (АдресныеОбъектыУровень2.Сокращение = &Сокращение2)
| ПО АдресныеОбъектыУровень2.Наименование = &Наименование2
| И АдресныеОбъектыУровень2.Сокращение = &Сокращение2
| И (АдресныеОбъектыУровень1.Идентификатор = АдресныеОбъектыУровень2.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень2
| ГДЕ (АдресныеОбъектыУровень2.Идентификатор = СвязанныеАдресныеОбъектыУровень2.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень2.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень1.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень3
| ПО (АдресныеОбъектыУровень2.Идентификатор = АдресныеОбъектыУровень3.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень3.Наименование = &Наименование3)
| И (АдресныеОбъектыУровень3.Сокращение = &Сокращение3)
| ПО АдресныеОбъектыУровень3.Наименование = &Наименование3
| И АдресныеОбъектыУровень3.Сокращение = &Сокращение3
| И (АдресныеОбъектыУровень2.Идентификатор = АдресныеОбъектыУровень3.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень3
| ГДЕ (АдресныеОбъектыУровень3.Идентификатор = СвязанныеАдресныеОбъектыУровень3.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень3.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень2.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень4
| ПО (АдресныеОбъектыУровень3.Идентификатор = АдресныеОбъектыУровень4.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень4.Наименование = &Наименование4)
| И (АдресныеОбъектыУровень4.Сокращение = &Сокращение4)
| ПО АдресныеОбъектыУровень4.Наименование = &Наименование4
| И АдресныеОбъектыУровень4.Сокращение = &Сокращение4
| И (АдресныеОбъектыУровень3.Идентификатор = АдресныеОбъектыУровень4.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень4
| ГДЕ (АдресныеОбъектыУровень4.Идентификатор = СвязанныеАдресныеОбъектыУровень4.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень4.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень3.Идентификатор)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъектыУровень5
| ПО (АдресныеОбъектыУровень4.Идентификатор = АдресныеОбъектыУровень5.РодительскийИдентификатор)
| И (АдресныеОбъектыУровень5.Наименование = &Наименование5)
| И (АдресныеОбъектыУровень5.Сокращение = &Сокращение5)
| ПО АдресныеОбъектыУровень5.Наименование = &Наименование5
| И АдресныеОбъектыУровень5.Сокращение = &Сокращение5
| И (АдресныеОбъектыУровень4.Идентификатор = АдресныеОбъектыУровень5.РодительскийИдентификатор
| ИЛИ ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА ИЗ РегистрСведений.СвязиАдресныхОбъектов КАК СвязанныеАдресныеОбъектыУровень5
| ГДЕ (АдресныеОбъектыУровень5.Идентификатор = СвязанныеАдресныеОбъектыУровень5.Идентификатор) И
| (СвязанныеАдресныеОбъектыУровень5.МуниципальныйРодительскийИдентификатор = АдресныеОбъектыУровень4.Идентификатор)))
|
|ГДЕ
| АдресныеОбъектыУровень0.Наименование = &Наименование0
| И АдресныеОбъектыУровень0.Сокращение = &Сокращение0
@@ -4240,8 +4283,17 @@
Для каждого УровеньАдреса Из ИменаУровнейАдреса Цикл
Если Адрес.Свойство(УровеньАдреса) И ЗначениеЗаполнено(Адрес[УровеньАдреса]) Тогда
Запрос.УстановитьПараметр("Наименование" + Строка(Счетчик), Адрес[УровеньАдреса]);
Запрос.УстановитьПараметр("Сокращение" + Строка(Счетчик), Адрес[УровеньАдреса + "Type"]);
Наименование = Адрес[УровеньАдреса];
Сокращение = Адрес[УровеньАдреса + "Type"];
Если ЭтоАдминистративноТерриториальныйАдрес(Адрес.AddressType)
И СтрСравнить(УровеньАдреса, "locality") = 0
И СтрСравнить(Наименование, Адрес["city"]) = 0
И СтрСравнить(Сокращение, Адрес["cityType"]) = 0 Тогда
Продолжить;
КонецЕсли;
Запрос.УстановитьПараметр("Наименование" + Строка(Счетчик), Наименование);
Запрос.УстановитьПараметр("Сокращение" + Строка(Счетчик), Сокращение);
КакиеУровниПроверять.Вставить(УровеньАдреса, Счетчик);
Счетчик = Счетчик + 1;
@@ -4259,6 +4311,7 @@
Дома = РезультатЗапроса[1];
ДополнительныеСведения = РезультатЗапроса[3];
СписокКорректныхАдресов = Новый Массив;
Для каждого АдресСтрока Из Адреса.Выгрузить() Цикл
@@ -4692,12 +4745,15 @@
КонецФункции
Процедура ЗаполнитьПоляВСоответствииСУровнемАдреса(Адрес, Выборка, Суффикс, СловарьИменПолей)
Процедура ЗаполнитьПоляВСоответствииСУровнемАдреса(Адрес, Выборка, Суффикс, СловарьИменПолей, Муниципальный = Ложь)
Если ЗначениеЗаполнено(Выборка["НаименованиеУровень" + Суффикс]) Тогда
Идентификатор = Выборка["ИдентификаторУровень" + Суффикс];
ИмяУровня = СловарьИменПолей[Выборка["Уровень" + Суффикс]];
Если Муниципальный И СтрСравнить(ИмяУровня,"City") = 0 Тогда
ИмяУровня = "Locality";
КонецЕсли;
Адрес[ИмяУровня] = Выборка["НаименованиеУровень" + Суффикс];
Адрес[ИмяУровня + "Type"] = Выборка["СокращениеУровень" + Суффикс];
@@ -4992,7 +5048,11 @@
КонецФункции
Функция ЭтоМуниципальныйАдрес(ТипАдреса)
Возврат СтрСравнить(ТипАдреса, "Муниципальный") = 0;
Возврат СтрСравнить(ТипАдреса, МуниципальныйАдрес()) = 0;
КонецФункции
Функция ЭтоАдминистративноТерриториальныйАдрес(ТипАдреса)
Возврат СтрСравнить(ТипАдреса, АдминистративноТерриториальныйАдрес()) = 0;
КонецФункции
Функция ИменаУровнейАдреса(ТипАдреса, ВключатьУлицу)
@@ -5202,9 +5262,9 @@
Если ЗначениеЗаполнено(ОписаниеДома.Корпус) Тогда
Если ПустаяСтрока(СтрокаПоиска) Или Не СтрНачинаетсяС(ОписаниеДома.Корпус, СтрокаПоиска) Тогда
ТекстПроСтроения = "корпус" + " " + ОписаниеДома.Корпус;
ТекстПроСтроения = "корпус" + " " + ОписаниеДома.Корпус;
Иначе
ТекстПроСтроения = Новый ФорматированнаяСтрока( "корпус" + " ",
ТекстПроСтроения = Новый ФорматированнаяСтрока("корпус" + " ",
Новый ФорматированнаяСтрока(СтрокаПоиска, Новый Шрифт(,, Истина) , ЦветаСтиля.РезультатУспехЦвет),
Сред(ОписаниеДома.Корпус, СтрДлина(СтрокаПоиска) + 1));
КонецЕсли;
@@ -5464,6 +5524,8 @@
ОчиститьАдресныеОбъекты(СубъектРФ);
ОчиститьДомаЗданияСтроения(СубъектРФ);
ОчиститьИсториюАдресныхОбъектов(СубъектРФ);
ОчиститьЗемельныеУчастки(СубъектРФ);
ОчиститьСвязиАдресныхОбъектов(СубъектРФ);
ОчиститьПричиныИзмененияАдреса(СубъектРФ);
ОчиститьДополнительныеСведения(СубъектРФ);
ОчиститьАдресныеОриентиры(СубъектРФ);
@@ -5503,7 +5565,6 @@
КонецФункции
// Пространство имен для операций XDTO.
//
// Возвращаемое значение:
@@ -5834,7 +5895,7 @@
Пока ТекущаяЗапись.Прочитать() Цикл
Если ТекущаяЗапись.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
Если ТекущаяЗапись.ТипУзла <> ТипУзлаXML.НачалоЭлемента Или ПустаяСтрока(ТекущаяЗапись.ЗначениеАтрибута("AOGUID")) Тогда
Продолжить;
КонецЕсли;
@@ -5932,6 +5993,66 @@
КонецПроцедуры
Процедура ЗагрузитьСвязиАдресныхОбъектов(КодСубъектаРФ, КаталогФайлов, ЗагружатьОднимНабором)
Сжатие = Новый СжатиеДанных(9);
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, "LINK", "Links");
Если ФайлЗагрузки = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущаяЗапись = ФайлЗагрузки.ФайлЧтения;
Набор = РегистрыСведений.СвязиАдресныхОбъектов.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
Замещать = Истина;
КоличествоЗаписейВНаборе = 0;
РазмерПорции = МаксимальныйРазмерНабораЗаписей();
Попытка
Пока ТекущаяЗапись.Прочитать() Цикл
Если ТекущаяЗапись.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
Продолжить;
КонецЕсли;
Запись = Набор.Добавить();
Запись.КодСубъектаРФ = КодСубъектаРФ;
Запись.Идентификатор = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("AOGUID"));
Запись.МуниципальныйРодительскийИдентификатор = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("MUNPARENTGUID"));
Если ЗагружатьОднимНабором Тогда
Продолжить;
КонецЕсли;
Если КоличествоЗаписейВНаборе < РазмерПорции Тогда
КоличествоЗаписейВНаборе = КоличествоЗаписейВНаборе + 1;
Продолжить;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(Набор, Замещать);
Замещать = Ложь;
КоличествоЗаписейВНаборе = 0;
Набор = РегистрыСведений.СвязиАдресныхОбъектов.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
КонецЦикла;
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(Набор, Замещать);
ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки);
Исключение
ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура ЗагрузитьДополнительныеСведения(КодСубъектаРФ, КаталогФайлов, ЗагружатьИсториюИзменений)
Набор = РегистрыСведений.ДополнительныеАдресныеСведения.СоздатьНаборЗаписей();
@@ -6177,6 +6298,22 @@
КонецПроцедуры
Процедура ОчиститьЗемельныеУчастки(КодСубъектаРФ)
Набор = РегистрыСведений.ЗемельныеУчастки.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Набор);
КонецПроцедуры
Процедура ОчиститьСвязиАдресныхОбъектов(КодСубъектаРФ)
Набор = РегистрыСведений.СвязиАдресныхОбъектов.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Набор);
КонецПроцедуры
Процедура ОчиститьДополнительныеСведения(КодСубъектаРФ)
Набор = РегистрыСведений.ДополнительныеАдресныеСведения.СоздатьНаборЗаписей();
@@ -6289,6 +6426,10 @@
Результат.Вставить("ФайлЧтения", Новый ЧтениеFastInfoset);
ФайлЧтения = Результат.ФайлЧтения;
ПроверкаФайла = Новый Файл(Результат.ПолноеИмя);
Если Не ПроверкаФайла.Существует() Тогда
Возврат Неопределено;
КонецЕсли;
ФайлЧтения.ОткрытьФайл(Результат.ПолноеИмя);
// Встаем на первый узел с данными.
@@ -6446,7 +6587,7 @@
КонецЕсли;
КонецЦикла;
Результат.Вставить("ИдентификаторДома", Коды.ИдентификаторДома);
Результат.Вставить("ИдентификаторДома", ?(ЗначениеЗаполнено(Коды.ИдентификаторДома), Коды.ИдентификаторДома, ""));
Возврат Истина;
КонецЕсли;
@@ -7728,6 +7869,93 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Загрузка адресного классификатора.
// Загрузка всех данных классификатора адресов.
//
// Параметры:
// КодыСубъектовРФ - Массив - Содержит числовые коды регионов-субъектов для загрузки.
//
// ОписаниеФайлов - Строка, Массив - Каталог на сервере, в котором находятся файлы данных. Ожидается, что имена
// файлов будут в верхнем регистре.
// Массив элементов типа ОписаниеПередаваемогоФайла или структур с полями.
// * Имя - Строка - Имя или полное имя передаваемого файла.
// * Хранение - ДвоичныеДанные, Строка - Описание хранения файла. Строка
// может быть путем на файловой системе или адресом во временном
// хранилище.
// ОповещатьОПрогрессе - Булево - Флаг оповещения о прогрессе (см ДлительныеОперации.СообщитьПрогресс).
//
Процедура ЗагрузитьКлассификаторАдресов(КодыСубъектовРФ, ОписаниеФайлов, ПараметрыЗагрузки)
ДатаЗагрузки = ТекущаяУниверсальнаяДата();
Если ТипЗнч(ОписаниеФайлов) = Тип("Строка") Тогда
// Файлы уже подготовлены
КаталогФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ОписаниеФайлов);
Иначе
КаталогФайлов = ИзвлечьФайлыВКаталог(ОписаниеФайлов);
КонецЕсли;
Попытка
СлужебныеАдресныеСведения = СлужебныеАдресныеСведения(КаталогФайлов);
ОбновитьСлужебныеАдресныеСведения(СлужебныеАдресныеСведения);
// 2. Все заказанные субъекты
ВсегоСубъектов = КодыСубъектовРФ.Количество();
НомерПоПорядку = 0;
Для Каждого СубъектРФ Из КодыСубъектовРФ Цикл
НаименованиеРегиона = АдресныйКлассификатор.НаименованиеРегионаПоКоду(СубъектРФ);
НомерПоПорядку = НомерПоПорядку + 1;
Если ПараметрыЗагрузки.ОповещатьОПрогрессе Тогда
ОсталосьДляЗагрузки = ВсегоСубъектов - НомерПоПорядку;
ОповеститьОПрогрессе(НаименованиеРегиона, СубъектРФ, ОсталосьДляЗагрузки);
КонецЕсли;
Попытка
ЗагрузитьАдресныеСведенияПоРегиону(СубъектРФ, КаталогФайлов, ПараметрыЗагрузки);
// Ставим версию данных загрузки региона.
УстановитьИнформациюОЗагрузкеВерсии(СубъектРФ, СлужебныеАдресныеСведения.Версия, СлужебныеАдресныеСведения.ДатаВерсии, ДатаЗагрузки);
Исключение
// Во время загрузки возникла ошибка, очищаем частично загруженные данные.
КодыСубъектаРФ = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СубъектРФ);
ОчиститьКлассификаторАдресов(КодыСубъектаРФ);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось загрузить адресные сведения субъекта РФ: %1 %2
|по причине: %3'"), СубъектРФ, НаименованиеРегиона, ОписаниеОшибки()));
ВызватьИсключение;
КонецПопытки;
КонецЦикла;
// 4. Загружаем сокращения адресов.
// Эти данные будут нужны при разборах адреса из строки.
ОбновитьАдресныеСокращения(КаталогФайлов);
// 5. Очищаем временный каталог.
ФайловаяСистема.УдалитьВременныйФайл(КаталогФайлов);
Исключение
// Очищаем временный каталог.
ФайловаяСистема.УдалитьВременныйФайл(КаталогФайлов);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#Область АдресныйКлассификаторВМоделиСервиса
@@ -7865,3 +8093,4 @@
#КонецОбласти
#КонецОбласти
@@ -1404,7 +1404,12 @@
Для Каждого Строка Из Таблицы Цикл
ИсточникиТаблицы = Новый Структура;
Попытка
Если СтрНачинаетсяС(ВРег(Строка.Таблица), ВРег("Регистр")) Тогда
ВРегИмяТаблица = ВРег(Строка.Таблица);
Если СтрНачинаетсяС(ВРегИмяТаблица, ВРег("РегистрСведений"))
Или СтрНачинаетсяС(ВРегИмяТаблица, ВРег("РегистрНакопления"))
Или СтрНачинаетсяС(ВРегИмяТаблица, ВРег("РегистрБухгалтерии"))
Или СтрНачинаетсяС(ВРегИмяТаблица, ВРег("РегистрРасчета")) Тогда
ТипЭлемента = Тип(СтрЗаменить(Строка.Таблица, ".", "КлючЗаписи."));
ЭтоРегистр = Истина;
Иначе
@@ -188,29 +188,34 @@
//
// Возвращаемое значение
// Число - количество секунд в Единице. Если единица не определена или пустая, то возвращается 0.
//
Функция ЗаменитьЕдиницуИзмеренияНаМножитель(Знач Единица)
Результат = 0;
Единица = НРег(Единица);
Единица = СтрЗаменить(Единица, " ","");
Единица = СтрЗаменить(Единица, ",","");
Единица = СтрЗаменить(Единица, ".","");
ДопустимыеСимволы = НСтр("ru = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'");
ПосторонниеСимволы = СтрСоединить(СтрРазделить(Единица, ДопустимыеСимволы, Ложь), "");
Если ПосторонниеСимволы <> "" Тогда
Единица = СтрСоединить(СтрРазделить(Единица, ПосторонниеСимволы, Ложь), "");
КонецЕсли;
СловоформыНедели = СтрРазделить(НСтр("ru = 'нед,н'"), ",", Ложь);
СловоформыДня = СтрРазделить(НСтр("ru = 'ден,дне,дня,дн,д'"), ",", Ложь);
СловоформыЧаса = СтрРазделить(НСтр("ru = 'час,ч'"), ",", Ложь);
СловоформыМинуты = СтрРазделить(НСтр("ru = 'мин,м'"), ",", Ложь);
СловоформыСекунды = СтрРазделить(НСтр("ru = 'сек,с'"), ",", Ложь);
// Единицу измерения времени будем определять по первым трем символам.
ПервыеТриСимвола = Лев(Единица,3);
Если ПервыеТриСимвола = НСтр("ru = 'нед'") Или ПервыеТриСимвола = НСтр("ru = 'н'") Тогда
Если СловоформыНедели.Найти(ПервыеТриСимвола) <> Неопределено Тогда
Результат = 60*60*24*7;
ИначеЕсли ПервыеТриСимвола = НСтр("ru = 'ден'")
Или ПервыеТриСимвола = НСтр("ru = 'дне'")
Или ПервыеТриСимвола = НСтр("ru = 'дня'")
Или ПервыеТриСимвола = НСтр("ru = 'дн'")
Или ПервыеТриСимвола = НСтр("ru = 'д'") Тогда
ИначеЕсли СловоформыДня.Найти(ПервыеТриСимвола) <> Неопределено Тогда
Результат = 60*60*24;
ИначеЕсли ПервыеТриСимвола = НСтр("ru = 'час'") Или ПервыеТриСимвола = НСтр("ru = 'ч'") Тогда
ИначеЕсли СловоформыЧаса.Найти(ПервыеТриСимвола) <> Неопределено Тогда
Результат = 60*60;
ИначеЕсли ПервыеТриСимвола = НСтр("ru = 'мин'") Или ПервыеТриСимвола = НСтр("ru = 'м'") Тогда
ИначеЕсли СловоформыМинуты.Найти(ПервыеТриСимвола) <> Неопределено Тогда
Результат = 60;
ИначеЕсли ПервыеТриСимвола = НСтр("ru = 'сек'") Или ПервыеТриСимвола = НСтр("ru = 'с'") Тогда
ИначеЕсли СловоформыСекунды.Найти(ПервыеТриСимвола) <> Неопределено Тогда
Результат = 1;
КонецЕсли;
@@ -61,11 +61,19 @@
Функция СтандартныеИнтервалыОповещения()
Результат = Новый Массив;
ИнтервалыВремени = Новый Структура("_5м,_10м,_15м,_30м,_1ч,_2ч,_4ч,_8ч,_1д,_2д,_3д,_1н,_2н");
Для Каждого Интервал Из ИнтервалыВремени Цикл
Результат.Добавить(НапоминанияПользователяКлиентСервер.ОформитьВремя(Интервал.Ключ));
КонецЦикла;
Результат.Добавить(НСтр("ru = '5 минут'"));
Результат.Добавить(НСтр("ru = '10 минут'"));
Результат.Добавить(НСтр("ru = '15 минут'"));
Результат.Добавить(НСтр("ru = '30 минут'"));
Результат.Добавить(НСтр("ru = '1 час'"));
Результат.Добавить(НСтр("ru = '2 часа'"));
Результат.Добавить(НСтр("ru = '4 часа'"));
Результат.Добавить(НСтр("ru = '8 часов'"));
Результат.Добавить(НСтр("ru = '1 день'"));
Результат.Добавить(НСтр("ru = '2 дня'"));
Результат.Добавить(НСтр("ru = '3 дня'"));
Результат.Добавить(НСтр("ru = '1 неделю'"));
Результат.Добавить(НСтр("ru = '2 недели'"));
Возврат Результат;
@@ -155,6 +155,7 @@
КомпонентыОбмена.Вставить("ПрефиксКорреспондента");
КомпонентыОбмена.Вставить("УдалятьСозданныеПоКлючевымСвойствам", Ложь);
КомпонентыОбмена.Вставить("ПомеченныеНаУдалениеОбъекты", Новый Массив);
КонецЕсли;
@@ -1865,13 +1866,20 @@
Если Не КомпонентыОбмена.ФлагОшибки
И КомпонентыОбмена.РежимЗагрузкиДанныхВИнформационнуюБазу Тогда
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ПрименитьУдалениеОбъектов(КомпонентыОбмена, Результаты.МассивОбъектовКУдалению, Результаты.МассивЗагруженныхОбъектов);
УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
ОтложенноеЗаполнениеОбъектов(КомпонентыОбмена);
ПрименитьУдалениеОбъектов(КомпонентыОбмена, Результаты.МассивОбъектовКУдалению, Результаты.МассивЗагруженныхОбъектов);
УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
ОтложенноеЗаполнениеОбъектов(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КомпонентыОбмена.ПомеченныеНаУдалениеОбъекты = ОбщегоНазначения.СкопироватьРекурсивно(Результаты.МассивОбъектовКУдалению);
Если Не КомпонентыОбмена.ФлагОшибки Тогда
Попытка
@@ -1888,11 +1896,15 @@
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ВыполнитьОтложенноеПроведениеДокументов(КомпонентыОбмена);
ВыполнитьОтложеннуюЗаписьОбъектов(КомпонентыОбмена);
ВыполнитьОтложенноеПроведениеДокументов(КомпонентыОбмена);
ВыполнитьОтложеннуюЗаписьОбъектов(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
КонецЕсли;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.1.109";
Описание.Версия = "3.1.1.120";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2011,7 +2011,7 @@
//
Функция РаспределитьСуммуПропорциональноКоэффициентам(Знач РаспределяемаяСумма, Знач Коэффициенты, Знач Точность = 2) Экспорт
КоэффициентыАбсолютные = Новый Массив(Новый ФиксированныйМассив(Коэффициенты)); // cpy
КоэффициентыАбсолютные = Новый Массив(Новый ФиксированныйМассив(Коэффициенты)); // Копируем массив в памяти.
// Старое поведение при неуказанной сумме - для обратной совместимости.
Если Не ЗначениеЗаполнено(РаспределяемаяСумма) Тогда
@@ -2039,8 +2039,9 @@
КонецЕсли;
Если Коэффициент < 0 Тогда
// Если коэффициент меньше нуля, то его абсолютное значение отрицательное ему число.
Коэффициент = -Коэффициент; // Abs(Коэффициент)
КоэффициентыАбсолютные[Индекс] = Коэффициент; // move
КоэффициентыАбсолютные[Индекс] = Коэффициент; // Заменяем коэффициент в массиве.
КонецЕсли;
Если МаксимальныйКоэффициент < Коэффициент Тогда
@@ -2061,6 +2062,8 @@
ВыполнятьИнверсию = (РаспределяемаяСумма < 0);
Если ВыполнятьИнверсию Тогда
// Если изначально распределяемая сумма меньше нуля, надо сначала распределить абсолютное значение суммы
// затем выполнить инверсию результата.
РаспределяемаяСумма = -РаспределяемаяСумма; // Abs(РаспределяемаяСумма).
КонецЕсли;
@@ -2375,7 +2375,8 @@
КонецЕсли;
КонецЕсли;
Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда
Если ТипФормы = ТипФормыОтчета.Настройка
И ТипЗнч(ЭлементНастройки) = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда
Поле.ИдентификаторГруппы = "Дополнительно";
КонецЕсли;
КонецЦикла;
@@ -235,6 +235,7 @@
// Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь.
// * ИдентификаторДома - УникальныйИдентификатор - Идентификационный код дома(строения) адресного объекта.
// Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь.
// Пустая строка если значение отсутствует.
// * ИдентификаторЗемельногоУчастка - УникальныйИдентификатор - Идентификационный код земельного участка
// адресного объекта. При отсутствии значения - пустая строка.
// * Идентификаторы - Структура - Идентификаторы адресных объектов адреса, если установлен параметр КодыАдреса
@@ -1887,6 +1888,7 @@
Если Параметры.КодыАдреса Тогда
Результат.ИдентификаторАдресногоОбъекта = ИдентификаторАдресногоОбъекта;
Результат.ИдентификаторДома = ?(ЗначениеЗаполнено(Адрес.houseId), Адрес.houseId, "");
КонецЕсли;
// Установка полных наименований типов
@@ -467,6 +467,13 @@
Для каждого ИмяУровня Из ИменаУровнейАдреса(ТипАдреса, Истина) Цикл
Если ТипАдреса = АдминистративноТерриториальныйАдрес()
И СтрСравнить(ИмяУровня, "locality") = 0
И СтрСравнить(Адрес[ИмяУровня], Адрес["city"]) = 0
И СтрСравнить(Адрес[ИмяУровня + "Type"], Адрес["cityType"]) = 0 Тогда
Продолжить;
КонецЕсли;
Если Адрес.Свойство(ИмяУровня) И НЕ ПустаяСтрока(Адрес[ИмяУровня]) Тогда
Если НЕ ПредставлениеУровняБезСокращения(ИмяУровня) Тогда
СписокЗаполненныхУровней.Добавить(СокрЛП(Адрес[ИмяУровня] + " " + Адрес[ИмяУровня + "Type"]));
@@ -391,9 +391,8 @@
//
Функция КОбъектуМожноПрисоединятьФайлы(ВладелецФайлов, ИмяСправочника = "") Экспорт
ЗаголовокОшибки = НСтр("ru = 'Ошибка определения возможности присоединения файла.'");
ИмяСправочника = РаботаСФайламиСлужебный.ИмяСправочникаХраненияФайлов(
ВладелецФайлов, ИмяСправочника, ЗаголовокОшибки);
ВладелецФайлов, ИмяСправочника);
СправочникПрисоединенныеФайлы = Метаданные.Справочники.Найти(ИмяСправочника);
@@ -1949,35 +1949,54 @@
// Обработчик события ПередЗаписью предопределенных элементов.
Процедура ЗапретитьПометкуУдаленияПредопределенныхЭлементовПередЗаписью(Источник, Отказ) Экспорт
Если Источник.ОбменДанными.Загрузка
Или Источник.ИмяПредопределенныхДанных = ""
Или Источник.ПометкаУдаления <> Истина Тогда
Если Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если Источник.ПометкаУдаления <> Истина Тогда
Возврат;
КонецЕсли;
// Для определения предопределенных в подсистемах Свойства и КонтактнаяИнформация
// зачитываются другие реквизиты.
Параметры = Новый Структура("ИмяПредопределенногоНабора, ИмяПредопределенногоВида", "", "");
ЗаполнитьЗначенияСвойств(Параметры, Источник);
Если (Источник.ИмяПредопределенныхДанных = ""
И Параметры.ИмяПредопределенногоНабора = ""
И Параметры.ИмяПредопределенногоВида = "") Тогда
Возврат;
КонецЕсли;
Если Источник.ЭтоНовый() Тогда
ВызватьИсключение
НСтр("ru = 'Недопустимо создавать предопределенный элемент помеченный на удаление.'");
Иначе
СтарыеСвойства = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
Источник.Ссылка, "ПометкаУдаления, ИмяПредопределенныхДанных");
НСтр("ru = 'Недопустимо создавать предопределенный элемент, помеченный на удаление.'");
КонецЕсли;
Если СтарыеСвойства.ИмяПредопределенныхДанных <> ""
И СтарыеСвойства.ПометкаУдаления <> Истина Тогда
ИмяРеквизита = "";
Если Параметры.ИмяПредопределенногоНабора <> "" Тогда
ИмяРеквизита = "ИмяПредопределенногоНабора";
ИначеЕсли Параметры.ИмяПредопределенногоВида <> "" Тогда
ИмяРеквизита = "ИмяПредопределенногоВида";
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимо помечать на удаление предопределенный элемент:
|""%1"".'"),
Строка(Источник.Ссылка));
СтарыеСвойства = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
Источник.Ссылка, "ПометкаУдаления, ИмяПредопределенныхДанных" + ?(ИмяРеквизита <> "", ", " + ИмяРеквизита, ""));
ИначеЕсли СтарыеСвойства.ИмяПредопределенныхДанных = ""
И СтарыеСвойства.ПометкаУдаления = Истина Тогда
Если (СтарыеСвойства.ИмяПредопределенныхДанных <> "" Или ИмяРеквизита <> "" И СтарыеСвойства[ИмяРеквизита] <> "")
И СтарыеСвойства.ПометкаУдаления <> Истина Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимо связывать с именем предопределенного элемент, помеченный на удаление:
|""%1"".'"),
Строка(Источник.Ссылка));
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимо помечать на удаление предопределенный элемент:
|""%1"".'"),
Строка(Источник.Ссылка));
ИначеЕсли (ИмяРеквизита <> "" И Параметры[ИмяРеквизита] <> "" И СтарыеСвойства[ИмяРеквизита] = ""
Или СтарыеСвойства.ИмяПредопределенныхДанных = "")
И СтарыеСвойства.ПометкаУдаления = Истина Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимо связывать с именем предопределенного элемент, помеченный на удаление:
|""%1"".'"),
Строка(Источник.Ссылка));
КонецЕсли;
КонецПроцедуры
@@ -1985,8 +2004,18 @@
// Обработчик события ПередУдалением предопределенных элементов.
Процедура ЗапретитьУдалениеПредопределенныхЭлементовПередУдалением(Источник, Отказ) Экспорт
Если Источник.ОбменДанными.Загрузка
Или Источник.ИмяПредопределенныхДанных = "" Тогда
Если Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
// Для определения предопределенных в подсистемах Свойства и КонтактнаяИнформация
// зачитываются другие реквизиты.
Параметры = Новый Структура("ИмяПредопределенногоНабора, ИмяПредопределенногоВида", "", "");
ЗаполнитьЗначенияСвойств(Параметры, Источник);
Если Источник.ИмяПредопределенныхДанных = ""
И Параметры.ИмяПредопределенногоНабора = ""
И Параметры.ИмяПредопределенногоВида = "" Тогда
Возврат;
КонецЕсли;
@@ -2385,6 +2414,13 @@
КонецЕсли;
КонецЕсли;
ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Если Не ТекущийПользовательИБ.АутентификацияСтандартная
И Не ТекущийПользовательИБ.АутентификацияОС
И Не ТекущийПользовательИБ.АутентификацияOpenID Тогда
ВызватьИсключение НСтр("ru = 'Вход в программу запрещен. Обратитесь к администратору.'");
КонецЕсли;
Если Не Метаданные.ОсновныеРоли.Содержит(Метаданные.Роли.АдминистраторСистемы)
Или Не Метаданные.ОсновныеРоли.Содержит(Метаданные.Роли.ПолныеПрава) Тогда
ВызватьИсключение
@@ -11828,7 +11828,7 @@
ВыбраныВсеЭлементы = Ложь;
Если ОбщиеПараметрыОбновления.ПолучитьПорции > 0 Тогда
КоличествоВПорции = КоличествоЭлементовВПорции(ЭтоОбновлениеПрав);
КоличествоВПорции = КоличествоЭлементовВПорции(ПараметрыОбновления);
КоличествоВЗапросе = КоличествоВПорции * ОбщиеПараметрыОбновления.ПолучитьПорции;
Элементы = ЭлементыДляОбновления(ПараметрыОбновления, КоличествоВЗапросе, ВыбраныВсеЭлементы);
@@ -12402,9 +12402,11 @@
КонецФункции
// Для процедура ВыполнитьОбновлениеДоступаСписка.
Функция КоличествоЭлементовВПорции(ЭтоОбновлениеПрав)
Функция КоличествоЭлементовВПорции(ПараметрыОбновления)
Если ЭтоОбновлениеПрав Тогда
Если ЭтоСправочникНаборыГруппДоступа(ПараметрыОбновления) Тогда
Возврат 25;
ИначеЕсли ПараметрыОбновления.ЭтоОбновлениеПрав Тогда
Возврат КоличествоКлючейДоступаВПорции();
Иначе
Возврат КоличествоЭлементовДанныхВПорции();
@@ -14073,11 +14075,38 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"СУММА(НомераГрупп.ЧастьНомера1) КАК ЧастьНомера1", ПоляСуммированияНовых);
ЭлементыДанных = Запрос.Выполнить().Выгрузить();
ЭлементыДанных.Колонки.Добавить("ОписаниеНомеровГрупп");
Результат = Запрос.Выполнить().Выгрузить();
ОписаниеНомеровГрупп = Новый Структура("НомераГрупп, ИменаЧастейНомера", НомераГрупп, ИменаЧастейНомера);
ЭлементыДанных.ЗаполнитьЗначения(Новый ХранилищеЗначения(ОписаниеНомеровГрупп), "ОписаниеНомеровГрупп");
СписокИменЧастейНабора = СтрСоединить(ИменаЧастейНомера, ", ");
НовыеНаборыГрупп = Результат.Скопировать(Новый Массив, СписокИменЧастейНабора);
НовыеНаборыГрупп.Колонки.Добавить("ГруппыНабора");
НовыеНаборыГрупп.Колонки.Добавить("ИдентификаторГрупп");
Отбор = Новый Структура(СписокИменЧастейНабора);
ЭлементыДанных = Результат.Скопировать(Новый Массив, "ТекущаяСсылка, НаборГрупп, НаборГруппНовый");
ЭлементыДанных.Колонки.Добавить("ГруппыНабора");
ЭлементыДанных.Колонки.Добавить("ИдентификаторГрупп");
Для Каждого Строка Из Результат Цикл
НоваяСтрока = ЭлементыДанных.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
Если ЗначениеЗаполнено(Строка.НаборГрупп) Тогда
Продолжить;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Отбор, Строка);
НайденныеСтроки = НовыеНаборыГрупп.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() = 0 Тогда
СвойстваНовогоНабора = НовыеНаборыГрупп.Добавить();
ЗаполнитьЗначенияСвойств(СвойстваНовогоНабора, Строка);
СвойстваНовогоНабора.ИдентификаторГрупп = Новый УникальныйИдентификатор;
СвойстваНовогоНабора.ГруппыНабора =
ГруппыНабораПоНомерам(НомераГрупп, ИменаЧастейНомера, СвойстваНовогоНабора);
Иначе
СвойстваНовогоНабора = НайденныеСтроки[0];
КонецЕсли;
НоваяСтрока.ГруппыНабора = СвойстваНовогоНабора.ГруппыНабора;
НоваяСтрока.ИдентификаторГрупп = СвойстваНовогоНабора.ИдентификаторГрупп;
КонецЦикла;
Возврат ЭлементыДанных;
@@ -14108,34 +14137,20 @@
КонецЕсли;
КонецЕсли;
НомераГрупп = Неопределено;
ИменаЧастейНомера = Неопределено;
Отбор = Неопределено;
НовыеНаборыГрупп = ЭлементыДанных.Скопировать(Новый Массив);
НовыеНаборыГрупп = Новый Соответствие;
Для Каждого Строка Из ЭлементыДанных Цикл
Если НомераГрупп = Неопределено Тогда
ОписаниеНомеровГрупп = Строка.ОписаниеНомеровГрупп.Получить();
НомераГрупп = ОписаниеНомеровГрупп.НомераГрупп;
ИменаЧастейНомера = ОписаниеНомеровГрупп.ИменаЧастейНомера;
Отбор = Новый Структура(СтрСоединить(ИменаЧастейНомера, ", "));
КонецЕсли;
Если Не ЗначениеЗаполнено(Строка.НаборГрупп) Тогда
ЗаполнитьЗначенияСвойств(Отбор, Строка);
НайденныеСтроки = НовыеНаборыГрупп.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() = 0 Тогда
Строка.НаборГрупп = НовыйНаборГрупп(НомераГрупп,
ИменаЧастейНомера,
Отбор,
НаборГрупп = НовыеНаборыГрупп.Получить(Строка.ИдентификаторГрупп);
Если НаборГрупп = Неопределено Тогда
Строка.НаборГрупп = НовыйНаборГрупп(Строка.ГруппыНабора,
ПараметрыОбновления.ДляВнешнихПользователей,
ТипЭлементовНабора,
ПредставлениеЭлементовГрупп,
Строка.НаборГруппНовый);
НайденнаяСтрока = НовыеНаборыГрупп.Добавить();
ЗаполнитьЗначенияСвойств(НайденнаяСтрока, Отбор);
НайденнаяСтрока.НаборГрупп = Строка.НаборГрупп;
НовыеНаборыГрупп.Вставить(Строка.ИдентификаторГрупп, Строка.НаборГрупп);
Иначе
Строка.НаборГрупп = НайденныеСтроки[0].НаборГрупп;
Строка.НаборГрупп = НаборГрупп;
КонецЕсли;
КонецЕсли;
@@ -14200,8 +14215,8 @@
КонецПроцедуры
// Для процедуры ОбновитьНаборыГруппВСправочнике.
Функция НовыйНаборГрупп(НомераГрупп, ИменаЧастейНомера, ЧастиНомера, ДляВнешнихПользователей,
ТипЭлементовНабора, ПредставлениеЭлементовГрупп, НаборГруппДобавлен)
Функция НовыйНаборГрупп(ГруппыНабора, ДляВнешнихПользователей, ТипЭлементовНабора,
ПредставлениеЭлементовГрупп, НаборГруппДобавлен)
НоваяСсылка = Справочники.НаборыГруппДоступа.ПолучитьСсылку();
Объект = СлужебныйЭлемент(Справочники.НаборыГруппДоступа);
@@ -14210,7 +14225,6 @@
Объект.ТипЭлементовНабора = ТипЭлементовНабора;
Объект.Наименование = Строка(НоваяСсылка.УникальныйИдентификатор()) + " (" + ПредставлениеЭлементовГрупп + ")";
ГруппыНабора = ГруппыНабораПоНомерам(НомераГрупп, ИменаЧастейНомера, ЧастиНомера);
Для Каждого ГруппаНабора Из ГруппыНабора Цикл
Объект.Группы.Добавить().Группа = ГруппаНабора;
КонецЦикла;
@@ -14265,11 +14279,13 @@
Целое = Цел(ЧастьНомера / Делитель);
БлокЧастиНомера = ЧастьНомера - Целое * Делитель;
ЧастьНомера = Целое;
Для НомерБита = 0 По 31 Цикл
Если ПроверитьБит(БлокЧастиНомера, НомерБита) Тогда
ГруппыНабора.Добавить(НомераГрупп[ИндексГруппы + НомерБита].Ссылка);
КонецЕсли;
КонецЦикла;
Если БлокЧастиНомера > 0 Тогда
Для НомерБита = 0 По 31 Цикл
Если ПроверитьБит(БлокЧастиНомера, НомерБита) Тогда
ГруппыНабора.Добавить(НомераГрупп[ИндексГруппы + НомерБита].Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
ИндексГруппы = ИндексГруппы + 32;
КонецЦикла;
КонецЦикла;
@@ -2088,9 +2088,14 @@
Если Объект.Ссылка.Пустая() И ТипЗнч(Объект) <> Тип("ДанныеФормыСтруктура") Тогда
Если ЭтоПараметрыОсновногоОбъекта Тогда
НоваяСсылка = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Объект.Ссылка).ПолучитьСсылку();
Объект.УстановитьСсылкуНового(НоваяСсылка);
НоваяСсылка = Объект.ПолучитьСсылкуНового();
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Объект.Ссылка);
Если НоваяСсылка = МенеджерОбъекта.ПустаяСсылка() Тогда
Объект.УстановитьСсылкуНового(МенеджерОбъекта.ПолучитьСсылку());
КонецЕсли;
ПараметрыКонтактнойИнформации.Владелец = Объект.ПолучитьСсылкуНового();
Иначе
Возврат;
КонецЕсли;
@@ -2833,7 +2838,7 @@
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если СтрНачинаетсяС(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, "Справочник") Тогда
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, 11);
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, СтрДлина("Справочник") + 1);
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда
КонтактнаяИнформация = Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти.КонтактнаяИнформация;
@@ -2843,7 +2848,7 @@
КонецЕсли;
КонецЕсли;
ИначеЕсли СтрНачинаетсяС(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, "Документ") Тогда
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, 9);
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, СтрДлина("Документ") + 1);
Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда
КонтактнаяИнформация = Метаданные.Документы[ИмяОбъекта].ТабличныеЧасти.КонтактнаяИнформация;
@@ -2942,14 +2947,14 @@
Продолжить;
КонецЕсли;
ИмяПредопределенногоВида = Сред(Вид.ИмяПредопределенныхДанных, 8);
ИмяПредопределенногоВида = Сред(Вид.ИмяПредопределенныхДанных, СтрДлина("удалить") + 1);
Если ВидыКонтактнойИнформации.Найти(ИмяПредопределенногоВида, "ИмяПредопределенногоВида") <> Неопределено Тогда
Продолжить;
КонецЕсли;
ОбъектВидКИ = Вид.ВидКИ.ПолучитьОбъект();
Если Не ОбъектВидКИ.ЭтоГруппа Тогда
ОбъектВидКИ.ИмяГруппы = Сред(Вид.Группа, 8);
ОбъектВидКИ.ИмяГруппы = Сред(Вид.Группа, СтрДлина("удалить") + 1);
КонецЕсли;
ОбъектВидКИ.ИмяПредопределенногоВида = ИмяПредопределенногоВида;
@@ -167,7 +167,7 @@
ИЛИ СтрНачинаетсяС(ИмяКоманды, "КартаGoogleМеню") Тогда
КомандаКонтекстногоМеню = КомандаКонтекстногоМеню(ИмяКоманды);
ИмяРеквизита = Сред(КомандаКонтекстногоМеню.ИмяРеквизита, 5);
ИмяРеквизита = Сред(КомандаКонтекстногоМеню.ИмяРеквизита, СтрДлина("Меню") + 1);
Иначе
@@ -1351,7 +1351,7 @@
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если СтрНачинаетсяС(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, "Справочник") Тогда
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, 11);
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, СтрДлина("Справочник") + 1);
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда
КонтактнаяИнформация = Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти.КонтактнаяИнформация;
Если КонтактнаяИнформация.Реквизиты.Найти("ВидДляСписка") <> Неопределено Тогда
@@ -1359,7 +1359,7 @@
КонецЕсли;
КонецЕсли;
ИначеЕсли СтрНачинаетсяС(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, "Документ") Тогда
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, 9);
ИмяОбъекта = Сред(ВыборкаДетальныеЗаписи.ИмяПредопределенногоВида, СтрДлина("Документ") + 1);
Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда
КонтактнаяИнформация = Метаданные.Документы[ИмяОбъекта].ТабличныеЧасти.КонтактнаяИнформация;
Если КонтактнаяИнформация.Реквизиты.Найти("ВидДляСписка") <> Неопределено Тогда
@@ -1835,8 +1835,8 @@
Если СтрНачинаетсяС(Добавочный, ",") Тогда
Добавочный = СокрЛ(Сред(Добавочный, 2));
КонецЕсли;
Если ВРег(Лев(Добавочный, 3 ))= "ДОБ" Тогда
Добавочный = СокрЛ(Сред(Добавочный, 4));
Если ВРег(Лев(Добавочный, СтрДлина("ДОБ")))= "ДОБ" Тогда
Добавочный = СокрЛ(Сред(Добавочный, СтрДлина("ДОБ") + 1));
КонецЕсли;
Если ВРег(Лев(Добавочный, 1 ))= "." Тогда
Добавочный = СокрЛ(Сред(Добавочный, 2));
@@ -19,13 +19,13 @@
// Параметры:
// ОбработчикЗавершения - ОписаниеОповещения - содержит описание процедуры, которая будет вызвана после
// загрузки файла со следующими параметрами:
// * ПомещенныеФайлы - Неопределено - пользователь отказался от выбора.
// - Структура - пользователь выбрал файл.
// ** Хранение - Строка - расположение данных во временном хранилище.
// ** Имя - Строка - в тонком клиенте и в веб-клиенте с установленным
// расширением работы с файлами - локальный путь, по которому
// был получен файл. В веб-клиенте без расширения работы с
// файлами - имя файла с расширением.
// * ПомещенныйФайл - Неопределено - пользователь отказался от выбора.
// - Структура - пользователь выбрал файл.
// ** Хранение - Строка - расположение данных во временном хранилище.
// ** Имя - Строка - в тонком клиенте и в веб-клиенте с установленным
// расширением работы с файлами - локальный путь, по которому
// был получен файл. В веб-клиенте без расширения работы с
// файлами - имя файла с расширением.
// * ДополнительныеПараметры - Произвольный - значение, которое было указано при создании объекта
// ОписаниеОповещения.
// ПараметрыЗагрузки - Структура - См. ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла.
@@ -815,11 +815,15 @@
КонецЕсли;
ФорматыСохранения = Новый Массив;
Для каждого ФорматВложения Из ПараметрыШаблона.ФорматыВложений Цикл
ФорматыСохранения.Добавить(?(ТипЗнч(ФорматВложения.Значение) = Тип("ТипФайлаТабличногоДокумента"),
ФорматВложения.Значение,
ТипФайлаТабличногоДокумента[ФорматВложения.Значение]));
КонецЦикла;
Если ТипЗнч(ПараметрыШаблона.ФорматыВложений) = Тип("СписокЗначений") Тогда
Для каждого ФорматВложения Из ПараметрыШаблона.ФорматыВложений Цикл
ФорматыСохранения.Добавить(?(ТипЗнч(ФорматВложения.Значение) = Тип("ТипФайлаТабличногоДокумента"),
ФорматВложения.Значение,
ТипФайлаТабличногоДокумента[ФорматВложения.Значение]));
КонецЦикла;
Иначе
ФорматыСохранения.Добавить(ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
Для каждого ВложениеПечатнаяФорма Из СведенияОШаблоне.Вложения Цикл
ИмяПараметраСПечатнойФормойВШаблоне = ПараметрыШаблона.ВыбранныеВложения[ВложениеПечатнаяФорма.Идентификатор];
+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ced1240b-a7ce-41e5-97cf-7e3e690972bd">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5cf4ae04-5076-4f2f-bddd-035bf0209d78">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="6cd3db5b-b04f-41d3-8d05-f3f6b7f78b38"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="3ab7d03d-9af6-47f6-a20f-6d43d3ed0746"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="cbf69343-e50c-43b1-aafa-26519523e7f6"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c5048a52-af83-410a-a182-01171fd374c1"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="4ec74e13-5e6f-4d91-a1e8-0574703f24f4"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e2367617-a466-4e44-bc1a-488808e89e02"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="f4900404-eace-44c5-9f02-1573eb6badc8"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="181cf14a-9f2a-46e0-992a-bf6b1cd7b0bb"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9c0c7103-6cfc-4dc1-b609-404df90beb2b"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="60b26190-6c50-46fc-b945-67da94a2af3a"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c695f2f3-8e98-4a36-9c03-a0126b0d203f"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a92f60b1-fa77-4cbb-b489-4a190298f140"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="29680b4f-9bea-4e5c-8dbe-f8e846f765b4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="e316a15a-ea63-4e8f-abbb-a10379777583"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.1.109</version>
<version>3.1.1.120</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1880,6 +1880,7 @@
<informationRegisters>InformationRegister.РучныеИзмененияГрафиковРаботы</informationRegisters>
<informationRegisters>InformationRegister.СведенияОПользователях</informationRegisters>
<informationRegisters>InformationRegister.СведенияОФайлах</informationRegisters>
<informationRegisters>InformationRegister.СвязиАдресныхОбъектов</informationRegisters>
<informationRegisters>InformationRegister.СеансыВерсийРасширений</informationRegisters>
<informationRegisters>InformationRegister.СертификатыШифрования</informationRegisters>
<informationRegisters>InformationRegister.СессииОбменаСообщениямиСистемы</informationRegisters>
@@ -1 +1 @@
{6,1,1,7e373a3a-dea4-47ef-b2f8-4ca7b3f73c85,1,93807b1c-6253-4339-a310-77cdcd304170,"3.1.1.109","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5824,1,0,ced1240b-a7ce-41e5-97cf-7e3e690972bd,ced1240b-a7ce-41e5-97cf-7e3e690972bd,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,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184Line truncated
{6,1,1,be4c300d-ab93-47bb-bfc7-20c44565020e,1,41bd73d8-b028-4e07-a0f6-d0c934803be4,"3.1.1.120","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5828,1,0,5cf4ae04-5076-4f2f-bddd-035bf0209d78,5cf4ae04-5076-4f2f-bddd-035bf0209d78,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,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184Line truncated
@@ -333,8 +333,13 @@
УстановитьПривилегированныйРежим(Истина);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
УстановитьПривилегированныйРежим(Ложь);
Если КомпонентыОбмена.ФлагОшибки Тогда
@@ -457,7 +457,8 @@
Процедура ВыполнитьКодАлгоритма(Знач Объект, Знач КодАлгоритма, Знач ВыполнитьВБезопасномРежиме)
Если ВыполнитьВБезопасномРежиме Или НЕ ПравоДоступа("Администрирование", Метаданные) Тогда
КодАлгоритма = СтрЗаменить(КодАлгоритма, "Объект.", "Параметры.");
КодАлгоритма = "Объект = Параметры;
|" + КодАлгоритма;
ВыполнитьВБезопасномРежиме(КодАлгоритма, Объект);
Иначе
Выполнить КодАлгоритма; // АПК:487 Для "ремонтных" сценариев допускается выполнение кода Администратором.
@@ -1192,7 +1192,7 @@
Если ТипЗагрузки = "ТабличнаяЧасть" Тогда
Если Строка.РезультатСопоставленияСтроки = "Неоднозначность" И СтрДлина(Строка.ОписаниеОшибки) > 0 Тогда
Если СтрДлина(ПолеИмя) > 3 И СтрНачинаетсяС(ПолеИмя, "ТаблицаСопоставленияДанных_ТЧ_") Тогда
Имя = Сред(ПолеИмя, 31);
Имя = Сред(ПолеИмя, СтрДлина("ТаблицаСопоставленияДанных_ТЧ_") + 1);
Если СтрНайти(Строка.ОписаниеОшибки, Имя) Тогда
СтандартнаяОбработка = Ложь;
СтрокаИзТаблицы = Новый Массив;
@@ -1496,7 +1496,7 @@
Если СтрНачинаетсяС(Колонка.ИмяКолонки, "КонтактнаяИнформация_") Тогда
ИмяВидаКИ = СтандартныеПодсистемыСервер.ПреобразоватьАдаптированноеНаименованиеКолонкиВСтроку(Сред(Колонка.ИмяКолонки, 22));
ИмяВидаКИ = СтандартныеПодсистемыСервер.ПреобразоватьАдаптированноеНаименованиеКолонкиВСтроку(Сред(Колонка.ИмяКолонки, СтрДлина("КонтактнаяИнформация_") + 1));
НайденныеВиды = ВидыКонтактнойИнформации.Найти(ИмяВидаКИ, "Наименование");
ТабличнаяЧасть = "КонтактнаяИнформация";
@@ -1756,9 +1756,9 @@
ТаблицаДляТЧ = Новый ТаблицаЗначений;
Для Каждого Колонка Из Таблица.Колонки Цикл
Если СтрНачинаетсяС(Колонка.Имя, "ТЧ_") Тогда
ТаблицаДляТЧ.Колонки.Добавить(Сред(Колонка.имя, 4), Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "Идентификатор" Тогда
ТаблицаДляТЧ.Колонки.Добавить(Колонка.имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
ТаблицаДляТЧ.Колонки.Добавить(Сред(Колонка.Имя, СтрДлина("ТЧ_") + 1), Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "Идентификатор" Тогда
ТаблицаДляТЧ.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина);
КонецЕсли;
КонецЦикла;
@@ -167,7 +167,7 @@
КонецЦикла;
КонецЦикла;
Если ВРег(Лев(Справочник.Имя, 7)) = "УДАЛИТЬ" Тогда
Если СтрНачинаетсяС(ВРег(Справочник.Имя), "УДАЛИТЬ") Тогда
Возврат Истина;
КонецЕсли;
@@ -1562,7 +1562,7 @@
Для каждого Колонка Из ИнформацияПоКолонкам Цикл
Если Колонка.Видимость Тогда
Если СтрНачинаетсяС(Колонка.ИмяКолонки, "КонтактнаяИнформация_") Тогда
ИмяВидаКИ = СтандартныеПодсистемыСервер.ПреобразоватьАдаптированноеНаименованиеКолонкиВСтроку(Сред(Колонка.ИмяКолонки, 22));
ИмяВидаКИ = СтандартныеПодсистемыСервер.ПреобразоватьАдаптированноеНаименованиеКолонкиВСтроку(Сред(Колонка.ИмяКолонки, СтрДлина("КонтактнаяИнформация_") + 1));
ВидКонтактнойИнформации = ВидыКонтактнойИнформации.Найти(ИмяВидаКИ, "Наименование");
Если НеобходимоОчиститьКонтактнуюИнформацию Тогда
ЭлементСправочника.КонтактнаяИнформация.Очистить();
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 28;
Возврат 29;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.1.102";
Возврат "3.1.1.120";
КонецФункции
@@ -130,6 +130,8 @@
<Item Calendar="06" Year="2018" DayType="Праздник" Date="20180821" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Предпраздничный" Date="20190603" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190604" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190605" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190606" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190811" SwapDate="20190812"/>
<Item Calendar="06" Year="2019" DayType="Воскресенье" Date="20190812" SwapDate="20190811"/>
<Item Calendar="07" Year="2016" DayType="Праздник" Date="20160328" SwapDate=""/>
@@ -375,6 +377,10 @@
<Item Calendar="20" Year="2019" DayType="Суббота" Date="20190325" SwapDate="20190323"/>
<Item Calendar="20" Year="2019" DayType="Предпраздничный" Date="20190415" SwapDate=""/>
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190416" SwapDate=""/>
<Item Calendar="20" Year="2019" DayType="Предпраздничный" Date="20190603" SwapDate=""/>
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190604" SwapDate=""/>
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190605" SwapDate=""/>
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190606" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200323" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200415" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200416" SwapDate=""/>
@@ -325,7 +325,9 @@
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при загрузке данных: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -334,9 +336,12 @@
КомпонентыОбмена.ФлагОшибки = Истина;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при удалении временных объектов, созданных по ссылкам: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -344,7 +349,6 @@
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СтрокаСообщения, , , , , Истина);
КомпонентыОбмена.ФлагОшибки = Истина;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КомпонентыОбмена.ФайлОбмена.Закрыть();
@@ -2261,9 +2261,6 @@
ЧтениеСообщения = Неопределено;
Попытка
ОтложеннаяОбработкаОбъектов = Ложь;
РежимЗагрузкиДанных = "ЗагрузкаВИнформационнуюБазу";
ПолеСтрокаСообщенияОбОшибке = "";
@@ -2338,6 +2335,7 @@
ВызватьИсключение НСтр("ru = 'Возникли ошибки при загрузке данных.'");
КонецЕсли;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Если ИспользоватьТранзакции Тогда
ЗафиксироватьТранзакцию();
КонецЕсли;
@@ -2353,19 +2351,20 @@
ВызватьИсключение;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
// Выполняем проведение документов в очереди.
ОтложеннаяОбработкаОбъектов = Истина;
ВыполнитьОтложенноеПроведениеДокументов();
ВыполнитьОтложеннуюЗаписьОбъектов();
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ВыполнитьОтложенноеПроведениеДокументов();
ВыполнитьОтложеннуюЗаписьОбъектов();
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
ЗакончитьЧтениеСообщения(ЧтениеСообщения);
Исключение
Если ОтложеннаяОбработкаОбъектов Тогда
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
Если ЧтениеСообщения <> Неопределено
И ЧтениеСообщения.СообщениеБылоПринятоРанее Тогда
ЗаписатьВПротоколВыполнения(174,,,,,,
@@ -2433,8 +2432,13 @@
ЗаписьЖурналаРегистрацииОбменДанными(СтрокаСообщения, УровеньЖурналаРегистрации.Информация);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ВыполнитьВыборочноеЧтениеСообщения(ТаблицыДляЗагрузки);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Попытка
ВыполнитьВыборочноеЧтениеСообщения(ТаблицыДляЗагрузки);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
// дата окончания загрузки
СостояниеОбменаДанными().ДатаОкончания = ТекущаяДатаСеанса();
@@ -71,8 +71,13 @@
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ПрочитатьФайлСообщенияОбмена(Отказ, ЧтениеXML, ЗагрузитьТолькоПараметры, ЗагрузитьМетаданные);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Попытка
ПрочитатьФайлСообщенияОбмена(Отказ, ЧтениеXML, ЗагрузитьТолькоПараметры, ЗагрузитьМетаданные);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ВызватьИсключение;
КонецПопытки;
ЧтениеXML.Закрыть();
КонецПроцедуры
@@ -47,6 +47,8 @@
Элементы.ФормаПродолжить.Отображение = ОтображениеКнопки.Картинка;
КонецЕсли;
ТекущийЭлемент = Элементы.ПодтверждениеБулево;
КонецПроцедуры
&НаКлиенте
@@ -3774,6 +3774,75 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>БИПГруппаИнтеграцияСПлатежнымиСистемами</name>
<id>1921</id>
<items xsi:type="form:Button">
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
<id>1923</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемамиРасширеннаяПодсказка</name>
<id>1924</id>
<title>
<key>ru</key>
<value>Настройка подключения и обмена данными с платежными системами.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.БИПНастройкаИнтеграцииСПлатежнымиСистемами</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Интеграция с платежными системами</value>
</title>
<horizontalStretch>true</horizontalStretch>
<extendedTooltip>
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиРасширеннаяПодсказка</name>
<id>1922</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Collapsible</behavior>
<collapsed>true</collapsed>
<controlRepresentation>Button</controlRepresentation>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
@@ -4285,6 +4354,28 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
<title>
<key>ru</key>
<value>Настройка интеграции</value>
</title>
<id>10</id>
<toolTip>
<key>ru</key>
<value>БИПНастройка интеграции с платежными системами</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -553,6 +553,18 @@
КонецПроцедуры
&НаКлиенте
Процедура БИПНастройкаИнтеграцииСПлатежнымиСистемами(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ИнтеграцияСПлатежнымиСистемами") Тогда
МодульИнтеграцияСПлатежнымиСистемамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИнтеграцияСПлатежнымиСистемамиКлиент");
МодульИнтеграцияСПлатежнымиСистемамиКлиент.ИнтернетПоддержкаИСервисы_БИПНастройкаИнтеграцииСПлатежнымиСистемами(
ЭтотОбъект,
Команда);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
&НаКлиенте
@@ -1491,6 +1491,27 @@
УровеньЖурналаРегистрации.Ошибка, , , Результат.СообщениеОбОшибкеВКорреспонденте);
КонецПопытки;
ИначеЕсли ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.ВнешняяСистема Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОбменДаннымиСВнешнимиСистемами") Тогда
Контекст = Новый Структура;
Контекст.Вставить("Корреспондент", НастройкиУдаления.УзелОбмена);
МодульОбменДаннымиСВнешнимиСистемами = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСВнешнимиСистемами");
Попытка
МодульОбменДаннымиСВнешнимиСистемами.ПриУдаленииНастройкиСинхронизации(Контекст);
Исключение
Информация = ИнформацияОбОшибке();
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Результат.СообщениеОбОшибкеВКорреспонденте = КраткоеПредставлениеОшибки(Информация);
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными(),
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
КонецПопытки;
КонецЕсли;
Иначе
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Результат.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -32,6 +32,10 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Не Параметры.Свойство("ОткрытаПоСценарию") Тогда
ВызватьИсключение НСтр("ru = 'Обработка не предназначена для непосредственного использования.'");
КонецЕсли;
@@ -528,7 +532,6 @@
КонецЕсли;
ОбновитьМенюДобавленияСтроенийИПомещений();
ОбработкаИзмененияАдреса();
КонецПроцедуры
@@ -573,43 +576,7 @@
&НаКлиенте
Процедура НаселенныйПунктПриИзменении(Элемент)
Если ПустаяСтрока(НаселенныйПункт) Тогда
ОчиститьНаселенныйПункт();
Возврат;
КонецЕсли;
Если РаботаСАдресамиКлиентСервер.ЭтоОсновнаяСтрана(Страна) Тогда
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(НаселенныйПунктДетально.AddressType, Ложь);
ИначеЕсли ЭтоСтранаУчастникЕАЭС Тогда
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(УправлениеКонтактнойИнформациейКлиентСервер.АдресЕАЭС(), Ложь);
Иначе
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(УправлениеКонтактнойИнформациейКлиентСервер.ИностранныйАдрес(), Ложь);
КонецЕсли;
ЭлементыАдреса = СтрРазделить(НаселенныйПункт, ",", Истина);
Для ИндексАдреса = 0 По ИменаУровнейАдреса.Количество() - 1 Цикл
Если ЭлементыАдреса.Количество() > 0 Тогда
ЗначениеПоля = СокрЛП(ЭлементыАдреса[0]);
Позиция = СтрНайти(ЗначениеПоля, " ", НаправлениеПоиска.СКонца);
Если Позиция > 0 И НЕ РаботаСАдресамиКлиентСервер.ПредставлениеУровняБезСокращения(ИменаУровнейАдреса[ИндексАдреса]) Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = СокрЛП(Лев(ЗначениеПоля, Позиция));
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса] + "Type"] = СокрЛП(Сред(ЗначениеПоля, Позиция +1));
Иначе
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = ЗначениеПоля;
КонецЕсли;
ЭлементыАдреса.Удалить(0);
Иначе
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = "";
КонецЕсли;
КонецЦикла;
Если ЭлементыАдреса.Количество() > 0 Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[ИменаУровнейАдреса.Количество() - 1]] = СокрЛП(СтрСоединить(ЭлементыАдреса, ","));
КонецЕсли;
ОчиститьИдентификаторыАдреса();
ОбновитьПредставлениеАдреса();
ИзменитьСведенияОНаселенномПункте();
КонецПроцедуры
@@ -628,7 +595,7 @@
Если Элемент.ТекстРедактирования <> НаселенныйПункт Тогда
Модифицированность = Истина;
НаселенныйПункт = Элемент.ТекстРедактирования;
ИзменитьСведенияОНаселенномПункте();
ИдентификаторНаселенногоПункта = Неопределено;
КонецЕсли;
@@ -1282,6 +1249,9 @@
КонецЕсли;
КонецЦикла;
ОчиститьИдентификаторыАдреса();
ОбновитьПредставлениеАдреса();
КонецПроцедуры
&НаКлиенте
@@ -2235,7 +2205,7 @@
КоличествоЭлементов = КоличествоЭлементов - 1;
ЭлементыФормы = Элементы.ГруппаСтроенияДополнительно.ПодчиненныеЭлементы.Получить(КоличествоЭлементов);
Идентификатор = Сред(ЭлементыФормы.Имя, 15);
Идентификатор = Сред(ЭлементыФормы.Имя, СтрДлина("ГруппаСтроение") + 1);
Удалять.Добавить("ТипСтроения" + Идентификатор);
Удалять.Добавить("Строение" + Идентификатор);
Элементы.Удалить(Элементы["ГруппаСтроение" + Идентификатор]);
@@ -2253,7 +2223,7 @@
КоличествоЭлементов = КоличествоЭлементов - 1;
ЭлементыФормы = Элементы.ГруппаПомещенияДополнительно.ПодчиненныеЭлементы.Получить(КоличествоЭлементов);
Идентификатор = Сред(ЭлементыФормы.Имя, 16);
Идентификатор = Сред(ЭлементыФормы.Имя, СтрДлина("ГруппаПомещение") + 1);
Удалять.Добавить("ТипПомещения" + Идентификатор);
Удалять.Добавить("Помещение" + Идентификатор);
Элементы.Удалить(Элементы["ГруппаПомещение" + Идентификатор]);
@@ -2483,7 +2453,7 @@
&НаКлиенте
Процедура Подключаемый_ТипСтроенияПриИзменении(Элемент)
Идентификатор = Сред(Элемент.Имя, 12);
Идентификатор = Сред(Элемент.Имя, СтрДлина("ТипСтроения") + 1);
НайденныеСтрокиСтарые = ДополнительныеСтроенияИПомещения.НайтиСтроки(Новый Структура("ИмяЭлемента", Идентификатор));
Если НайденныеСтрокиСтарые.Количество() > 0 Тогда
СтароеЗначение = НайденныеСтрокиСтарые[0].Значение;
@@ -2519,7 +2489,7 @@
&НаКлиенте
Процедура Подключаемый_СтроениеПриИзменении(Элемент)
Идентификатор = Сред(Элемент.Имя, 9);
Идентификатор = Сред(Элемент.Имя, СтрДлина("Строение") + 1);
НайденныеСтроки = ДополнительныеСтроенияИПомещения.НайтиСтроки(Новый Структура("ИмяЭлемента", Идентификатор));
Если НайденныеСтроки.Количество() > 0 Тогда
@@ -2555,7 +2525,7 @@
&НаКлиенте
Процедура Подключаемый_ТипПомещенияПриИзменении(Элемент)
Идентификатор = Сред(Элемент.Имя, 13);
Идентификатор = Сред(Элемент.Имя, СтрДлина("ТипПомещения") + 1);
НайденныеСтрокиСтарые = ДополнительныеСтроенияИПомещения.НайтиСтроки(Новый Структура("ИмяЭлемента", Идентификатор));
Если НайденныеСтрокиСтарые.Количество() > 0 Тогда
СтароеЗначение = НайденныеСтрокиСтарые[0].ПредыдущиеЗначение;
@@ -2612,7 +2582,7 @@
&НаКлиенте
Процедура Подключаемый_ПомещениеПриИзменении(Элемент)
Идентификатор = Сред(Элемент.Имя, 10);
Идентификатор = Сред(Элемент.Имя, СтрДлина("Помещение") + 1);
НайденныеСтроки = ДополнительныеСтроенияИПомещения.НайтиСтроки(Новый Структура("ИмяЭлемента", Идентификатор));
Если НайденныеСтроки.Количество() > 0 Тогда
@@ -3406,6 +3376,49 @@
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьСведенияОНаселенномПункте()
Если ПустаяСтрока(НаселенныйПункт) Тогда
ОчиститьНаселенныйПункт();
Возврат;
КонецЕсли;
Если РаботаСАдресамиКлиентСервер.ЭтоОсновнаяСтрана(Страна) Тогда
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(НаселенныйПунктДетально.AddressType, Ложь);
ИначеЕсли ЭтоСтранаУчастникЕАЭС Тогда
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(УправлениеКонтактнойИнформациейКлиентСервер.АдресЕАЭС(), Ложь);
Иначе
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(УправлениеКонтактнойИнформациейКлиентСервер.ИностранныйАдрес(), Ложь);
КонецЕсли;
ЭлементыАдреса = СтрРазделить(НаселенныйПункт, ",", Истина);
Для ИндексАдреса = 0 По ИменаУровнейАдреса.Количество() - 1 Цикл
Если ЭлементыАдреса.Количество() > 0 Тогда
ЗначениеПоля = СокрЛП(ЭлементыАдреса[0]);
Позиция = СтрНайти(ЗначениеПоля, " ", НаправлениеПоиска.СКонца);
Если Позиция > 0 И НЕ РаботаСАдресамиКлиентСервер.ПредставлениеУровняБезСокращения(ИменаУровнейАдреса[ИндексАдреса]) Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = СокрЛП(Лев(ЗначениеПоля, Позиция));
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса] + "Type"] = СокрЛП(Сред(ЗначениеПоля, Позиция +1));
Иначе
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = ЗначениеПоля;
КонецЕсли;
ЭлементыАдреса.Удалить(0);
Иначе
НаселенныйПунктДетально[ИменаУровнейАдреса[ИндексАдреса]] = "";
КонецЕсли;
КонецЦикла;
Если ЭлементыАдреса.Количество() > 0 Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[ИменаУровнейАдреса.Количество() - 1]] = СокрЛП(СтрСоединить(ЭлементыАдреса, ","));
КонецЕсли;
ОчиститьИдентификаторыАдреса();
ОбновитьПредставлениеАдреса();
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьПодсказкуПоТипАдреса()
@@ -3496,6 +3509,12 @@
Для каждого ИмяУровня Из РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(Адрес.AddressType, Ложь) Цикл
Если ЗначениеЗаполнено(Адрес[ИмяУровня]) Тогда
Если Адрес.AddressType = РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес()
И СтрСравнить(ИмяУровня, "Locality") = 0
И СтрСравнить(СокрЛП(Адрес[ИмяУровня] + " " + Адрес[ИмяУровня + "Type"]), СокрЛП(Адрес["city"] + " " + Адрес["cityType"])) = 0 Тогда
Продолжить;
КонецЕсли;
Если НЕ РаботаСАдресамиКлиентСервер.ПредставлениеУровняБезСокращения(ИмяУровня) Тогда
СписокЗаполненныхУровней.Добавить(Адрес[ИмяУровня] + " " + Адрес[ИмяУровня + "Type"]);
Иначе
@@ -32,6 +32,10 @@
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Параметры.Свойство("Родитель", Родитель);
Параметры.Свойство("Уровень", Уровень);
@@ -39,7 +43,7 @@
Параметры.Свойство("СкрыватьНеактуальные", СкрыватьНеактуальные);
ПараметрыПоиска = Новый Структура;
ПараметрыПоиска.Вставить("КоличествоЗаписей", 3000);
ПараметрыПоиска.Вставить("КоличествоЗаписей", 7000);
Если НЕ ЗначениеЗаполнено(Родитель) И Уровень > 1 Тогда
// поиск адреса без родителя
@@ -183,6 +187,7 @@
Результат.Вставить("Уровень", 0);
Результат.Вставить("Муниципальный", Неопределено);
Результат.Вставить("ПредлагатьЗагрузкуКлассификатора", Ложь);
Результат.Вставить("Родитель", Родитель);
Возврат Результат;
КонецФункции
@@ -31,6 +31,10 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Параметры.Свойство("НаселенныйПунктДетально", НаселенныйПунктДетально);
ИспользоватьАвтоподбор = Истина;
Если НаселенныйПунктДетально <> Неопределено Тогда
@@ -320,6 +324,12 @@
&НаКлиентеНаСервереБезКонтекста
Функция ПредставлениеУровняАдреса(Адрес, ИмяУровня, ДобавлятьСокращение = Истина)
Если ИмяУровня = "Locality"
И Не РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(Адрес.AddressType)
И Адрес.localityId = Адрес.cityId Тогда
Возврат "";
КонецЕсли;
Если Адрес.Свойство(ИмяУровня) И ЗначениеЗаполнено(Адрес[ИмяУровня]) Тогда
Если ДобавлятьСокращение Тогда
Сокращение = ?(ПустаяСтрока(Адрес[ИмяУровня +"Type"]), "", " " + Адрес[ИмяУровня +"Type"]);
@@ -342,6 +352,11 @@
Элементы.Город.Видимость = НЕ ЭтоМуниципальныйАдрес;
Элементы.МуниципальныйРайон.Видимость = ЭтоМуниципальныйАдрес;
Элементы.Поселение.Видимость = ЭтоМуниципальныйАдрес;
Если НаселенныйПунктДетально <> Неопределено
И НаселенныйПунктДетально.localityId = НаселенныйПунктДетально.cityId Тогда
НаселенныйПункт = ?(ЭтоМуниципальныйАдрес,
НаселенныйПунктДетально.locality + " " + НаселенныйПунктДетально.localityType, "");
КонецЕсли;
Иначе
@@ -26,6 +26,7 @@
<types>InformationRegisterRecordSet.ПараметрыРаботыПрограммы</types>
<types>InformationRegisterRecordSet.ПакетыИнформацииПриЗапуске</types>
<types>InformationRegisterRecordSet.НастройкиТранспортаОбменаОбластейДанных</types>
<types>InformationRegisterRecordSet.СвязиАдресныхОбъектов</types>
<types>InformationRegisterRecordSet.ДомаЗданияСтроения</types>
<types>InformationRegisterRecordSet.ДополнительныеАдресныеСведения</types>
<types>InformationRegisterRecordSet.ОбластиПерсональныхДанных</types>
@@ -842,6 +842,9 @@
<content>
<mdObject>Constant.СписокЗапрещенныхРасширений</mdObject>
</content>
<content>
<mdObject>InformationRegister.СвязиАдресныхОбъектов</mdObject>
</content>
<content>
<mdObject>InformationRegister.СообщенияОбменаДаннымиОбластейДанных</mdObject>
</content>
@@ -285,10 +285,7 @@
<value>Конечная точка корреспондента</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>10</length>
</stringQualifiers>
<types>DefinedType.КонечнаяТочкаОбменаСообщениями</types>
</type>
<toolTip>
<key>ru</key>
@@ -299,7 +296,7 @@
<denyIncompleteValues>true</denyIncompleteValues>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:ReferenceValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<master>true</master>
</dimensions>
<forms uuid="d64f18a4-ff93-4284-9eca-085109eafd24">
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b67fb4f8-e895-4a8e-9230-31bc5cde4953">
<producedTypes>
<selectionType typeId="fc901c6c-6394-49d5-b28e-e86083f121d8" valueTypeId="af7ed396-c6d7-4fd1-ae7e-9b2234712d45"/>
<listType typeId="8e77c890-85b8-4619-87d7-4b61b3f5c507" valueTypeId="6a962729-4fa8-4f56-aab2-a895253cd432"/>
<managerType typeId="bd3452b1-bb1b-4ce4-9dbd-995b59d89657" valueTypeId="30418669-abb1-4976-8aea-2af3b83590b6"/>
<recordSetType typeId="a2ed2a29-e905-407c-a291-df977b34ead3" valueTypeId="4cfd550b-3e8b-48cb-97dc-4f6ec5401e76"/>
<recordKeyType typeId="2dd00053-e5e1-419c-a1ed-29ed9ce49a66" valueTypeId="3bcd2c6a-6e83-4d10-a4ef-0504f1014e9d"/>
<recordType typeId="b6bc9481-1030-48fd-a232-565894948594" valueTypeId="8de18c84-dd2b-445c-ad1e-3f1afeb348e4"/>
<recordManagerType typeId="2e0200a7-1235-4569-b4c2-59020b35d412" valueTypeId="c6150998-147e-4249-b26a-b085ba620220"/>
</producedTypes>
<name>СвязиАдресныхОбъектов</name>
<synonym>
<key>ru</key>
<value>Связи адресных объектов</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<editType>InDialog</editType>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Active</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>LineNumber</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Recorder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Period</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode>
<dimensions uuid="f3c9fde1-6d0e-4319-a798-ed8e330750de">
<name>МуниципальныйРодительскийИдентификатор</name>
<synonym>
<key>ru</key>
<value>Муниципальный родительский идентификатор</value>
</synonym>
<type>
<types>UUID</types>
</type>
<toolTip>
<key>ru</key>
<value>Идентификатор родительского объекта (региона, района, города, населенного пункта) используется для связи с вышестоящими муниципальными адресными объектами.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
<dimensions uuid="50d1bd75-3523-41c0-8da1-500731c0872b">
<name>Идентификатор</name>
<synonym>
<key>ru</key>
<value>Идентификатор</value>
</synonym>
<comment>Глобальный уникальный идентификатор адресного объекта ФНС</comment>
<type>
<types>UUID</types>
</type>
<toolTip>
<key>ru</key>
<value>Глобальный уникальный идентификатор адресного объекта ФНС в ФИАС</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
</dimensions>
<dimensions uuid="1a8d3872-6e19-4a49-b0ea-b120b6c09d7f">
<name>КодСубъектаРФ</name>
<synonym>
<key>ru</key>
<value>Код субъекта РФ</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>2</precision>
</numberQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Код субъекта РФ в ФИАС</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
</mdclass:InformationRegister>
@@ -1809,6 +1809,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ВерсииПодсистем</name>
<right>
@@ -3564,6 +3651,65 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СвязиАдресныхОбъектов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.НастройкиЦентраМониторинга.Command.НастройкаОтправкиОтчетовОбОшибках</name>
<right>
@@ -3791,93 +3937,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.Расширения</name>
<right>
@@ -1649,6 +1649,17 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СвязиАдресныхОбъектов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ПараметрыОбработчикаОбновления</name>
<right>
@@ -1420,6 +1420,17 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СвязиАдресныхОбъектов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ПараметрыОбработчикаОбновления</name>
<right>
@@ -187,6 +187,29 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СвязиАдресныхОбъектов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
@@ -21,6 +21,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -76,37 +107,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -2520,6 +2520,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.ВерсииПодсистем</name>
<right>
@@ -4918,6 +4957,57 @@
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.СвязиАдресныхОбъектов</name>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
<right>
<name>TotalsControl</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>false</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.СообщениеSMSПрисоединенныеФайлы</name>
<right>
@@ -5222,45 +5312,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ГруппыДоступа</name>
<right>
@@ -3,13 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -41,6 +34,13 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
@@ -24,5 +24,6 @@
<content>InformationRegister.СлужебныеАдресныеСведения</content>
<content>InformationRegister.УровниСокращенийАдресныхСведений</content>
<content>InformationRegister.ЗемельныеУчастки</content>
<content>InformationRegister.СвязиАдресныхОбъектов</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>
@@ -64,6 +64,14 @@
<property name="UpdateDate" type="xs:dateTime" form="Attribute"/>
</typeDef>
</property>
<property name="Links">
<typeDef xsi:type="ObjectType">
<property xmlns:d4p1="http://www.v8.1c.ru/ssl/AddressSystem" name="Link" type="d4p1:Link" lowerBound="0" upperBound="-1"/>
<property name="Version" type="xs:int" form="Attribute"/>
<property name="Title" type="xs:string" lowerBound="0" form="Attribute"/>
<property name="UpdateDate" type="xs:dateTime" form="Attribute"/>
</typeDef>
</property>
<valueType name="SortDirection" base="xs:string" variety="Atomic">
<enumeration>ASC</enumeration>
<enumeration>DESC</enumeration>
@@ -265,4 +273,9 @@
<property name="POSTALCODE" type="xs:decimal" lowerBound="0" nillable="true" form="Attribute"/>
<property xmlns:d3p1="http://www.v8.1c.ru/ssl/AddressSystem" name="NUMBERS" type="d3p1:StringBlob" lowerBound="1" form="Attribute"/>
</objectType>
<objectType name="Link">
<property name="REGIONCODE" type="xs:int" form="Attribute"/>
<property xmlns:d3p1="http://www.v8.1c.ru/ssl/AddressSystem" name="AOGUID" type="d3p1:UUID" lowerBound="1" form="Attribute"/>
<property xmlns:d3p1="http://www.v8.1c.ru/ssl/AddressSystem" name="MUNPARENTGUID" type="d3p1:UUID" lowerBound="1" form="Attribute"/>
</objectType>
</package>