3_0_1_225

This commit is contained in:
Компания 1С committed 2018-08-02 11:19:00 +03:00
1 parent 2630908c42
commit 8c1f18d668
83 files changed
+1727 -741

No files matched your search

@@ -357,6 +357,7 @@
<borderColor xsi:type="core:ColorRef"> <borderColor xsi:type="core:ColorRef">
<color>Style.BorderColor</color> <color>Style.BorderColor</color>
</borderColor> </borderColor>
<currentRowUse>SelectionPresentationAndChoice</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -14,6 +14,20 @@
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект); ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Для каждого ЭлементФормы Из Элементы.КоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -10,6 +10,12 @@
ЗаполнитьТаблицы(); ЗаполнитьТаблицы();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -39,6 +39,12 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1516,6 +1516,7 @@
<rowPictureDataPath xsi:type="form:DataPath"> <rowPictureDataPath xsi:type="form:DataPath">
<segments>Список.DefaultPicture</segments> <segments>Список.DefaultPicture</segments>
</rowPictureDataPath> </rowPictureDataPath>
<currentRowUse>SelectionPresentationAndChoice</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -107,6 +107,20 @@
Элементы.ГруппаПояснениеСервис.Видимость = ОбщегоНазначения.РазделениеВключено(); Элементы.ГруппаПояснениеСервис.Видимость = ОбщегоНазначения.РазделениеВключено();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Для каждого ЭлементФормы Из Элементы.КоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -41,11 +41,19 @@
Если ВыборГрупп Тогда Если ВыборГрупп Тогда
Если Элементы.Найти("ФормаСоздать") <> Неопределено Тогда Если Элементы.Найти("ФормаСоздать") <> Неопределено Тогда
Элементы.ФормаСоздать.Видимость = Ложь; Элементы.ФормаСоздать.Видимость = Ложь;
Элементы.СписокКонтекстноеМенюСоздать.Видимость = Ложь;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ПриИзмененииСвойства(); ПриИзмененииСвойства();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.ОсновныеКоманды, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.ДополнительныеКоманды, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.ФормаСправка, Элементы.ФормаКоманднаяПанель);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -28,6 +28,15 @@
УстановитьЗаголовок(); УстановитьЗаголовок();
ПриИзмененииСвойства(); ПриИзмененииСвойства();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.ОсновныеКоманды, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.ДополнительныеКоманды, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.ФормаСправка, Элементы.ФормаКоманднаяПанель);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -18,6 +18,20 @@
ЕстьГрупповоеИзменениеРеквизитов = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов"); ЕстьГрупповоеИзменениеРеквизитов = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов");
Элементы.СписокИзменитьВыделенные.Видимость = ЕстьГрупповоеИзменениеРеквизитов И МожноРедактировать; Элементы.СписокИзменитьВыделенные.Видимость = ЕстьГрупповоеИзменениеРеквизитов И МожноРедактировать;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Для каждого ЭлементФормы Из Элементы.КоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -26,6 +26,14 @@
ПереключитьВидимостьНедействующихБанков(Ложь); ПереключитьВидимостьНедействующихБанков(Ложь);
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздать", "ТолькоВоВсехДействиях", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздатьГруппу", "ТолькоВоВсехДействиях", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗагрузитьКлассификатор", "Заголовок", НСтр("ru ='Загрузить'"));
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -491,6 +491,32 @@
<autoCommandBar> <autoCommandBar>
<name>ФормаКоманднаяПанель</name> <name>ФормаКоманднаяПанель</name>
<id>-1</id> <id>-1</id>
<items xsi:type="form:Button">
<name>ФормаСоздатьМобильныйКлиент</name>
<id>40</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСоздатьМобильныйКлиентРасширеннаяПодсказка</name>
<id>41</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.Create</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers> <handlers>
@@ -24,6 +24,25 @@
ТолькоПросмотр = Истина; ТолькоПросмотр = Истина;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Для каждого ЭлементФормы Из Элементы.КоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗагрузитьКлассификатор", "Заголовок", НСтр("ru ='Загрузить'"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗагрузитьКлассификатор", "КнопкаПоУмолчанию", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗагрузитьКлассификатор", "АктивизироватьПоУмолчанию", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздать", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздатьМобильныйКлиент", "Видимость", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -895,10 +895,6 @@
<key>ru</key> <key>ru</key>
<value>Командная панель формы мобильный клиент</value> <value>Командная панель формы мобильный клиент</value>
</title> </title>
<toolTip>
<key>ru</key>
<value>Командная панель формы мобильный клиент</value>
</toolTip>
<extendedTooltip> <extendedTooltip>
<name>КоманднаяПанельФормыМобильныйКлиентРасширеннаяПодсказка</name> <name>КоманднаяПанельФормыМобильныйКлиентРасширеннаяПодсказка</name>
<id>186</id> <id>186</id>
@@ -12,6 +12,18 @@
Элементы.Список.ТекущаяСтрока = Параметры.ТекущаяПапка; Элементы.Список.ТекущаяСтрока = Параметры.ТекущаяПапка;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Для каждого ЭлементФормы Из Элементы.КоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -3,8 +3,13 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.Срок.Подсказка Элементы.Срок.Подсказка = Метаданные.РегистрыСведений.СведенияОПользователях.Ресурсы.СрокДействия.Подсказка;
= Метаданные.РегистрыСведений.СведенияОПользователях.Ресурсы.СрокДействия.Подсказка;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -26,6 +26,16 @@
ЗаполнитьПользователейИБ(); ЗаполнитьПользователейИБ();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Элементы.Переместить(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Вид", ВидГруппыФормы.ГруппаКнопок);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -500,6 +500,7 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаГруппы</name> <name>ГруппаГруппы</name>
<id>75</id> <id>75</id>
<displayImportance>VeryHigh</displayImportance>
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>ГруппыПользователей</name> <name>ГруппыПользователей</name>
<id>25</id> <id>25</id>
@@ -758,6 +759,7 @@
<rowsPicture xsi:type="core:PictureRef"> <rowsPicture xsi:type="core:PictureRef">
<picture>CommonPicture.СостоянияПользователей</picture> <picture>CommonPicture.СостоянияПользователей</picture>
</rowsPicture> </rowsPicture>
<currentRowUse>SelectionPresentationAndChoice</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -918,6 +920,7 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаПользователи</name> <name>ГруппаПользователи</name>
<id>76</id> <id>76</id>
<displayImportance>VeryHigh</displayImportance>
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>ПользователиСписок</name> <name>ПользователиСписок</name>
<id>48</id> <id>48</id>
@@ -172,6 +172,22 @@
Элементы.ГруппыПользователей.ТолькоПросмотр = Истина; Элементы.ГруппыПользователей.ТолькоПросмотр = Истина;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Вид", ВидГруппыФормы.ГруппаКнопок);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "ПоложениеЗаголовка", ПоложениеЗаголовкаЭлементаФормы.Авто);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "ВариантУправленияВысотой", ВариантУправленияВысотойТаблицы.ВСтрокахТаблицы);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "РастягиватьПоВертикали", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "Высота", 4);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "АвтоМаксимальнаяВысота", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппыПользователей", "МаксимальнаяВысота", 4);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ПользователиСписок", "ПоложениеЗаголовка", ПоложениеЗаголовкаЭлементаФормы.Авто);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ЗавершитьИЗакрыть", "Заголовок", НСтр("ru ='Завершить'"));
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -164,6 +164,15 @@
Элементы.ПотребоватьСменуПароляПриВходе.РасширеннаяПодсказка.Заголовок = Элементы.ПотребоватьСменуПароляПриВходе.РасширеннаяПодсказка.Заголовок =
ПользователиСлужебный.ПодсказкаПотребоватьСменуПароляПриВходе(Ложь); ПользователиСлужебный.ПодсказкаПотребоватьСменуПароляПриВходе(Ложь);
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗаписатьИЗакрыть", "Картинка", БиблиотекаКартинок.ЗаписатьИЗакрыть);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка);
Элементы.Комментарий.ПодсказкаВвода = НСтр("ru ='Произвольный текст'");
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -23,6 +23,17 @@
Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок; Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Вид", ВидГруппыФормы.ГруппаКнопок);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Создать", "Картинка", БиблиотекаКартинок.СоздатьЭлементСписка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Создать", "Отображение", ОтображениеКнопки.Картинка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СоздатьКалендарь", "Картинка", БиблиотекаКартинок.Пустая);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -18,6 +18,13 @@
ЭтотОбъект.Каталог = "/каталог/"; ЭтотОбъект.Каталог = "/каталог/";
КонецЕсли; КонецЕсли;
ВидимостьДоступность(ЭтотОбъект); ВидимостьДоступность(ЭтотОбъект);
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаОК", "Картинка", БиблиотекаКартинок.ЗаписатьИЗакрыть);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -26,6 +26,18 @@
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда
Элементы.ВставитьИзБуфераОбмена.Видимость = Ложь; Элементы.ВставитьИзБуфераОбмена.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.ГруппаКоманднаяПанель, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаКоманднаяПанель", "Вид", ВидГруппыФормы.ГруппаКнопок);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВставитьИзБуфераОбмена", "ТолькоВоВсехДействиях", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ПолучателиУстановитьПометки", "ТолькоВоВсехДействиях", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ПолучателиСнятьПометки", "ТолькоВоВсехДействиях", Истина);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -75,6 +75,15 @@
Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда
Элементы.СобытияРассылки.Видимость = Ложь; Элементы.СобытияРассылки.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Вид", ВидГруппыФормы.ГруппаКнопок);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -231,6 +231,14 @@
Для Каждого Строка Из Объект.Отчеты Цикл Для Каждого Строка Из Объект.Отчеты Цикл
Строка.НеОтправлятьПустой = Не Строка.ОтправлятьЕслиПустой; Строка.НеОтправлятьПустой = Не Строка.ОтправлятьЕслиПустой;
КонецЦикла; КонецЦикла;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КомандаЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КомандаЗаписатьИЗакрыть", "Картинка", БиблиотекаКартинок.ЗаписатьИЗакрыть);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -47,6 +47,23 @@
Элементы.КлассификаторИзменить.Видимость = ЕстьПравоРедактироватьСтраны; Элементы.КлассификаторИзменить.Видимость = ЕстьПравоРедактироватьСтраны;
Элементы.Классификатор.ТолькоПросмотр = НЕ ЕстьПравоРедактироватьСтраны; Элементы.Классификатор.ТолькоПросмотр = НЕ ЕстьПравоРедактироватьСтраны;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Элементы.Переместить(Элементы.КлассификаторИзменить, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.КлассификаторГруппаВывестиСписок, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.КлассификаторГруппаПоиск, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.КлассификаторСортироватьСписокПоВозрастанию, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.КлассификаторСортироватьСписокПоУбыванию, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.КлассификаторСправка, Элементы.ФормаКоманднаяПанель);
Элементы.КлассификаторГруппаВывестиСписок.Вид = ВидГруппыФормы.ГруппаКнопок;
Элементы.КлассификаторГруппаПоиск.Вид = ВидГруппыФормы.ГруппаКнопок;
Элементы.Классификатор.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -658,6 +658,37 @@
<autoCommandBar> <autoCommandBar>
<name>ФормаКоманднаяПанель</name> <name>ФормаКоманднаяПанель</name>
<id>-1</id> <id>-1</id>
<items xsi:type="form:FormGroup">
<name>ГруппаДобавитьМобильныйКлиент</name>
<id>60</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Добавить</value>
</title>
<extendedTooltip>
<name>ГруппаДобавитьМобильныйКлиентРасширеннаяПодсказка</name>
<id>61</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>StdPicture.CreateListItem</picture>
</picture>
<representation>Picture</representation>
<importance>Normal</importance>
</extInfo>
</items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -61,6 +61,28 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Для каждого ЭлементФормы Из Элементы.СписокКоманднаяПанель.ПодчиненныеЭлементы Цикл
Элементы.Переместить(ЭлементФормы, Элементы.ФормаКоманднаяПанель);
КонецЦикла;
Элементы.Переместить(Элементы.СписокКлассификатор, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.СписокВыбратьИзКлассификатора, Элементы.ГруппаДобавитьМобильныйКлиент);
Элементы.Переместить(Элементы.СписокСоздать, Элементы.ГруппаДобавитьМобильныйКлиент);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокСоздать", "Заголовок", НСтр("ru ='Новый...'"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокСоздать", "ТолькоВоВсехДействиях", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокСоздать", "Картинка", БиблиотекаКартинок.Пустая);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокВыбратьИзКлассификатора", "Заголовок", НСтр("ru ='Из классификатора'"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокВыбратьИзКлассификатора", "Картинка", БиблиотекаКартинок.Пустая);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -9,6 +9,14 @@
КонецЕсли; КонецЕсли;
Элементы.ПеренестиВсеФайлыВТома.Видимость = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами"); Элементы.ПеренестиВсеФайлыВТома.Видимость = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами");
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
Элементы.КоманднаяПанель.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -42,6 +42,13 @@
Элементы.ПолныйПутьLinux.АвтоОтметкаНезаполненного = Истина; Элементы.ПолныйПутьLinux.АвтоОтметкаНезаполненного = Истина;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗаписатьИЗакрыть", "Картинка", БиблиотекаКартинок.ЗаписатьИЗакрыть);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -2103,7 +2103,7 @@
<searchStringLocation>None</searchStringLocation> <searchStringLocation>None</searchStringLocation>
<viewStatusLocation>None</viewStatusLocation> <viewStatusLocation>None</viewStatusLocation>
<searchControlLocation>None</searchControlLocation> <searchControlLocation>None</searchControlLocation>
<currentRowUse>SelectionPresentation</currentRowUse> <currentRowUse>SelectionPresentationAndChoice</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -236,6 +236,7 @@
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>Папки</name> <name>Папки</name>
<id>11</id> <id>11</id>
<displayImportance>VeryHigh</displayImportance>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Папки</value> <value>Папки</value>
@@ -552,6 +553,7 @@
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>Список</name> <name>Список</name>
<id>2</id> <id>2</id>
<displayImportance>VeryHigh</displayImportance>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Список</value> <value>Список</value>
@@ -25,6 +25,21 @@
Элементы.ФормаПоказыватьКонтекстныеШаблоны.Видимость = Пользователи.ЭтоПолноправныйПользователь(); Элементы.ФормаПоказыватьКонтекстныеШаблоны.Видимость = Пользователи.ЭтоПолноправныйПользователь();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.ГруппаКоманднаяПанельСписка, Элементы.ФормаКоманднаяПанель);
Элементы.ГруппаКоманднаяПанельСписка.Вид = ВидГруппыФормы.ГруппаКнопок;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаГруппаСоздать", "Картинка", БиблиотекаКартинок.СоздатьЭлементСписка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаГруппаСоздать", "Отображение", ОтображениеКнопки.Картинка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаГруппаСоздать", "Заголовок", НСтр("ru ='Создать'"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздатьШаблонЭлектронногоПисьма", "ТолькоВоВсехДействиях", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаСоздатьШаблонСообщенияSMS", "ТолькоВоВсехДействиях", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Справка", "ТолькоВоВсехДействиях", Истина);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -71,12 +71,8 @@
</userVisible> </userVisible>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Группа мобильный клиент</value> <value>Мобильный клиент</value>
</title> </title>
<toolTip>
<key>ru</key>
<value>Группа мобильный клиент</value>
</toolTip>
<extendedTooltip> <extendedTooltip>
<name>ГруппаМобильныйКлиентРасширеннаяПодсказка</name> <name>ГруппаМобильныйКлиентРасширеннаяПодсказка</name>
<id>37</id> <id>37</id>
@@ -31,7 +31,7 @@
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто; ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Закрыть", "Видимость", Ложь); ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Закрыть", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Справка", "ТольковоВсехДействиях", Истина); ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Справка", "ТолькоВоВсехДействиях", Истина);
КонецЕсли; КонецЕсли;
@@ -95,7 +95,7 @@
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента; ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
Элементы.СписокПриложенийВыполнитьСинхронизациюСДополнительнымиОтборами.Доступность = Элементы.СписокПриложенийВыполнитьСинхронизациюСДополнительнымиОтборами.Доступность =
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка; ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
КонецПроцедуры КонецПроцедуры
@@ -736,7 +736,8 @@
СтрокаПриложение.РежимРаботыПриложения = ?(ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS, СтрокаПриложение.РежимРаботыПриложения = ?(ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS,
1, 0); 1, 0);
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда Если Не ЗначениеЗаполнено(ВидТранспорта)
Или (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим) Тогда
// Обмен с этой базой настроен через WS. // Обмен с этой базой настроен через WS.
СтрокаПриложение.ЗапускОбменаИзКорреспондента = Истина; СтрокаПриложение.ЗапускОбменаИзКорреспондента = Истина;
КонецЕсли; КонецЕсли;
@@ -99,16 +99,8 @@
Возврат Уровни; Возврат Уровни;
КонецФункции КонецФункции
Функция АдминистративноТерриториальныйАдрес() Экспорт
Возврат "Административно-территориальный";
КонецФункции
Функция МуниципальныйАдрес() Экспорт
Возврат "Муниципальный";
КонецФункции
Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Экспорт Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Экспорт
Возврат Новый Структура("Type, Number", Тип, Значение); Возврат Новый Структура("type, number", Тип, Значение);
КонецФункции КонецФункции
Функция ОсновнаяСтрана() Экспорт Функция ОсновнаяСтрана() Экспорт
@@ -469,8 +469,8 @@
Адрес = СформироватьАдресПоДаннымИзКлассификатора(АдресДанные.Данные); Адрес = СформироватьАдресПоДаннымИзКлассификатора(АдресДанные.Данные);
Адрес.AddressType = ?(Муниципальный, Адрес.AddressType = ?(Муниципальный,
АдресныйКлассификаторКлиентСервер.МуниципальныйАдрес(), МуниципальныйАдрес(),
АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес()); АдминистративноТерриториальныйАдрес());
ИдентификаторДомаИДополнительныеСведения = КодыПоИдентификаторуАдресногоОбъекта(Адрес.ID, СведенияОДоме); ИдентификаторДомаИДополнительныеСведения = КодыПоИдентификаторуАдресногоОбъекта(Адрес.ID, СведенияОДоме);
@@ -654,6 +654,8 @@
Функция АдресныеОбъектыУровня(Родитель, Уровень, ТипАдреса, Знач СтрокаПоиска = "") Экспорт Функция АдресныеОбъектыУровня(Родитель, Уровень, ТипАдреса, Знач СтрокаПоиска = "") Экспорт
ДанныеВыбора = Новый Структура("Данные, Отказ", Новый СписокЗначений, Ложь); ДанныеВыбора = Новый Структура("Данные, Отказ", Новый СписокЗначений, Ложь);
ДанныеВыбора.Вставить("ПодробноеПредставлениеОшибки", "");
ДанныеВыбора.Вставить("КраткоеПредставлениеОшибки", "");
Результат = Новый Структура("Данные", ТаблицаДанныхДляИнтерактивногоВыбора()); Результат = Новый Структура("Данные", ТаблицаДанныхДляИнтерактивногоВыбора());
СтруктураОписанияОшибкиПоставщика(Результат); СтруктураОписанияОшибкиПоставщика(Результат);
@@ -704,6 +706,8 @@
Исключение Исключение
СтруктураОписанияОшибкиПоставщика(Результат, ИнформацияОбОшибке()); СтруктураОписанияОшибкиПоставщика(Результат, ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,, Результат.ПодробноеПредставлениеОшибки); ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,, Результат.ПодробноеПредставлениеОшибки);
ДанныеВыбора.ПодробноеПредставлениеОшибки = Результат.ПодробноеПредставлениеОшибки;
ДанныеВыбора.КраткоеПредставлениеОшибки = Результат.КраткоеПредставлениеОшибки;
КонецПопытки; КонецПопытки;
КонецЕсли; КонецЕсли;
@@ -738,8 +742,10 @@
Результат = Новый СписокЗначений; Результат = Новый СписокЗначений;
КешПредставлений = Новый Соответствие; КешПредставлений = Новый Соответствие;
ТолькоВебСервис = ДополнительныеПараметры.Свойство("ТолькоВебСервис") И ДополнительныеПараметры.ТолькоВебСервис;
ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ(); ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
Если ЗагруженныеАдресныеСведения["ИспользоватьЗагруженные"] Тогда Если Не ТолькоВебСервис И ЗагруженныеАдресныеСведения["ИспользоватьЗагруженные"] Тогда
ЗаполнитьСписокАвтоподбораЧастиАдресаВнутр(Результат, КешПредставлений, Текст, ДополнительныеПараметры); ЗаполнитьСписокАвтоподбораЧастиАдресаВнутр(Результат, КешПредставлений, Текст, ДополнительныеПараметры);
Если Результат.Количество() >= 20 Тогда Если Результат.Количество() >= 20 Тогда
Возврат Результат; Возврат Результат;
@@ -756,7 +762,17 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ЗаполнитьСписокАвтоподбораЧастиАдресаСервис1С(Результат, КешПредставлений, Текст, Родитель, 20, ДополнительныеПараметры); // Адаптация текста под поиск
ЧастиАдреса = СтрРазделить(Текст, ",");
Если ЧастиАдреса.Количество() > 0 Тогда
Если СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(СокрЛП(ЧастиАдреса[0])) Тогда
ЧастиАдреса.Удалить(0);
КонецЕсли;
ТекстПоиска = СокрЛП(СтрСоединить(ЧастиАдреса, ","));
ЗаполнитьСписокАвтоподбораЧастиАдресаСервис1С(Результат, КешПредставлений, ТекстПоиска, Родитель, 20, ДополнительныеПараметры);
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
@@ -1707,11 +1723,11 @@
// Заполнение начальных данных. // Заполнение начальных данных.
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.2.4.23"; Обработчик.Версия = "3.0.1.223";
Обработчик.Процедура = "АдресныйКлассификаторСлужебный.ВыполнитьНачальноеЗаполнение"; Обработчик.Процедура = "АдресныйКлассификаторСлужебный.ВыполнитьНачальноеЗаполнение";
Обработчик.НачальноеЗаполнение = Истина; Обработчик.НачальноеЗаполнение = Истина;
Обработчик.ОбщиеДанные = Истина; Обработчик.ОбщиеДанные = Истина;
Обработчик.РежимВыполнения = "Монопольно"; Обработчик.РежимВыполнения = "Оперативно";
КонецПроцедуры КонецПроцедуры
@@ -1974,7 +1990,7 @@
Если Результат.Отказ = Ложь Тогда Если Результат.Отказ = Ложь Тогда
Если Результат.Данные.Количество() > 0 И Результат.Данные[0].АдресПроверен Тогда Если Результат.Данные.Количество() > 0 Тогда
Если Результат.Данные[0].Варианты.Количество() > 0 Тогда Если Результат.Данные[0].Варианты.Количество() > 0 Тогда
@@ -2209,8 +2225,8 @@
Результат = ОписаниеАдреса(); Результат = ОписаниеАдреса();
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ПредставлениеМуниципальный", АдресныйКлассификаторКлиентСервер.МуниципальныйАдрес()); Запрос.УстановитьПараметр("ПредставлениеМуниципальный", МуниципальныйАдрес());
Запрос.УстановитьПараметр("ПредставлениеАдминистративный", АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес()); Запрос.УстановитьПараметр("ПредставлениеАдминистративный", АдминистративноТерриториальныйАдрес());
Запрос.УстановитьПараметр("Идентификатор", Новый УникальныйИдентификатор(Значение.Идентификатор)); Запрос.УстановитьПараметр("Идентификатор", Новый УникальныйИдентификатор(Значение.Идентификатор));
РезультатЗапроса = Запрос.Выполнить(); РезультатЗапроса = Запрос.Выполнить();
@@ -2222,12 +2238,12 @@
Выборка = РезультатЗапроса.Выгрузить(); Выборка = РезультатЗапроса.Выгрузить();
Если Значение.Свойство("Муниципальный") Тогда Если Значение.Свойство("Муниципальный") Тогда
Результат["addressType"] = ?(Значение.Муниципальный, АдресныйКлассификаторКлиентСервер.МуниципальныйАдрес(), АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес()); Результат["addressType"] = ?(Значение.Муниципальный, МуниципальныйАдрес(), АдминистративноТерриториальныйАдрес());
Иначе Иначе
Результат["addressType"] = АдресныйКлассификаторКлиентСервер.МуниципальныйАдрес(); Результат["addressType"] = МуниципальныйАдрес();
КонецЕсли; КонецЕсли;
Если Результат["addressType"] = АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес() И Выборка.Количество() = 2 Тогда Если Результат["addressType"] =АдминистративноТерриториальныйАдрес() И Выборка.Количество() = 2 Тогда
СтрокаКодов = Выборка[1]; СтрокаКодов = Выборка[1];
Иначе Иначе
СтрокаКодов = Выборка[0]; СтрокаКодов = Выборка[0];
@@ -3273,11 +3289,21 @@
КонецЦикла; КонецЦикла;
Если Муниципальный Тогда Если Муниципальный Тогда
Результат.addressType = АдресныйКлассификаторКлиентСервер.МуниципальныйАдрес(); Результат.addressType = МуниципальныйАдрес();
Иначе Иначе
Результат.addressType = АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес(); Результат.addressType = АдминистративноТерриториальныйАдрес();
КонецЕсли; КонецЕсли;
Результат.houseType = ТРег(Результат.houseType);
Для каждого Строение Из Результат.buildings Цикл
Строение.type = ТРег(Строение.type);
КонецЦикла;
Для каждого Помещение Из Результат.apartments Цикл
Помещение.type = ТРег(Помещение.type);
КонецЦикла;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
@@ -5669,6 +5695,14 @@
КонецФункции КонецФункции
Функция АдминистративноТерриториальныйАдрес() Экспорт
Возврат "Административно-территориальный";
КонецФункции
Функция МуниципальныйАдрес() Экспорт
Возврат "Муниципальный";
КонецФункции
// Конвертация // Конвертация
Функция СтруктураВСтрокуJSON(Значение) Функция СтруктураВСтрокуJSON(Значение)
@@ -6006,7 +6040,7 @@
Если СтрЧислоВхождений(АдресРФ, ",") = 9 Тогда Если СтрЧислоВхождений(АдресРФ, ",") = 9 Тогда
Результат.AddressType = АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес(); Результат.AddressType = АдминистративноТерриториальныйАдрес();
ЧастиАдреса = СтрРазделить(АдресРФ, ","); ЧастиАдреса = СтрРазделить(АдресРФ, ",");
Результат.ZIPCode = ЧастиАдреса[1]; Результат.ZIPCode = ЧастиАдреса[1];
@@ -6052,7 +6086,7 @@
Если ЗначениеЗаполнено(АдресРФ.Адрес_по_документу) Тогда Если ЗначениеЗаполнено(АдресРФ.Адрес_по_документу) Тогда
Результат.AddressType = АдресВСвободнойФорме(); Результат.AddressType = АдресВСвободнойФорме();
Иначе Иначе
Результат.AddressType = АдресныйКлассификаторКлиентСервер.АдминистративноТерриториальныйАдрес(); Результат.AddressType = АдминистративноТерриториальныйАдрес();
КонецЕсли; КонецЕсли;
Результат.Country = НаименованиеСтраны; Результат.Country = НаименованиеСтраны;
@@ -6512,7 +6546,7 @@
КонецФункции КонецФункции
Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Функция ЗначениеСтроенияИлиПомещения(Тип, Значение)
Возврат Новый Структура("Type, Number", Тип, Значение); Возврат Новый Структура("type, number", Тип, Значение);
КонецФункции КонецФункции
// Возвращает дополнительный адреса. // Возвращает дополнительный адреса.
@@ -82,9 +82,9 @@
Иначе Иначе
ТаблицаФормы = Форма.Элементы.Найти(ДополнительныеСвойства.ИмяСписка); ТаблицаФормы = Форма.Элементы.Найти(ДополнительныеСвойства.ИмяСписка);
АлиасИндикатор = ДополнительныеСвойства.КолонкаИндикатора; КолонкаИндикатора = ДополнительныеСвойства.КолонкаИндикатора;
Если Поле.Имя <> АлиасИндикатор Тогда Если Поле.Имя <> КолонкаИндикатора Тогда
СтандартнаяОбработка = Истина; СтандартнаяОбработка = Истина;
Иначе Иначе
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
@@ -45,7 +45,7 @@
КомпонентыОбмена.Вставить("ТолькоНастройкиXDTO", Ложь); КомпонентыОбмена.Вставить("ТолькоНастройкиXDTO", Ложь);
// Перечень поддерживаемых объектов формата для текущего сеанса обмена. // Перечень поддерживаемых объектов формата для текущего сеанса обмена.
// Содержит набот совместно поддерживаемых объектов этой базы и базы корреспондента // Содержит набор совместно поддерживаемых объектов этой базы и базы корреспондента
// в контексте конкретного действия обмена (отправки/получения). // в контексте конкретного действия обмена (отправки/получения).
// Подробнее см. ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO // Подробнее см. ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO
КомпонентыОбмена.Вставить("ПоддерживаемыеОбъектыXDTO", Новый Массив); КомпонентыОбмена.Вставить("ПоддерживаемыеОбъектыXDTO", Новый Массив);
@@ -1369,61 +1369,35 @@
КонецЕсли; КонецЕсли;
// Записываем элемент <Message> ПараметрыЗаголовка = ПараметрыЗаголовкаСообщенияОбмена();
ФайлОбмена.ЗаписатьНачалоЭлемента("Message");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("msg", "http://www.1c.ru/SSL/Exchange/Message");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
// Записываем элемент <Header> ПараметрыЗаголовка.ФорматОбмена = КомпонентыОбмена.XMLСхема;
Header = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header")); ПараметрыЗаголовка.ЭтоОбменЧерезПланОбмена = КомпонентыОбмена.ЭтоОбменЧерезПланОбмена;
Header.Format = КомпонентыОбмена.XMLСхема; ПараметрыЗаголовка.ВерсияФорматаОбмена = КомпонентыОбмена.ВерсияФорматаОбмена;
Header.CreationDate = ТекущаяУниверсальнаяДата();
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(ЗаписьСообщения.Получатель);
ПсевдонимПредопределенногоУзла = ОбменДаннымиСервер.ПсевдонимПредопределенногоУзла(ЗаписьСообщения.Получатель);
Confirmation = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Confirmation")); ПараметрыЗаголовка.ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
Confirmation.ExchangePlan = ИмяПланаОбмена; ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла = ОбменДаннымиСервер.ПсевдонимПредопределенногоУзла(КомпонентыОбмена.УзелКорреспондента);
Confirmation.To = ОбменДаннымиСервер.ИдентификаторУзлаКорреспондентаДляОбмена(ЗаписьСообщения.Получатель); ПараметрыЗаголовка.ИдентификаторПолучателя = ОбменДаннымиСервер.ИдентификаторУзлаКорреспондентаДляОбмена(КомпонентыОбмена.УзелКорреспондента);
Если ЗначениеЗаполнено(ПсевдонимПредопределенногоУзла) Тогда ПараметрыЗаголовка.ИдентификаторОтправителя = ОбменДаннымиСервер.ИдентификаторЭтогоУзлаДляОбмена(КомпонентыОбмена.УзелКорреспондента);
// Требуется корректировка кода узла отправителя.
Confirmation.From = СокрЛП(ПсевдонимПредопределенногоУзла); Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда
Иначе ПараметрыЗаголовка.НомерСообщения = ЗаписьСообщения.НомерСообщения;
Confirmation.From = ОбменДаннымиСервер.ИдентификаторЭтогоУзлаДляОбмена(ЗаписьСообщения.Получатель); ПараметрыЗаголовка.НомерПринятого = ЗаписьСообщения.НомерПринятого;
КонецЕсли; КонецЕсли;
Если КомпонентыОбмена.ТолькоНастройкиXDTO Тогда ПараметрыЗаголовка.ПоддерживаемыеВерсии = КомпонентыОбмена.НастройкиXDTO.ПоддерживаемыеВерсии;
Confirmation.MessageNo = 0; ПараметрыЗаголовка.ПоддерживаемыеОбъекты = КомпонентыОбмена.НастройкиXDTO.ПоддерживаемыеОбъекты;
Confirmation.ReceivedNo = 0;
Иначе ПараметрыЗаголовка.Префикс = ОбменДаннымиСервер.ПрефиксИнформационнойБазы();
Confirmation.MessageNo = ЗаписьСообщения.НомерСообщения;
Confirmation.ReceivedNo = ЗаписьСообщения.НомерПринятого; ПараметрыЗаголовка.УзелКорреспондента = КомпонентыОбмена.УзелКорреспондента;
КонецЕсли; КонецЕсли;
Header.Confirmation = Confirmation; ЗаписатьЗаголовокСообщенияОбмена(ФайлОбмена, ПараметрыЗаголовка);
Для Каждого ВерсияФормата Из КомпонентыОбмена.НастройкиXDTO.ПоддерживаемыеВерсии Цикл
Header.AvailableVersion.Добавить(ВерсияФормата);
КонецЦикла;
Если ЗначениеЗаполнено(ПсевдонимПредопределенногоУзла) Тогда
// Тип Header является Упорядоченным, поэтому важен порядок присвоения значений свойств.
// В противном случае может быть не пройдена валидация по схеме.
Header.NewFrom = ОбменДаннымиСервер.ИдентификаторЭтогоУзлаДляОбмена(ЗаписьСообщения.Получатель);
КонецЕсли;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header, КомпонентыОбмена);
Header.Prefix = ОбменДаннымиСервер.ПрефиксИнформационнойБазы();
Иначе
Header.AvailableVersion.Добавить(КомпонентыОбмена.ВерсияФорматаОбмена);
КонецЕсли;
ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, Header);
Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда
// Записываем элемент <Body> // Записываем элемент <Body>
@@ -3911,18 +3885,21 @@
КонецФункции КонецФункции
Процедура ВыгрузитьПоддерживаемыеОбъектыФормата(Header, КомпонентыОбмена) Процедура ВыгрузитьПоддерживаемыеОбъектыФормата(Header, ПоддерживаемыеОбъекты, УзелКорреспондента)
ТаблицаВсеВерсии = Новый ТаблицаЗначений;
ТаблицаВсеВерсии.Колонки.Добавить("Версия", Новый ОписаниеТипов("Строка"));
СтрокаВсеВерсии = "";
Для Каждого AvailableVersion Из Header.AvailableVersion Цикл Для Каждого AvailableVersion Из Header.AvailableVersion Цикл
Если ПустаяСтрока(СтрокаВсеВерсии) Тогда СтрокаТаблицаВсеВерсии = ТаблицаВсеВерсии.Добавить();
СтрокаВсеВерсии = AvailableVersion; СтрокаТаблицаВсеВерсии.Версия = AvailableVersion;
Иначе
СтрокаВсеВерсии = AvailableVersion + "," + СтрокаВсеВерсии;
КонецЕсли;
КонецЦикла; КонецЦикла;
ТаблицаПоддерживаемыеОбъекты = КомпонентыОбмена.НастройкиXDTO.ПоддерживаемыеОбъекты.Скопировать(); ТаблицаВсеВерсии.Сортировать("Версия");
СтрокаВсеВерсии = СтрСоединить(ТаблицаВсеВерсии.ВыгрузитьКолонку("Версия"), ",");
ТаблицаПоддерживаемыеОбъекты = ПоддерживаемыеОбъекты.Скопировать();
ТаблицаПоддерживаемыеОбъекты.Сортировать("Объект, Версия"); ТаблицаПоддерживаемыеОбъекты.Сортировать("Объект, Версия");
@@ -3992,7 +3969,90 @@
КонецЕсли; КонецЕсли;
РегистрыСведений.НастройкиОбменаДаннымиXDTO.ОбновитьНастройки( РегистрыСведений.НастройкиОбменаДаннымиXDTO.ОбновитьНастройки(
КомпонентыОбмена.УзелКорреспондента, "ПоддерживаемыеОбъекты", ТаблицаПоддерживаемыеОбъекты); УзелКорреспондента, "ПоддерживаемыеОбъекты", ТаблицаПоддерживаемыеОбъекты);
КонецПроцедуры
Функция ПараметрыЗаголовкаСообщенияОбмена() Экспорт
ПараметрыЗаголовка = Новый Структура;
ПараметрыЗаголовка.Вставить("ФорматОбмена", "");
ПараметрыЗаголовка.Вставить("ЭтоОбменЧерезПланОбмена", Ложь);
ПараметрыЗаголовка.Вставить("ВерсияФорматаОбмена", "");
ПараметрыЗаголовка.Вставить("ИмяПланаОбмена", "");
ПараметрыЗаголовка.Вставить("ПсевдонимПредопределенногоУзла", "");
ПараметрыЗаголовка.Вставить("ИдентификаторПолучателя", "");
ПараметрыЗаголовка.Вставить("ИдентификаторОтправителя", "");
ПараметрыЗаголовка.Вставить("НомерСообщения", 0);
ПараметрыЗаголовка.Вставить("НомерПринятого", 0);
ПараметрыЗаголовка.Вставить("ПоддерживаемыеВерсии", Новый Массив);
ПараметрыЗаголовка.Вставить("ПоддерживаемыеОбъекты", Новый ТаблицаЗначений);
ПараметрыЗаголовка.Вставить("Префикс", "");
ПараметрыЗаголовка.Вставить("УзелКорреспондента", Неопределено);
Возврат ПараметрыЗаголовка;
КонецФункции
Процедура ЗаписатьЗаголовокСообщенияОбмена(ФайлОбмена, ПараметрыЗаголовка) Экспорт
// Записываем элемент <Message>
ФайлОбмена.ЗаписатьНачалоЭлемента("Message");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("msg", "http://www.1c.ru/SSL/Exchange/Message");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema");
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
// Элемент <Header>
Header = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
Header.Format = ПараметрыЗаголовка.ФорматОбмена;
Header.CreationDate = ТекущаяУниверсальнаяДата();
Если ПараметрыЗаголовка.ЭтоОбменЧерезПланОбмена Тогда
Confirmation = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Confirmation"));
Confirmation.ExchangePlan = ПараметрыЗаголовка.ИмяПланаОбмена;
Confirmation.To = ПараметрыЗаголовка.ИдентификаторПолучателя;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Требуется корректировка кода узла отправителя.
Confirmation.From = ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла;
Иначе
Confirmation.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли;
Confirmation.MessageNo = ПараметрыЗаголовка.НомерСообщения;
Confirmation.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
Header.Confirmation = Confirmation;
Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл
Header.AvailableVersion.Добавить(ВерсияФормата);
КонецЦикла;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Тип Header является Упорядоченным, поэтому важен порядок присвоения значений свойств.
// В противном случае может быть не пройдена валидация по схеме.
Header.NewFrom = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header,
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
Header.Prefix = ПараметрыЗаголовка.Префикс;
Иначе
Header.AvailableVersion.Добавить(ПараметрыЗаголовка.ВерсияФорматаОбмена);
КонецЕсли;
ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, Header);
КонецПроцедуры КонецПроцедуры
@@ -5279,6 +5339,11 @@
Процедура ЗаполнитьСтруктуруНастроекXDTO(КомпонентыОбмена) Экспорт Процедура ЗаполнитьСтруктуруНастроекXDTO(КомпонентыОбмена) Экспорт
Если Не КомпонентыОбмена.ЭтоОбменЧерезПланОбмена
Или Не ЗначениеЗаполнено(КомпонентыОбмена.УзелКорреспондента) Тогда
Возврат;
КонецЕсли;
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента); ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
КомпонентыОбмена.НастройкиXDTO.Формат = ФорматОбмена(ИмяПланаОбмена, ""); КомпонентыОбмена.НастройкиXDTO.Формат = ФорматОбмена(ИмяПланаОбмена, "");
@@ -1108,9 +1108,11 @@
КонецЕсли; КонецЕсли;
// Обмен через WS-соединение в пассивном режиме не поддерживается: // Обмен через WS-соединение в пассивном режиме не поддерживается:
// - для обменов, не являющихся обменом через XDTO. // - для обменов, не являющихся обменом через XDTO;
// - для файловых информационных баз.
// //
Если Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена) Тогда Если Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена)
Или ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Результат, ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Результат,
Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим); Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
@@ -11357,10 +11357,18 @@
ВерсияКорреспондента_2_0_1_6 = (ВерсииКорреспондента.Найти("2.0.1.6") <> Неопределено); ВерсияКорреспондента_2_0_1_6 = (ВерсииКорреспондента.Найти("2.0.1.6") <> Неопределено);
ВерсияКорреспондента_2_1_1_7 = (ВерсииКорреспондента.Найти("2.1.1.7") <> Неопределено); ВерсияКорреспондента_2_1_1_7 = (ВерсииКорреспондента.Найти("2.1.1.7") <> Неопределено);
ВерсияКорреспондента_3_0_1_1 = (ВерсииКорреспондента.Найти("3.0.1.1") <> Неопределено);
Если ВерсияКорреспондента_2_1_1_7
Или ВерсияКорреспондента_3_0_1_1 Тогда
WSПрокси = Неопределено;
Если ВерсияКорреспондента_2_1_1_7 Тогда Если ВерсияКорреспондента_2_1_1_7 Тогда
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, , СообщениеПользователю, 5); WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, , СообщениеПользователю, 5);
ИначеЕсли ВерсияКорреспондента_3_0_1_1 Тогда
WSПрокси = ПолучитьWSПрокси_3_0_1_1(СтруктураНастроек, , СообщениеПользователю, 5);
КонецЕсли;
Если WSПрокси = Неопределено Тогда Если WSПрокси = Неопределено Тогда
СброситьПарольСинхронизацииДанных(Корреспондент); СброситьПарольСинхронизацииДанных(Корреспондент);
@@ -11369,26 +11377,46 @@
Попытка Попытка
КодКорреспондента = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбменаПоСсылке(Корреспондент), "Код"); КодКорреспондента = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбменаПоСсылке(Корреспондент), "Код");
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Корреспондент); ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Корреспондент);
ЕстьПодключение = WSПрокси.TestConnection( ЕстьПодключение = WSПрокси.TestConnection(
ИмяПланаОбмена, ИмяПланаОбмена,
КодКорреспондента, КодКорреспондента,
СообщениеПользователю); СообщениеПользователю);
Если НЕ ЕстьПодключение Тогда Если Не ЕстьПодключение
Если ЭтоПланОбменаXDTO(Корреспондент) Тогда И ЭтоПланОбменаXDTO(Корреспондент) Тогда
ИмяПланаОбменаСтаройНастройки = "";
ВариантНастройки = "";
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ВариантНастройки", Корреспондент.Метаданные()) Тогда
ВариантНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Корреспондент, "ВариантНастройки"); ВариантНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Корреспондент, "ВариантНастройки");
ИмяПланаОбменаСтаройНастройки = КонецЕсли;
ПланыОбмена[ИмяПланаОбмена].ИмяПланаОбменаСтаройНастройки(КодКорреспондента);
Если ИмяПланаОбменаСтаройНастройки <> "" Тогда Для Каждого ИмяСтарогоПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если ИмяСтарогоПланаОбмена = ИмяПланаОбмена Тогда
Продолжить;
КонецЕсли;
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяСтарогоПланаОбмена) Тогда
Продолжить;
КонецЕсли;
ИмяНовогоПланаОбмена = ЗначениеНастройкиПланаОбмена(ИмяСтарогоПланаОбмена,
"ИмяПланаОбменаДляПереходаНаНовыйОбмен", ВариантНастройки);
Если ИмяНовогоПланаОбмена = ИмяПланаОбмена Тогда
ЕстьПодключение = WSПрокси.TestConnection( ЕстьПодключение = WSПрокси.TestConnection(
ИмяПланаОбменаСтаройНастройки, ИмяСтарогоПланаОбмена,
КодКорреспондента, КодКорреспондента,
СообщениеПользователю); СообщениеПользователю);
КонецЕсли; КонецЕсли;
Если ЕстьПодключение Тогда
Прервать;
КонецЕсли; КонецЕсли;
КонецЦикла;
КонецЕсли; КонецЕсли;
Если ЕстьПодключение Тогда Если ЕстьПодключение Тогда
@@ -173,29 +173,41 @@
Если КомпонентыОбмена.ФлагОшибки Тогда Если КомпонентыОбмена.ФлагОшибки Тогда
КомпонентыОбмена.ФайлОбмена = Неопределено; КомпонентыОбмена.ФайлОбмена = Неопределено;
ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена); ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена);
ВызватьИсключение(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение КомпонентыОбмена.СтрокаСообщенияОбОшибке;
КонецЕсли; КонецЕсли;
СтруктураНастроекОбмена = СтруктураНастроекОбмена(КомпонентыОбмена, Перечисления.ДействияПриОбмене.ВыгрузкаДанных);
// Выгрузка данных. // Выгрузка данных.
Попытка Попытка
ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена); ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена);
Исключение Исключение
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
РазблокироватьДанныеДляРедактирования(КомпонентыОбмена.УзелКорреспондента); РазблокироватьДанныеДляРедактирования(КомпонентыОбмена.УзелКорреспондента);
КонецЕсли; КонецЕсли;
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СообщениеОбОшибке);
ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена); ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена);
КомпонентыОбмена.ФайлОбмена = Неопределено; КомпонентыОбмена.ФайлОбмена = Неопределено;
ВызватьИсключение(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение СообщениеОбОшибке;
КонецПопытки; КонецПопытки;
КомпонентыОбмена.ФайлОбмена.Закрыть(); КомпонентыОбмена.ФайлОбмена.Закрыть();
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена, КомпонентыОбмена);
Если КомпонентыОбмена.ФлагОшибки Тогда Если КомпонентыОбмена.ФлагОшибки Тогда
СообщениеОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке; СообщениеОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке;
ВызватьИсключение(СообщениеОбОшибке); ВызватьИсключение СообщениеОбОшибке;
Иначе Иначе
@@ -248,9 +260,11 @@
Если КомпонентыОбмена.ФлагОшибки Тогда Если КомпонентыОбмена.ФлагОшибки Тогда
СообщениеОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке; СообщениеОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке;
ВызватьИсключение(СообщениеОбОшибке); ВызватьИсключение СообщениеОбОшибке;
КонецЕсли; КонецЕсли;
СтруктураНастроекОбмена = СтруктураНастроекОбмена(КомпонентыОбмена, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
Попытка Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена); ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
Исключение Исключение
@@ -268,6 +282,8 @@
КомпонентыОбмена.ФайлОбмена.Закрыть(); КомпонентыОбмена.ФайлОбмена.Закрыть();
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена, КомпонентыОбмена);
Если Не КомпонентыОбмена.ФлагОшибки Если Не КомпонентыОбмена.ФлагОшибки
И КомпонентыОбмена.ЭтоОбменЧерезПланОбмена И КомпонентыОбмена.ЭтоОбменЧерезПланОбмена
И КомпонентыОбмена.ИспользоватьКвитирование Тогда И КомпонентыОбмена.ИспользоватьКвитирование Тогда
@@ -451,6 +467,11 @@
ОбменДаннымиXDTOСервер.ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена); ОбменДаннымиXDTOСервер.ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена);
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTO(КомпонентыОбмена);
ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO(КомпонентыОбмена);
КонецЕсли;
Возврат КомпонентыОбмена; Возврат КомпонентыОбмена;
КонецФункции КонецФункции
@@ -491,4 +512,57 @@
КонецФункции КонецФункции
Функция СтруктураНастроекОбмена(КомпонентыОбмена, ДействиеОбменаДанными)
Если Не КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
Возврат Неопределено;
КонецЕсли;
СтруктураНастроекОбмена = ОбменДаннымиПовтИсп.НастройкиОбменаУзлаИнформационнойБазы(
КомпонентыОбмена.УзелКорреспондента, ДействиеОбменаДанными, Неопределено, Ложь);
Если СтруктураНастроекОбмена.Отказ Тогда
СтрокаСообщенияОбОшибке = НСтр("ru = 'Ошибка при инициализации процесса обмена данными.'");
ОбменДаннымиСервер.ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
ВызватьИсключение СтрокаСообщенияОбОшибке;
КонецЕсли;
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
СтруктураНастроекОбмена.ДатаНачала = ТекущаяДатаСеанса();
СтрокаСообщения = НСтр("ru = 'Начало процесса обмена данными для узла %1'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтруктураНастроекОбмена.УзелИнформационнойБазыНаименование);
ЗаписьЖурналаРегистрации(СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации,
УровеньЖурналаРегистрации.Информация,
СтруктураНастроекОбмена.УзелИнформационнойБазы.Метаданные(),
СтруктураНастроекОбмена.УзелИнформационнойБазы,
СтрокаСообщения);
Возврат СтруктураНастроекОбмена;
КонецФункции
Процедура ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена, КомпонентыОбмена)
Если Не КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
Возврат;
КонецЕсли;
СтруктураНастроекОбмена.РезультатВыполненияОбмена = КомпонентыОбмена.СостояниеОбменаДанными.РезультатВыполненияОбмена;
Если СтруктураНастроекОбмена.ДействиеПриОбмене = Перечисления.ДействияПриОбмене.ВыгрузкаДанных Тогда
СтруктураНастроекОбмена.КоличествоОбъектовОбработано = КомпонентыОбмена.СчетчикВыгруженныхОбъектов;
СтруктураНастроекОбмена.СообщениеПриОбмене = СтруктураНастроекОбмена.ОбработкаОбменаДанными.КомментарийПриВыгрузкеДанных;
ИначеЕсли СтруктураНастроекОбмена.ДействиеПриОбмене = Перечисления.ДействияПриОбмене.ЗагрузкаДанных Тогда
СтруктураНастроекОбмена.КоличествоОбъектовОбработано = КомпонентыОбмена.СчетчикЗагруженныхОбъектов;
СтруктураНастроекОбмена.СообщениеПриОбмене = СтруктураНастроекОбмена.ОбработкаОбменаДанными.КомментарийПриЗагрузкеДанных;
КонецЕсли;
СтруктураНастроекОбмена.СтрокаСообщенияОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке;
ОбменДаннымиСервер.ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -32,7 +32,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.1.220"; Описание.Версия = "3.0.1.225";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -3129,7 +3129,7 @@
КонецФункции КонецФункции
// (RunApplication) Запускает внешнюю программу в соответствии с параметрами запуска. // Запускает внешнюю программу в соответствии с параметрами запуска.
// Не доступно в веб-клиенте. // Не доступно в веб-клиенте.
// //
// Параметры: // Параметры:
@@ -3219,31 +3219,19 @@
Если (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86) Если (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86)
Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64) Тогда Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64) Тогда
// Из-за запуска через shell перенаправление каталога требуется сделать командой.
Если Не ПустаяСтрока(ТекущийКаталог) Тогда
СтрокаКоманды = "cd /D """ + ТекущийКаталог + """ && " + СтрокаКоманды;
КонецЕсли;
// Выполняется запуск через cmd.exe (для перенаправления stdout и stderr).
СтрокаКоманды = "cmd /S /C "" " + СтрокаКоманды + " """;
#Если Сервер Тогда #Если Сервер Тогда
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ЗапуститьПриложение(СтрокаКоманды, ТекущийКаталог, ДождатьсяЗавершения, КодВозврата);
Иначе
// Из-за запуска через shell перенаправление каталога требуется сделать командой.
Если Не ПустаяСтрока(ТекущийКаталог) Тогда
СтрокаКоманды = "cd /D """ + ТекущийКаталог + """ && " + СтрокаКоманды;
КонецЕсли;
// Выполняется запуск через cmd.exe (для перенаправления stdout и stderr).
СтрокаКоманды = "cmd /S /C "" " + СтрокаКоманды + " """;
ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата); ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата);
КонецЕсли;
#Иначе #Иначе
// Из-за запуска через shell перенаправление каталога требуется сделать командой.
Если Не ПустаяСтрока(ТекущийКаталог) Тогда
СтрокаКоманды = "cd /D """ + ТекущийКаталог + """ && " + СтрокаКоманды;
КонецЕсли;
// Выполняется запуск через cmd.exe (для перенаправления stdout и stderr).
СтрокаКоманды = "cmd /S /C "" " + СтрокаКоманды + " """;
Если ВыполнитьСНаивысшимиПравами Тогда Если ВыполнитьСНаивысшимиПравами Тогда
@@ -3273,10 +3261,7 @@
Оболочка = Неопределено; Оболочка = Неопределено;
Иначе Иначе
Оболочка = Новый COMОбъект("Wscript.Shell"); ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата);
// Run запускает новый процесс, не являющийся дочерним текущего процесса (в отличии от Exec).
КодВозврата = Оболочка.Run(СтрокаКоманды, 0, ДождатьсяЗавершения);
Оболочка = Неопределено;
КонецЕсли; КонецЕсли;
#КонецЕсли #КонецЕсли
@@ -320,13 +320,11 @@
КонецЕсли; КонецЕсли;
Для Каждого ТекущийКорпус Из ПоляАдреса.Корпуса Цикл Для Каждого ТекущийКорпус Из ПоляАдреса.Корпуса Цикл
Результат.Buildings.Добавить( Результат.Buildings.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(ТекущийКорпус.ТипКорпуса, ТекущийКорпус.Номер));
Новый Структура("Type, Number", ТекущийКорпус.ТипКорпуса, ТекущийКорпус.Номер));
КонецЦикла; КонецЦикла;
Для Каждого ТекущееПомещение Из ПоляАдреса.Помещения Цикл Для Каждого ТекущееПомещение Из ПоляАдреса.Помещения Цикл
Результат.Apartments.Добавить( Результат.Apartments.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(ТекущееПомещение.ТипПомещения, ТекущееПомещение.Номер));
Новый Структура("Type, Number", ТекущееПомещение.ТипПомещения, ТекущееПомещение.Номер));
КонецЦикла; КонецЦикла;
// Заполнение кода КЛАДР последнего в иерархии адресного объекта. // Заполнение кода КЛАДР последнего в иерархии адресного объекта.
@@ -998,7 +996,7 @@
// Преобразует формат из XML в JSON // Преобразует формат из XML в JSON
// //
Функция КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Знач Тип = Неопределено, Представление = "") Экспорт Функция КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Знач Тип = Неопределено, Представление = "", ОбновлятьИдентификаторы = Истина) Экспорт
Если Тип <> Неопределено И ТипЗнч(Тип) <> Тип("ПеречислениеСсылка.ТипыКонтактнойИнформации") Тогда Если Тип <> Неопределено И ТипЗнч(Тип) <> Тип("ПеречислениеСсылка.ТипыКонтактнойИнформации") Тогда
Тип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(Тип); Тип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(Тип);
@@ -1056,6 +1054,10 @@
Результат.Value = XDTOКонтактнаяИнформация.Представление; Результат.Value = XDTOКонтактнаяИнформация.Представление;
Результат.Comment = XDTOКонтактнаяИнформация.Комментарий; Результат.Comment = XDTOКонтактнаяИнформация.Комментарий;
ИначеЕсли ТипЗнч(КонтактнаяИнформация) = Тип("Структура") Тогда
Возврат СтруктураАдресаВСтруктуруJSON(КонтактнаяИнформация);
КонецЕсли; КонецЕсли;
Если Тип <> Перечисления.ТипыКонтактнойИнформации.Адрес И Тип <> Перечисления.ТипыКонтактнойИнформации.Телефон Тогда Если Тип <> Перечисления.ТипыКонтактнойИнформации.Адрес И Тип <> Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
@@ -1218,7 +1220,7 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда Если ОбновлятьИдентификаторы И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
МодульАдресныйКлассификаторСлужебный.УстановитьИдентификаторыАдреса(Результат); МодульАдресныйКлассификаторСлужебный.УстановитьИдентификаторыАдреса(Результат);
КонецЕсли; КонецЕсли;
@@ -1227,6 +1229,108 @@
КонецФункции КонецФункции
Функция АккомодацияСтруктурыАдреса(Данные) Экспорт
Если Данные.Свойство("id") И ПустаяСтрока(Данные.id) И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
МодульАдресныйКлассификаторСлужебный.УстановитьИдентификаторыАдреса(Данные);
КонецЕсли;
НаселенныйПунктДетально = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес"));
ЗаполнитьЗначенияСвойств(НаселенныйПунктДетально, Данные);
Если ТипЗнч(НаселенныйПунктДетально.Buildings) <> Тип("Массив") Тогда
НаселенныйПунктДетально.Buildings = Новый Массив;
КонецЕсли;
Если ТипЗнч(НаселенныйПунктДетально.Apartments) <> Тип("Массив") Тогда
НаселенныйПунктДетально.Buildings = Новый Массив;
КонецЕсли;
Для каждого ЭлементАдреса Из НаселенныйПунктДетально Цикл
Если СтрЗаканчиваетсяНа(ЭлементАдреса.Ключ, "Id")
И ТипЗнч(ЭлементАдреса.Значение) = Тип("Строка")
И СтрДлина(ЭлементАдреса.Значение) = 36 Тогда
НаселенныйПунктДетально[ЭлементАдреса.Ключ] = Новый УникальныйИдентификатор(ЭлементАдреса.Значение);
КонецЕсли;
КонецЦикла;
Если Данные.Свойство("house") Тогда
НаселенныйПунктДетально.HouseNumber = Данные.house;
КонецЕсли;
Возврат НаселенныйПунктДетально;
КонецФункции
Функция СтруктураАдресаВСтруктуруJSON(Знач КонтактнаяИнформация)
ОписаниеКонтактнойИнформации = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
СоответствиеПолей = Новый Соответствие();
СоответствиеПолей.Вставить("ТипАдреса", "AddressType");
СоответствиеПолей.Вставить("Представление", "value");
СоответствиеПолей.Вставить("Комментарий", "comment");
СоответствиеПолей.Вставить("НаименованиеСтраны", "country");
СоответствиеПолей.Вставить("Представление", "value");
СоответствиеПолей.Вставить("Страна", "country");
СоответствиеПолей.Вставить("Индекс", "ZIPCode");
СоответствиеПолей.Вставить("ОКТМО", "oktmo");
СоответствиеПолей.Вставить("ОКАТО", "okato");
СоответствиеПолей.Вставить("Регион", "area");
СоответствиеПолей.Вставить("РегионСокращение", "areaType");
СоответствиеПолей.Вставить("Район", "district");
СоответствиеПолей.Вставить("РайонСокращение", "districtType");
СоответствиеПолей.Вставить("Город", "city");
СоответствиеПолей.Вставить("ГородСокращение", "cityType");
СоответствиеПолей.Вставить("НаселенныйПункт", "locality");
СоответствиеПолей.Вставить("НаселенныйПунктСокращение", "localityType");
СоответствиеПолей.Вставить("Улица", "street");
СоответствиеПолей.Вставить("УлицаСокращение", "streetType");
СоответствиеПолей.Вставить("МуниципальноеПредставление", "value");
СоответствиеПолей.Вставить("КодРегиона", "areaCode");
СоответствиеПолей.Вставить("МуниципальныйРайон", "munDistrict");
СоответствиеПолей.Вставить("МуниципальныйРайонСокращение", "munDistrictType");
СоответствиеПолей.Вставить("Поселение", "settlement");
СоответствиеПолей.Вставить("ПоселениеСокращение", "settlementType");
СоответствиеПолей.Вставить("ВнутригородскойРайон", "cityDistrict");
СоответствиеПолей.Вставить("ВнутригородскойРайонСокращение", "cityDistrictType");
СоответствиеПолей.Вставить("Территория", "territory");
СоответствиеПолей.Вставить("ТерриторияСокращение", "territoryType");
СоответствиеПолей.Вставить("ИдентификаторАдресногоОбъекта", "id");
СоответствиеПолей.Вставить("ИдентификаторДома", "id");
СоответствиеПолей.Вставить("Дом", "HouseNumber");
СоответствиеПолей.Вставить("ТипДома", "HouseType");
ОписаниеКонтактнойИнформации.AddressType = РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес();
Для каждого ПолеКонтактнойИнформации Из КонтактнаяИнформация Цикл
ИмяПоля = СоответствиеПолей.Получить(ПолеКонтактнойИнформации.Ключ);
Если ИмяПоля <> Неопределено Тогда
ОписаниеКонтактнойИнформации[ИмяПоля] = ПолеКонтактнойИнформации.Значение;
КонецЕсли;
КонецЦикла;
Если КонтактнаяИнформация.Свойство("Корпус")И ЗначениеЗаполнено(КонтактнаяИнформация.Корпус) Тогда
ТипКорпуса = ?(КонтактнаяИнформация.Свойство("ТипКорпуса"), КонтактнаяИнформация.ТипКорпуса, НСтр("ru='Корпус'"));
ОписаниеКонтактнойИнформации.buildings.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(КонтактнаяИнформация.Корпус, ТипКорпуса));
КонецЕсли;
Если КонтактнаяИнформация.Свойство("Квартира") И ЗначениеЗаполнено(КонтактнаяИнформация.Квартира) Тогда
ТипКвартиры = ?(КонтактнаяИнформация.Свойство("ТипКвартиры"), КонтактнаяИнформация.ТипКвартиры, НСтр("ru='Квартира'"));
ОписаниеКонтактнойИнформации.apartments.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(КонтактнаяИнформация.Квартира, ТипКвартиры));
КонецЕсли;
Возврат ОписаниеКонтактнойИнформации;
КонецФункции
// Читает и устанавливает район адреса. // Читает и устанавливает район адреса.
// //
// Параметры: // Параметры:
@@ -180,37 +180,6 @@
Возврат ПредопределенноеЗначение("Справочник.СтраныМира.Россия"); Возврат ПредопределенноеЗначение("Справочник.СтраныМира.Россия");
КонецФункции КонецФункции
Функция АккомодацияСтруктурыАдреса(Данные) Экспорт
НаселенныйПунктДетально = ОписаниеНовойКонтактнойИнформации(ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес"));
ЗаполнитьЗначенияСвойств(НаселенныйПунктДетально, Данные);
Если ТипЗнч(НаселенныйПунктДетально.Buildings) <> Тип("Массив") Тогда
НаселенныйПунктДетально.Buildings = Новый Массив;
КонецЕсли;
Если ТипЗнч(НаселенныйПунктДетально.Apartments) <> Тип("Массив") Тогда
НаселенныйПунктДетально.Buildings = Новый Массив;
КонецЕсли;
Для каждого ЭлементАдреса Из НаселенныйПунктДетально Цикл
Если СтрЗаканчиваетсяНа(ЭлементАдреса.Ключ, "Id")
И ТипЗнч(ЭлементАдреса.Значение) = Тип("Строка")
И СтрДлина(ЭлементАдреса.Значение) = 36 Тогда
НаселенныйПунктДетально[ЭлементАдреса.Ключ] = Новый УникальныйИдентификатор(ЭлементАдреса.Значение);
КонецЕсли;
КонецЦикла;
Если Данные.Свойство("house") Тогда
НаселенныйПунктДетально.HouseNumber = Данные.house;
КонецЕсли;
Возврат НаселенныйПунктДетально;
КонецФункции
// Возвращает XPath для района. // Возвращает XPath для района.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -271,7 +271,12 @@
// ПредставлениеКоманды - Строка - Необязательный. Имя команды, для выполнения которой необходимо расширение. // ПредставлениеКоманды - Строка - Необязательный. Имя команды, для выполнения которой необходимо расширение.
// //
Процедура ПоказатьПредупреждениеОНеобходимостиРасширенияРаботыСФайлами(ОбработчикРезультата, ПредставлениеКоманды = "") Экспорт Процедура ПоказатьПредупреждениеОНеобходимостиРасширенияРаботыСФайлами(ОбработчикРезультата, ПредставлениеКоманды = "") Экспорт
Если Не КлиентПоддерживаетСинхронныеВызовы() Тогда
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ТекстПредупреждения = НСтр("ru = 'Выполнение команды ""%1"" в мобильном клиенте не поддерживается.'");
ИначеЕсли Не КлиентПоддерживаетСинхронныеВызовы() Тогда
ТекстПредупреждения = НСтр("ru = 'Выполнение команды ""%1"" в браузерах ТекстПредупреждения = НСтр("ru = 'Выполнение команды ""%1"" в браузерах
|Google Chrome и Mozilla Firefox не поддерживается.'"); |Google Chrome и Mozilla Firefox не поддерживается.'");
Иначе Иначе
@@ -1767,7 +1772,7 @@
Процедура ЗакончитьРедактированиеСРасширениемПослеПроверкиНовойВерсии(ПараметрыВыполнения) Процедура ЗакончитьРедактированиеСРасширениемПослеПроверкиНовойВерсии(ПараметрыВыполнения)
Если Не ПараметрыВыполнения.ДанныеФайла.Зашифрован Тогда Если Не ПараметрыВыполнения.ДанныеФайла.Зашифрован Тогда
ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(, ПараметрыВыполнения); ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(Неопределено, ПараметрыВыполнения);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -1889,7 +1894,7 @@
// //
Процедура ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрованПовтор(Результат, Параметр) Экспорт Процедура ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрованПовтор(Результат, Параметр) Экспорт
Если Результат = КодВозвратаДиалога.Повторить Тогда Если Результат = КодВозвратаДиалога.Повторить Тогда
ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(, Параметр); ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(Неопределено, Параметр);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1961,7 +1966,7 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(, ПараметрыВыполнения); ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(Неопределено, ПараметрыВыполнения);
КонецПроцедуры КонецПроцедуры
@@ -3390,7 +3395,7 @@
Процедура СохранитьИзмененияФайлаСРасширениемПослеПроверкиНовойВерсии(ПараметрыВыполнения) Процедура СохранитьИзмененияФайлаСРасширениемПослеПроверкиНовойВерсии(ПараметрыВыполнения)
Если Не ПараметрыВыполнения.ДанныеФайла.Зашифрован Тогда Если Не ПараметрыВыполнения.ДанныеФайла.Зашифрован Тогда
СохранитьИзмененияФайлаСРасширениемПослеПроверкиЗашифрован(, ПараметрыВыполнения); СохранитьИзмененияФайлаСРасширениемПослеПроверкиЗашифрован(Неопределено, ПараметрыВыполнения);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -4374,7 +4379,7 @@
Действие.Вставить("ЗаголовокОшибки", Контекст.ЗаголовокОшибки Действие.Вставить("ЗаголовокОшибки", Контекст.ЗаголовокОшибки
+ НСтр("ru = 'Копирование файла не выполнено по причине:'")); + НСтр("ru = 'Копирование файла не выполнено по причине:'"));
ДействияСФайлом.Добавить(Действие); ДействияСФайлом.Добавить(Действие);
ДобавитьВызов(Вызовы, "НачатьКопированиеФайла", Контекст.ПолноеИмяПомещаемогоФайла, Контекст.ПолноеИмяФайла,,); ДобавитьВызов(Вызовы, "НачатьКопированиеФайла", Контекст.ПолноеИмяПомещаемогоФайла, Контекст.ПолноеИмяФайла, Неопределено, Неопределено);
КонецЕсли; КонецЕсли;
Действие = Новый Структура; Действие = Новый Структура;
@@ -4403,7 +4408,7 @@
Контекст.ДействиеПомещения.Вставить("Файл", Контекст.ПолноеИмяФайла); Контекст.ДействиеПомещения.Вставить("Файл", Контекст.ПолноеИмяФайла);
Контекст.ДействиеПомещения.Вставить("ЗаголовокОшибки", Контекст.ЗаголовокОшибки); Контекст.ДействиеПомещения.Вставить("ЗаголовокОшибки", Контекст.ЗаголовокОшибки);
ДействияСФайлом.Добавить(Контекст.ДействиеПомещения); ДействияСФайлом.Добавить(Контекст.ДействиеПомещения);
ДобавитьВызов(Вызовы, "НачатьПомещениеФайлов", ПомещаемыеФайлы, , Ложь, Контекст.ИдентификаторФормы); ДобавитьВызов(Вызовы, "НачатьПомещениеФайлов", ПомещаемыеФайлы, Неопределено, Ложь, Контекст.ИдентификаторФормы);
Контекст.Вставить("ДействияСФайлом", ДействияСФайлом); Контекст.Вставить("ДействияСФайлом", ДействияСФайлом);
@@ -5092,7 +5097,7 @@
#Если Не ВебКлиент Тогда #Если Не ВебКлиент Тогда
Если ПараметрыВыполнения.ВРабочемКаталогеВладельца = Ложь Тогда Если ПараметрыВыполнения.ВРабочемКаталогеВладельца = Ложь Тогда
ОсвободитьМестоВРабочемКаталоге(, ПараметрыВыполнения.ДанныеФайла); ОсвободитьМестоВРабочемКаталоге(Неопределено, ПараметрыВыполнения.ДанныеФайла);
КонецЕсли; КонецЕсли;
#КонецЕсли #КонецЕсли
@@ -9682,7 +9687,7 @@
Процедура ОбработатьФайлПослеПолученияФайлов(ПолученныеФайлы, Контекст) Экспорт Процедура ОбработатьФайлПослеПолученияФайлов(ПолученныеФайлы, Контекст) Экспорт
Если ТипЗнч(ПолученныеФайлы) <> Тип("Массив") Или ПолученныеФайлы.Количество() = 0 Тогда Если ТипЗнч(ПолученныеФайлы) <> Тип("Массив") Или ПолученныеФайлы.Количество() = 0 Тогда
ОбработатьФайлПослеОшибки(НСтр("ru = 'Получение файла было отменено.'"), , Контекст); ОбработатьФайлПослеОшибки(НСтр("ru = 'Получение файла было отменено.'"), Неопределено, Контекст);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -9694,7 +9699,7 @@
Процедура ОбработатьФайлПослеПомещенияФайлов(ПомещенныеФайлы, Контекст) Экспорт Процедура ОбработатьФайлПослеПомещенияФайлов(ПомещенныеФайлы, Контекст) Экспорт
Если ТипЗнч(ПомещенныеФайлы) <> Тип("Массив") Или ПомещенныеФайлы.Количество() = 0 Тогда Если ТипЗнч(ПомещенныеФайлы) <> Тип("Массив") Или ПомещенныеФайлы.Количество() = 0 Тогда
ОбработатьФайлПослеОшибки(НСтр("ru = 'Помещение файла было отменено.'"), , Контекст); ОбработатьФайлПослеОшибки(НСтр("ru = 'Помещение файла было отменено.'"), Неопределено, Контекст);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -355,7 +355,7 @@
// Проверка контрольного ключа в номере лицевого счета (9-й разряд номера счета), // Проверка контрольного ключа в номере лицевого счета (9-й разряд номера счета),
// алгоритм установлен документом: // алгоритм установлен документом:
// "ПОРЯДОК РАСЧЕТА КОНТРОЛЬНОГО КЛЮЧА В НОМЕРЕ ЛИЦЕВОГО СЧЕТА" // "ПОРЯДОК РАСЧЕТА КОНТРОЛЬНОГО КЛЮЧА В НОМЕРЕ ЛИЦЕВОГО СЧЕТА"
// (утв. ЦБ РФ 08.09.1997 N 515). // (утвержден ЦБ РФ 08.09.1997 N 515).
// //
// Параметры: // Параметры:
// НомерСчета - Строка - номер банковского счета. // НомерСчета - Строка - номер банковского счета.
@@ -8389,7 +8389,7 @@
#Область ОбновлениеДоступа #Область ОбновлениеДоступа
// Обработчик регламентного задания ОбновлениеДоступаНаУровнеЗаписей. // Обработчик регламентного задания ОбновлениеДоступаНаУровнеЗаписей.
Процедура ОбновлениеДоступаНаУровнеЗаписей() Экспорт Процедура ОбновлениеДоступаНаУровнеЗаписей(ОбновитьВсе = Ложь) Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания( ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(
Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей); Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей);
@@ -8397,11 +8397,15 @@
ТекущийСеанс = ПолучитьТекущийСеансИнформационнойБазы(); ТекущийСеанс = ПолучитьТекущийСеансИнформационнойБазы();
Если ТекущийСеанс.ИмяПриложения <> "BackgroundJob" Тогда Если ТекущийСеанс.ИмяПриложения <> "BackgroundJob" Тогда
Если ОбновитьВсе Тогда
ИдентификаторФоновогоЗадания = ИдентификаторПроизвольногоСеанса();
Иначе
ТекстОшибки = НСтр("ru = 'Обновление доступа может выполняться только в фоновом задании.'"); ТекстОшибки = НСтр("ru = 'Обновление доступа может выполняться только в фоновом задании.'");
ВызватьИсключение ТекстОшибки; ВызватьИсключение ТекстОшибки;
КонецЕсли; КонецЕсли;
Иначе
ТекущееФоновоеЗадание = ТекущийСеанс.ПолучитьФоновоеЗадание(); ИдентификаторФоновогоЗадания = ТекущийСеанс.ПолучитьФоновоеЗадание().УникальныйИдентификатор;
КонецЕсли;
БлокировкаДанных = Новый БлокировкаДанных; БлокировкаДанных = Новый БлокировкаДанных;
БлокировкаДанных.Добавить("Константа.ПоследнееОбновлениеДоступа"); БлокировкаДанных.Добавить("Константа.ПоследнееОбновлениеДоступа");
@@ -8412,22 +8416,32 @@
ЗначениеКонстанты = Константы.ПоследнееОбновлениеДоступа.Получить(); ЗначениеКонстанты = Константы.ПоследнееОбновлениеДоступа.Получить();
ПоследнееОбновлениеДоступа = ПоследнееОбновлениеДоступа(ЗначениеКонстанты); ПоследнееОбновлениеДоступа = ПоследнееОбновлениеДоступа(ЗначениеКонстанты);
УжеВыполняется = Ложь;
Если ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания) Тогда Если ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания) Тогда
Если ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания = ИдентификаторПроизвольногоСеанса() Тогда
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Если Сеанс.НомерСеанса = ПоследнееОбновлениеДоступа.НомерСеанса
И Сеанс.НачалоСеанса = ПоследнееОбновлениеДоступа.НачалоСеанса Тогда
УжеВыполняется = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору( ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(
ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания); ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания);
Иначе
ПоследнееФоновоеЗадание = Неопределено; УжеВыполняется = ПоследнееФоновоеЗадание <> Неопределено
И ПоследнееФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно;
КонецЕсли;
КонецЕсли; КонецЕсли;
Если ПоследнееФоновоеЗадание = Неопределено Если Не УжеВыполняется Тогда
Или ПоследнееФоновоеЗадание.Состояние <> СостояниеФоновогоЗадания.Активно Тогда
ПоследнееОбновлениеДоступа.ДатаЗапускаНаСервере = ТекущаяДатаНаСервере(); ПоследнееОбновлениеДоступа.ДатаЗапускаНаСервере = ТекущаяДатаНаСервере();
ПоследнееОбновлениеДоступа.НомерСеанса = ТекущийСеанс.НомерСеанса; ПоследнееОбновлениеДоступа.НомерСеанса = ТекущийСеанс.НомерСеанса;
ПоследнееОбновлениеДоступа.НачалоСеанса = ТекущийСеанс.НачалоСеанса; ПоследнееОбновлениеДоступа.НачалоСеанса = ТекущийСеанс.НачалоСеанса;
ПоследнееОбновлениеДоступа.ИмяКомпьютера = ТекущийСеанс.ИмяКомпьютера; ПоследнееОбновлениеДоступа.ИмяКомпьютера = ТекущийСеанс.ИмяКомпьютера;
ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания = ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания = ИдентификаторФоновогоЗадания;
ТекущееФоновоеЗадание.УникальныйИдентификатор;
Константы.ПоследнееОбновлениеДоступа.Установить( Константы.ПоследнееОбновлениеДоступа.Установить(
Новый ХранилищеЗначения(ПоследнееОбновлениеДоступа)); Новый ХранилищеЗначения(ПоследнееОбновлениеДоступа));
@@ -8438,8 +8452,17 @@
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
Если ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания Если УжеВыполняется Тогда
<> ТекущееФоновоеЗадание.УникальныйИдентификатор Тогда Если ОбновитьВсе Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось начать обновление доступа, так как оно уже выполняется
|(компьютер: %1, сеанс: %2, начат: %3 в %4)'"),
ПоследнееОбновлениеДоступа.ИмяКомпьютера,
ПоследнееОбновлениеДоступа.НомерСеанса,
Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=D"),
Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=T"));
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -8453,13 +8476,19 @@
КонецЕсли; КонецЕсли;
Если ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда Если ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа(ПоследнееОбновлениеДоступа); ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа(ПоследнееОбновлениеДоступа);
ВыполнитьОбновлениеДоступа(ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения); ВыполнитьОбновлениеДоступа(ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения, ОбновитьВсе);
Иначе Иначе
УстановитьОбновлениеДоступа(Ложь); УстановитьОбновлениеДоступа(Ложь);
КонецЕсли; КонецЕсли;
Исключение Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке(); ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗарегистрироватьОшибкуОбновленияДоступа(ИнформацияОбОшибке, ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения); Если ОбновитьВсе Тогда
ДобавитьТекстОшибкиЗавершения(ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
Иначе
ЗарегистрироватьОшибкуОбновленияДоступа(ИнформацияОбОшибке,
ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения);
КонецЕсли;
КонецПопытки; КонецПопытки;
ПоследнееОбновлениеДоступа.ДатаЗавершенияНаСервере = ТекущаяДатаНаСервере(); ПоследнееОбновлениеДоступа.ДатаЗавершенияНаСервере = ТекущаяДатаНаСервере();
@@ -8469,8 +8498,23 @@
Константы.ПоследнееОбновлениеДоступа.Установить(Новый ХранилищеЗначения(ПоследнееОбновлениеДоступа)); Константы.ПоследнееОбновлениеДоступа.Установить(Новый ХранилищеЗначения(ПоследнееОбновлениеДоступа));
Если ОбновитьВсе И ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось выполнить обновление доступа по причине:
|%1'"),
ПоследнееОбновлениеДоступа.ТекстОшибкиЗавершения);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Для процедуры ОбновлениеДоступаНаУровнеЗаписей.
Функция ИдентификаторПроизвольногоСеанса() Экспорт
Возврат Новый УникальныйИдентификатор("ba4730f7-0493-402d-b5d3-8052c80fb125");
КонецФункции
// Для процедуры ОбновлениеДоступаНаУровнеЗаписей. // Для процедуры ОбновлениеДоступаНаУровнеЗаписей.
Процедура ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа(ПоследнееОбновлениеДоступа) Процедура ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа(ПоследнееОбновлениеДоступа)
@@ -8525,7 +8569,7 @@
// Параллельность обеспечивает сама процедура путем запуска до двух фоновых заданий // Параллельность обеспечивает сама процедура путем запуска до двух фоновых заданий
// на каждый список, но не более значения константы КоличествоПотоковОбновленияДоступа. // на каждый список, но не более значения константы КоличествоПотоковОбновленияДоступа.
// //
Процедура ВыполнитьОбновлениеДоступа(ТекстОшибкиЗавершения) Процедура ВыполнитьОбновлениеДоступа(ТекстОшибкиЗавершения, ОбновитьВсе)
ИсполняющиеФоновыеЗадания = Неопределено; ИсполняющиеФоновыеЗадания = Неопределено;
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
@@ -8589,7 +8633,7 @@
+ МаксимальноеКоличествоМинутВыполненияФоновогоЗаданияОбновленияДоступа() * 60; + МаксимальноеКоличествоМинутВыполненияФоновогоЗаданияОбновленияДоступа() * 60;
Пока Истина Цикл Пока Истина Цикл
Если ТекущаяУниверсальнаяДата() > ОкончаниеВыполнения Тогда Если Не ОбновитьВсе И ТекущаяУниверсальнаяДата() > ОкончаниеВыполнения Тогда
Прервать; Прервать;
КонецЕсли; КонецЕсли;
ОбработкаЗавершена = Истина; ОбработкаЗавершена = Истина;
@@ -10616,6 +10660,16 @@
НаборИзОднойЗаписи = СлужебныйНаборЗаписей(РегистрыСведений.КлючиДоступаКОбъектам); НаборИзОднойЗаписи = СлужебныйНаборЗаписей(РегистрыСведений.КлючиДоступаКОбъектам);
Запись = НаборИзОднойЗаписи.Добавить(); Запись = НаборИзОднойЗаписи.Добавить();
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
ОбъектТип = Метаданные.РегистрыСведений.КлючиДоступаКОбъектам.Измерения.Объект.Тип;
Если Не ОбъектТип.СодержитТип(ТипЗнч(Контекст.ОписаниеКлючейДоступаОбъектов[0].ТекущаяСсылка)) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно обновить ключ доступа объекта ""%1"" типа ""%2"",
|так как этот тип не указан в определяемом типе ВладелецЗначенийКлючейДоступа.'"),
Строка(Контекст.ОписаниеКлючейДоступаОбъектов[0].ТекущаяСсылка),
Строка(ТипЗнч(Контекст.ОписаниеКлючейДоступаОбъектов[0].ТекущаяСсылка)),
ПараметрыОбновления.Список);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Для Каждого ОписаниеКлючаДоступаОбъекта Из Контекст.ОписаниеКлючейДоступаОбъектов Цикл Для Каждого ОписаниеКлючаДоступаОбъекта Из Контекст.ОписаниеКлючейДоступаОбъектов Цикл
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КлючиДоступаКОбъектам"); ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КлючиДоступаКОбъектам");
ЭлементБлокировки.УстановитьЗначение("Объект", ОписаниеКлючаДоступаОбъекта.ТекущаяСсылка); ЭлементБлокировки.УстановитьЗначение("Объект", ОписаниеКлючаДоступаОбъекта.ТекущаяСсылка);
@@ -309,7 +309,15 @@
ОбъектКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(Значение); ОбъектКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(Значение);
Представление = ОбъектКонтактнойИнформации.Value; Представление = ОбъектКонтактнойИнформации.Value;
ИначеЕсли ЭтоКонтактнаяИнформацияВJSON Тогда
Значение = ЗначениеИлиПредставление;
ЗначенияПолей = КонтактнаяИнформацияВXML(Значение);
ОбъектКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(Значение);
Представление = ПредставлениеКонтактнойИнформации(ЗначениеИлиПредставление, ВидКонтактнойИнформации);
Иначе Иначе
ОбъектКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ЗначениеИлиПредставление, СвойстваВидаКонтактнойИнформации.Тип); ОбъектКонтактнойИнформации = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ЗначениеИлиПредставление, СвойстваВидаКонтактнойИнформации.Тип);
Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКонтактнойИнформации); Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКонтактнойИнформации);
ЗначенияПолей = КонтактнаяИнформацияВXML(Значение); ЗначенияПолей = КонтактнаяИнформацияВXML(Значение);
@@ -573,7 +581,9 @@
// Преобразует все входящие форматы контактной информации в JSON. // Преобразует все входящие форматы контактной информации в JSON.
// //
// Параметры: // Параметры:
// КонтактнаяИнформация - Строка, Структура, Соответствие, СписокЗначений - Описание полей контактной информации. // КонтактнаяИнформация - Строка, Структура - Описание полей контактной информации.
// Если передается структура, то состав полей должен соответствовать
// УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации.
// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации - // ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации -
// Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей. // Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей.
// //
@@ -617,7 +627,7 @@
// Возвращает тип контактной информации. // Возвращает тип контактной информации.
// //
// Параметры: // Параметры:
// КонтактнаяИнформация - Строка - Контактная информация в виде XML, соответсвующего структуре // КонтактнаяИнформация - Строка - Контактная информация в виде XML, соответствующего структуре
// XDTO пакетов КонтактнаяИнформация и Адрес. // XDTO пакетов КонтактнаяИнформация и Адрес.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -803,7 +813,7 @@
КонецЕсли; КонецЕсли;
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация); КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация,,, Ложь);
ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(КонтактнаяИнформация); КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(КонтактнаяИнформация);
КонецЕсли; КонецЕсли;
@@ -847,7 +857,7 @@
КонецЕсли; КонецЕсли;
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация); КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация,,, Ложь);
ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(КонтактнаяИнформация); КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(КонтактнаяИнформация);
КонецЕсли; КонецЕсли;
@@ -1562,7 +1572,7 @@
Если ЗначениеЗаполнено(СтрокаКИ.ЗначенияПолей) Тогда Если ЗначениеЗаполнено(СтрокаКИ.ЗначенияПолей) Тогда
КонтактнаяИнформацияПоПолям = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(СтрокаКИ.ЗначенияПолей, КонтактнаяИнформацияПоПолям = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(СтрокаКИ.ЗначенияПолей,
СтрокаКИ.Тип, СтрокаКИ.Представление); СтрокаКИ.Тип, СтрокаКИ.Представление, Ложь);
СтрокаКИ.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияПоПолям); СтрокаКИ.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияПоПолям);
ИначеЕсли ЗначениеЗаполнено(СтрокаКИ.Представление) Тогда ИначеЕсли ЗначениеЗаполнено(СтрокаКИ.Представление) Тогда
@@ -3728,23 +3738,23 @@
Элемент.ВысотаЗаголовка = 2; Элемент.ВысотаЗаголовка = 2;
Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
Элемент.Ширина = 50; Элемент.Ширина = 70;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
Если ИнформацияОВидеКИ.ВидПоляДругое = "МногострочноеШирокое" Тогда Если ИнформацияОВидеКИ.ВидПоляДругое = "МногострочноеШирокое" Тогда
Элемент.Высота = 3; Элемент.Высота = 3;
Элемент.Ширина = 50; Элемент.Ширина = 70;
Элемент.МногострочныйРежим = Истина; Элемент.МногострочныйРежим = Истина;
ИначеЕсли ИнформацияОВидеКИ.ВидПоляДругое = "ОднострочноеШирокое" Тогда ИначеЕсли ИнформацияОВидеКИ.ВидПоляДругое = "ОднострочноеШирокое" Тогда
Элемент.Высота = 1; Элемент.Высота = 1;
Элемент.Ширина = 50; Элемент.Ширина = 70;
Элемент.МногострочныйРежим = Ложь; Элемент.МногострочныйРежим = Ложь;
Иначе // ОднострочноеУзкое Иначе // ОднострочноеУзкое
Элемент.Высота = 1; Элемент.Высота = 1;
Элемент.Ширина = 25; Элемент.Ширина = 35;
Элемент.МногострочныйРежим = Ложь; Элемент.МногострочныйРежим = Ложь;
КонецЕсли; КонецЕсли;
Иначе Иначе
Элемент.Ширина = 25; Элемент.Ширина = 35;
КонецЕсли; КонецЕсли;
Если Не ЭтоНовыйВидКИ Тогда Если Не ЭтоНовыйВидКИ Тогда
@@ -300,7 +300,7 @@
КонецФункции КонецФункции
Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Экспорт Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Экспорт
Возврат Новый Структура("Type, Number", Тип, Значение); Возврат Новый Структура("type, number", Тип, Значение);
КонецФункции КонецФункции
Функция ЭтоТипАдрес(ЗначениеТипа) Экспорт Функция ЭтоТипАдрес(ЗначениеТипа) Экспорт
@@ -221,17 +221,37 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Результат = Обработки["РасширенныйВводКонтактнойИнформации"].СписокАвтоподбораНаселенногоПункта(Текст); ДополнительныеПараметры = Новый Структура("ТолькоВебСервис", Истина);
Результат = Обработки["РасширенныйВводКонтактнойИнформации"].СписокАвтоподбораНаселенногоПункта(Текст, ДополнительныеПараметры);
Если Результат.Отказ Тогда Если Результат.Отказ Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ДанныеВыбора = Результат.Данные; ДанныеВыбора = Результат.Данные;
ФорматированиеРезультатовАвтоподбора(ДанныеВыбора, Текст);
КонецПроцедуры
Процедура ФорматированиеРезультатовАвтоподбора(ДанныеВыбора, Знач Текст) Экспорт
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
// Оформление списка поиска // Оформление списка поиска
ФрагментыТекстаПоиска = СтрРазделить(Текст, " "); ФрагментыТекстаПоиска = СтрРазделить(Текст, " ");
Для каждого СтрокаДанных Из ДанныеВыбора Цикл Для каждого СтрокаДанных Из ДанныеВыбора Цикл
Если ТипЗнч(СтрокаДанных.Значение) = Тип("Структура")
И СтрокаДанных.Значение.Свойство("Адрес")
И ЗначениеЗаполнено(СтрокаДанных.Значение.Адрес) Тогда
Адрес = СтрокаJSONВСтруктуру(СтрокаДанных.Значение.Адрес);
СтрокаДанных.Значение.Представление = МодульРаботаСАдресамиКлиентСервер.ПредставлениеАдреса(Адрес, Ложь);
УстаревшийАдрес = Не СтрокаДанных.Значение.Муниципальный;
Иначе
УстаревшийАдрес = Ложь;
КонецЕсли;
Представление = СтрокаДанных.Представление; Представление = СтрокаДанных.Представление;
Для каждого ФрагментТекстаПоиска Из ФрагментыТекстаПоиска Цикл Для каждого ФрагментТекстаПоиска Из ФрагментыТекстаПоиска Цикл
Позиция = СтрНайти(ВРег(Представление), ВРег(ФрагментТекстаПоиска)); Позиция = СтрНайти(ВРег(Представление), ВРег(ФрагментТекстаПоиска));
Если Позиция > 0 Тогда Если Позиция > 0 Тогда
@@ -243,6 +263,8 @@
Для Счетчик = 0 По Набор.Количество() - 1 Цикл Для Счетчик = 0 По Набор.Количество() - 1 Цикл
Если СтрНачинаетсяС(Набор[Счетчик], Символы.ВТаб) Тогда Если СтрНачинаетсяС(Набор[Счетчик], Символы.ВТаб) Тогда
Набор[Счетчик] = Новый ФорматированнаяСтрока(СокрЛП(Набор[Счетчик]), Новый Шрифт(,, Истина), ЦветаСтиля.РезультатУспехЦвет); Набор[Счетчик] = Новый ФорматированнаяСтрока(СокрЛП(Набор[Счетчик]), Новый Шрифт(,, Истина), ЦветаСтиля.РезультатУспехЦвет);
ИначеЕсли УстаревшийАдрес Тогда
Набор[Счетчик] = Новый ФорматированнаяСтрока(Набор[Счетчик],, ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
СтрокаДанных.Представление = Новый ФорматированнаяСтрока(Набор); СтрокаДанных.Представление = Новый ФорматированнаяСтрока(Набор);
@@ -2694,7 +2716,7 @@
// Преобразует формат из XML в JSON // Преобразует формат из XML в JSON
// //
Функция КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Знач Тип = Неопределено, Представление = "") Экспорт Функция КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Знач Тип = Неопределено, Представление = "", ОбновлятьИдентификаторы = Истина) Экспорт
Если Тип <> Неопределено И ТипЗнч(Тип) <> Тип("ПеречислениеСсылка.ТипыКонтактнойИнформации") Тогда Если Тип <> Неопределено И ТипЗнч(Тип) <> Тип("ПеречислениеСсылка.ТипыКонтактнойИнформации") Тогда
Тип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(Тип); Тип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(Тип);
@@ -2718,7 +2740,7 @@
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено И Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено И Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
Возврат МодульРаботаСАдресами.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Тип, Представление); Возврат МодульРаботаСАдресами.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, Тип, Представление, ОбновлятьИдентификаторы);
КонецЕсли; КонецЕсли;
@@ -2740,6 +2762,30 @@
XDTOКонтактнаяИнформация = КонтактнаяИнформацияИзXML(КонтактнаяИнформация, Тип,, Представление); XDTOКонтактнаяИнформация = КонтактнаяИнформацияИзXML(КонтактнаяИнформация, Тип,, Представление);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ИначеЕсли ТипЗнч(КонтактнаяИнформация) = Тип("Структура") Тогда
СоответствиеПолей = Новый Соответствие();
СоответствиеПолей.Вставить("Представление", "value");
СоответствиеПолей.Вставить("Комментарий", "comment");
Если Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
СоответствиеПолей.Вставить("КодСтраны", "countryCode");
СоответствиеПолей.Вставить("КодГорода", "areaCode");
СоответствиеПолей.Вставить("НомерТелефона", "number");
СоответствиеПолей.Вставить("Добавочный", "extNumber");
КонецЕсли;
Для каждого ПолеКонтактнойИнформации Из КонтактнаяИнформация Цикл
ИмяПоля = СоответствиеПолей.Получить(ПолеКонтактнойИнформации.Ключ);
Если ИмяПоля <> Неопределено Тогда
Результат[ИмяПоля] = ПолеКонтактнойИнформации.Значение;
КонецЕсли;
КонецЦикла;
Возврат Результат;
Иначе Иначе
XDTOКонтактнаяИнформация = КонтактнаяИнформация; XDTOКонтактнаяИнформация = КонтактнаяИнформация;
Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
@@ -1298,7 +1298,7 @@
НаборСвойствОбъект.ДополнительныеРеквизиты.Индекс(ДопСведение)); НаборСвойствОбъект.ДополнительныеРеквизиты.Индекс(ДопСведение));
КонецЦикла; КонецЦикла;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НаборСвойствОбъект.Записать()); ОбновлениеИнформационнойБазы.ЗаписатьДанные(НаборСвойствОбъект);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -3173,7 +3173,7 @@
// Проверим, разрешен ли сбор дампов. // Проверим, разрешен ли сбор дампов.
Если ПараметрыСбораИОтправкиДампов.ОтправлятьФайлыДампов = 0 Тогда Если ПараметрыСбораИОтправкиДампов.ОтправлятьФайлыДампов = 0 Тогда
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
УстановитьПараметрЦентраМониторинга("РезультатОтправки", Нстр("ru = 'Пользователь отказал в предоставлении дампов.'")); УстановитьПараметрЦентраМониторинга("РезультатОтправки", НСтр("ru = 'Пользователь отказал в предоставлении дампов.'"));
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
ПрекратитьСборПолныхДампов(); ПрекратитьСборПолныхДампов();
Возврат; Возврат;
@@ -3406,7 +3406,7 @@
Если Параметры.Свойство("ВариантыДампов") И Параметры.ВариантыДампов.Количество() Тогда Если Параметры.Свойство("ВариантыДампов") И Параметры.ВариантыДампов.Количество() Тогда
ШаблонЗапросДляОтправки = Нстр("ru = 'Для отправки подготовлены отчеты об ошибках (%1 шт.) ШаблонЗапросДляОтправки = НСтр("ru = 'Для отправки подготовлены отчеты об ошибках (%1 шт.)
|Общий объем данных: %2 МБ. |Общий объем данных: %2 МБ.
|Отправить указанные файлы для анализа в фирму ""1С""?'"); |Отправить указанные файлы для анализа в фирму ""1С""?'");
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d8eef2ae-4291-4c6e-a412-36292e8242fd"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4392f910-9a86-4326-8b43-9ffe578cc2d3">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value> <value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="67570cc3-ce4d-4404-b150-3bbbc918eba3"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="963eb1b4-5043-4955-b746-f90f8021d5cb"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="7d06980d-c79b-4448-a471-f0ed5fa97cc6"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a8712819-1046-47de-ba29-c8e9060cab2c"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="9f6f564b-52ce-43ea-bda2-2cef19e15c10"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="d65b45ac-80c5-4191-8ebd-4149982197a0"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="01fefc4e-2b7d-4333-a33b-1404ddedf4eb"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f25148b5-3a8f-484e-8faa-65111b6e6358"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="dc1b2d96-4292-48c2-827e-901e70e41a9b"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ca729cad-6e8f-4a00-a1a6-39f830a6c95b"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5f9ebbec-c7d3-4271-a8cd-e049d961be28"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5d211a66-b84f-450a-b593-20d3a4d6ed96"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="aa0a6d2f-6d1c-46ba-a503-597fda10f3ef"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fc1ccb1f-466d-4450-9f79-4353bd4def28"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.1.220</version> <version>3.0.1.225</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,3e5f5fd2-9e29-4cf6-9f26-0d489168fbab,1,f4ac2970-b97d-45ed-84ab-8da84c194faa,"3.0.1.220","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5842,1,0,d8eef2ae-4291-4c6e-a412-36292e8242fd,d8eef2ae-4291-4c6e-a412-36292e8242fd,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated {6,1,1,adb28dbc-3ea8-4915-95e3-36e222f83d35,1,62fdb880-8c1c-422b-9f31-81a7dd11c7dd,"3.0.1.225","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5842,1,0,4392f910-9a86-4326-8b43-9ffe578cc2d3,4392f910-9a86-4326-8b43-9ffe578cc2d3,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -20,6 +20,14 @@
ВариантЗагрузки = "Интернет"; ВариантЗагрузки = "Интернет";
УстановитьИзмененияВИнтерфейсе(); УстановитьИзмененияВИнтерфейсе();
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВариантЗагрузки", "ВидПереключателя", ВидПереключателя.Переключатель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаКнопкаОтмена", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -450,7 +450,7 @@
КонецФункции КонецФункции
// Предназначена для преобразования формата чисел, используемого в файле курсов валюты. // Предназначена для преобразования формата чисел, используемого в файле курсов валюты.
// Работает в любой локазизации, не поддерживает отрицательные числа. // Работает в любой локализации, не поддерживает отрицательные числа.
Функция КурсИзСтроки(Знач Строка) Функция КурсИзСтроки(Знач Строка)
Строка = СокрЛП(Строка); Строка = СокрЛП(Строка);
@@ -396,13 +396,13 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Процедура ПриОжиданииВыгрузкиДанныхДляСопоставленияНаСервере(ПараметрыОбработчика, ПродолжитьОжидание) Процедура ПриОжиданииВыгрузкиДанныхДляСопоставленияНаСервере(ПараметрыОбработчика, ПродолжитьОжидание)
Если Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
Возврат;
КонецЕсли;
МодульПомощникНастройки = ОбщегоНазначения.ОбщийМодуль( МодульПомощникНастройки = ОбщегоНазначения.ОбщийМодуль(
"Обработки.ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса"); "Обработки.ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса");
МодульПомощникНастройки.ПриОжиданииВыгрузкиДанныхДляСопоставления(ПараметрыОбработчика, ПродолжитьОжидание); МодульПомощникНастройки.ПриОжиданииВыгрузкиДанныхДляСопоставления(ПараметрыОбработчика, ПродолжитьОжидание);
Иначе
ПродолжитьОжидание = Ложь;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -856,6 +856,242 @@
<orientation>Vertical</orientation> <orientation>Vertical</orientation>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>ВидПодключенияПассивныйРежим</name>
<id>112</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ВидПодключения</segments>
</dataPath>
<titleLocation>None</titleLocation>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<handlers>
<event>OnChange</event>
<name>ВидПодключенияПассивныйРежимПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ВидПодключенияПассивныйРежимРасширеннаяПодсказка</name>
<id>114</id>
<title>
<key>ru</key>
<value>При таком варианте подключения эта программа отправляет и принимает данные через Интернет
только по запросу от программы-корреспондента.</value>
</title>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВидПодключенияПассивныйРежимКонтекстноеМеню</name>
<id>113</id>
<autoFill>true</autoFill>
</contextMenu>
<type>RadioButtonField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
<choiceList>
<presentation>
<key>ru</key>
<value>Подключение выполняется из другой программы через Интернет (пассивный режим)</value>
</presentation>
<value xsi:type="core:StringValue">
<value>ПассивныйРежим</value>
</value>
</choiceList>
<orientation>Vertical</orientation>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаФайлНастройкиПассивныйРежим</name>
<id>723</id>
<items xsi:type="form:Decoration">
<name>Декорация2</name>
<id>752</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация2РасширеннаяПодсказка</name>
<id>754</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация2КонтекстноеМеню</name>
<id>753</id>
<autoFill>true</autoFill>
</contextMenu>
<width>1</width>
<autoMaxWidth>true</autoMaxWidth>
<height>1</height>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo"/>
</items>
<items xsi:type="form:FormGroup">
<name>Группа1</name>
<id>750</id>
<items xsi:type="form:FormField">
<name>ИмяФайлаНастроекXDTOКорреспондента</name>
<id>709</id>
<title>
<key>ru</key>
<value>Файл с настройками EnterpriseData</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайлаНастроекXDTOКорреспондента</segments>
</dataPath>
<extendedTooltip>
<name>ИмяФайлаНастроекXDTOКорреспондентаРасширеннаяПодсказка</name>
<id>711</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИмяФайлаНастроекXDTOКорреспондентаКонтекстноеМеню</name>
<id>710</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ИмяФайлаНастроекXDTOКорреспондентаНачалоВыбора</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ОписаниеМастерИзФайла1</name>
<id>683</id>
<title>
<key>ru</key>
<value>Для продолжения настройки требуется конфигурационный файл с настройками синхронизации данных
через EnterpriseData из программы-корреспондента.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОписаниеМастерИзФайла1РасширеннаяПодсказка</name>
<id>685</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОписаниеМастерИзФайла1КонтекстноеМеню</name>
<id>684</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
</textColor>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Top</verticalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа1</value>
</title>
<extendedTooltip>
<name>Группа1РасширеннаяПодсказка</name>
<id>751</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа файл настройки пассивный режим</value>
</title>
<extendedTooltip>
<name>ГруппаФайлНастройкиПассивныйРежимРасширеннаяПодсказка</name>
<id>724</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>ВидПодключенияОбычныеКаналыСвязи</name> <name>ВидПодключенияОбычныеКаналыСвязи</name>
<id>109</id> <id>109</id>
@@ -913,63 +1149,12 @@
<orientation>Vertical</orientation> <orientation>Vertical</orientation>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormGroup">
<name>ВидПодключенияПассивныйРежим</name> <name>ГруппаФайлНастройкиОбычныеКаналыСвязи</name>
<id>112</id> <id>743</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ВидПодключения</segments>
</dataPath>
<titleLocation>None</titleLocation>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<handlers>
<event>OnChange</event>
<name>ВидПодключенияПассивныйРежимПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ВидПодключенияПассивныйРежимРасширеннаяПодсказка</name>
<id>114</id>
<title>
<key>ru</key>
<value>При таком варианте подключения эта программа отправляет и принимает данные через Интернет
только по запросу от программы-корреспондента.</value>
</title>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВидПодключенияПассивныйРежимКонтекстноеМеню</name>
<id>113</id>
<autoFill>true</autoFill>
</contextMenu>
<type>RadioButtonField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
<choiceList>
<presentation>
<key>ru</key>
<value>Подключение для синхронизации данных выполняется из другой программы</value>
</presentation>
<value xsi:type="core:StringValue">
<value>ПассивныйРежим</value>
</value>
</choiceList>
<orientation>Vertical</orientation>
</extInfo>
</items>
<items xsi:type="form:Decoration"> <items xsi:type="form:Decoration">
<name>Декорация1</name> <name>Декорация1</name>
<id>712</id> <id>747</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -977,7 +1162,7 @@
</userVisible> </userVisible>
<extendedTooltip> <extendedTooltip>
<name>Декорация1РасширеннаяПодсказка</name> <name>Декорация1РасширеннаяПодсказка</name>
<id>714</id> <id>749</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -987,22 +1172,20 @@
</extendedTooltip> </extendedTooltip>
<contextMenu> <contextMenu>
<name>Декорация1КонтекстноеМеню</name> <name>Декорация1КонтекстноеМеню</name>
<id>713</id> <id>748</id>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
<width>1</width>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<height>1</height> <height>1</height>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo"/> <extInfo xsi:type="form:PictureDecorationExtInfo"/>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ПанельФайлНастройки</name> <name>Группа2</name>
<id>715</id> <id>745</id>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>СтраницаФайлНастройкиОбычныеКаналыСвязи</name> <name>Группа3</name>
<id>721</id>
<items xsi:type="form:FormGroup">
<name>ГруппаФайлНастройкиОбычныеКаналыСвязи</name>
<id>669</id> <id>669</id>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>ЗагрузитьПараметрыПодключенияИзФайла</name> <name>ЗагрузитьПараметрыПодключенияИзФайла</name>
@@ -1089,7 +1272,6 @@
<event>StartChoice</event> <event>StartChoice</event>
<name>ИмяФайлаНастроекПодключенияДляЗагрузкиНачалоВыбора</name> <name>ИмяФайлаНастроекПодключенияДляЗагрузкиНачалоВыбора</name>
</handlers> </handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap> <wrap>true</wrap>
<choiceButton>true</choiceButton> <choiceButton>true</choiceButton>
@@ -1110,7 +1292,7 @@
<value>Файл настройки обычные каналы связи</value> <value>Файл настройки обычные каналы связи</value>
</title> </title>
<extendedTooltip> <extendedTooltip>
<name>ГруппаФайлНастройкиОбычныеКаналыСвязиРасширеннаяПодсказка</name> <name>Группа3РасширеннаяПодсказка</name>
<id>670</id> <id>670</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1174,11 +1356,11 @@
</userVisible> </userVisible>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Страница файл настройки обычные каналы связи</value> <value>Группа2</value>
</title> </title>
<extendedTooltip> <extendedTooltip>
<name>СтраницаФайлНастройкиОбычныеКаналыСвязиРасширеннаяПодсказка</name> <name>Группа2РасширеннаяПодсказка</name>
<id>722</id> <id>746</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -1186,104 +1368,14 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Page</type> <type>UsualGroup</type>
<extInfo xsi:type="form:PageGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group> <group>Vertical</group>
<showTitle>auto</showTitle> <behavior>Auto</behavior>
<scrollOnCompress>false</scrollOnCompress> <showLeftMargin>true</showLeftMargin>
</extInfo> <united>true</united>
</items> <throughAlign>Auto</throughAlign>
<items xsi:type="form:FormGroup"> <currentRowUse>Auto</currentRowUse>
<name>СтраницаФайлНастройкиПассивныйРежим</name>
<id>723</id>
<items xsi:type="form:FormField">
<name>ИмяФайлаНастроекXDTOКорреспондента</name>
<id>709</id>
<title>
<key>ru</key>
<value>Файл с настройками программы-корреспондента</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайлаНастроекXDTOКорреспондента</segments>
</dataPath>
<extendedTooltip>
<name>ИмяФайлаНастроекXDTOКорреспондентаРасширеннаяПодсказка</name>
<id>711</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИмяФайлаНастроекXDTOКорреспондентаКонтекстноеМеню</name>
<id>710</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ИмяФайлаНастроекXDTOКорреспондентаНачалоВыбора</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ОписаниеМастерИзФайла1</name>
<id>683</id>
<title>
<key>ru</key>
<value>Для продолжения настройки требуется конфигурационный файл с настройками синхронизации данных
через EnterpriseData в программе-корреспонденте.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОписаниеМастерИзФайла1РасширеннаяПодсказка</name>
<id>685</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОписаниеМастерИзФайла1КонтекстноеМеню</name>
<id>684</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
</textColor>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Top</verticalAlign>
</extInfo> </extInfo>
</items> </items>
<visible>true</visible> <visible>true</visible>
@@ -1293,11 +1385,11 @@
</userVisible> </userVisible>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Страница файл настройки пассивный режим</value> <value>Группа файл настройки обычные каналы связи</value>
</title> </title>
<extendedTooltip> <extendedTooltip>
<name>СтраницаФайлНастройкиПассивныйРежимРасширеннаяПодсказка</name> <name>ГруппаФайлНастройкиОбычныеКаналыСвязиРасширеннаяПодсказка</name>
<id>724</id> <id>744</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -1305,34 +1397,13 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Page</type> <type>UsualGroup</type>
<extInfo xsi:type="form:PageGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group> <group>AlwaysHorizontal</group>
<showTitle>auto</showTitle> <behavior>Auto</behavior>
<scrollOnCompress>false</scrollOnCompress> <showLeftMargin>true</showLeftMargin>
</extInfo> <united>true</united>
</items> <throughAlign>Auto</throughAlign>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Панель файл настройки</value>
</title>
<extendedTooltip>
<name>ПанельФайлНастройкиРасширеннаяПодсказка</name>
<id>716</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Pages</type>
<extInfo xsi:type="form:PagesGroupExtInfo">
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
</extInfo> </extInfo>
</items> </items>
@@ -1367,34 +1438,6 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:Decoration">
<name>ДекорацияОтступОтКоманднойПанелиКартинка</name>
<id>654</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияОтступОтКоманднойПанелиКартинкаРасширеннаяПодсказка</name>
<id>656</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияОтступОтКоманднойПанелиКартинкаКонтекстноеМеню</name>
<id>655</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<height>1</height>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo"/>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -7043,21 +7086,6 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>АдресВХранилищеНастройкиПодключения</name>
<title>
<key>ru</key>
<value>Адрес в хранилище настройки подключения</value>
</title>
<id>99</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes> <attributes>
<name>ИмяФайлаНастроекДляПриемника</name> <name>ИмяФайлаНастроекДляПриемника</name>
<title> <title>
@@ -7279,10 +7307,10 @@
</edit> </edit>
</attributes> </attributes>
<attributes> <attributes>
<name>ПоддерживаемыеОбъектыФормата</name> <name>ПоддерживаемыеОбъектыФорматаКорреспондента</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Поддерживаемые объекты формата</value> <value>Поддерживаемые объекты формата корреспондента</value>
</title> </title>
<id>113</id> <id>113</id>
<valueType/> <valueType/>
@@ -238,6 +238,8 @@
Результат.Вставить("ЭтоОбменСПриложениемВСервисе", ЭтоОбменСПриложениемВСервисе); Результат.Вставить("ЭтоОбменСПриложениемВСервисе", ЭтоОбменСПриложениемВСервисе);
КонецЕсли; КонецЕсли;
Результат.Вставить("ПассивныйРежим", ВидПодключения = "ПассивныйРежим");
Закрыть(Результат); Закрыть(Результат);
КонецПроцедуры КонецПроцедуры
@@ -785,30 +787,83 @@
Процедура ПриЗавершенииСохраненияНастроекПодключения() Процедура ПриЗавершенииСохраненияНастроекПодключения()
НастройкиПодключенияСохранены = Ложь; НастройкиПодключенияСохранены = Ложь;
АдресВХранилищеНастройкиПодключения = "";
СообщениеОбОшибке = ""; СообщениеОбОшибке = "";
АдресВХранилищеНастройкиПодключения = Неопределено;
ПриЗавершенииСохраненияНастроекПодключенияНаСервере(НастройкиПодключенияСохранены, СообщениеОбОшибке); ПриЗавершенииСохраненияНастроекПодключенияНаСервере(НастройкиПодключенияСохранены,
АдресВХранилищеНастройкиПодключения, СообщениеОбОшибке);
Результат = Новый Структура;
Результат.Вставить("Отказ", Не НастройкиПодключенияСохранены);
Результат.Вставить("СообщениеОбОшибке", СообщениеОбОшибке);
ОповещениеЗавершения = Новый ОписаниеОповещения("СохранениеНастроекПодключенияЗавершение", ЭтотОбъект);
Если НастройкиПодключенияСохранены Тогда Если НастройкиПодключенияСохранены Тогда
Если СохранитьПараметрыПодключенияВФайл Если СохранитьПараметрыПодключенияВФайл
И Не АдресВХранилищеНастройкиПодключения = Неопределено Тогда И ЗначениеЗаполнено(АдресВХранилищеНастройкиПодключения) Тогда
ДанныеФайла = ПолучитьИзВременногоХранилища(АдресВХранилищеНастройкиПодключения);
ДанныеФайла.Записать(ИмяФайлаНастроекПодключенияДляВыгрузки); ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ОповещениеЗавершения", ОповещениеЗавершения);
ОповещениеПолученияФайла = Новый ОписаниеОповещения("ПолучениеФайлаНастроекПодключенияЗавершение",
ЭтотОбъект, ДополнительныеПараметры);
ПолучаемыеФайлы = Новый Массив;
ПолучаемыеФайлы.Добавить(
Новый ОписаниеПередаваемогоФайла(ИмяФайлаНастроекПодключенияДляВыгрузки, АдресВХранилищеНастройкиПодключения));
НачатьПолучениеФайлов(ОповещениеПолученияФайла, ПолучаемыеФайлы, , Ложь);
Иначе
ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Результат);
КонецЕсли; КонецЕсли;
Иначе
ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПолучениеФайлаНастроекПодключенияЗавершение(ПолученныеФайлы, ДополнительныеПараметры) Экспорт
Результат = Новый Структура;
Результат.Вставить("Отказ", Ложь);
Результат.Вставить("СообщениеОбОшибке", "");
Если ПолученныеФайлы = Неопределено Тогда
Результат.Отказ = Истина;
Результат.СообщениеОбОшибке = НСтр("ru = 'Не удалось сохранить настройки подключения в файл.'");
КонецЕсли;
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения, Результат);
КонецПроцедуры
&НаКлиенте
Процедура СохранениеНастроекПодключенияЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Не Результат.Отказ Тогда
ИзменитьПорядковыйНомерПерехода(+1); ИзменитьПорядковыйНомерПерехода(+1);
Оповестить("Запись_УзелПланаОбмена"); Оповестить("Запись_УзелПланаОбмена");
Иначе Иначе
ИзменитьПорядковыйНомерПерехода(-1); ИзменитьПорядковыйНомерПерехода(-1);
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда ТекстСообщения = Результат.СообщениеОбОшибке;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке); Если ПустаяСтрока(ТекстСообщения) Тогда
Иначе ТекстСообщения = НСтр("ru = 'Не удалось сохранить настройки подключения.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Не удалось сохранить настройки подключения.'"));
КонецЕсли; КонецЕсли;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -845,7 +900,7 @@
Если НастройкаXDTO Тогда Если НастройкаXDTO Тогда
НастройкиПодключения.Вставить("НастройкиXDTOКорреспондента", Новый Структура); НастройкиПодключения.Вставить("НастройкиXDTOКорреспондента", Новый Структура);
НастройкиПодключения.НастройкиXDTOКорреспондента.Вставить("ПоддерживаемыеВерсии", Новый Массив); НастройкиПодключения.НастройкиXDTOКорреспондента.Вставить("ПоддерживаемыеВерсии", Новый Массив);
НастройкиПодключения.НастройкиXDTOКорреспондента.Вставить("ПоддерживаемыеОбъекты", ПоддерживаемыеОбъектыФормата); НастройкиПодключения.НастройкиXDTOКорреспондента.Вставить("ПоддерживаемыеОбъекты", ПоддерживаемыеОбъектыФорматаКорреспондента);
НастройкиПодключения.НастройкиXDTOКорреспондента.ПоддерживаемыеВерсии.Добавить(ВерсияФорматаОбмена); НастройкиПодключения.НастройкиXDTOКорреспондента.ПоддерживаемыеВерсии.Добавить(ВерсияФорматаОбмена);
КонецЕсли; КонецЕсли;
@@ -884,7 +939,8 @@
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ПриЗавершенииСохраненияНастроекПодключенияНаСервере(НастройкиПодключенияСохранены, СообщениеОбОшибке) Процедура ПриЗавершенииСохраненияНастроекПодключенияНаСервере(НастройкиПодключенияСохранены,
АдресВХранилищеНастройкиПодключения, СообщениеОбОшибке)
СтатусЗавершения = Неопределено; СтатусЗавершения = Неопределено;
@@ -983,7 +1039,7 @@
Обработки.ПомощникСозданияОбменаДанными.ВерсияФорматаНастроекОбменаДанными()); Обработки.ПомощникСозданияОбменаДанными.ВерсияФорматаНастроекОбменаДанными());
СтруктураНастроекПомощника.Вставить("ВерсияФорматаОбмена", ВерсияФорматаОбмена); СтруктураНастроекПомощника.Вставить("ВерсияФорматаОбмена", ВерсияФорматаОбмена);
СтруктураНастроекПомощника.Вставить("ПоддерживаемыеОбъектыФормата", ПоддерживаемыеОбъектыФормата); СтруктураНастроекПомощника.Вставить("ПоддерживаемыеОбъектыФормата", ПоддерживаемыеОбъектыФорматаКорреспондента);
// Настройки транспорта. // Настройки транспорта.
СтруктураНастроекПомощника.Вставить("COMАутентификацияОперационнойСистемы", СтруктураНастроекПомощника.Вставить("COMАутентификацияОперационнойСистемы",
@@ -1220,7 +1276,7 @@
ВерсияФорматаОбмена = ОбменДаннымиXDTOСервер.МаксимальнаяОбщаяВерсияФормата( ВерсияФорматаОбмена = ОбменДаннымиXDTOСервер.МаксимальнаяОбщаяВерсияФормата(
ИмяПланаОбмена, ПараметрыКорреспондента.ВерсииФорматаОбмена); ИмяПланаОбмена, ПараметрыКорреспондента.ВерсииФорматаОбмена);
ПоддерживаемыеОбъектыФормата = Новый ХранилищеЗначения( ПоддерживаемыеОбъектыФорматаКорреспондента = Новый ХранилищеЗначения(
ПараметрыКорреспондента.ПоддерживаемыеОбъектыФормата, Новый СжатиеДанных(9)); ПараметрыКорреспондента.ПоддерживаемыеОбъектыФормата, Новый СжатиеДанных(9));
КонецЕсли; КонецЕсли;
@@ -1285,11 +1341,12 @@
ВерсияФорматаОбмена = ОбменДаннымиXDTOСервер.МаксимальнаяОбщаяВерсияФормата(ИмяПланаОбмена, ВерсияФорматаОбмена = ОбменДаннымиXDTOСервер.МаксимальнаяОбщаяВерсияФормата(ИмяПланаОбмена,
НастройкиXDTOКорреспондента.ПоддерживаемыеВерсии); НастройкиXDTOКорреспондента.ПоддерживаемыеВерсии);
ТаблицаПоддерживаемыеОбъекты = НастройкиXDTOКорреспондента.ПоддерживаемыеОбъекты.Скопировать( ПоддерживаемыеОбъектыФорматаКорреспондента = Новый ХранилищеЗначения(НастройкиXDTOКорреспондента.ПоддерживаемыеОбъекты,
Новый Структура("Версия", ВерсияФорматаОбмена));
ПоддерживаемыеОбъектыФормата = Новый ХранилищеЗначения(ТаблицаПоддерживаемыеОбъекты,
Новый СжатиеДанных(9)); Новый СжатиеДанных(9));
ИдентификаторИнформационнойБазыПриемника = НастройкиXDTOКорреспондента.ИдентификаторОтправителя;
ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента = (СтрДлина(ИдентификаторИнформационнойБазыПриемника) <> 36);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1432,20 +1489,28 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Элементы.ОбычныеКаналыСвязиВидТранспортаПоУмолчанию.Видимость = ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
(Элементы.ОбычныеКаналыСвязиВидТранспортаПоУмолчанию.СписокВыбора.Количество() > 1); "ОбычныеКаналыСвязиВидТранспортаПоУмолчанию",
"Видимость",
Элементы.ОбычныеКаналыСвязиВидТранспортаПоУмолчанию.СписокВыбора.Количество() > 1);
СохранитьПараметрыПодключенияВФайл = Не НастройкаРИБ СохранитьПараметрыПодключенияВФайл = (ВидПодключения = "ПассивныйРежим")
И (ВидПодключения = "ОбычныеКаналыСвязи") И Не ЗагрузитьПараметрыПодключенияИзФайла; Или ((ВидПодключения = "ОбычныеКаналыСвязи")
И Не НастройкаРИБ И Не ЗагрузитьПараметрыПодключенияИзФайла);
Элементы.ИмяФайлаНастроекПодключенияДляВыгрузки.Видимость = СохранитьПараметрыПодключенияВФайл; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ИмяФайлаНастроекПодключенияДляВыгрузки", "Видимость", СохранитьПараметрыПодключенияВФайл);
Если СохранитьПараметрыПодключенияВФайл Если СохранитьПараметрыПодключенияВФайл
И (ВидПодключения = "ОбычныеКаналыСвязи")
И ОбычныеКаналыСвязиFILEИспользование Тогда И ОбычныеКаналыСвязиFILEИспользование Тогда
ИмяФайлаНастроекПодключенияДляВыгрузки = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла( ИмяФайлаНастроекПодключенияДляВыгрузки = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(
ОбычныеКаналыСвязиFILEКаталог, ИмяФайлаНастроекДляПриемника + ".xml"); ОбычныеКаналыСвязиFILEКаталог, ИмяФайлаНастроекДляПриемника + ".xml");
КонецЕсли; КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаНастройкиПрограммыПредставление", "Видимость", Не (ВидПодключения = "ПассивныйРежим"));
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"Наименование", "ТолькоПросмотр", Не ДоступноИзменениеНаименования); "Наименование", "ТолькоПросмотр", Не ДоступноИзменениеНаименования);
@@ -1706,26 +1771,22 @@
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииЗагрузитьНастройкиПодключенияИзФайла() Процедура ПриИзмененииЗагрузитьНастройкиПодключенияИзФайла()
Элементы.ИмяФайлаНастроекПодключенияДляЗагрузки.Доступность = ЗагрузитьПараметрыПодключенияИзФайла; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ИмяФайлаНастроекПодключенияДляЗагрузки", "Доступность", ЗагрузитьПараметрыПодключенияИзФайла);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииВидПодключения() Процедура ПриИзмененииВидПодключения()
Если ВидПодключения = "ВнешнееСоединение" Тогда ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
Элементы.ПанельФайлНастройки.Видимость = Ложь; "ГруппаФайлНастройкиОбычныеКаналыСвязи", "Доступность", ВидПодключения = "ОбычныеКаналыСвязи");
ИначеЕсли ВидПодключения = "Интернет" Тогда
Элементы.ПанельФайлНастройки.Видимость = Ложь;
ИначеЕсли ВидПодключения = "ОбычныеКаналыСвязи" Тогда
Элементы.ПанельФайлНастройки.Видимость = Истина;
Элементы.ПанельФайлНастройки.ТекущаяСтраница = Элементы.СтраницаФайлНастройкиОбычныеКаналыСвязи;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаФайлНастройкиПассивныйРежим", "Доступность", ВидПодключения = "ПассивныйРежим");
Если ВидПодключения = "ОбычныеКаналыСвязи" Тогда
ПриИзмененииЗагрузитьНастройкиПодключенияИзФайла(); ПриИзмененииЗагрузитьНастройкиПодключенияИзФайла();
ИначеЕсли ВидПодключения = "ПассивныйРежим" Тогда
Элементы.ПанельФайлНастройки.Видимость = Истина;
Элементы.ПанельФайлНастройки.ТекущаяСтраница = Элементы.СтраницаФайлНастройкиПассивныйРежим;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1733,14 +1794,17 @@
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиFILEИспользование() Процедура ПриИзмененииОбычныеКаналыСвязиFILEИспользование()
Элементы.ГруппаОбычныеКаналыСвязиFILEИспользование.Доступность = ОбычныеКаналыСвязиFILEИспользование; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаОбычныеКаналыСвязиFILEИспользование", "Доступность", ОбычныеКаналыСвязиFILEИспользование);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиFTPИспользование() Процедура ПриИзмененииОбычныеКаналыСвязиFTPИспользование()
Элементы.ГруппаОбычныеКаналыСвязиFTPИспользование.Доступность = ОбычныеКаналыСвязиFTPИспользование; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаОбычныеКаналыСвязиFTPИспользование", "Доступность", ОбычныеКаналыСвязиFTPИспользование);
ПриИзмененииОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла(); ПриИзмененииОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла();
КонецПроцедуры КонецПроцедуры
@@ -1748,7 +1812,9 @@
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиEMAILИспользование() Процедура ПриИзмененииОбычныеКаналыСвязиEMAILИспользование()
Элементы.ГруппаОбычныеКаналыСвязиEMAILИспользование.Доступность = ОбычныеКаналыСвязиEMAILИспользование; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаОбычныеКаналыСвязиEMAILИспользование", "Доступность", ОбычныеКаналыСвязиEMAILИспользование);
ПриИзмененииОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения(); ПриИзмененииОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения();
КонецПроцедуры КонецПроцедуры
@@ -1786,7 +1852,9 @@
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиАрхивироватьФайлы() Процедура ПриИзмененииОбычныеКаналыСвязиАрхивироватьФайлы()
Элементы.ГруппаОбычныеКаналыСвязиПарольАрхива.Доступность = ОбычныеКаналыСвязиАрхивироватьФайлы; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ГруппаОбычныеКаналыСвязиПарольАрхива", "Доступность", ОбычныеКаналыСвязиАрхивироватьФайлы);
ПриИзмененииОбычныеКаналыСвязиИспользоватьПарольАрхива(); ПриИзмененииОбычныеКаналыСвязиИспользоватьПарольАрхива();
КонецПроцедуры КонецПроцедуры
@@ -1794,23 +1862,28 @@
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиИспользоватьПарольАрхива() Процедура ПриИзмененииОбычныеКаналыСвязиИспользоватьПарольАрхива()
Элементы.ОбычныеКаналыСвязиПарольАрхива.Доступность = ОбычныеКаналыСвязиИспользоватьПарольДляАрхива; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
"ОбычныеКаналыСвязиПарольАрхива", "Доступность", ОбычныеКаналыСвязиИспользоватьПарольДляАрхива);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла() Процедура ПриИзмененииОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла()
Элементы.ОбычныеКаналыСвязиFTPМаксимальныйДопустимыйРазмерФайла.Доступность = ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
ОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла; "ОбычныеКаналыСвязиFTPМаксимальныйДопустимыйРазмерФайла",
"Доступность",
ОбычныеКаналыСвязиFTPИспользоватьОграничениеРазмераФайла);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения() Процедура ПриИзмененииОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения()
Элементы.ОбычныеКаналыСвязиEMAILМаксимальныйДопустимыйРазмерВложения.Доступность = ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
ОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения; "ОбычныеКаналыСвязиEMAILМаксимальныйДопустимыйРазмерВложения",
"Доступность",
ОбычныеКаналыСвязиEMAILИспользоватьОграничениеРазмераВложения);
КонецПроцедуры КонецПроцедуры
@@ -2149,6 +2222,8 @@
&НаКлиенте &НаКлиенте
Функция Подключаемый_СтраницаОбщиеНастройкиСинхронизации_ПриПереходеДалее(Отказ) Функция Подключаемый_СтраницаОбщиеНастройкиСинхронизации_ПриПереходеДалее(Отказ)
Если Не ВидПодключения = "ПассивныйРежим" Тогда
Если ДоступноИзменениеНаименования Если ДоступноИзменениеНаименования
И ПустаяСтрока(Наименование) Тогда И ПустаяСтрока(Наименование) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
@@ -2163,6 +2238,8 @@
, "Префикс", , Отказ); , "Префикс", , Отказ);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ДоступноИзменениеНаименованияКорреспондента Если ДоступноИзменениеНаименованияКорреспондента
И ПустаяСтрока(НаименованиеКорреспондента) Тогда И ПустаяСтрока(НаименованиеКорреспондента) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
@@ -2170,6 +2247,8 @@
, "НаименованиеКорреспондента", , Отказ); , "НаименованиеКорреспондента", , Отказ);
КонецЕсли; КонецЕсли;
Если Не ВидПодключения = "ПассивныйРежим" Тогда
Если ДоступноИзменениеПрефиксаКорреспондента Если ДоступноИзменениеПрефиксаКорреспондента
И ПустаяСтрока(ПрефиксКорреспондента) Тогда И ПустаяСтрока(ПрефиксКорреспондента) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
@@ -2177,6 +2256,8 @@
, "ПрефиксКорреспондента", , Отказ); , "ПрефиксКорреспондента", , Отказ);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если СохранитьПараметрыПодключенияВФайл Если СохранитьПараметрыПодключенияВФайл
И ПустаяСтрока(ИмяФайлаНастроекПодключенияДляВыгрузки) Тогда И ПустаяСтрока(ИмяФайлаНастроекПодключенияДляВыгрузки) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
@@ -267,10 +267,15 @@
Если РезультатЗакрытия.Свойство("ЕстьДанныеДляСопоставления") Если РезультатЗакрытия.Свойство("ЕстьДанныеДляСопоставления")
И РезультатЗакрытия.ЕстьДанныеДляСопоставления Тогда И РезультатЗакрытия.ЕстьДанныеДляСопоставления Тогда
ПолученыДанныеДляСопоставления = Истина; ПолученыДанныеДляСопоставления = Истина;
КонецЕсли;
Если РезультатЗакрытия.Свойство("ПассивныйРежим")
И РезультатЗакрытия.ПассивныйРежим Тогда
ДоступнаИнтерактивнаяОтправка = Ложь;
КонецЕсли;
ЗаполнитьТаблицуЭтаповНастройки(); ЗаполнитьТаблицуЭтаповНастройки();
ОбновитьОтображениеТекущегоСостоянияНастройки(); ОбновитьОтображениеТекущегоСостоянияНастройки();
КонецЕсли;
Если ТекущийЭтапНастройки = "НастройкаПодключения" Тогда Если ТекущийЭтапНастройки = "НастройкаПодключения" Тогда
ПерейтиКСледующемуЭтапуНастройки(); ПерейтиКСледующемуЭтапуНастройки();
@@ -1670,6 +1670,36 @@
ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьОбъявлениеXML();
Если НастройкиПодключения.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
УзелКорреспондента = НастройкиПодключения.УзелИнформационнойБазы;
ПараметрыЗаголовка = ОбменДаннымиXDTOСервер.ПараметрыЗаголовкаСообщенияОбмена();
ПараметрыЗаголовка.ФорматОбмена = НастройкиПодключения.ФорматОбмена;
ПараметрыЗаголовка.ЭтоОбменЧерезПланОбмена = Истина;
ПараметрыЗаголовка.ИмяПланаОбмена = НастройкиПодключения.ИмяПланаОбмена;
ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла = ОбменДаннымиСервер.ПсевдонимПредопределенногоУзла(УзелКорреспондента);
ПараметрыЗаголовка.ИдентификаторПолучателя = ОбменДаннымиСервер.ИдентификаторУзлаКорреспондентаДляОбмена(УзелКорреспондента);
ПараметрыЗаголовка.ИдентификаторОтправителя = ОбменДаннымиСервер.ИдентификаторЭтогоУзлаДляОбмена(УзелКорреспондента);
ВерсииФормата = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(НастройкиПодключения.ИмяПланаОбмена, "ВерсииФорматаОбмена");
Для Каждого ВерсияФормата Из ВерсииФормата Цикл
ПараметрыЗаголовка.ПоддерживаемыеВерсии.Добавить(ВерсияФормата.Ключ);
КонецЦикла;
ПараметрыЗаголовка.ПоддерживаемыеОбъекты = ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФормата(
НастройкиПодключения.ИмяПланаОбмена, "ОтправкаПолучение", УзелКорреспондента);
ПараметрыЗаголовка.Префикс = ОбменДаннымиСервер.ПрефиксИнформационнойБазы();
ПараметрыЗаголовка.УзелКорреспондента = УзелКорреспондента;
ОбменДаннымиXDTOСервер.ЗаписатьЗаголовокСообщенияОбмена(ЗаписьXML, ПараметрыЗаголовка);
Иначе
ЗаписьXML.ЗаписатьНачалоЭлемента("ПараметрыНастройки"); ЗаписьXML.ЗаписатьНачалоЭлемента("ПараметрыНастройки");
ЗаписьXML.ЗаписатьАтрибут("ВерсияФормата", ВерсияФорматаНастроекОбменаДанными()); ЗаписьXML.ЗаписатьАтрибут("ВерсияФормата", ВерсияФорматаНастроекОбменаДанными());
@@ -1688,6 +1718,7 @@
КонецЕсли; КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента(); // ПараметрыНастройки ЗаписьXML.ЗаписатьКонецЭлемента(); // ПараметрыНастройки
КонецЕсли;
Возврат ЗаписьXML.Закрыть(); Возврат ЗаписьXML.Закрыть();
@@ -1901,6 +1932,15 @@
СтруктураНастроек = Новый Структура; СтруктураНастроек = Новый Структура;
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTOКорреспондента(СтруктураНастроек, Header, , УзелОбмена); ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTOКорреспондента(СтруктураНастроек, Header, , УзелОбмена);
// Проверка UID отправителя на соответствие формату.
Попытка
УИД = Новый УникальныйИдентификатор(Header.Confirmation.From);
Исключение
ВызватьИсключение НСтр("ru = 'Идентификатор отправителя в файле с настройками EnterpriseData не соответствует формату.'");
КонецПопытки;
СтруктураНастроек.Вставить("ИдентификаторОтправителя", Header.Confirmation.From);
ЧтениеXML.Закрыть(); ЧтениеXML.Закрыть();
Возврат СтруктураНастроек; Возврат СтруктураНастроек;
@@ -65,11 +65,11 @@
НаселенныйПунктДетально.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес(); НаселенныйПунктДетально.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес();
ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(ЗначенияПолей) Тогда ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(ЗначенияПолей) Тогда
ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(ЗначенияПолей); ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(ЗначенияПолей);
НаселенныйПунктДетально = РаботаСАдресамиКлиентСервер.АккомодацияСтруктурыАдреса(ДанныеАдреса); НаселенныйПунктДетально = РаботаСАдресами.АккомодацияСтруктурыАдреса(ДанныеАдреса);
Иначе Иначе
XDTOКонтактная = ИзвлечьСтарыйФорматАдреса(ЗначенияПолей, ТипКонтактнойИнформации); XDTOКонтактная = ИзвлечьСтарыйФорматАдреса(ЗначенияПолей, ТипКонтактнойИнформации);
ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(XDTOКонтактная, ТипКонтактнойИнформации); ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(XDTOКонтактная, ТипКонтактнойИнформации);
НаселенныйПунктДетально = РаботаСАдресамиКлиентСервер.АккомодацияСтруктурыАдреса(ДанныеАдреса); НаселенныйПунктДетально = РаботаСАдресами.АккомодацияСтруктурыАдреса(ДанныеАдреса);
КонецЕсли; КонецЕсли;
Если МеждународныйФорматАдреса И Не УправлениеКонтактнойИнформациейКлиентСервер.ЭтоАдресВСвободнойФорме(НаселенныйПунктДетально.AddressType) Тогда Если МеждународныйФорматАдреса И Не УправлениеКонтактнойИнформациейКлиентСервер.ЭтоАдресВСвободнойФорме(НаселенныйПунктДетально.AddressType) Тогда
@@ -737,7 +737,11 @@
ДополнительныеПараметры.Вставить("ТипАдреса", НаселенныйПунктДетально.AddressType); ДополнительныеПараметры.Вставить("ТипАдреса", НаселенныйПунктДетально.AddressType);
ДополнительныеПараметры.Вставить("Уровень", 7); ДополнительныеПараметры.Вставить("Уровень", 7);
ДанныеВыбора = СписокАвтоподбораУлицы(Текст, ДополнительныеПараметры); Результат = СписокАвтоподбораУлицы(Текст, ДополнительныеПараметры);
Если Результат.Отказ Тогда
Возврат;
КонецЕсли;
ДанныеВыбора = Результат.Данные;
// Стандартную обработку отключаем, только если есть наши варианты. // Стандартную обработку отключаем, только если есть наши варианты.
Если ДанныеВыбора.Количество() > 0 Тогда Если ДанныеВыбора.Количество() > 0 Тогда
@@ -2491,7 +2495,8 @@
Иначе Иначе
ПолученныйАдрес = ОпределитьАдресПоИдентификатору(ВыбранноеЗначение); ПолученныйАдрес = ОпределитьАдресПоИдентификатору(ВыбранноеЗначение);
КонецЕсли; КонецЕсли;
ИменаУровнейНаселенногоПункта = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса("Все", Ложь);
ИменаУровнейНаселенногоПункта = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса("Все", ЗначениеЗаполнено(ПолученныйАдрес.street));
Для каждого ИмяУровня Из ИменаУровнейНаселенногоПункта Цикл Для каждого ИмяУровня Из ИменаУровнейНаселенногоПункта Цикл
Если ПолученныйАдрес.Свойство(ИмяУровня) Тогда Если ПолученныйАдрес.Свойство(ИмяУровня) Тогда
НаселенныйПунктДетально[ИмяУровня] = ПолученныйАдрес[ИмяУровня]; НаселенныйПунктДетально[ИмяУровня] = ПолученныйАдрес[ИмяУровня];
@@ -2768,7 +2773,10 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция СписокАвтоподбораНаселенногоПункта(Текст) Функция СписокАвтоподбораНаселенногоПункта(Текст)
Возврат Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораНаселенногоПункта(Текст); ДополнительныеПараметры = Новый Структура("ТолькоВебСервис", Ложь);
Результат = Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораНаселенногоПункта(Текст, ДополнительныеПараметры);
УправлениеКонтактнойИнформациейСлужебный.ФорматированиеРезультатовАвтоподбора(Результат.Данные, Текст);
Возврат Результат;
КонецФункции КонецФункции
@@ -2788,7 +2796,9 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора) Функция СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора)
Возврат Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора); Результат = Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора);
УправлениеКонтактнойИнформациейСлужебный.ФорматированиеРезультатовАвтоподбора(Результат.Данные, Текст);
Возврат Результат;
КонецФункции КонецФункции
@@ -2979,7 +2989,7 @@
&НаКлиенте &НаКлиенте
Функция ЗначениеСтроенияИлиПомещения(Тип, Значение) Функция ЗначениеСтроенияИлиПомещения(Тип, Значение)
Возврат Новый Структура("Type, Number", Тип, Значение); Возврат Новый Структура("type, number", Тип, Значение);
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
@@ -352,8 +352,7 @@
// * ОбщаяЧастьПредставления - Строка - Общая часть представлений адреса. // * ОбщаяЧастьПредставления - Строка - Общая часть представлений адреса.
// * Данные - СписокЗначений - результат для автоподбора. // * Данные - СписокЗначений - результат для автоподбора.
// //
Функция СписокАвтоподбораНаселенногоПункта(Текст) Экспорт Функция СписокАвтоподбораНаселенногоПункта(Текст, ДополнительныеПараметры) Экспорт
Результат = Новый Структура("Данные", Новый СписокЗначений); Результат = Новый Структура("Данные", Новый СписокЗначений);
СтруктураОшибкиПоставщикаАдресногоКлассификатора(Результат); СтруктураОшибкиПоставщикаАдресногоКлассификатора(Результат);
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
@@ -362,8 +361,6 @@
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
ДополнительныеПараметры = Новый Структура();
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
Результат.Данные = МодульАдресныйКлассификаторСлужебный.ВариантыАвтоподбора(Текст, ДополнительныеПараметры); Результат.Данные = МодульАдресныйКлассификаторСлужебный.ВариантыАвтоподбора(Текст, ДополнительныеПараметры);
@@ -375,13 +372,9 @@
// //
// Параметры: // Параметры:
// Текст - Строка - Текст автоподбора. // Текст - Строка - Текст автоподбора.
// НаселенныйПункт - УникальныйИдентификатор - Населенный пункт. // ПараметрыАвтоподбора - Структура - Описывает настройки поиска. Состоит из необязательных полей:
// * Идентификатор - УникальныйИдентификатор - Родительский адресный объект.
// ДополнительныеПараметры - Структура - Описывает настройки поиска. Состоит из необязательных полей: // * ТипАдреса - Строка - Тип используемого адреса.
// * СкрыватьНеактуальные - Булево - Флаг исключения из выборки неактуальных адресов. По умолчанию
// Ложь.
// * ФорматАдреса - Строка - Тип используемого классификатора.
// * РазмерПорции - Число - Количество возвращаемых данных.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * Отказ - Булево - Поставщик не доступен. // * Отказ - Булево - Поставщик не доступен.
@@ -389,11 +382,13 @@
// = Ложь. // = Ложь.
// * КраткоеПредставлениеОшибки - Строка - Описание ошибки, если поставщик недоступен. Неопределено, если Отказ // * КраткоеПредставлениеОшибки - Строка - Описание ошибки, если поставщик недоступен. Неопределено, если Отказ
// = Ложь. // = Ложь.
// * ОбщаяЧастьПредставления - Строка - Общая часть представлений адреса.
// * Данные - СписокЗначений - результат для автоподбора. // * Данные - СписокЗначений - результат для автоподбора.
// //
Функция СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора) Экспорт Функция СписокАвтоподбораУлицы(Текст, ПараметрыАвтоподбора) Экспорт
Результат = Новый Структура("Данные", Новый СписокЗначений);
СтруктураОшибкиПоставщикаАдресногоКлассификатора(Результат);
ДанныеВыбора = Новый СписокЗначений; ДанныеВыбора = Новый СписокЗначений;
Уровень = 7; Уровень = 7;
РодительскийИдентификатор = ПараметрыАвтоподбора.Идентификатор; РодительскийИдентификатор = ПараметрыАвтоподбора.Идентификатор;
@@ -401,11 +396,8 @@
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
Результат = МодульАдресныйКлассификаторСлужебный.АдресныеОбъектыУровня(РодительскийИдентификатор, Уровень, ТипАдреса, Текст); Результат = МодульАдресныйКлассификаторСлужебный.АдресныеОбъектыУровня(РодительскийИдентификатор, Уровень, ТипАдреса, Текст);
Если Не Результат.Отказ Тогда
ДанныеВыбора = Результат.Данные;
КонецЕсли;
Возврат ДанныеВыбора; Возврат Результат;
КонецФункции КонецФункции
@@ -455,6 +455,7 @@
<initialTreeView>ExpandAllLevels</initialTreeView> <initialTreeView>ExpandAllLevels</initialTreeView>
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch> <verticalStretch>true</verticalStretch>
<currentRowUse>SelectionPresentationAndChoice</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
@@ -28,6 +28,12 @@
Элементы.Расписание.Видимость = Ложь; Элементы.Расписание.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ФормаДобавитьСинхронизациюФайлов", "Отображение", ОтображениеКнопки.Картинка);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -389,33 +389,39 @@
Функция ЗапуститьРегламентноеЗаданиеСейчасНаСервере(ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную, СостояниеЗаданияОбновленияДоступа) Функция ЗапуститьРегламентноеЗаданиеСейчасНаСервере(ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную, СостояниеЗаданияОбновленияДоступа)
ПоследнееОбновлениеДоступа = ПоследнееОбновлениеДоступа(); ПоследнееОбновлениеДоступа = ПоследнееОбновлениеДоступа();
ИдентификаторПроизвольногоСеанса = УправлениеДоступомСлужебный.ИдентификаторПроизвольногоСеанса();
УжеВыполняется = Ложь;
Если ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания) Тогда Если ЗначениеЗаполнено(ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания) Тогда
Если ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания = ИдентификаторПроизвольногоСеанса Тогда
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Если Сеанс.НомерСеанса = ПоследнееОбновлениеДоступа.НомерСеанса
И Сеанс.НачалоСеанса = ПоследнееОбновлениеДоступа.НачалоСеанса Тогда
УжеВыполняется = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору( ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(
ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания); ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания);
Иначе
ПоследнееФоновоеЗадание = Неопределено; УжеВыполняется = ПоследнееФоновоеЗадание <> Неопределено
И ПоследнееФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно;
КонецЕсли;
КонецЕсли; КонецЕсли;
Если ПоследнееФоновоеЗадание = Неопределено Если Не УжеВыполняется
Или ПоследнееФоновоеЗадание.Состояние <> СостояниеФоновогоЗадания.Активно Тогда И ТипЗнч(ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную) = Тип("УникальныйИдентификатор") Тогда
Если ТипЗнч(ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную) = Тип("УникальныйИдентификатор") Тогда
ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору( ПоследнееФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(
ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную); ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную);
КонецЕсли;
УжеВыполняется = ПоследнееФоновоеЗадание <> Неопределено
И ПоследнееФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно;
КонецЕсли; КонецЕсли;
Если ПоследнееФоновоеЗадание = Неопределено Если УжеВыполняется Тогда
Или ПоследнееФоновоеЗадание.Состояние <> СостояниеФоновогоЗадания.Активно Тогда
ТекстПредупреждения = "";
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей.ИмяМетода,,,
НСтр("ru = 'Запуск вручную'") + ": " + Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей.Наименование);
ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную = ФоновоеЗадание.УникальныйИдентификатор;
Иначе
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Обновление доступа уже запущено НСтр("ru = 'Обновление доступа уже запущено
|(компьютер: %1, сеанс: %2, начат: %3 в %4)'"), |(компьютер: %1, сеанс: %2, начат: %3 в %4)'"),
@@ -423,6 +429,13 @@
ПоследнееОбновлениеДоступа.НомерСеанса, ПоследнееОбновлениеДоступа.НомерСеанса,
Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=D"), Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=D"),
Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=T")); Формат(ПоследнееОбновлениеДоступа.НачалоСеанса, "ДЛФ=T"));
Иначе
ТекстПредупреждения = "";
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей.ИмяМетода,,,
НСтр("ru = 'Запуск вручную'") + ": " + Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей.Наименование);
ИдентификаторЗаданияОбновленияДоступаЗапущенногоВручную = ФоновоеЗадание.УникальныйИдентификатор;
КонецЕсли; КонецЕсли;
СостояниеЗаданияОбновленияДоступа = СостояниеЗаданияОбновленияДоступа( СостояниеЗаданияОбновленияДоступа = СостояниеЗаданияОбновленияДоступа(
@@ -92,6 +92,77 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup">
<name>ГруппаМобильныйКлиент</name>
<id>23</id>
<items xsi:type="form:Decoration">
<name>ДекорацияИнформация</name>
<id>25</id>
<title>
<key>ru</key>
<value>Декорация информация</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<toolTipRepresentation>ShowRight</toolTipRepresentation>
<extendedTooltip>
<name>ДекорацияИнформацияРасширеннаяПодсказка</name>
<id>27</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>
<contextMenu>
<name>ДекорацияИнформацияКонтекстноеМеню</name>
<id>26</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Информация32</picture>
</picture>
</extInfo>
</items>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа мобильный клиент</value>
</title>
<extendedTooltip>
<name>ГруппаМобильныйКлиентРасширеннаяПодсказка</name>
<id>24</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>БольшеНеСпрашивать</name> <name>БольшеНеСпрашивать</name>
<id>6</id> <id>6</id>
@@ -32,6 +32,17 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаМобильныйКлиент", "Видимость", Истина);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Группа", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Отмена", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -762,6 +762,7 @@
<rowsPicture xsi:type="core:PictureRef"> <rowsPicture xsi:type="core:PictureRef">
<picture>CommonPicture.ТипыМакетов</picture> <picture>CommonPicture.ТипыМакетов</picture>
</rowsPicture> </rowsPicture>
<currentRowUse>SelectionPresentation</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<rowFilter xsi:type="core:UndefinedValue"/> <rowFilter xsi:type="core:UndefinedValue"/>
</items> </items>
@@ -46,6 +46,20 @@
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
Элементы.Переместить(Элементы.МакетыПечатныхФормГруппаОткрытиеМакета, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.МакетыПечатныхФормГруппаПереключениеИспользуемогоМакета, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.МакетыПечатныхФормУдалитьИзмененныйМакет, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.МакетыПечатныхФормГруппаВсеДействия, Элементы.ФормаКоманднаяПанель);
Элементы.Переместить(Элементы.МакетыПечатныхФормСправка, Элементы.ФормаКоманднаяПанель);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "МакетыПечатныхФормИзменитьМакет", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -47,6 +47,15 @@
Элементы.КоманднаяПанель.ТекущаяСтраница = Элементы.ПанельЗагрузка; Элементы.КоманднаяПанель.ТекущаяСтраница = Элементы.ПанельЗагрузка;
Элементы.КнопкаИзменить.КнопкаПоУмолчанию = Истина; Элементы.КнопкаИзменить.КнопкаПоУмолчанию = Истина;
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КнопкаОтменаЗагрузки", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КнопкаОтменаИзменений", "Видимость", Ложь);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1302,6 +1302,7 @@
<initialListView>Auto</initialListView> <initialListView>Auto</initialListView>
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch> <verticalStretch>true</verticalStretch>
<currentRowUse>SelectionPresentation</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -2355,6 +2356,7 @@
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch> <verticalStretch>true</verticalStretch>
<enableStartDrag>true</enableStartDrag> <enableStartDrag>true</enableStartDrag>
<currentRowUse>SelectionPresentation</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -3479,6 +3481,7 @@
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch> <verticalStretch>true</verticalStretch>
<enableStartDrag>true</enableStartDrag> <enableStartDrag>true</enableStartDrag>
<currentRowUse>SelectionPresentation</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -4558,6 +4561,7 @@
<rowPictureDataPath xsi:type="form:DataPath"> <rowPictureDataPath xsi:type="form:DataPath">
<segments>НепринятыеПоДате.DefaultPicture</segments> <segments>НепринятыеПоДате.DefaultPicture</segments>
</rowPictureDataPath> </rowPictureDataPath>
<currentRowUse>SelectionPresentation</currentRowUse>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo"> <extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod> <autoRefreshPeriod>60</autoRefreshPeriod>
@@ -202,7 +202,7 @@
#Область ПодготовкаДанных #Область ПодготовкаДанных
Функция ПодготовкаДанных(ДокументОтбор, ДвиженияДокумента, ТаблицаРегистров, ДополнительнаяНумерация = Ложь) Функция ПодготовкаДанных(ДокументОтбор, МассивИспользуемыхРегистров, ТаблицаРегистров, ДополнительнаяНумерация = Ложь)
ОсновнаяИнформация = Новый Массив; ОсновнаяИнформация = Новый Массив;
@@ -222,8 +222,8 @@
ДополнительнаяИнформация.Вставить("ПолеРегистратора", ПолеРегистратора); ДополнительнаяИнформация.Вставить("ПолеРегистратора", ПолеРегистратора);
ДополнительнаяИнформация.Вставить("ДополнительнаяНумерация", ДополнительнаяНумерация); ДополнительнаяИнформация.Вставить("ДополнительнаяНумерация", ДополнительнаяНумерация);
Для Каждого ДвижениеДокумента Из ДвиженияДокумента Цикл Для Каждого ДвижениеДокумента Из МассивИспользуемыхРегистров Цикл
ДвижениеДокумента = ДвижениеДокумента.Ключ;
Если ВРег(СокрЛП(ДвижениеДокумента.Имя)) = ВРег(ИмяРегистра) Тогда Если ВРег(СокрЛП(ДвижениеДокумента.Имя)) = ВРег(ИмяРегистра) Тогда
Если ВидРегистра = "Накопления" Или ВидРегистра = "Сведений" Тогда Если ВидРегистра = "Накопления" Или ВидРегистра = "Сведений" Тогда
ПодготовкаДанныхПоРегистрамНакопленияСведений(ДвижениеДокумента, ОсновнаяИнформация, ДополнительнаяИнформация); ПодготовкаДанныхПоРегистрамНакопленияСведений(ДвижениеДокумента, ОсновнаяИнформация, ДополнительнаяИнформация);
@@ -733,7 +733,7 @@
Возврат СхемаКомпоновкиДанных; Возврат СхемаКомпоновкиДанных;
Иначе Иначе
ТаблицаРегистров = ТаблицаИспользуемыхРегистров(МассивИспользуемыхРегистров); ТаблицаРегистров = ТаблицаИспользуемыхРегистров(МассивИспользуемыхРегистров);
ПодготовленныеДанные = ПодготовкаДанных(ДокументОтбор, ДвиженияДокумента, ТаблицаРегистров); ПодготовленныеДанные = ПодготовкаДанных(ДокументОтбор, МассивИспользуемыхРегистров, ТаблицаРегистров);
СтруктураПараметровДанных = Новый Структура("СписокРегистров", СформироватьСписокРегистров(ТаблицаРегистров)); СтруктураПараметровДанных = Новый Структура("СписокРегистров", СформироватьСписокРегистров(ТаблицаРегистров));
УстановитьПараметрыДанных(НастройкиКД, СтруктураПараметровДанных); УстановитьПараметрыДанных(НастройкиКД, СтруктураПараметровДанных);
@@ -1554,8 +1554,8 @@
ТекстЗапроса = ""; ТекстЗапроса = "";
Для Каждого ИспользуемыйРегистр Из МассивИспользуемыхРегистров Цикл Для Каждого ИспользуемыйРегистр Из МассивИспользуемыхРегистров Цикл
ИспользуемыйРегистр = ИспользуемыйРегистр.Ключ; ИспользуемыйРегистрМетаданные = ИспользуемыйРегистр.Ключ;
ПолноеИмя = ИспользуемыйРегистр.ПолноеИмя(); ПолноеИмя = ИспользуемыйРегистрМетаданные.ПолноеИмя();
ТекстЗапросаШаблон = ТекстЗапросаШаблон =
"ВЫБРАТЬ "ВЫБРАТЬ
@@ -1566,8 +1566,9 @@
|ГДЕ |ГДЕ
| &Условие"; | &Условие";
ТекстУсловия = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 = &ДокументВладелец", ИспользуемыйРегистр.Значение);
ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&ПолноеИмяРегистра", СтрЗаменить(ПолноеИмя, ".", "_")); ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&ПолноеИмяРегистра", СтрЗаменить(ПолноеИмя, ".", "_"));
ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&Условие", "Регистратор = &ДокументВладелец"); ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&Условие", ТекстУсловия);
ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&ТекущаяТаблица", ПолноеИмя); ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&ТекущаяТаблица", ПолноеИмя);
ТекстЗапроса = ТекстЗапроса + ?(ЗначениеЗаполнено(ТекстЗапроса), " ОБЪЕДИНИТЬ ВСЕ ", "") + ТекстЗапросаШаблон; ТекстЗапроса = ТекстЗапроса + ?(ЗначениеЗаполнено(ТекстЗапроса), " ОБЪЕДИНИТЬ ВСЕ ", "") + ТекстЗапросаШаблон;
@@ -1630,6 +1630,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonForm.ПараметрыПроксиСервера</name> <name>CommonForm.ПараметрыПроксиСервера</name>
<right> <right>
@@ -5036,93 +5123,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ТомаХраненияФайлов</name> <name>Catalog.ТомаХраненияФайлов</name>
<right> <right>
@@ -21,6 +21,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name> <name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right> <right>
@@ -76,37 +107,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -2208,6 +2208,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>CommonForm.ПараметрыПроксиСервера</name> <name>CommonForm.ПараметрыПроксиСервера</name>
<right> <right>
@@ -6663,45 +6702,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Catalog.ТомаХраненияФайлов</name> <name>Catalog.ТомаХраненияФайлов</name>
<right> <right>
@@ -3,13 +3,6 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -41,6 +34,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ЖурналРегистрации</name> <name>DataProcessor.ЖурналРегистрации</name>
<right> <right>
@@ -229,5 +229,6 @@
<content>CommonPicture.ДлительнаяОперация16</content> <content>CommonPicture.ДлительнаяОперация16</content>
<content>CommonPicture.РасширениеКонфигурацииИзГлавногоУзла</content> <content>CommonPicture.РасширениеКонфигурацииИзГлавногоУзла</content>
<content>SessionParameter.КлючДанныхПовторногоИспользования</content> <content>SessionParameter.КлючДанныхПовторногоИспользования</content>
<content>CommonPicture.Пустая</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>
@@ -35,7 +35,6 @@
<content>CommonTemplate.КомпонентаПечатиQRКода</content> <content>CommonTemplate.КомпонентаПечатиQRКода</content>
<content>InformationRegister.НастройкиКомандПечати</content> <content>InformationRegister.НастройкиКомандПечати</content>
<content>CommonForm.НастройкаКомандПечати</content> <content>CommonForm.НастройкаКомандПечати</content>
<content>CommonPicture.Пустая</content>
<content>CommonModule.УправлениеПечатьюКлиентСервер</content> <content>CommonModule.УправлениеПечатьюКлиентСервер</content>
<content>Role.РедактированиеПечатныхФорм</content> <content>Role.РедактированиеПечатныхФорм</content>
<content>CommonModule.УправлениеПечатьюСлужебный</content> <content>CommonModule.УправлениеПечатьюСлужебный</content>
@@ -45,7 +45,7 @@
ОбменДаннымиСлужебный.ЗагрузитьЧастьФайла(ИдентификаторФайла, НомерЗагружаемойЧастиФайла, ЗагружаемаяЧастьФайла, СообщениеОбОшибке); ОбменДаннымиСлужебный.ЗагрузитьЧастьФайла(ИдентификаторФайла, НомерЗагружаемойЧастиФайла, ЗагружаемаяЧастьФайла, СообщениеОбОшибке);
КонецФункции КонецФункции
Функция ЗагрузитьДанныеВИнформационнуюБазу(ИдентификаторФайла, ИдентификаторДлительнойОперации, СообщениеОбОшибке) Функция ЗагрузитьДанныеВИнформационнуюБазу(ИдентификаторФайла, ИдентификаторФоновогоЗадания, СообщениеОбОшибке)
СообщениеОбОшибке = ""; СообщениеОбОшибке = "";
@@ -710,10 +710,10 @@
</xdtoValueType> </xdtoValueType>
</parameters> </parameters>
<parameters uuid="1250f5b1-c766-434c-8d28-69b74a536294"> <parameters uuid="1250f5b1-c766-434c-8d28-69b74a536294">
<name>NodeID</name> <name>NodeId</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Node ID</value> <value>Node id</value>
</synonym> </synonym>
<xdtoValueType> <xdtoValueType>
<name>string</name> <name>string</name>
@@ -757,10 +757,10 @@
</xdtoValueType> </xdtoValueType>
</parameters> </parameters>
<parameters uuid="5a4c543a-27d5-423b-a4d0-3952ea2817af"> <parameters uuid="5a4c543a-27d5-423b-a4d0-3952ea2817af">
<name>FileID</name> <name>FileId</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>File ID</value> <value>File id</value>
</synonym> </synonym>
<xdtoValueType> <xdtoValueType>
<name>string</name> <name>string</name>