3_0_2_164

This commit is contained in:
Компания 1С committed 2018-12-21 01:26:00 +03:00
1 parent 495c2dc8e7
commit 5b86f5a96c
90 files changed
+2225 -890

No files matched your search

@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="863aebd2-ce32-4f1f-bb3d-d6062ab187fd"> <attributes uuid="863aebd2-ce32-4f1f-bb3d-d6062ab187fd">
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="b008d184-0b61-460d-9490-89ecc1cd58ba"> <attributes uuid="b008d184-0b61-460d-9490-89ecc1cd58ba">
@@ -346,22 +346,21 @@
<main>true</main> <main>true</main>
<extInfo xsi:type="form:DynamicListExtInfo"> <extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ <queryText>ВЫБРАТЬ
СправочникПапкиФайлов.Ссылка, СправочникПапкиФайловПереопределяемый.Ссылка,
СправочникПапкиФайлов.ПометкаУдаления, СправочникПапкиФайловПереопределяемый.ПометкаУдаления,
СправочникПапкиФайлов.Предопределенный, СправочникПапкиФайловПереопределяемый.Предопределенный,
СправочникПапкиФайлов.Родитель, СправочникПапкиФайловПереопределяемый.Родитель,
СправочникПапкиФайлов.Код, СправочникПапкиФайловПереопределяемый.Код,
СправочникПапкиФайлов.Наименование, СправочникПапкиФайловПереопределяемый.Наименование,
СправочникПапкиФайлов.Описание, СправочникПапкиФайловПереопределяемый.Описание,
СправочникПапкиФайлов.Ответственный, СправочникПапкиФайловПереопределяемый.Ответственный,
СправочникПапкиФайлов.ДатаСоздания, СправочникПапкиФайловПереопределяемый.ДатаСоздания,
СправочникПапкиФайлов.ДополнительныеРеквизиты,
Выбор Выбор
Когда ПометкаУдаления = Истина Тогда 1 Когда ПометкаУдаления = Истина Тогда 1
Иначе 0 Иначе 0
Конец как ИндексКартинки Конец как ИндексКартинки
ИЗ ИЗ
Справочник.ПапкиФайлов КАК СправочникПапкиФайлов Справочник.ПапкиФайлов КАК СправочникПапкиФайловПереопределяемый
</queryText> </queryText>
<mainTable>Catalog.ПапкиФайлов</mainTable> <mainTable>Catalog.ПапкиФайлов</mainTable>
<dynamicDataRead>true</dynamicDataRead> <dynamicDataRead>true</dynamicDataRead>
@@ -56,7 +56,6 @@
</extendedTooltip> </extendedTooltip>
<commandName>Form.StandardCommand.Create</commandName> <commandName>Form.StandardCommand.Create</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
@@ -83,7 +82,7 @@
</extendedTooltip> </extendedTooltip>
<type>Popup</type> <type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo"> <extInfo xsi:type="form:PopupGroupExtInfo">
<representation>Auto</representation> <representation>PictureAndText</representation>
<importance>Normal</importance> <importance>Normal</importance>
</extInfo> </extInfo>
</items> </items>
@@ -471,6 +470,11 @@
<enabled>true</enabled> <enabled>true</enabled>
<showTitle>auto</showTitle> <showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton> <showCloseButton>true</showCloseButton>
<mobileDeviceCommandBarContent>
<value xsi:type="core:StringValue">
<value>КоманднаяПанель</value>
</value>
</mobileDeviceCommandBarContent>
<attributes> <attributes>
<name>Список</name> <name>Список</name>
<id>1</id> <id>1</id>
@@ -30,6 +30,8 @@
Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок; Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли; КонецЕсли;
Элементы.СоздатьКалендарь.Отображение = ОтображениеКнопки.Текст;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="c8b28660-6cb0-4ef5-85c2-a75da863ba96"> <attributes uuid="c8b28660-6cb0-4ef5-85c2-a75da863ba96">
@@ -824,7 +824,7 @@
<Value>LY</Value> <Value>LY</Value>
<Value>LBY</Value> <Value>LBY</Value>
<Value>434</Value> <Value>434</Value>
<Value>Ливия</Value> <Value>Государство Ливия</Value>
</row> </row>
<row> <row>
<Value>ЛИТВА</Value> <Value>ЛИТВА</Value>
@@ -1275,11 +1275,11 @@
<Value>Королевство Саудовская Аравия</Value> <Value>Королевство Саудовская Аравия</Value>
</row> </row>
<row> <row>
<Value>СВАЗИЛЕНД</Value> <Value>ЭСВАТИНИ</Value>
<Value>SZ</Value> <Value>SZ</Value>
<Value>SWZ</Value> <Value>SWZ</Value>
<Value>748</Value> <Value>748</Value>
<Value>Королевство Свазиленд</Value> <Value>Королевство Эсватини</Value>
</row> </row>
<row> <row>
<Value>СВЯТАЯ ЕЛЕНА, ОСТРОВ ВОЗНЕСЕНИЯ, ТРИСТАН-ДА-КУНЬЯ</Value> <Value>СВЯТАЯ ЕЛЕНА, ОСТРОВ ВОЗНЕСЕНИЯ, ТРИСТАН-ДА-КУНЬЯ</Value>
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="0da75726-ae71-4d83-a696-a774c787a8a2"> <attributes uuid="0da75726-ae71-4d83-a696-a774c787a8a2">
@@ -1300,22 +1300,21 @@
</notDefaultUseAlwaysAttributes> </notDefaultUseAlwaysAttributes>
<extInfo xsi:type="form:DynamicListExtInfo"> <extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ <queryText>ВЫБРАТЬ
СправочникПапкиФайлов.Ссылка, СправочникПапкиФайловПереопределяемый.Ссылка,
СправочникПапкиФайлов.ПометкаУдаления, СправочникПапкиФайловПереопределяемый.ПометкаУдаления,
СправочникПапкиФайлов.Предопределенный, СправочникПапкиФайловПереопределяемый.Предопределенный,
СправочникПапкиФайлов.Родитель, СправочникПапкиФайловПереопределяемый.Родитель,
СправочникПапкиФайлов.Код, СправочникПапкиФайловПереопределяемый.Код,
СправочникПапкиФайлов.Наименование, СправочникПапкиФайловПереопределяемый.Наименование,
СправочникПапкиФайлов.Описание, СправочникПапкиФайловПереопределяемый.Описание,
СправочникПапкиФайлов.Ответственный, СправочникПапкиФайловПереопределяемый.Ответственный,
СправочникПапкиФайлов.ДатаСоздания, СправочникПапкиФайловПереопределяемый.ДатаСоздания,
СправочникПапкиФайлов.ДополнительныеРеквизиты,
Выбор Выбор
Когда ПометкаУдаления = Истина Тогда 1 Когда ПометкаУдаления = Истина Тогда 1
Иначе 0 Иначе 0
Конец как ИндексКартинки Конец как ИндексКартинки
ИЗ ИЗ
Справочник.ПапкиФайлов КАК СправочникПапкиФайлов</queryText> Справочник.ПапкиФайлов КАК СправочникПапкиФайловПереопределяемый</queryText>
<mainTable>Catalog.ПапкиФайлов</mainTable> <mainTable>Catalog.ПапкиФайлов</mainTable>
<dynamicDataRead>true</dynamicDataRead> <dynamicDataRead>true</dynamicDataRead>
<autoFillAvailableFields>true</autoFillAvailableFields> <autoFillAvailableFields>true</autoFillAvailableFields>
@@ -997,22 +997,21 @@
</notDefaultUseAlwaysAttributes> </notDefaultUseAlwaysAttributes>
<extInfo xsi:type="form:DynamicListExtInfo"> <extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ <queryText>ВЫБРАТЬ
СправочникПапкиФайлов.Ссылка, СправочникПапкиФайловПереопределяемый.Ссылка,
СправочникПапкиФайлов.ПометкаУдаления, СправочникПапкиФайловПереопределяемый.ПометкаУдаления,
СправочникПапкиФайлов.Предопределенный, СправочникПапкиФайловПереопределяемый.Предопределенный,
СправочникПапкиФайлов.Родитель, СправочникПапкиФайловПереопределяемый.Родитель,
СправочникПапкиФайлов.Код, СправочникПапкиФайловПереопределяемый.Код,
СправочникПапкиФайлов.Наименование, СправочникПапкиФайловПереопределяемый.Наименование,
СправочникПапкиФайлов.Описание, СправочникПапкиФайловПереопределяемый.Описание,
СправочникПапкиФайлов.Ответственный, СправочникПапкиФайловПереопределяемый.Ответственный,
СправочникПапкиФайлов.ДатаСоздания, СправочникПапкиФайловПереопределяемый.ДатаСоздания,
СправочникПапкиФайлов.ДополнительныеРеквизиты,
Выбор Выбор
Когда ПометкаУдаления = Истина Тогда 1 Когда ПометкаУдаления = Истина Тогда 1
Иначе 0 Иначе 0
Конец как ИндексКартинки Конец как ИндексКартинки
ИЗ ИЗ
Справочник.ПапкиФайлов КАК СправочникПапкиФайлов</queryText> Справочник.ПапкиФайлов КАК СправочникПапкиФайловПереопределяемый</queryText>
<mainTable>Catalog.ПапкиФайлов</mainTable> <mainTable>Catalog.ПапкиФайлов</mainTable>
<dynamicDataRead>true</dynamicDataRead> <dynamicDataRead>true</dynamicDataRead>
<autoFillAvailableFields>true</autoFillAvailableFields> <autoFillAvailableFields>true</autoFillAvailableFields>
@@ -294,7 +294,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch> <fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="60018ee0-71ec-4975-a95d-f6f188748ff2"> <attributes uuid="60018ee0-71ec-4975-a95d-f6f188748ff2">
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="e770e26e-a3a4-487d-b3bb-aeb63d8b7323"> <attributes uuid="e770e26e-a3a4-487d-b3bb-aeb63d8b7323">
@@ -242,7 +242,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="ce61612f-bcbb-4a02-bca0-d88e0ee42bd7"> <attributes uuid="ce61612f-bcbb-4a02-bca0-d88e0ee42bd7">
@@ -634,6 +634,10 @@
<metadata>InformationRegister.УдалитьРейтингАктивностиОбластейДанных</metadata> <metadata>InformationRegister.УдалитьРейтингАктивностиОбластейДанных</metadata>
<use>DontUse</use> <use>DontUse</use>
</content> </content>
<content>
<metadata>InformationRegister.ЗемельныеУчастки</metadata>
<use>DontUse</use>
</content>
<content> <content>
<metadata>Constant.ЭтоАвтономноеРабочееМесто</metadata> <metadata>Constant.ЭтоАвтономноеРабочееМесто</metadata>
<use>DontUse</use> <use>DontUse</use>
@@ -120,6 +120,33 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ФормаГруппаЕще</name> <name>ФормаГруппаЕще</name>
<id>14</id> <id>14</id>
<items xsi:type="form:Button">
<name>ФормаПроверятьИмяСервера</name>
<id>10</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПроверятьИмяСервераРасширеннаяПодсказка</name>
<id>11</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПроверятьИмяСервера</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаСправкаВГруппе</name> <name>ФормаСправкаВГруппе</name>
<id>12</id> <id>12</id>
@@ -305,6 +332,41 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>ПроверятьИмяСервера</name>
<id>29</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ПроверятьИмяСервера</segments>
</dataPath>
<titleLocation>Right</titleLocation>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<extendedTooltip>
<name>ПроверятьИмяСервераРасширеннаяПодсказка</name>
<id>31</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПроверятьИмяСервераКонтекстноеМеню</name>
<id>30</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -389,6 +451,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПроверятьИмяСервера</name>
<title>
<key>ru</key>
<value>Проверять имя сервера</value>
</title>
<id>2</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ИнформационнаяБазаПеремещена</name> <name>ИнформационнаяБазаПеремещена</name>
<title> <title>
@@ -433,6 +512,28 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>ПроверятьИмяСервера</name>
<title>
<key>ru</key>
<value>Проверять имя сервера</value>
</title>
<id>3</id>
<toolTip>
<key>ru</key>
<value>Проверять имя сервера</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПроверятьИмяСервера</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands> <formCommands>
<name>ЗаписатьИЗакрыть</name> <name>ЗаписатьИЗакрыть</name>
<title> <title>
@@ -90,6 +90,7 @@
Если ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения) Тогда Если ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения) Тогда
Элементы.ФормаГруппаЕще.Видимость = Ложь; Элементы.ФормаГруппаЕще.Видимость = Ложь;
Иначе Иначе
Элементы.ФормаПроверятьИмяСервера.Пометка = ПараметрыБлокировки.ПроверятьИмяСервера;
Элементы.ФормаСправка.Видимость = Ложь; Элементы.ФормаСправка.Видимость = Ложь;
КонецЕсли; КонецЕсли;
@@ -97,6 +98,7 @@
Элементы.ГруппаПараметрыФормы.ТекущаяСтраница = Элементы.ГруппаПараметрыБлокировки; Элементы.ГруппаПараметрыФормы.ТекущаяСтраница = Элементы.ГруппаПараметрыБлокировки;
Элементы.НадписьПредупреждение.Видимость = Ложь; Элементы.НадписьПредупреждение.Видимость = Ложь;
Элементы.ЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина; Элементы.ЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина;
ПроверятьИмяСервера = ПараметрыБлокировки.ПроверятьИмяСервера;
Заголовок = НСтр("ru = 'Параметры блокировки работы с внешними ресурсами'"); Заголовок = НСтр("ru = 'Параметры блокировки работы с внешними ресурсами'");
КонецЕсли; КонецЕсли;
@@ -138,6 +140,12 @@
Закрыть(); Закрыть();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПроверятьИмяСервера(Команда)
ПараметрыБлокировки.ПроверятьИмяСервера = Не ПараметрыБлокировки.ПроверятьИмяСервера;
Элементы.ФормаПроверятьИмяСервера.Пометка = ПараметрыБлокировки.ПроверятьИмяСервера;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда) Процедура ЗаписатьИЗакрыть(Команда)
ЗаписатьИЗакрытьНаСервере(); ЗаписатьИЗакрытьНаСервере();
@@ -193,8 +201,11 @@
&НаСервере &НаСервере
Процедура ЗаписатьИЗакрытьНаСервере() Процедура ЗаписатьИЗакрытьНаСервере()
ПараметрыБлокировки.ПроверятьИмяСервера = ПроверятьИмяСервера;
ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки); ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки);
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения); Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -407,10 +407,15 @@
&НаСервере &НаСервере
Процедура СохранитьПараметрыОткрытия(ПереданныеПараметры) Процедура СохранитьПараметрыОткрытия(ПереданныеПараметры)
Представление = "";
Если Не ПустаяСтрока(ПереданныеПараметры.Представление) Тогда
Представление = СтрПолучитьСтроку(ПереданныеПараметры.Представление, 1);
КонецЕсли;
ПараметрыФормы.Добавить( ПереданныеПараметры.Адрес, "Адрес"); ПараметрыФормы.Добавить( ПереданныеПараметры.Адрес, "Адрес");
ПараметрыФормы.Добавить( ПереданныеПараметры.Контакт, "Контакт"); ПараметрыФормы.Добавить( ПереданныеПараметры.Контакт, "Контакт");
ПараметрыФормы.Добавить( ПереданныеПараметры.Предмет, "Предмет"); ПараметрыФормы.Добавить( ПереданныеПараметры.Предмет, "Предмет");
ПараметрыФормы.Добавить( ПереданныеПараметры.Представление, "Представление"); ПараметрыФормы.Добавить( Представление, "Представление");
ПараметрыФормы.Добавить( ПереданныеПараметры.ТолькоEmail, "ТолькоEmail"); ПараметрыФормы.Добавить( ПереданныеПараметры.ТолькоEmail, "ТолькоEmail");
ПараметрыФормы.Добавить( ПереданныеПараметры.ТолькоТелефон, "ТолькоТелефон"); ПараметрыФормы.Добавить( ПереданныеПараметры.ТолькоТелефон, "ТолькоТелефон");
ПараметрыФормы.Добавить( ПереданныеПараметры.ДляФормыУточненияКонтактов, "ДляФормыУточненияКонтактов"); ПараметрыФормы.Добавить( ПереданныеПараметры.ДляФормыУточненияКонтактов, "ДляФормыУточненияКонтактов");
@@ -297,10 +297,8 @@
&НаКлиенте &НаКлиенте
Процедура Настроить(Команда) Процедура Настроить(Команда)
Действие = ?(Не РежимНастройки, "ВходВРежимНастройки", "ВыходИзРежимаНастройки"); РежимНастройки = Не РежимНастройки;
Если ОбновитьПанельОтчетовНаКлиенте(Действие) Тогда ОбновитьПанельОтчетовНаКлиенте(?(РежимНастройки, "ВходВРежимНастройки", "ВыходИзРежимаНастройки"));
РежимНастройки = Не РежимНастройки;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -555,22 +555,6 @@
КонецЕсли; КонецЕсли;
ОбработатьИнтерфейсРолей("ЗаполнитьРоли", Запрос.Выполнить().Выгрузить()); ОбработатьИнтерфейсРолей("ЗаполнитьРоли", Запрос.Выполнить().Выгрузить());
Отбор = Новый Структура("Роль", "ПолныеПрава");
Если ПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0 Тогда
Отбор = Новый Структура("Роль", "АдминистраторСистемы");
Если ПрочитанныеРоли.НайтиСтроки(Отбор).Количество() > 0 Тогда
ПрочитанныеРоли.Очистить();
ПрочитанныеРоли.Добавить().Роль = "ПолныеПрава";
ПрочитанныеРоли.Добавить().Роль = "АдминистраторСистемы";
Иначе
ПрочитанныеРоли.Очистить();
ПрочитанныеРоли.Добавить().Роль = "ПолныеПрава";
КонецЕсли;
КонецЕсли;
ОбработатьИнтерфейсРолей("ОбновитьДеревоРолей"); ОбработатьИнтерфейсРолей("ОбновитьДеревоРолей");
КонецПроцедуры КонецПроцедуры
@@ -329,7 +329,7 @@
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокПриложений.ПрефиксКорреспондента"); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокПриложений.ПрефиксКорреспондента");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет); Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", "н/д"); Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'н/д'"));
// Особый цвет шрифта синхронизации, по которой не завершена настройка. // Особый цвет шрифта синхронизации, по которой не завершена настройка.
Элемент = УсловноеОформление.Элементы.Добавить(); Элемент = УсловноеОформление.Элементы.Добавить();
@@ -235,9 +235,9 @@
&НаКлиенте &НаКлиенте
Процедура ВыводитьЗаголовокПриИзменении(Элемент) Процедура ВыводитьЗаголовокПриИзменении(Элемент)
ПараметрыВывода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода; ПредопределенныеПараметры = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы;
ЭлементНастройки = ПараметрыВывода.Элементы.Найти("TITLE"); ЭлементНастройки = ПредопределенныеПараметры.Найти("TITLE");
ЭлементНастройки.Использование = ВыводитьЗаголовок; ЭлементНастройки.Использование = ВыводитьЗаголовок;
СинхронизироватьПредопределенныеПараметрыВывода(ВыводитьЗаголовок, ЭлементНастройки); СинхронизироватьПредопределенныеПараметрыВывода(ВыводитьЗаголовок, ЭлементНастройки);
@@ -246,9 +246,9 @@
&НаКлиенте &НаКлиенте
Процедура ВыводитьПараметрыИОтборыПриИзменении(Элемент) Процедура ВыводитьПараметрыИОтборыПриИзменении(Элемент)
ПараметрыВывода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода; ПредопределенныеПараметры = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы;
ЭлементНастройки = ПараметрыВывода.Элементы.Найти("DATAPARAMETERSOUTPUT"); ЭлементНастройки = ПредопределенныеПараметры.Найти("DATAPARAMETERSOUTPUT");
ЭлементНастройки.Использование = Истина; ЭлементНастройки.Использование = Истина;
Если ВыводитьПараметрыИОтборы Тогда Если ВыводитьПараметрыИОтборы Тогда
@@ -3396,9 +3396,11 @@
// Параметр вывода ВыводитьПараметры. // Параметр вывода ВыводитьПараметры.
Объект = ПредопределенныеПараметры.DATAPARAMETERSOUTPUT.Объект; Объект = ПредопределенныеПараметры.DATAPARAMETERSOUTPUT.Объект;
СвязанныйОбъект = ПредопределенныеПараметры.FILTEROUTPUT.Объект;
Строка = Оформление.ПолучитьЭлементы().Добавить(); Строка = Оформление.ПолучитьЭлементы().Добавить();
Строка.Использование = (Объект.Значение = ТипВыводаТекстаКомпоновкиДанных.Авто); Строка.Использование = (Объект.Значение <> ТипВыводаТекстаКомпоновкиДанных.НеВыводить
Или СвязанныйОбъект.Значение <> ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
Строка.Заголовок = НСтр("ru = 'Выводить параметры и отборы'"); Строка.Заголовок = НСтр("ru = 'Выводить параметры и отборы'");
Строка.Представление = НСтр("ru = 'Выводить параметры и отборы'"); Строка.Представление = НСтр("ru = 'Выводить параметры и отборы'");
Строка.Идентификатор = ПредопределенныеПараметры.DATAPARAMETERSOUTPUT.Идентификатор; Строка.Идентификатор = ПредопределенныеПараметры.DATAPARAMETERSOUTPUT.Идентификатор;
@@ -3484,16 +3486,16 @@
&НаКлиенте &НаКлиенте
Процедура СинхронизироватьПредопределенныеПараметрыВывода(Использование, ЭлементНастройки) Процедура СинхронизироватьПредопределенныеПараметрыВывода(Использование, ЭлементНастройки)
ПараметрыВывода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода; ПараметрыВывода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы;
Значение = ?(Использование, ТипВыводаТекстаКомпоновкиДанных.Авто, ТипВыводаТекстаКомпоновкиДанных.НеВыводить); Значение = ?(Использование, ТипВыводаТекстаКомпоновкиДанных.Авто, ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
Если ЭлементНастройки.Параметр = Новый ПараметрКомпоновкиДанных("Заголовок") Тогда Если ЭлементНастройки.Параметр = Новый ПараметрКомпоновкиДанных("Заголовок") Тогда
СвязанныйЭлементНастройки = ПараметрыВывода.Элементы.Найти("TITLEOUTPUT"); СвязанныйЭлементНастройки = ПараметрыВывода.Найти("TITLEOUTPUT");
СвязанныйЭлементНастройки.Использование = Истина; СвязанныйЭлементНастройки.Использование = Истина;
СвязанныйЭлементНастройки.Значение = Значение; СвязанныйЭлементНастройки.Значение = Значение;
ИначеЕсли ЭлементНастройки.Параметр = Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных") Тогда ИначеЕсли ЭлементНастройки.Параметр = Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных") Тогда
СвязанныйЭлементНастройки = ПараметрыВывода.Элементы.Найти("FILTEROUTPUT"); СвязанныйЭлементНастройки = ПараметрыВывода.Найти("FILTEROUTPUT");
ЗаполнитьЗначенияСвойств(СвязанныйЭлементНастройки, ЭлементНастройки, "Использование, Значение"); ЗаполнитьЗначенияСвойств(СвязанныйЭлементНастройки, ЭлементНастройки, "Использование, Значение");
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -6158,11 +6160,16 @@
&НаСервере &НаСервере
Процедура ИнициализироватьРеквизитыПредопределенныхПараметровВывода() Процедура ИнициализироватьРеквизитыПредопределенныхПараметровВывода()
Объект = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("TITLE"); ПредопределенныеПараметры = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы;
Объект = ПредопределенныеПараметры.Найти("TITLE");
ВыводитьЗаголовок = Объект.Использование; ВыводитьЗаголовок = Объект.Использование;
Объект = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("DATAPARAMETERSOUTPUT"); Объект = ПредопределенныеПараметры.Найти("DATAPARAMETERSOUTPUT");
ВыводитьПараметрыИОтборы = (Объект.Значение = ТипВыводаТекстаКомпоновкиДанных.Авто); СвязанныйОбъект = ПредопределенныеПараметры.Найти("FILTEROUTPUT");
ВыводитьПараметрыИОтборы = (Объект.Значение <> ТипВыводаТекстаКомпоновкиДанных.НеВыводить
Или СвязанныйОбъект.Значение <> ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -120,6 +120,7 @@
Если Не ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НастройкиОтчета, "ВыводитьСуммуВыделенныхЯчеек", Истина) Тогда Если Не ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НастройкиОтчета, "ВыводитьСуммуВыделенныхЯчеек", Истина) Тогда
Элементы.ГруппаПоказатель.Видимость = Ложь; Элементы.ГруппаПоказатель.Видимость = Ложь;
Элементы.ОбластьПоказателей.Видимость = Ложь; Элементы.ОбластьПоказателей.Видимость = Ложь;
Элементы.ГруппаВидыПоказателейЕще.Видимость = Ложь;
Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", ""); Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", "");
КонецЕсли; КонецЕсли;
@@ -223,6 +223,12 @@
Если Источник <> "Сервис1С" И ЗагруженныеАдресныеСведения.Получить(КодРегиона) <> Неопределено Если Источник <> "Сервис1С" И ЗагруженныеАдресныеСведения.Получить(КодРегиона) <> Неопределено
И ЗагруженныеАдресныеСведения.Получить(КодРегиона).ИспользоватьЗагруженные Тогда И ЗагруженныеАдресныеСведения.Получить(КодРегиона).ИспользоватьЗагруженные Тогда
УстановитьИдентификаторыАдресаПоЗагруженнымДанным(Адрес); УстановитьИдентификаторыАдресаПоЗагруженнымДанным(Адрес);
Если ЭтоГородФедеральногоЗначения(Адрес) = Истина
И ЭтоМуниципальныйАдрес(Адрес.addressType) Тогда
УстановитьИдентификаторыДляМуниципальногоАдреса(Адрес);
КонецЕсли;
ИначеЕсли ЗагруженныеАдресныеСведения.Получить("КлассификаторДоступен") = Истина Или Источник ="Сервис1С" Тогда ИначеЕсли ЗагруженныеАдресныеСведения.Получить("КлассификаторДоступен") = Истина Или Источник ="Сервис1С" Тогда
УстановитьИдентификаторыАдресаЧерезВебСервис(Адрес); УстановитьИдентификаторыАдресаЧерезВебСервис(Адрес);
КонецЕсли; КонецЕсли;
@@ -231,6 +237,47 @@
КонецПроцедуры КонецПроцедуры
Процедура УстановитьМуниципальныеСведения(Адрес, ОКТМО) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(АдресныеОбъекты.Идентификатор, """") КАК Идентификатор,
| ЕСТЬNULL(АдресныеОбъекты.Наименование, """") КАК Наименование,
| ЕСТЬNULL(АдресныеОбъекты.Сокращение, """") КАК Сокращение,
| ЕСТЬNULL(АдресныеОбъекты.Уровень, 0) КАК Уровень
|ИЗ
| РегистрСведений.ДополнительныеАдресныеСведения КАК ДополнительныеСведения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъекты
| ПО ДополнительныеСведения.Идентификатор = АдресныеОбъекты.ДополнительныеАдресныеСведения
|ГДЕ
| ДополнительныеСведения.ОКТМО = &ОКТМО
| И (АдресныеОбъекты.Уровень = &УровеньРайона
| ИЛИ АдресныеОбъекты.Уровень = &УровеньПоселения)";
Запрос.УстановитьПараметр("ОКТМО", ОКТМО);
Запрос.УстановитьПараметр("УровеньРайона", 31);
Запрос.УстановитьПараметр("УровеньПоселения", 41);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
СловарьИменПолей = СловарьКлючейПолейАдресВСоответствииСУровнем();
Для каждого ЗаписьУровня Из РезультатЗапроса.Выгрузить() Цикл
ИмяУровня = СловарьИменПолей[ЗаписьУровня.Уровень];
Адрес[ИмяУровня] = ЗаписьУровня.Наименование;
Адрес[ИмяУровня + "Type"] = ЗаписьУровня.Сокращение;
Адрес[ИмяУровня + "Id"] = ЗаписьУровня.Идентификатор;
КонецЦикла;
КонецПроцедуры
Функция РаспознатьАдрес(ЧастиАдреса, Представление, ВСтруктуру = Ложь) Экспорт Функция РаспознатьАдрес(ЧастиАдреса, Представление, ВСтруктуру = Ложь) Экспорт
ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ(); ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
@@ -684,6 +731,125 @@
КонецФункции КонецФункции
// Возвращает список номеров земельных участков по идентификатору адресного объекта, поиск по подобию.
//
// Параметры:
// ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Родительский объект.
// СтрокаПоиска - Строка - Текст, отбора в списке земельных участков.
//
// Возвращаемое значение:
// ТаблицаЗначений - найденные варианты.
//
Функция СписокЗемельныхУчастков(ИдентификаторАдресногоОбъекта, Знач СтрокаПоиска, ПорцияПриПоиске = 20) Экспорт
ВариантыЗемельныхУчастков = Новый ТаблицаЗначений;
ВариантыЗемельныхУчастков.Колонки.Добавить("Значение");
ВариантыЗемельныхУчастков.Колонки.Добавить("Представление", ОбщегоНазначения.ОписаниеТипаСтрока(250));
ВариантыЗемельныхУчастков.Колонки.Добавить("Идентификатор");
Если СтрЗаканчиваетсяНа(СтрокаПоиска, "%") Тогда
ТочноеСовпадение = Ложь;
СтрокаПоиска = Лев(СтрокаПоиска, СтрДлина(СтрокаПоиска) - 1);
Иначе
ТочноеСовпадение = Истина;
КонецЕсли;
ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
Если ЗагруженныеАдресныеСведения["ИспользоватьЗагруженные"] Тогда
СписокЗемельныхУчастковИзЗагруженныхСведений(ВариантыЗемельныхУчастков, ИдентификаторАдресногоОбъекта, СтрокаПоиска, ТочноеСовпадение);
КонецЕсли;
Если ВариантыЗемельныхУчастков.Количество() = 0 И ЗагруженныеАдресныеСведения["КлассификаторДоступен"] = Истина Тогда
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("selectStead?parentId=%1&limit=%2",
Строка(ИдентификаторАдресногоОбъекта), Формат(ПорцияПриПоиске, "ЧГ=0"));
Если ЗначениеЗаполнено(СтрокаПоиска) Тогда
ТекстGETЗапроса = ТекстGETЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("&text=%1",
СокрЛП(СтрокаПоиска));
КонецЕсли;
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
Если РезультатВебСервис.Отказ Тогда
Возврат ВариантыЗемельныхУчастков;
КонецЕсли;
НаименованиеЗданийИСтроений = НаименованиеВладенийИСтроений();
Для каждого СведенияОДоме Из РезультатВебСервис.Данные Цикл
ОписаниеДома = ОписаниеДома();
Если СведенияОДоме.buildings.Количество() > 0 Тогда
Для каждого СведенияОСтроении Из СведенияОДоме.buildings Цикл
Если СтрСравнить(СведенияОСтроении.Type, "Корпус") = 0 Тогда
ОписаниеДома.Корпус= СведенияОСтроении.Number;
Иначе
ОписаниеДома.НазваниеСтроения = СведенияОСтроении.Type;
ОписаниеДома.Строение = СведенияОСтроении.Number;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ОписаниеДома.Идентификатор = СведенияОДоме.id;
ОписаниеДома.Дом = СведенияОДоме.number;
ОписаниеДома.НазваниеВладения = СведенияОДоме.type;
ОписаниеДома.Индекс = Формат(СведенияОДоме.ZipCode, "ЧГ=0");
ОписаниеДома.ОКТМО = Формат(СведенияОДоме.oktmo, "ЧГ=0");
ОписаниеДома.ОКАТО = Формат(СведенияОДоме.okato, "ЧГ=0");
ОписаниеДома.КодИФНСФЛ = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0");
ОписаниеДома.КодИФНСЮЛ = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0");
ОписаниеДома.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0");
ОписаниеДома.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0");
ДобавитьИнформациюОДоме(ВариантыЗемельныхУчастков, ОписаниеДома, НаименованиеЗданийИСтроений, СтрокаПоиска);
КонецЦикла;
КонецЕсли;
ВариантыЗемельныхУчастков.Сортировать("Представление");
Возврат ВариантыЗемельныхУчастков;
КонецФункции
Процедура СписокЗемельныхУчастковИзЗагруженныхСведений(Знач ВариантыЗемельныхУчастков, Знач ИдентификаторАдресногоОбъекта, Знач СтрокаПоиска, Знач ТочноеСовпадение)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗемельныеУчастки.Участки КАК Участки,
| ЕСТЬNULL(ДополнительныеСведения.ОКТМО, """") КАК ОКТМО,
| ЕСТЬNULL(ДополнительныеСведения.ПочтовыйИндекс, """") КАК ПочтовыйИндекс,
| ЕСТЬNULL(ДополнительныеСведения.КодИФНСФЛ, """") КАК КодИФНСФЛ,
| ЕСТЬNULL(ДополнительныеСведения.КодИФНСЮЛ, """") КАК КодИФНСЮЛ,
| ЕСТЬNULL(ДополнительныеСведения.КодУчасткаИФНСФЛ, """") КАК КодУчасткаИФНСФЛ,
| ЕСТЬNULL(ДополнительныеСведения.КодУчасткаИФНСЮЛ, """") КАК КодУчасткаИФНСЮЛ,
| ЕСТЬNULL(ДополнительныеСведения.OKATO, """") КАК ОКАТО,
| ЕСТЬNULL(АдресныеОбъекты.КодКЛАДР, """") КАК КодКЛАДР
|ИЗ
| РегистрСведений.ЗемельныеУчастки КАК ЗемельныеУчастки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеАдресныеСведения КАК ДополнительныеСведения
| ПО (ДополнительныеСведения.Идентификатор = ЗемельныеУчастки.ДополнительныеАдресныеСведения)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК АдресныеОбъекты
| ПО (АдресныеОбъекты.Идентификатор = ЗемельныеУчастки.АдресныйОбъект)
|ГДЕ
| ЗемельныеУчастки.АдресныйОбъект = &АдресныйОбъект";
Запрос.УстановитьПараметр("АдресныйОбъект", ИдентификаторАдресногоОбъекта);
Запись = Запрос.Выполнить().Выбрать();
Пока Запись.Следующий() Цикл
Если ЗначениеЗаполнено(Запись.Участки) Тогда
Описание = Запись.Участки.Получить();
Если ЗначениеЗаполнено(Описание) Тогда
ИзвлечьСписокЗемельныхУчастков(Описание, СтрокаПоиска, ВариантыЗемельныхУчастков, Запись, ТочноеСовпадение);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
// Возвращает актуальные данные адресного объекта или ориентира с точностью доя подчиненного (без домов). // Возвращает актуальные данные адресного объекта или ориентира с точностью доя подчиненного (без домов).
// //
// Параметры: // Параметры:
@@ -718,7 +884,6 @@
КонецЕсли; КонецЕсли;
Если ЗагруженныеДанные = Истина Тогда Если ЗагруженныеДанные = Истина Тогда
ЗаполнитьАктуальныеАдресныеСведенияВнутр(Результат.Данные, СведенияОбАдресномОбъекте); ЗаполнитьАктуальныеАдресныеСведенияВнутр(Результат.Данные, СведенияОбАдресномОбъекте);
КонецЕсли; КонецЕсли;
@@ -927,7 +1092,7 @@
Если ЭтоКонтактнаяИнформацияВXML(Адрес) Тогда Если ЭтоКонтактнаяИнформацияВXML(Адрес) Тогда
АдресСтруктура = КонтактнаяИнформацияВСтруктуруJSON(Адрес); АдресСтруктура = КонтактнаяИнформацияВСтруктуруJSON(Адрес);
ИначеЕсли ЭтоКонтактнаяИнформацияВJSON(Адрес) Тогда ИначеЕсли ЭтоКонтактнаяИнформацияВJSON(Адрес) Тогда
АдресСтруктура = СтрокаJSONВСтруктуру(Адрес); АдресСтруктура = JSONВКонтактнуюИнформациюПоПолям(Адрес);
ИначеЕсли ЭтоКонтактнаяИнформацияВФорматеКлючЗначение(Адрес) Тогда ИначеЕсли ЭтоКонтактнаяИнформацияВФорматеКлючЗначение(Адрес) Тогда
АдресСтруктура = КонтактнаяИнформацияВФорматеКлючЗначениеВJSON(Адрес); АдресСтруктура = КонтактнаяИнформацияВФорматеКлючЗначениеВJSON(Адрес);
Иначе Иначе
@@ -1075,10 +1240,10 @@
КонецФункции КонецФункции
// Функция - Полные наименования сокращений. // Полные наименования сокращений.
// //
// Параметры: // Параметры:
// СоответствиеСокращений - Соответствие - сокращения адреса. // СоответствиеСокращений - Соответствие - сокращения адреса.
// //
Процедура ПолныеНаименованияСокращений(СоответствиеСокращений) Экспорт Процедура ПолныеНаименованияСокращений(СоответствиеСокращений) Экспорт
@@ -2211,6 +2376,20 @@
Данные = Результат.Данные; Данные = Результат.Данные;
Для Каждого ЭлементПроверки Из АдресаДляПроверки Цикл Для Каждого ЭлементПроверки Из АдресаДляПроверки Цикл
ОдиночнаяПроверка = АнализОдногоАдресаПоКлассификатору(ЭлементПроверки.Адрес); ОдиночнаяПроверка = АнализОдногоАдресаПоКлассификатору(ЭлементПроверки.Адрес);
Если ОдиночнаяПроверка.Ошибки.Количество() > 0
И ЭтоГородФедеральногоЗначения(ЭлементПроверки.Адрес)
И ЭтоМуниципальныйАдрес(ЭлементПроверки.Адрес.addressType) Тогда
Адрес = ОбщегоНазначения.СкопироватьРекурсивно(ЭлементПроверки.Адрес);
Адрес.munDistrict = "";
Адрес.munDistrictType = "";
Адрес.settlement = "";
Адрес.settlementType = "";
ОдиночнаяПроверка = АнализОдногоАдресаПоКлассификатору(Адрес);
КонецЕсли;
Данные.Добавить(ОдиночнаяПроверка); Данные.Добавить(ОдиночнаяПроверка);
КонецЦикла; КонецЦикла;
@@ -2374,7 +2553,7 @@
|ГДЕ |ГДЕ
| АдресныеОбъектыУровень0.Идентификатор = &Идентификатор"; | АдресныеОбъектыУровень0.Идентификатор = &Идентификатор";
Результат = ОписаниеАдреса(); Результат = ОписаниеНовойКонтактнойИнформации();
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ПредставлениеМуниципальный", МуниципальныйАдрес()); Запрос.УстановитьПараметр("ПредставлениеМуниципальный", МуниципальныйАдрес());
@@ -2423,6 +2602,10 @@
Индекс = Индекс - 1; Индекс = Индекс - 1;
КонецЦикла; КонецЦикла;
Если ЗначениеЗаполнено(СтрокаКодов.ОКТМО) Тогда
УстановитьМуниципальныеСведения(Результат, СтрокаКодов.ОКТМО);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Функция АктуальныеАдресДляИсторического(Адрес) Функция АктуальныеАдресДляИсторического(Адрес)
@@ -2608,66 +2791,6 @@
КонецФункции КонецФункции
Функция ОписаниеАдреса()
Результат = Новый Структура;
Результат.Вставить("value", "");
Результат.Вставить("comment", "");
Результат.Вставить("type", "Адрес");
Результат.Вставить("country", "");
Результат.Вставить("addressType", АдресВСвободнойФорме());
Результат.Вставить("countryCode", "");
Результат.Вставить("ZIPcode", "");
Результат.Вставить("area", "");
Результат.Вставить("areaType", "");
Результат.Вставить("city", "");
Результат.Вставить("cityType", "");
Результат.Вставить("street", "");
Результат.Вставить("streetType", "");
Результат.Вставить("id", "");
Результат.Вставить("areaCode", "");
Результат.Вставить("areaId", "");
Результат.Вставить("district", "");
Результат.Вставить("districtType", "");
Результат.Вставить("districtId", "");
Результат.Вставить("munDistrict", "");
Результат.Вставить("munDistrictType", "");
Результат.Вставить("munDistrictId", "");
Результат.Вставить("cityId", "");
Результат.Вставить("settlement", "");
Результат.Вставить("settlementType", "");
Результат.Вставить("settlementId", "");
Результат.Вставить("cityDistrict", "");
Результат.Вставить("cityDistrictType", "");
Результат.Вставить("cityDistrictId", "");
Результат.Вставить("territory", "");
Результат.Вставить("territoryType", "");
Результат.Вставить("territoryId", "");
Результат.Вставить("locality", "");
Результат.Вставить("localityType", "");
Результат.Вставить("localityId", "");
Результат.Вставить("streetId", "");
Результат.Вставить("houseType", "");
Результат.Вставить("houseNumber", "");
Результат.Вставить("houseId", "");
Результат.Вставить("buildings", Новый Массив);
Результат.Вставить("apartments", Новый Массив);
Результат.Вставить("codeKLADR", "");
Результат.Вставить("oktmo", "");
Результат.Вставить("okato", "");
Результат.Вставить("asInDocument", "");
Результат.Вставить("ifnsFLCode", "");
Результат.Вставить("ifnsULCode", "");
Результат.Вставить("ifnsFLAreaCode", "");
Результат.Вставить("ifnsULAreaCode", "");
Возврат Результат;
КонецФункции
Функция НайтиСтрокуСДомом(Знач Дома, Знач СведенияОДоме) Функция НайтиСтрокуСДомом(Знач Дома, Знач СведенияОДоме)
Для каждого ИнформацияОДомах Из Дома Цикл Для каждого ИнформацияОДомах Из Дома Цикл
@@ -3321,7 +3444,7 @@
Данные = Новый Массив; Данные = Новый Массив;
Если РезультатПроверки.КодСостояния = 200 Тогда Если РезультатПроверки.КодСостояния = 200 Тогда
ДанныеПроверки = СтрокаJSONВСтруктуру(ПолученныеДанные); ДанныеПроверки = СтрокуJSONВСтруктуру(ПолученныеДанные);
ИначеЕсли РезультатПроверки.КодСостояния = 400 Тогда ИначеЕсли РезультатПроверки.КодСостояния = 400 Тогда
@@ -3384,6 +3507,7 @@
ЗагружатьОднимНабором = Не ПараметрыЗагрузки.ЗагружатьПорциями; ЗагружатьОднимНабором = Не ПараметрыЗагрузки.ЗагружатьПорциями;
ЗагрузитьАдресныеОбъекты(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором); ЗагрузитьАдресныеОбъекты(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
ЗагрузитьДомаЗданияСтроения(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором); ЗагрузитьДомаЗданияСтроения(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
ЗагрузитьЗемельныеУчастки(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
Если ПараметрыЗагрузки.ЗагружатьИсториюАдресов Тогда Если ПараметрыЗагрузки.ЗагружатьИсториюАдресов Тогда
ЗагрузитьИсториюАдресныхОбъектов(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором); ЗагрузитьИсториюАдресныхОбъектов(СубъектРФ, КаталогФайлов, ЗагружатьОднимНабором);
@@ -3598,8 +3722,7 @@
Функция АдресДляСохраненияВБазе(Адрес, Муниципальный = Истина) Функция АдресДляСохраненияВБазе(Адрес, Муниципальный = Истина)
Результат = ОписаниеАдреса(); Результат = ОписаниеНовойКонтактнойИнформации();
ЗаполнитьЗначенияСвойств(Результат, Адрес); ЗаполнитьЗначенияСвойств(Результат, Адрес);
Для Каждого ПолеАдреса Из Результат Цикл Для Каждого ПолеАдреса Из Результат Цикл
@@ -3868,7 +3991,7 @@
Возврат Результат; Возврат Результат;
ИначеЕсли Не РегионЗагруженВАдресныеСведения.Загружен Тогда ИначеЕсли Не РегионЗагруженВАдресныеСведения.Загружен Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ", ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СубъектРФ",
НСтр("ru = 'Отсутствуют адресные сведения по региону'") + ": " + Адрес.Area + " " + Адрес.AreaType + "."); НСтр("ru = 'Отсутствуют адресные сведения по региону'") + ": " + Адрес.Area + " " + Адрес.AreaType);
Результат.АдресПроверен = Ложь; Результат.АдресПроверен = Ложь;
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
@@ -4224,27 +4347,17 @@
ПочтовыйИндекс = ИнформацияОДомах.ПочтовыйИндекс; ПочтовыйИндекс = ИнформацияОДомах.ПочтовыйИндекс;
Прервать; Прервать;
Иначе Иначе
// дома совал полностью, но владения и корпус нет
ТекстПроСтроения = "";
Разделитель = "";
Если ЗначениеЗаполнено(Корпус) Тогда
ТекстПроСтроения = НСтр("ru='корпус'") + " " + Корпус;
Разделитель = ", ";
КонецЕсли;
Если ЗначениеЗаполнено(Строение) Тогда
ТекстПроСтроения = ТекстПроСтроения + Разделитель + НазваниеСтроения + " " + Строение;
КонецЕсли;
// дома совпал, но корпус или строение отличается
НовыйВариант = ПохожиеВарианты.Добавить(); НовыйВариант = ПохожиеВарианты.Добавить();
НовыйВариант.Дом = НРег(НазваниеВладения) + " " + Дом + ?(ПустаяСтрока(ТекстПроСтроения), "", ", " + ТекстПроСтроения); НовыйВариант.Дом = ПредставлениеДомаИСтроений(НазваниеВладения, Дом, Корпус, НазваниеСтроения, Строение);
КонецЕсли; КонецЕсли;
Иначе Иначе
// номер дома совал, но тип нет // тип дома не совпал
ТекстПроДом = НРег(НазваниеВладения) + " " + Дом; ТекстПроДом = НРег(НазваниеВладения) + " """ + Дом + """";
Если ПохожиеВарианты.Найти(ТекстПроДом, "Дом") = Неопределено Тогда Если ПохожиеВарианты.Найти(ТекстПроДом, "Дом") = Неопределено Тогда
НовыйВариант = ПохожиеВарианты.Добавить(); НовыйВариант = ПохожиеВарианты.Добавить();
НовыйВариант.Дом = ТекстПроДом; НовыйВариант.Дом = ТекстПроДом;
@@ -4269,37 +4382,47 @@
Если НЕ ДомаКорректный Тогда Если НЕ ДомаКорректный Тогда
ПолеСОшибкой = ?(ЗначениеЗаполнено(НомерДомаАдрес), "Дом", "Строение"); ПолеСОшибкой = ?(ЗначениеЗаполнено(НомерДомаАдрес), "Дом", "Строение");
НаборПредставлениеДома = Новый Массив;
Если ЗначениеЗаполнено(НомерДомаАдрес) Тогда
НаборПредставлениеДома.Добавить(Строка(ТипДомаАдрес) + " "+ НомерДомаАдрес);
КонецЕсли;
Если ЗначениеЗаполнено(НомерКорпусаАдрес) Тогда
НаборПредставлениеДома.Добавить(НСтр("ru='Корпус'") + " " + НомерКорпусаАдрес);
КонецЕсли;
Если ЗначениеЗаполнено(НомерСтроенияАдрес) Тогда
НаборПредставлениеДома.Добавить(Строка(ТипСтроенияАдрес) + " " + НомерСтроенияАдрес);
КонецЕсли;
ПредставлениеДома = СтрСоединить(НаборПредставлениеДома, ", ");
Подсказка = ""; ПредставлениеДома = ПредставлениеДомаИСтроений(ТипДомаАдрес, НомерДомаАдрес, НомерКорпусаАдрес, ТипСтроенияАдрес, НомерСтроенияАдрес);
Если ПохожиеВарианты.Количество() = 1 Тогда ПредставлениеДома = ВРег(Лев(ПредставлениеДома, 1)) + Сред(ПредставлениеДома, 2);
Подсказка = ", " + НСтр("ru = 'но есть'") + " " + """" + ПохожиеВарианты[0].Дом + """.";
ИначеЕсли ПохожиеВарианты.Количество() > 1 Тогда Если ПохожиеВарианты.Количество() > 0 Тогда
ПервоеЗначение = ПохожиеВарианты[0].Дом;
Если ПохожиеВарианты.Количество() = 2 Тогда ПервыйВариант = ПохожиеВарианты[0].Дом;
Подсказка = НСтр("ru = 'но есть ""%1"" или ""%2"".'");
ВтороеЗначение = ПохожиеВарианты[1].Дом; Если ПохожиеВарианты.Количество() = 1 Тогда
ТекстПодсказки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'но есть %1'"), ПервыйВариант);
Иначе Иначе
Подсказка = НСтр("ru = 'но есть ""%1"" и другие варианты(%2).'");
ВтороеЗначение = Строка(ПохожиеВарианты.Количество() - 1); Если ПохожиеВарианты.Количество() = 2 Тогда
ШаблонПодсказки = НСтр("ru = 'но есть %1 или %2'");
ВторойВариант = ПохожиеВарианты[1].Дом;
Иначе
ШаблонПодсказки = НСтр("ru = 'но есть %1 и другие варианты (%2)'");
ВторойВариант = Формат(ПохожиеВарианты.Количество() - 1, "ЧГ=0");
КонецЕсли;
ТекстПодсказки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПодсказки, ПервыйВариант, ВторойВариант);
КонецЕсли; КонецЕсли;
Подсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(", " + Подсказка, ПервоеЗначение, ВтороеЗначение);
ТекстПодсказки = ", " + ТекстПодсказки;
Иначе Иначе
Подсказка = ".";
ТекстПодсказки = "";
КонецЕсли; КонецЕсли;
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, ПолеСОшибкой, ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, ПолеСОшибкой,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" отсутствует в ФИАС%2'"), ПредставлениеДома, Подсказка)); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 отсутствует в ФИАС%2'"),
ПредставлениеДома, ТекстПодсказки));
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
@@ -4321,6 +4444,27 @@
КонецФункции КонецФункции
Функция ПредставлениеДомаИСтроений(Знач НазваниеВладения, Знач Дом, Знач Корпус, Знач НазваниеСтроения, Знач Строение)
СписокСтроений = Новый Массив;
Шаблон = "%1 ""%2""";
Если ЗначениеЗаполнено(Дом) Тогда
СписокСтроений.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, НРег(НазваниеВладения), Дом));
КонецЕсли;
Если ЗначениеЗаполнено(Корпус) Тогда
СписокСтроений.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, НСтр("ru='корпус'"), Корпус));
КонецЕсли;
Если ЗначениеЗаполнено(Строение) Тогда
СписокСтроений.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, НРег(НазваниеСтроения), Строение));
КонецЕсли;
Возврат СтрСоединить(СписокСтроений, ", ");
КонецФункции
Функция ДанныеУровняКорректные(Знач Адрес, Знач ИмяУровня, Знач ПредставлениеУровня, Знач АдресСтрока, Знач КакиеУровниПроверять, Знач ОшибкиПроверки) Функция ДанныеУровняКорректные(Знач Адрес, Знач ИмяУровня, Знач ПредставлениеУровня, Знач АдресСтрока, Знач КакиеУровниПроверять, Знач ОшибкиПроверки)
Если КакиеУровниПроверять[ИмяУровня] <> Неопределено И ПустаяСтрока(АдресСтрока["НаименованиеУровень" + КакиеУровниПроверять[ИмяУровня]]) Тогда Если КакиеУровниПроверять[ИмяУровня] <> Неопределено И ПустаяСтрока(АдресСтрока["НаименованиеУровень" + КакиеУровниПроверять[ИмяУровня]]) Тогда
@@ -4335,17 +4479,20 @@
КонецФункции КонецФункции
Функция СтруктураКодовАдреса() Функция СтруктураКодовАдреса()
Коды = Новый Структура(); Коды = Новый Структура();
Коды.Вставить("КодКЛАДР"); Коды.Вставить("КодКЛАДР", "");
Коды.Вставить("Идентификатор"); Коды.Вставить("Идентификатор", "");
Коды.Вставить("ОКАТО"); Коды.Вставить("ИдентификаторДома", "");
Коды.Вставить("ОКТМО"); Коды.Вставить("ОКАТО", "");
Коды.Вставить("КодИФНСФЛ"); Коды.Вставить("ОКТМО", "");
Коды.Вставить("КодИФНСЮЛ"); Коды.Вставить("КодИФНСФЛ", "");
Коды.Вставить("КодУчасткаИФНСФЛ"); Коды.Вставить("КодИФНСЮЛ", "");
Коды.Вставить("КодУчасткаИФНСЮЛ"); Коды.Вставить("КодУчасткаИФНСФЛ", "");
Коды.Вставить("КодУчасткаИФНСЮЛ", "");
Возврат Коды; Возврат Коды;
КонецФункции КонецФункции
Функция СтруктураКодовКЛАДРПоУровням() Функция СтруктураКодовКЛАДРПоУровням()
@@ -5657,6 +5804,64 @@
КонецПроцедуры КонецПроцедуры
Процедура ЗагрузитьЗемельныеУчастки(КодСубъектаРФ, КаталогФайлов, ЗагружатьОднимНабором)
Сжатие = Новый СжатиеДанных(9);
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, "STEAD", "Steads");
ТекущаяЗапись = ФайлЗагрузки.ФайлЧтения;
Набор = РегистрыСведений.ЗемельныеУчастки.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
Замещать = Истина;
КоличествоЗаписейВНаборе = 0;
РазмерПорции = МаксимальныйРазмерНабораЗаписей();
Попытка
Пока ТекущаяЗапись.Прочитать() Цикл
Если ТекущаяЗапись.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
Продолжить;
КонецЕсли;
Запись = Набор.Добавить();
Запись.КодСубъектаРФ = КодСубъектаРФ;
Запись.АдресныйОбъект = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("PARENTGUID"));
Запись.ДополнительныеАдресныеСведения = УникальныйИдентификаторИзСтроки64(ТекущаяЗапись.ЗначениеАтрибута("EXTRAGUID"));
Запись.Участки = Новый ХранилищеЗначения(ТекущаяЗапись.ЗначениеАтрибута("NUMBER"), Сжатие);
Если ЗагружатьОднимНабором Тогда
Продолжить;
КонецЕсли;
Если КоличествоЗаписейВНаборе < РазмерПорции Тогда
КоличествоЗаписейВНаборе = КоличествоЗаписейВНаборе + 1;
Продолжить;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(Набор, Замещать);
Замещать = Ложь;
КоличествоЗаписейВНаборе = 0;
Набор = РегистрыСведений.ЗемельныеУчастки.СоздатьНаборЗаписей();
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
КонецЦикла;
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(Набор, Замещать);
ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки);
Исключение
ЗакрытьФайлЗагрузкиСубъектаРФ(ФайлЗагрузки);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура ЗагрузитьДополнительныеСведения(КодСубъектаРФ, КаталогФайлов, ЗагружатьИсториюИзменений) Процедура ЗагрузитьДополнительныеСведения(КодСубъектаРФ, КаталогФайлов, ЗагружатьИсториюИзменений)
Набор = РегистрыСведений.ДополнительныеАдресныеСведения.СоздатьНаборЗаписей(); Набор = РегистрыСведений.ДополнительныеАдресныеСведения.СоздатьНаборЗаписей();
@@ -6203,7 +6408,7 @@
Если Результат.КодСостояния = 200 Тогда Если Результат.КодСостояния = 200 Тогда
ПолученныеДанные = Ответ.ПолучитьТелоКакСтроку("UTF-8"); ПолученныеДанные = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Результат.Данные = СтрокаJSONВСтруктуру(ПолученныеДанные); Результат.Данные = СтрокуJSONВСтруктуру(ПолученныеДанные);
Иначе Иначе
@@ -6270,7 +6475,18 @@
КонецФункции КонецФункции
Функция СтрокаJSONВСтруктуру(Значение) Функция JSONВКонтактнуюИнформациюПоПолям(Значение)
Результат = ОписаниеНовойКонтактнойИнформации();
КонтактнаяИнформация = СтрокуJSONВСтруктуру(Значение);
ЗаполнитьЗначенияСвойств(Результат, КонтактнаяИнформация);
Возврат Результат;
КонецФункции
Функция СтрокуJSONВСтруктуру(Значение)
ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Значение); ЧтениеJSON.УстановитьСтроку(Значение);
@@ -6381,6 +6597,8 @@
Результат.Вставить("houseType", ""); Результат.Вставить("houseType", "");
Результат.Вставить("houseNumber", ""); Результат.Вставить("houseNumber", "");
Результат.Вставить("houseId", ""); Результат.Вставить("houseId", "");
Результат.Вставить("stead", "");
Результат.Вставить("steadId", "");
Результат.Вставить("buildings", Новый Массив); Результат.Вставить("buildings", Новый Массив);
Результат.Вставить("apartments", Новый Массив); Результат.Вставить("apartments", Новый Массив);
Результат.Вставить("codeKLADR", ""); Результат.Вставить("codeKLADR", "");
@@ -6549,7 +6767,8 @@
Результат.Comment = XDTOАдрес.Комментарий; Результат.Comment = XDTOАдрес.Комментарий;
КонецЕсли; КонецЕсли;
ИначеЕсли ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда ИначеЕсли ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
Результат = СтрокаJSONВСтруктуру(КонтактнаяИнформация); АдресИзJSON = JSONВКонтактнуюИнформациюПоПолям(КонтактнаяИнформация);
ЗаполнитьЗначенияСвойств(Результат, АдресИзJSON);
УстановитьИдентификаторыАдреса(Результат); УстановитьИдентификаторыАдреса(Результат);
Возврат Результат; Возврат Результат;
Иначе Иначе
@@ -7302,6 +7521,103 @@
Возврат 3000; Возврат 3000;
КонецФункции КонецФункции
Функция ЭтоГородФедеральногоЗначения(Адрес)
Город = СокрЛП(Адрес.Area + " " + Адрес.AreaType);
НазванияГородовФедеральногоЗначения = НазванияГородовФедеральногоЗначения();
Возврат НазванияГородовФедеральногоЗначения.Получить(ВРег(Город)) = Истина;
КонецФункции
// Возвращает массив наименований регионов - городов федерального значения.
Функция НазванияГородовФедеральногоЗначения()
Результат = Новый Соответствие;
Результат.Вставить("МОСКВА Г", Истина);
Результат.Вставить("САНКТ-ПЕТЕРБУРГ Г", Истина);
Результат.Вставить("СЕВАСТОПОЛЬ Г", Истина);
Результат.Вставить("БАЙКОНУР Г", Истина);
Возврат Результат;
КонецФункции
Функция ОписаниеЗемельногоУчастка()
ОписаниеДома = Новый Структура;
ОписаниеДома.Вставить("Номер", "");
ОписаниеДома.Вставить("Идентификатор");
ОписаниеДома.Вставить("Индекс", "");
ОписаниеДома.Вставить("ОКТМО", "");
ОписаниеДома.Вставить("ОКАТО", "");
ОписаниеДома.Вставить("КодИФНСФЛ", "");
ОписаниеДома.Вставить("КодИФНСЮЛ", "");
ОписаниеДома.Вставить("КодУчасткаИФНСФЛ", "");
ОписаниеДома.Вставить("КодУчасткаИФНСЮЛ", "");
ОписаниеДома.Вставить("КодКЛАДР", "");
Возврат ОписаниеДома;
КонецФункции
// Извлекает список земельных участков из регистра сведений ЗемельныеУчастки.
//
Процедура ИзвлечьСписокЗемельныхУчастков(СтрокаСоСпискомУчастков, СтрокаПоиска, ВариантыЗемельныхУчастков, Запись, ТочноеСовпадение)
МассивУчастков = СтрРазделить(СтрокаСоСпискомУчастков, Символы.Таб, Ложь);
ПодборВариантовЗемельныхУчастков = ЗначениеЗаполнено(СтрокаПоиска);
Для каждого Участок Из МассивУчастков Цикл
НомерУчастка = СтрРазделить(Сред(Участок, 25), "~", Истина);
ОписаниеУчастка = ОписаниеЗемельногоУчастка();
ОписаниеУчастка.Номер = НомерУчастка[0];
ОписаниеУчастка.Идентификатор = УникальныйИдентификаторИзСтроки64(Лев(Участок, 24));
ОписаниеУчастка.Индекс = Формат(Запись.ПочтовыйИндекс, "ЧГ=0");
ОписаниеУчастка.ОКТМО = Формат(Запись.ОКТМО, "ЧГ=0");
ОписаниеУчастка.ОКАТО = Формат(Запись.ОКАТО, "ЧГ=0");
ОписаниеУчастка.КодИФНСФЛ = Формат(Запись.КодИФНСФЛ, "ЧГ=0");
ОписаниеУчастка.КодИФНСЮЛ = Формат(Запись.КодИФНСЮЛ, "ЧГ=0");
ОписаниеУчастка.КодУчасткаИФНСФЛ = Формат(Запись.КодУчасткаИФНСФЛ, "ЧГ=0");
ОписаниеУчастка.КодУчасткаИФНСЮЛ = Формат(Запись.КодУчасткаИФНСЮЛ, "ЧГ=0");
ОписаниеУчастка.КодКЛАДР = Формат(Запись.КодКЛАДР, "ЧГ=0");
Если ПодборВариантовЗемельныхУчастков Тогда
Если ТочноеСовпадение И СтрСравнить(ОписаниеУчастка.Номер, СтрокаПоиска) = 0 Тогда
ЗемельныйУчасток = ВариантыЗемельныхУчастков.Добавить();
ЗемельныйУчасток.Представление = НомерУчастка[0];
ЗемельныйУчасток.Значение = ОписаниеУчастка;
ИначеЕсли СтрНачинаетсяС(ОписаниеУчастка.Номер, СтрокаПоиска) Тогда
ЗемельныйУчасток = ВариантыЗемельныхУчастков.Добавить();
ЗемельныйУчасток.Представление = НомерУчастка[0];
ЗемельныйУчасток.Значение = ОписаниеУчастка;
КонецЕсли;
Иначе
ЗемельныйУчасток = ВариантыЗемельныхУчастков.Добавить();
ЗемельныйУчасток.Представление = НомерУчастка[0];
ЗемельныйУчасток.Значение = ОписаниеУчастка;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура УстановитьИдентификаторыДляМуниципальногоАдреса(Адрес)
КопияАдреса = ОбщегоНазначения.СкопироватьРекурсивно(Адрес);
КопияАдреса.munDistrict = "";
КопияАдреса.munDistrictType = "";
КопияАдреса.settlement = "";
КопияАдреса.settlementType = "";
УстановитьИдентификаторыАдресаПоЗагруженнымДанным(КопияАдреса);
ЗаполнитьЗначенияСвойств(Адрес, КопияАдреса, "cityDistrictId,localityId,territoryId,
|streetId, houseId, steadId");
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -2495,31 +2495,28 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
// Заполним поле представление.
Если ПустаяСтрока(Представление) Тогда
Представление = ?(ЗначениеЗаполнено(Контакт), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контакт,"Наименование"),"");
КонецЕсли;
// Для всех типов кроме электронной почты. // Для всех типов кроме электронной почты.
Если ТипКонтактнойИнформации <> Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда Если ТипКонтактнойИнформации <> Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
Если ПустаяСтрока(Адрес) Тогда Если ПустаяСтрока(Адрес) Тогда
ВзаимодействияВызовСервера.ПредставлениеИВсяКонтактнаяИнформациюКонтакта( ВзаимодействияВызовСервера.ПредставлениеИВсяКонтактнаяИнформациюКонтакта(
Контакт, "", Адрес, ТипКонтактнойИнформации); Контакт, Представление, Адрес, ТипКонтактнойИнформации);
КонецЕсли; КонецЕсли;
Возврат;
КонецЕсли; Иначе
// Для адреса электронной почты проверим, введен он или нет. // Для адреса электронной почты проверим, введен он или нет.
Если СтрНайти(Адрес, "@") <> 0 Тогда Если СтрНайти(Адрес, "@") <> 0 Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Адреса = ВзаимодействияВызовСервера.НаименованиеИАдресаЭлектроннойПочтыКонтакта(Контакт);
Если Адреса <> Неопределено И Адреса.Адреса.Количество() > 0 Тогда
Элемент = Адреса.Адреса.Получить(0);
Адрес = Элемент.Значение;
Представление = Адреса.Наименование;
КонецЕсли;
Адреса = ВзаимодействияВызовСервера.НаименованиеИАдресаЭлектроннойПочтыКонтакта(Контакт);
Если Адреса <> Неопределено И Адреса.Адреса.Количество() > 0 Тогда
Элемент = Адреса.Адреса.Получить(0);
Адрес = Элемент.Значение;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1303,7 +1303,25 @@
// //
Процедура ЗавершитьНастройкуСинхронизацииДанных(УзелОбмена) Экспорт Процедура ЗавершитьНастройкуСинхронизацииДанных(УзелОбмена) Экспорт
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.УстановитьПризнакНастройкаЗавершена(УзелОбмена); Если УзелОбмена = ПланыОбмена[ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена)].ЭтотУзел() Тогда
Возврат;
КонецЕсли;
НачатьТранзакцию();
Попытка
Если Не НастройкаСинхронизацииЗавершена(УзелОбмена) Тогда
// Изменения, зарегистрированные до момента завершения настройки синхронизации,
// являются некорректными, т.к. еще не были установлены отборы.
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена);
КонецЕсли;
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.УстановитьПризнакНастройкаЗавершена(УзелОбмена);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры КонецПроцедуры
@@ -2602,7 +2620,7 @@
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда
ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена); ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена);
Если СтрДлина(КодУзла) = 2 Если СтрДлина(КодУзла) < 9
И Не ПустаяСтрока(ПрефиксыУзла.Префикс) Тогда И Не ПустаяСтрока(ПрефиксыУзла.Префикс) Тогда
// В качестве кода для целей идентификации при обмене использует префикс, // В качестве кода для целей идентификации при обмене использует префикс,
// установленный при создании настройки подключения. // установленный при создании настройки подключения.
@@ -2621,7 +2639,7 @@
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда
ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена); ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена);
Если СтрДлина(КодУзла) = 2 Если СтрДлина(КодУзла) < 9
И Не ПустаяСтрока(ПрефиксыУзла.ПрефиксКорреспондента) Тогда И Не ПустаяСтрока(ПрефиксыУзла.ПрефиксКорреспондента) Тогда
// В качестве кода для целей идентификации при обмене использует префикс, // В качестве кода для целей идентификации при обмене использует префикс,
// установленный при создании настройки подключения. // установленный при создании настройки подключения.
@@ -5235,6 +5253,17 @@
СтруктураНастроекОбменаВнешнееСоединение.Вставить("ЭтоОбменВРИБ", Ложь); СтруктураНастроекОбменаВнешнееСоединение.Вставить("ЭтоОбменВРИБ", Ложь);
СтруктураНастроекОбменаВнешнееСоединение.Вставить("НастройкаСинхронизацииДанныхЗавершена", Ложь);
СтруктураНастроекОбменаВнешнееСоединение.Вставить("ПолученоСообщениеДляСопоставленияДанных", Ложь);
СтруктураНастроекОбменаВнешнееСоединение.Вставить("ПоддерживаетсяСопоставлениеДанных", Истина);
Если ЗначениеЗаполнено(УзелИнформационнойБазы) Тогда
СтруктураНастроекОбменаВнешнееСоединение.НастройкаСинхронизацииДанныхЗавершена = НастройкаСинхронизацииЗавершена(УзелИнформационнойБазы);
СтруктураНастроекОбменаВнешнееСоединение.ПолученоСообщениеДляСопоставленияДанных = ПолученоСообщениеСДаннымиДляСопоставления(УзелИнформационнойБазы);
СтруктураНастроекОбменаВнешнееСоединение.ПоддерживаетсяСопоставлениеДанных = ЗначениеНастройкиПланаОбмена(Структура.ИмяПланаОбмена,
"ПоддерживаетсяСопоставлениеДанных", СохраненныйВариантНастройкиУзлаПланаОбмена(УзелИнформационнойБазы));
КонецЕсли;
Возврат СтруктураНастроекОбменаВнешнееСоединение; Возврат СтруктураНастроекОбменаВнешнееСоединение;
КонецФункции КонецФункции
@@ -5718,6 +5747,42 @@
Возврат; Возврат;
КонецПопытки; КонецПопытки;
Если СтруктураНастроекОбменаВнешнееСоединение.Свойство("НастройкаСинхронизацииДанныхЗавершена") Тогда
Если Не СообщениеДляСопоставленияДанных
И СтруктураНастроекОбменаВнешнееСоединение.НастройкаСинхронизацииДанныхЗавершена = Ложь Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и завершить в ней настройку синхронизации.
|Выполнение обмена данными отменено.'"),
СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазыНаименование);
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Отменено;
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
Если СтруктураНастроекОбменаВнешнееСоединение.Свойство("ПолученоСообщениеДляСопоставленияДанных") Тогда
Если Не СообщениеДляСопоставленияДанных
И СтруктураНастроекОбменаВнешнееСоединение.ПолученоСообщениеДляСопоставленияДанных = Истина Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и выполнить загрузку сообщения для сопоставления данных.
|Выполнение обмена данными отменено.'"),
СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазыНаименование);
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Отменено;
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено; СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
СтруктураНастроекОбменаВнешнееСоединение.ДатаНачала = ВнешнееСоединение.ТекущаяДатаСеанса(); СтруктураНастроекОбменаВнешнееСоединение.ДатаНачала = ВнешнееСоединение.ТекущаяДатаСеанса();
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.2.156"; Описание.Версия = "3.0.2.164";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1387,6 +1387,13 @@
Обработчик.Процедура = "ОбновлениеИнформационнойБазыСлужебный.ЗаполнитьРеквизитЭтоОсновнаяКонфигурация"; Обработчик.Процедура = "ОбновлениеИнформационнойБазыСлужебный.ЗаполнитьРеквизитЭтоОсновнаяКонфигурация";
Обработчик.ОбщиеДанные = Истина; Обработчик.ОбщиеДанные = Истина;
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.2.160";
Обработчик.Процедура = "ОбновлениеИнформационнойБазыСлужебный.УстановитьКлючРегламентногоЗадания";
Обработчик.РежимВыполнения = "Оперативно";
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов. // См. ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов.
@@ -4657,6 +4664,24 @@
КонецПроцедуры КонецПроцедуры
// Устанавливает ключ регламентного задания ОтложенноеОбновлениеИБ.
//
Процедура УстановитьКлючРегламентногоЗадания() Экспорт
Отбор = Новый Структура;
Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.ОтложенноеОбновлениеИБ);
Отбор.Вставить("Предопределенное", Истина);
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Если ЗначениеЗаполнено(Задание.Ключ) Тогда
Продолжить;
КонецЕсли;
Задание.Ключ = Метаданные.РегламентныеЗадания.ОтложенноеОбновлениеИБ.Ключ;
Задание.Записать();
КонецЦикла;
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
@@ -1161,7 +1161,10 @@
Функция ОбщийМодуль(Имя) Экспорт Функция ОбщийМодуль(Имя) Экспорт
Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
Модуль = Вычислить(Имя); // ВычислитьВБезопасномРежиме не требуется, т.к. проверка надежная. // АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
УстановитьБезопасныйРежим(Истина);
Модуль = Вычислить(Имя);
// АПК:488-вкл
ИначеЕсли СтрЧислоВхождений(Имя, ".") = 1 Тогда ИначеЕсли СтрЧислоВхождений(Имя, ".") = 1 Тогда
Возврат СерверныйМодульМенеджера(Имя); Возврат СерверныйМодульМенеджера(Имя);
Иначе Иначе
@@ -1169,7 +1172,9 @@
КонецЕсли; КонецЕсли;
Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Общий модуль ""%1"" не найден.'"), Имя); ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Общий модуль ""%1"" не найден.'"),
Имя);
КонецЕсли; КонецЕсли;
Возврат Модуль; Возврат Модуль;
@@ -7879,10 +7884,14 @@
Если Не ОбъектНайден Тогда Если Не ОбъектНайден Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Объект метаданных ""%1"" не найден, НСтр("ru = 'Объект метаданных ""%1"" не найден,
|либо для него не поддерживается получение модуля менеджера.'"), Имя); |либо для него не поддерживается получение модуля менеджера.'"),
Имя);
КонецЕсли; КонецЕсли;
Модуль = Вычислить(Имя); // ВычислитьВБезопасномРежиме не требуется, т.к. проверка надежная. // АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
УстановитьБезопасныйРежим(Истина);
Модуль = Вычислить(Имя);
// АПК:488-вкл
Возврат Модуль; Возврат Модуль;
КонецФункции КонецФункции
@@ -260,6 +260,10 @@
// отличается от ожидаемого. // отличается от ожидаемого.
// Для быстрой диагностики типов параметров, передаваемых в процедуры и функции программного интерфейса. // Для быстрой диагностики типов параметров, передаваемых в процедуры и функции программного интерфейса.
// //
// В связи с особенностью реализации ОписанияТипов всегда включает в себя тип <Неопределено>.
// если требуется жесткая проверка типа, используйте в параметре ОжидаемыеТипы
// конкретный тип, массив или соответствие типов.
//
// Параметры: // Параметры:
// ИмяПроцедурыИлиФункции - Строка - имя процедуры или функции, параметр которой проверяется. // ИмяПроцедурыИлиФункции - Строка - имя процедуры или функции, параметр которой проверяется.
// ИмяПараметра - Строка - имя проверяемого параметра процедуры или функции. // ИмяПараметра - Строка - имя проверяемого параметра процедуры или функции.
@@ -3809,7 +3813,7 @@
Если ТипЗнч(ОжидаемыеТипы) = Тип("ОписаниеТипов") Тогда Если ТипЗнч(ОжидаемыеТипы) = Тип("ОписаниеТипов") Тогда
Возврат ОжидаемыеТипы.Типы().Найти(ТипЗначения) <> Неопределено; Возврат ОжидаемыеТипы.СодержитТип(ТипЗначения);
ИначеЕсли ТипЗнч(ОжидаемыеТипы) = Тип("Тип") Тогда ИначеЕсли ТипЗнч(ОжидаемыеТипы) = Тип("Тип") Тогда
@@ -141,20 +141,27 @@
Возврат ЭлементНастройки; Возврат ЭлементНастройки;
КонецЕсли; КонецЕсли;
ЭлементыНастроек = Настройки.Отбор.Элементы; НайтиЭлементОтбораПоПолю(Поле, Настройки.Отбор.Элементы, ПользовательскиеНастройки, ЭлементНастройки);
Для Каждого Элемент Из ЭлементыНастроек Цикл
ЭлементПользовательский = ПользовательскиеНастройки.Найти(Элемент.ИдентификаторПользовательскойНастройки);
ЭлементАнализируемый = ?(ЭлементПользовательский = Неопределено, Элемент, ЭлементПользовательский);
Если ЭлементАнализируемый.Использование И Элемент.ЛевоеЗначение = Поле Тогда
ЭлементНастройки = ЭлементАнализируемый;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат ЭлементНастройки; Возврат ЭлементНастройки;
КонецФункции КонецФункции
Процедура НайтиЭлементОтбораПоПолю(Поле, ЭлементыОтбора, ПользовательскиеНастройки, ЭлементНастройки)
Для Каждого Элемент Из ЭлементыОтбора Цикл
Если ТипЗнч(Элемент) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
НайтиЭлементОтбораПоПолю(Поле, Элемент.Элементы, ПользовательскиеНастройки, ЭлементНастройки)
Иначе
ЭлементПользовательский = ПользовательскиеНастройки.Найти(Элемент.ИдентификаторПользовательскойНастройки);
ЭлементАнализируемый = ?(ЭлементПользовательский = Неопределено, Элемент, ЭлементПользовательский);
Если ЭлементАнализируемый.Использование И Элемент.ЛевоеЗначение = Поле Тогда
ЭлементНастройки = ЭлементАнализируемый;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция СведенияОЭлементеНастройки(КомпоновщикНастроек, Идентификатор) Экспорт Функция СведенияОЭлементеНастройки(КомпоновщикНастроек, Идентификатор) Экспорт
Настройки = КомпоновщикНастроек.Настройки; Настройки = КомпоновщикНастроек.Настройки;
ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки; ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки;
@@ -1721,9 +1721,13 @@
// Параметр ВыводитьОтбор всегда недоступный. Значения свойств те же, что и у параметра ВыводитьПараметрыДанных. // Параметр ВыводитьОтбор всегда недоступный. Значения свойств те же, что и у параметра ВыводитьПараметрыДанных.
СвязанныйОбъект = ПараметрыВывода.Найти("FILTEROUTPUT"); СвязанныйОбъект = ПараметрыВывода.Найти("FILTEROUTPUT");
ЗаполнитьЗначенияСвойств(СвязанныйОбъект, Объект, "Использование, Значение");
СвязанныйОбъект.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; СвязанныйОбъект.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
СвязанныйОбъект.ИдентификаторПользовательскойНастройки = ""; СвязанныйОбъект.ИдентификаторПользовательскойНастройки = "";
СвязанныйОбъект.Использование = Истина;
Если СвязанныйОбъект.Значение <> ТипВыводаТекстаКомпоновкиДанных.НеВыводить Тогда
СвязанныйОбъект.Значение = ТипВыводаТекстаКомпоновкиДанных.Авто;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура УстановитьЗаголовокОтчетаПоУмолчанию(Заголовок, Контекст) Процедура УстановитьЗаголовокОтчетаПоУмолчанию(Заголовок, Контекст)
@@ -172,7 +172,9 @@
// //
Функция ПредставлениеРазрешенийНаИспользованиеВнешнихРесурсов(Знач ТипПрограммногоМодуля, Знач ИдентификаторПрограммногоМодуля, Знач ТипВладельца, Знач ИдентификаторВладельца, Знач Разрешения) Экспорт Функция ПредставлениеРазрешенийНаИспользованиеВнешнихРесурсов(Знач ТипПрограммногоМодуля, Знач ИдентификаторПрограммногоМодуля, Знач ТипВладельца, Знач ИдентификаторВладельца, Знач Разрешения) Экспорт
// АПК:326-выкл Транзакция открывается, чтобы затем ее отменить, чтобы не устанавливать режим разделения. // АПК:326-выкл Транзакция используется для того, чтобы использовать регистр сведений ЗапросыРазрешений
// как промежуточный кэш для расчета применения запросов на разрешение использование внешних ресурсов.
// отмена транзакции в данном случае используется как сигнал к очистке кэша расчетов.
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -38,7 +38,6 @@
КонецЕсли; КонецЕсли;
СубъектРФ = СокрЛП(Адрес.Area + " " + Адрес.AreaType); СубъектРФ = СокрЛП(Адрес.Area + " " + Адрес.AreaType);
Возврат СубъектРФ; Возврат СубъектРФ;
КонецФункции КонецФункции
@@ -84,7 +83,6 @@
КонецФункции КонецФункции
// Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.). // Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.).
// //
// Параметры: // Параметры:
@@ -131,11 +129,11 @@
// * КодыКЛАДР - Булево - Если Истина, то возвращается структура КодыКЛАДР. По умолчанию, Ложь. // * КодыКЛАДР - Булево - Если Истина, то возвращается структура КодыКЛАДР. По умолчанию, Ложь.
// Если в адресе отсутствуют коды и в программу не загружены адресные объекты адреса, // Если в адресе отсутствуют коды и в программу не загружены адресные объекты адреса,
// Получение кодов может инициировать http запрос к веб-сервису 1С orgaddress. // Получение кодов может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - Если Истина, то возвращается полное наименование адресных объектов.
// * НаименованиеВключаетСокращение - Булево - Если Истина, то поля содержат сокращениям в наименованиях адресных объектов. // * НаименованиеВключаетСокращение - Булево - Если Истина, то поля содержат сокращениям в наименованиях адресных объектов.
// * ПроверитьАдрес - Булево - Если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию, Ложь. // * ПроверитьАдрес - Булево - Если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию, Ложь.
// Если в программу не загружены проверяемые адресные объекты, // Если в программу не загружены проверяемые адресные объекты,
// то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress. // то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - Устаревший параметр. Следует использовать свойства ТипПолный и ТипКраткий.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - сведения об адресе: // Структура - сведения об адресе:
@@ -148,35 +146,72 @@
// * Индекс - Строка - почтовый индекс. // * Индекс - Строка - почтовый индекс.
// * КодРегиона - Строка - код региона РФ. // * КодРегиона - Строка - код региона РФ.
// * Регион - Строка - текстовое представление региона РФ. // * Регион - Строка - текстовое представление региона РФ.
// * РегионСокращение - Строка - сокращение региона. // * РегионТипПолный - Строка - полное наименование типа региона. Например: "область".
// * Округ - Строка - текстовое представление округа (устарело). // * РегионТипКраткий - Строка - краткое наименование типа региона. Например: "обл".
// * ОкругСокращение - Строка - сокращение округа (устарело). // * РегионСокращение - Строка - устаревшее свойство. Сокращение региона, например: "обл", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "область", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА.
// * Округ - Строка - устаревшее свойство. Текстовое представление округа.
// * ОкругСокращение - Строка - устаревшее свойство. Сокращение округа.
// * Район - Строка - текстовое представление района у адресов по административно-территориальному делению. // * Район - Строка - текстовое представление района у адресов по административно-территориальному делению.
// * РайонСокращение - Строка - сокращение района у адресов по административно-территориальному делению. // * РайонТипПолный - Строка - полное наименование типа района для адреса по административно-территориальному делению. Например: "район".
// * МуниципальныйРайон - Строка - текстовое представление муниципального района у адресов по муниципальному делению. // * РайонТипКраткий - Строка - краткое наименование типа района для адреса по административно-территориальному делению. Например: "р-н".
// * МуниципальныйРайонСокращение - Строка - сокращение муниципального района у адресов по муниципальному делению. // * РайонСокращение - Строка - устаревшее свойство. Сокращение района для адреса по административно-территориальному делению,
// например: "р-н", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "район", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА.
// * МуниципальныйРайон - Строка - текстовое представление муниципального района для адреса по муниципальному делению.
// * МуниципальныйРайонТипПолный - Строка - полное наименование типа муниципального района по муниципальному делению. Например: "городской округ".
// * МуниципальныйРайонТипКраткий - Строка - краткое наименование типа муниципального района для адреса по муниципальному делению. Например: "мун.р-н".
// * МуниципальныйРайонСокращение - Строка - устаревшее свойство. Сокращение муниципального района для адреса по муниципальному делению, например: "мун.р-н",
// если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "муниципальный район", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА.
// * КодМуниципальногоРайона - Число - код муниципального района: 1- муниципальный район; 2- городской округ; 3 - внутригородская территория города федерального значения.
// * Город - Строка - текстовое представление города у адресов по административно-территориальному делению. // * Город - Строка - текстовое представление города у адресов по административно-территориальному делению.
// * ГородТипПолный - Строка - полное наименование типа города у адресов по административно-территориальному делению.
// * ГородТипКраткий - Строка - текстовое представление города у адресов по административно-территориальному делению.
// * ГородСокращение - Строка - сокращение города у адресов по административно-территориальному делению. // * ГородСокращение - Строка - сокращение города у адресов по административно-территориальному делению.
// * Поселение - Строка - текстовое представление поселения у адресов по муниципальному делению. // * Поселение - Строка - текстовое представление поселения у адресов по муниципальному делению.
// * ПоселениеСокращение - Строка - сокращение поселения у адресов по муниципальному делению. // * ПоселениеТипПолный - Строка - полное наименование типа сельского поселения по муниципальному делению. Например: "сельское поселение".
// * ВнутригородскойРайон - Строка - текстовое представление внутригородского района. // * ПоселениеТипКраткий - Строка - краткое наименование типа муниципального района для адреса по муниципальному делению. Например: "с. п.".
// * ВнутригородскойРайонСокращение - Строка - сокращение внутригородского района. // * ПоселениеСокращение - Строка - устаревшее свойство. Сокращение сельского поселения для адреса по муниципальному делению, например: "с. п.",
// если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "сельское поселение", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА
// * КодПоселения - Число - код поселения: 1 - городское поселение; 2 - сельское поселение; 3- межселенная территория
// в составе муниципального района; 4 - внутригородской район городского округа;
// * ВнутригородскойРайон - Строка - текстовое представление внутригородского района.
// * ВнутригородскойРайонТипПолный - Строка - полное наименование типа внутригородского района. Например: "микрорайон".
// * ВнутригородскойРайонТипКраткий - Строка - краткое наименование типа внутригородского района. Например: "мкр".
// * ВнутригородскойРайонСокращение - Строка - устаревшее свойство. Сокращение внутригородского района, например: "мкр",
// если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "микрорайон", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА
// * НаселенныйПункт - Строка - текстовое представление населенного пункта. // * НаселенныйПункт - Строка - текстовое представление населенного пункта.
// * НаселенныйПунктСокращение - Строка - сокращение населенного пункта. // * НаселенныйПунктТипПолный - Строка - полное наименование типа населенного пункта. Например: "деревня".
// * НаселенныйПунктТипКраткий - Строка - краткое наименование типа населенного пункта. Например: "д".
// * НаселенныйПунктСокращение - Строка - устаревшее свойство. Сокращение населенного пункта, например: "д",
// если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "деревня", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА
// * Территория - Строка - текстовое представление территории. // * Территория - Строка - текстовое представление территории.
// * ТерриторияСокращение - Строка - сокращение территории. // * ТерриторияТипПолный - Строка - полное наименование типа территории. Например: "Гаражно-строительный кооп.".
// * ТерриторияТипКраткий - Строка - краткое наименование типа территории. Например: "гск".
// * ТерриторияСокращение - Строка - устаревшее свойство. Сокращение населенного пункта, например: "гск",
// если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// или "Гаражно-строительный кооп.", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА
// * Улица - Строка - текстовое представление улицы. // * Улица - Строка - текстовое представление улицы.
// * УлицаСокращение - Строка - сокращение улицы. // * УлицаТипПолный - Строка - полное наименование типа улицы. Например: "Улица".
// * ДополнительнаяТерритория - Строка - текстовое представление дополнительной территории (устарело). // * УлицаТипКраткий - Строка - краткое наименование типа улицы. Например: "ул".
// * ДополнительнаяТерриторияСокращение - Строка - сокращение дополнительной территории (устарело). // * УлицаСокращение - Строка - устаревшее свойство. Сокращение улицы, например: "гск",
// * ЭлементДополнительнойТерритории - Строка - текстовое представление элемента дополнительной территории (устарело). // если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ЛОЖЬ,
// * ЭлементДополнительнойТерриторииСокращение - Строка - сокращение элемента дополнительной территории (устарело). // или "Улица", если ДополнительныеПараметры.ПолноеНаименованиеСокращений = ИСТИНА
// * ДополнительнаяТерритория - Строка - устаревшее свойство. Текстовое представление дополнительной территории.
// * ДополнительнаяТерриторияСокращение - Строка - устаревшее свойство. Сокращение дополнительной территории.
// * ЭлементДополнительнойТерритории - Строка - устаревшее свойство. Текстовое представление элемента дополнительной территории.
// * ЭлементДополнительнойТерриторииСокращение - Строка - устаревшее свойство. Сокращение элемента дополнительной территории.
// * Здание - Структура - структура с информацией о здании адреса. // * Здание - Структура - структура с информацией о здании адреса.
// ** ТипЗдания - Строка - тип объекта адресации адреса РФ согласно приказу Минфина России от 5.11.2015 г. N // ** ТипЗдания - Строка - тип объекта адресации адреса РФ согласно приказу Минфина России от 5.11.2015 г. N171н.
// 171н.
// ** Номер - Строка - текстовое представление номера дома (только для адресов РФ). // ** Номер - Строка - текстовое представление номера дома (только для адресов РФ).
// * Корпуса - Массив - содержит структуры(поля структуры: ТипКорпуса, Номер) с перечнем корпусов адреса. // * Корпуса - Массив - содержит структуры (поля структуры: ТипКорпуса, Номер) с перечнем корпусов адреса.
// * Помещения - Массив - содержит структуры(поля структуры: ТипПомещения, Номер) с перечнем помещений адреса. // * Помещения - Массив - содержит структуры (поля структуры: ТипПомещения, Номер) с перечнем помещений адреса.
// * НомерЗемельногоУчастка - Строка - текстовое представление номера земельного участка (только для адресов РФ).
// * Комментарий - Строка - комментарий об адресе. // * Комментарий - Строка - комментарий об адресе.
// * ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Идентификационный код последнего адресного объекта // * ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Идентификационный код последнего адресного объекта
// в иерархи адреса. Например, для адреса: Москва г., Дмитровское ш., д.9 это // в иерархи адреса. Например, для адреса: Москва г., Дмитровское ш., д.9 это
@@ -184,6 +219,8 @@
// Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь. // Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь.
// * ИдентификаторДома - УникальныйИдентификатор - Идентификационный код дома(строения) адресного объекта. // * ИдентификаторДома - УникальныйИдентификатор - Идентификационный код дома(строения) адресного объекта.
// Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь. // Поле отсутствует, если дополнительный параметр КодыАдреса равен Ложь.
// * ИдентификаторЗемельногоУчастка - УникальныйИдентификатор - Идентификационный код земельного участка адресного объекта.
// При отсутствии значения - пустая строка.
// * Идентификаторы - Структура - Идентификаторы адресных объектов адреса, если установлен параметр КодыАдреса // * Идентификаторы - Структура - Идентификаторы адресных объектов адреса, если установлен параметр КодыАдреса
// или КодыКЛАДР. Поле отсутствует, если дополнительный параметр КодыАдреса или // или КодыКЛАДР. Поле отсутствует, если дополнительный параметр КодыАдреса или
// КодыКЛАДР равен Ложь. // КодыКЛАДР равен Ложь.
@@ -921,6 +958,11 @@
Результат.Добавить(СтрокаОбъектаАдресации("1010", НСтр("ru = 'Дом'"), 1, 1, 2)); Результат.Добавить(СтрокаОбъектаАдресации("1010", НСтр("ru = 'Дом'"), 1, 1, 2));
Результат.Добавить(СтрокаОбъектаАдресации("1020", НСтр("ru = 'Владение'"), 1, 2, 1)); Результат.Добавить(СтрокаОбъектаАдресации("1020", НСтр("ru = 'Владение'"), 1, 2, 1));
Результат.Добавить(СтрокаОбъектаАдресации("1030", НСтр("ru = 'Домовладение'"), 1, 3, 3)); Результат.Добавить(СтрокаОбъектаАдресации("1030", НСтр("ru = 'Домовладение'"), 1, 3, 3));
Результат.Добавить(СтрокаОбъектаАдресации("1034", НСтр("ru = 'Гараж'"), 1, 4, 4));
Результат.Добавить(СтрокаОбъектаАдресации("1036", НСтр("ru = 'Здание'"), 1, 5, 5));
Результат.Добавить(СтрокаОбъектаАдресации("1038", НСтр("ru = 'Шахта'"), 1, 6, 6));
Результат.Добавить(СтрокаОбъектаАдресации("1039", РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка()
, 1, 9, 9));
Результат.Добавить(СтрокаОбъектаАдресации("1050", НСтр("ru = 'Корпус'"), 2, 1)); Результат.Добавить(СтрокаОбъектаАдресации("1050", НСтр("ru = 'Корпус'"), 2, 1));
Результат.Добавить(СтрокаОбъектаАдресации("1060", НСтр("ru = 'Строение'"), 2, 2, 1)); Результат.Добавить(СтрокаОбъектаАдресации("1060", НСтр("ru = 'Строение'"), 2, 2, 1));
@@ -1659,94 +1701,16 @@
// Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.). // Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.).
// //
// Параметры:
// Адрес - Строка - адрес во внутреннем формате JSON или в XML, соответствующем XDTO пакету Адрес.
// - ОбъектXDTO - XDTO объект, соответствующий XDTO пакету Адрес.
// ДополнительныеПараметры - Структура - для уточнения возвращаемого значения:
// * БезПредставлений - Булево - Если Истина, то поле Представление будет отсутствовать. По умолчанию, Ложь.
// * КодыКЛАДР - Булево - Если Истина, то возвращается структура КодыКЛАДР. По умолчанию, Ложь.
// * КодыАдреса - Булево - Если Истина, то возвращается коды адреса. По умолчанию, Истина.
// * ПолноеНаименованиеСокращений - Булево - Если Истина, то возвращается полное наименование адресных объектов.
// * НаименованиеВключаетСокращение - Булево - Если Истина, то поля содержат сокращениям в наименованиях адресных объектов.
// , * ВключатьСтрануВПредставление - Булево - Если Истина, то представление включает наименование страны.
// * ПроверитьАдрес - Булево - Если Истина, то адрес будет проверен на соответствие ФИАС.
//
// Возвращаемое значение:
// Структура - сведения об адресе:
// * Представление - Строка - текстовое представление адреса по административно-территориальному делению.
// * МуниципальноеПредставление - Строка - текстовое представление адреса по муниципальному делению.
// * ТипАдреса - Строка - основной тип адреса (только для адресов РФ).
// Варианты: "Муниципальный", "Административно-территориальный".
// * Страна - Строка - текстовое представление страны.
// * КодСтраны - Строка - код страны по ОКСМ.
// * Индекс - Строка - почтовый индекс.
// * КодРегиона - Строка - код региона РФ.
// * Регион - Строка - текстовое представление региона РФ.
// * РегионСокращение - Строка - сокращение региона.
// * Округ - Строка - текстовое представление округа (устарело).
// * ОкругСокращение - Строка - сокращение округа (устарело).
// * Район - Строка - текстовое представление района у адресов по административно-территориальному делению.
// * РайонСокращение - Строка - сокращение района у адресов по административно-территориальному делению.
// * МуниципальныйРайон - Строка - текстовое представление муниципального района у адресов по муниципальному делению.
// * МуниципальныйРайонСокращение - Строка - сокращение муниципального района у адресов по муниципальному делению.
// * Город - Строка - текстовое представление города у адресов по административно-территориальному делению.
// * ГородСокращение - Строка - сокращение города у адресов по административно-территориальному делению.
// * Поселение - Строка - текстовое представление поселения у адресов по муниципальному делению.
// * ПоселениеСокращение - Строка - сокращение поселения у адресов по муниципальному делению.
// * ВнутригородскойРайон - Строка - текстовое представление внутригородского района.
// * ВнутригородскойРайонСокращение - Строка - сокращение внутригородского района.
// * НаселенныйПункт - Строка - текстовое представление населенного пункта.
// * НаселенныйПунктСокращение - Строка - сокращение населенного пункта.
// * Территория - Строка - текстовое представление территории.
// * ТерриторияСокращение - Строка - сокращение территории.
// * Улица - Строка - текстовое представление улицы.
// * УлицаСокращение - Строка - сокращение улицы.
// * ДополнительнаяТерритория - Строка - текстовое представление дополнительной территории (устарело).
// * ДополнительнаяТерриторияСокращение - Строка - сокращение дополнительной территории (устарело).
// * ЭлементДополнительнойТерритории - Строка - текстовое представление элемента дополнительной территории (устарело).
// * ЭлементДополнительнойТерриторииСокращение - Строка - сокращение элемента дополнительной территории (устарело).
// * Здание - Структура - структура с информацией о здании адреса.
// ** ТипЗдания - Строка - тип объекта адресации адреса РФ согласно приказу Минфина России от 5.11.2015 г. N
// 171н.
// ** Номер - Строка - текстовое представление номера дома (только для адресов РФ).
// * Корпуса - Массив - содержит структуры(поля структуры: ТипКорпуса, Номер) с перечнем корпусов адреса.
// * Помещения - Массив - содержит структуры(поля структуры: ТипПомещения, Номер) с перечнем помещений адреса.
// * ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Идентификационный код последнего адресного объекта
// в иерархи адреса. Например, для адреса: Москва г., Дмитровское ш., д.9 это
// будет идентификатор улицы.
// * ИдентификаторДома - УникальныйИдентификатор - Идентификационный код дома(строения) адресного объекта.
// * Идентификаторы - Структура - Идентификаторы адресных объектов адреса.
// ** РегионИдентификатор - УникальныйИдентификатор - идентификатор региона.
// ** РайонИдентификатор - УникальныйИдентификатор - идентификатор района.
// ** МуниципальныйРайонИдентификатор - УникальныйИдентификатор - идентификатор муниципального района.
// ** ГородИдентификатор - УникальныйИдентификатор - идентификатор города.
// ** ПоселениеИдентификатор - УникальныйИдентификатор - идентификатор поселения.
// ** ВнутригородскойРайонИдентификатор - УникальныйИдентификатор - идентификатор внутригородского района.
// ** ТерриторияИдентификатор - УникальныйИдентификатор - идентификатор территории.
// ** ТерриторияИдентификатор - УникальныйИдентификатор - идентификатор территории.
// ** УлицаИдентификатор - УникальныйИдентификатор - идентификатор улица.
// * КодыКЛАДР - Структура - Коды КЛАДР, если установлен параметр КодыКЛАДР.
// ** Регион - Строка - Код КЛАДР региона.
// ** Район - Строка - Код КЛАДР район.
// ** Город - Строка - Код КЛАДР города.
// ** НаселенныйПункт - Строка - Код КЛАДР населенного пункта.
// ** Улица - Строка - Код КЛАДР улица.
// * ДополнительныеКоды - Структура - Коды ОКТМО, ОКТМО, ОКАТО, КодИФНСФЛ, КодИФНСЮЛ, КодУчасткаИФНСФЛ, КодУчасткаИФНСЮЛ.
// * РезультатПроверкиАдреса - Строка - "Успех", если адрес корректный, "Ошибка" - при наличии ошибок проверки,
// "Отказ", если не удалось проверить адрес, т.к. не доступен классификатор.
// Пустая строка, если в параметре ДополнительныеПараметры.ПроверитьАдрес не
// установлен флаг ПроверитьАдрес.
// * ОшибкиПроверкиАдреса - Строка - описание ошибок в адресе, выявленных в ходе проверки.
//
Функция СведенияОбАдресеВВидеСтруктуры(Знач АдресСтрокой, ДополнительныеПараметры) Функция СведенияОбАдресеВВидеСтруктуры(Знач АдресСтрокой, ДополнительныеПараметры)
Результат = РаботаСАдресамиКлиентСервер.ПоляАдреса(); Результат = РаботаСАдресамиКлиентСервер.КонструкторПолейАдреса();
Если АдресСтрокой = Неопределено Тогда Если АдресСтрокой = Неопределено Тогда
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
Параметры = ИнициализироватьСвойстваПоПараметрам(ДополнительныеПараметры, Результат); Параметры = ИнициализироватьПараметрыСведенийОбАдресе(ДополнительныеПараметры);
СформироватьПоляСведенийОбАдресе(Результат, Параметры);
СоответствиеСокращений = Новый Соответствие; СоответствиеСокращений = Новый Соответствие;
@@ -1758,12 +1722,9 @@
КонецЕсли; КонецЕсли;
ПолученныйАдрес = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(АдресСтрокой, Перечисления.ТипыКонтактнойИнформации.Адрес); Адрес = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(АдресСтрокой, Перечисления.ТипыКонтактнойИнформации.Адрес);
Адрес = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
ЗаполнитьЗначенияСвойств(Адрес, ПолученныйАдрес);
Адрес.type = УправлениеКонтактнойИнформациейКлиентСервер.ТипКонтактнойИнформацииВСтроку(Перечисления.ТипыКонтактнойИнформации.Адрес);
Если ПустаяСтрока(Адрес.ID) И (Параметры.КодыАдреса Или Параметры.КодыКЛАДР) Тогда Если ПустаяСтрока(Адрес.ID) И Параметры.ВозвращатьКоды Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
@@ -1777,16 +1738,7 @@
Результат.Индекс = Адрес.ZipCode; Результат.Индекс = Адрес.ZipCode;
Результат.ТипАдреса = Адрес.AddressType; Результат.ТипАдреса = Адрес.AddressType;
Результат.Страна = Адрес.Country; Результат.Страна = Адрес.Country;
КодСтраны = Адрес.CountryCode; Результат.КодСтраны = КодыСтраны(Адрес);
Если Не ЗначениеЗаполнено(Адрес.CountryCode) Тогда
СведенияОСтране = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(Неопределено, Адрес.Country);
Если СведенияОСтране <> Неопределено Тогда
КодСтраны = СведенияОСтране.Код;
КонецЕсли;
КонецЕсли;
Результат.КодСтраны = КодСтраны;
ЭтоНациональныйАдрес = ?(СтрСравнить(Адрес.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь); ЭтоНациональныйАдрес = ?(СтрСравнить(Адрес.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь);
КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(Адрес["Area"] + " " +Адрес["AreaType"]), ""); КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(Адрес["Area"] + " " +Адрес["AreaType"]), "");
@@ -1803,7 +1755,7 @@
СоответствиеУровней.Вставить("territory", Новый Структура("Имя, Уровень", "Территория", 65)); СоответствиеУровней.Вставить("territory", Новый Структура("Имя, Уровень", "Территория", 65));
СоответствиеУровней.Вставить("street", Новый Структура("Имя, Уровень", "Улица", 7)); СоответствиеУровней.Вставить("street", Новый Структура("Имя, Уровень", "Улица", 7));
Если Параметры.КодыАдреса Или Параметры.КодыКЛАДР Тогда Если Параметры.ВозвращатьКоды Тогда
Идентификаторы = Новый Структура(); Идентификаторы = Новый Структура();
Результат.Идентификаторы = Идентификаторы; Результат.Идентификаторы = Идентификаторы;
КонецЕсли; КонецЕсли;
@@ -1813,14 +1765,15 @@
Для каждого ЧастьАдреса Из СоответствиеУровней Цикл Для каждого ЧастьАдреса Из СоответствиеУровней Цикл
ИдентификаторТекущегоУровня = Адрес[ЧастьАдреса.Ключ + "Id"]; ИдентификаторТекущегоУровня = Адрес[ЧастьАдреса.Ключ + "Id"];
ТипКраткий = Адрес[ЧастьАдреса.Ключ + "Type"];
Сокращение = Адрес[ЧастьАдреса.Ключ + "Type"]; НаименованиеУровня = ?(Параметры.НаименованиеВключаетСокращение, СокрЛП(Адрес[ЧастьАдреса.Ключ] + " " + ТипКраткий),
НаименованиеУровня = ?(Параметры.НаименованиеВключаетСокращение, СокрЛП(Адрес[ЧастьАдреса.Ключ] + " " + Сокращение),
Адрес[ЧастьАдреса.Ключ]); Адрес[ЧастьАдреса.Ключ]);
Результат[ЧастьАдреса.Значение.Имя] = НаименованиеУровня; Результат[ЧастьАдреса.Значение.Имя] = НаименованиеУровня;
Результат[ЧастьАдреса.Значение.Имя + "Сокращение"] = Сокращение; Результат[ЧастьАдреса.Значение.Имя + "Сокращение"] = ТипКраткий;
СоответствиеСокращений.Вставить(ЧастьАдреса.Значение.Уровень, Сокращение); Результат[ЧастьАдреса.Значение.Имя + "ТипКраткий"] = ТипКраткий;
СоответствиеСокращений.Вставить(ЧастьАдреса.Значение.Уровень, ТипКраткий);
Если Параметры.КодыАдреса Или Параметры.КодыКЛАДР Тогда Если Параметры.КодыАдреса Или Параметры.КодыКЛАДР Тогда
Идентификаторы.Вставить(ЧастьАдреса.Значение.Имя + "Идентификатор", ИдентификаторТекущегоУровня); Идентификаторы.Вставить(ЧастьАдреса.Значение.Имя + "Идентификатор", ИдентификаторТекущегоУровня);
@@ -1834,25 +1787,34 @@
КонецЦикла; КонецЦикла;
// Коды мун. уровней
Результат.КодМуниципальногоРайона = КодМуниципальногоРайона(Адрес.munDistrictType);
Результат.КодПоселения = КодПоселения(Адрес.settlementType);
Если Параметры.КодыАдреса Тогда Если Параметры.КодыАдреса Тогда
Результат.Вставить("ИдентификаторАдресногоОбъекта", ИдентификаторАдресногоОбъекта); Результат.ИдентификаторАдресногоОбъекта = ИдентификаторАдресногоОбъекта;
КонецЕсли; КонецЕсли;
// Установка полных сокращений, если определен параметр. // Установка полных наименований типов
Если Параметры.ПолноеНаименованиеСокращений = Истина Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный.ПолныеНаименованияСокращений(СоответствиеСокращений);
МодульАдресныйКлассификаторСлужебный.ПолныеНаименованияСокращений(СоответствиеСокращений);
Для каждого ЧастьАдреса Из СоответствиеУровней Цикл Для каждого ЧастьАдреса Из СоответствиеУровней Цикл
Результат[ЧастьАдреса.Значение.Имя + "ТипПолный"] = СоответствиеСокращений[ЧастьАдреса.Значение.Уровень];
Если Параметры.ПолноеНаименованиеСокращений = Истина Тогда
Результат[ЧастьАдреса.Значение.Имя + "Сокращение"] = СоответствиеСокращений[ЧастьАдреса.Значение.Уровень]; Результат[ЧастьАдреса.Значение.Имя + "Сокращение"] = СоответствиеСокращений[ЧастьАдреса.Значение.Уровень];
КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли;
КонецЕсли; КонецЕсли;
Результат.НомерЗемельногоУчастка = Адрес.stead;
Результат.ИдентификаторЗемельногоУчастка = Адрес.steadId;
// Дома, здания, строения // Дома, здания, строения
Результат.Здание = Новый Структура("ТипЗдания, Номер"); Результат.Здание = Новый Структура("ТипЗдания, Номер");
Результат.Корпуса = Новый Массив; Результат.Корпуса = Новый Массив;
@@ -1869,18 +1831,11 @@
Результат.Помещения.Добавить(Новый Структура("ТипПомещения, Номер", Корпус.Type, Корпус.Number)); Результат.Помещения.Добавить(Новый Структура("ТипПомещения, Номер", Корпус.Type, Корпус.Number));
КонецЦикла; КонецЦикла;
Если Параметры.КодыАдреса Тогда
Результат.Вставить("ИдентификаторДома", "");
КонецЕсли;
РезультатПроверкиАдреса = "";
СписокОшибок = "";
Если ЭтоНациональныйАдрес Тогда Если ЭтоНациональныйАдрес Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный"); МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
Если Параметры.КодыКЛАДР Или Параметры.КодыАдреса Тогда Если Параметры.ВозвращатьКоды Тогда
ДополнительныеКоды = МодульАдресныйКлассификаторСлужебный.КодыАдресаИКодыКЛАДР(Адрес, ИдентификаторАдресногоОбъекта); ДополнительныеКоды = МодульАдресныйКлассификаторСлужебный.КодыАдресаИКодыКЛАДР(Адрес, ИдентификаторАдресногоОбъекта);
Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды.КодыАдреса); Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды.КодыАдреса);
Результат.Вставить("КодыКЛАДР", ДополнительныеКоды.КодыКЛАДР); Результат.Вставить("КодыКЛАДР", ДополнительныеКоды.КодыКЛАДР);
@@ -1894,38 +1849,28 @@
Если Параметры.ПроверитьАдрес Тогда Если Параметры.ПроверитьАдрес Тогда
РезультатПроверки = ПроверитьАдрес(АдресСтрокой); РезультатПроверки = СведенияОбПроверкеАдреса(АдресСтрокой);
Результат.РезультатПроверкиАдреса = РезультатПроверки.Результат;
Если РезультатПроверки.Результат = "Корректный" Тогда Результат.ОшибкиПроверкиАдреса = РезультатПроверки.СписокОшибок;
РезультатПроверкиАдреса = "Успех";
ИначеЕсли РезультатПроверки.Результат = "СодержитОшибки" Тогда
РезультатПроверкиАдреса = "Ошибка";
СписокОшибок = РезультатПроверки.СписокОшибок;
Иначе
РезультатПроверкиАдреса = "Отказ";
СписокОшибок = РезультатПроверки.СписокОшибок;
КонецЕсли;
КонецЕсли; КонецЕсли;
Результат.Вставить("РезультатПроверкиАдреса", РезультатПроверкиАдреса);
Результат.Вставить("ОшибкиПроверкиАдреса", СписокОшибок);
КонецЕсли; КонецЕсли;
Если Не Параметры.БезПредставлений Тогда Если Не Параметры.БезПредставлений Тогда
Результат.Вставить("Представление", РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(Адрес, Результат.Представление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(Адрес,
Параметры.ВключатьСтрануВПредставление, РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес())); Параметры.ВключатьСтрануВПредставление, РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес());
Если ПустаяСтрока(Результат.Представление) Тогда Если ПустаяСтрока(Результат.Представление) Тогда
Результат.Вставить("Представление", Адрес.value); Результат.Представление = Адрес.value;
КонецЕсли; КонецЕсли;
Результат.Вставить("МуниципальноеПредставление", РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(Адрес, Результат.МуниципальноеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(Адрес,
Параметры.ВключатьСтрануВПредставление, РаботаСАдресамиКлиентСервер.МуниципальныйАдрес())); Параметры.ВключатьСтрануВПредставление, РаботаСАдресамиКлиентСервер.МуниципальныйАдрес());
Если ПустаяСтрока(Результат.МуниципальноеПредставление) Тогда Если ПустаяСтрока(Результат.МуниципальноеПредставление) Тогда
Результат.Вставить("МуниципальноеПредставление", Адрес.value); Результат.МуниципальноеПредставление = Адрес.value;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1936,7 +1881,7 @@
КонецФункции КонецФункции
Функция ИнициализироватьСвойстваПоПараметрам(Знач ДополнительныеПараметры, Знач Результат) Функция ИнициализироватьПараметрыСведенийОбАдресе(Знач ДополнительныеПараметры)
Параметры = Новый Структура(); Параметры = Новый Структура();
Параметры.Вставить("БезПредставлений", Ложь); Параметры.Вставить("БезПредставлений", Ложь);
@@ -1951,6 +1896,89 @@
ЗаполнитьЗначенияСвойств(Параметры, ДополнительныеПараметры); ЗаполнитьЗначенияСвойств(Параметры, ДополнительныеПараметры);
КонецЕсли; КонецЕсли;
Параметры.Вставить("ВозвращатьКоды", Параметры.КодыАдреса Или Параметры.КодыКЛАДР);
Возврат Параметры;
КонецФункции
Функция КодМуниципальногоРайона(Знач ТипМуниципальногоРайона)
КодМуниципальногоРайона = "";
Если СтрСравнить(ТипМуниципальногоРайона, НСтр("ru='м.р-н'")) = 0 Тогда
КодМуниципальногоРайона = "1";
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru='г.о.'")) = 0 Тогда
КодМуниципальногоРайона = "2";
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru='вн.тер.'")) = 0
Или СтрСравнить(ТипМуниципальногоРайона, НСтр("ru='вн.тер. г.'")) = 0 Тогда
КодМуниципальногоРайона = "3";
КонецЕсли;
Возврат КодМуниципальногоРайона;
КонецФункции
Функция КодПоселения(Знач ТипПоселения)
КодПоселения = "";
Если СтрСравнить(ТипПоселения, НСтр("ru='г. п.'")) = 0 Тогда
КодПоселения = "1";
ИначеЕсли СтрСравнить(ТипПоселения, НСтр("ru='с.п.'")) = 0 Тогда
КодПоселения = "2";
ИначеЕсли СтрСравнить(ТипПоселения, НСтр("ru='меж.тер.'")) = 0 Тогда
КодПоселения = "3";
ИначеЕсли СтрСравнить(ТипПоселения, НСтр("ru='вн.р-н'")) = 0 Тогда
КодПоселения = "4";
КонецЕсли;
Возврат КодПоселения;
КонецФункции
Функция КодыСтраны(Знач Адрес)
КодСтраны = Адрес.CountryCode;
Если НЕ ЗначениеЗаполнено(КодСтраны) Тогда
СведенияОСтране = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(Неопределено, Адрес.Country);
Если СведенияОСтране <> Неопределено Тогда
КодСтраны = СведенияОСтране.Код;
КонецЕсли;
КонецЕсли;
Возврат КодСтраны;
КонецФункции
Функция СведенияОбПроверкеАдреса(Знач АдресСтрокой)
СтатусПроверки = Новый Структура();
СтатусПроверки.Вставить("Результат", "");
СтатусПроверки.Вставить("СписокОшибок", "");
РезультатПроверки = ПроверитьАдрес(АдресСтрокой);
Если РезультатПроверки.Результат = "Корректный" Тогда
СтатусПроверки.Результат = "Успех";
ИначеЕсли РезультатПроверки.Результат = "СодержитОшибки" Тогда
СтатусПроверки.Результат = "Ошибка";
СтатусПроверки.СписокОшибок = РезультатПроверки.СписокОшибок;
Иначе
СтатусПроверки.Результат = "Отказ";
СтатусПроверки.СписокОшибок = РезультатПроверки.СписокОшибок;
КонецЕсли;
Возврат СтатусПроверки;
КонецФункции
Процедура СформироватьПоляСведенийОбАдресе(Результат, Знач Параметры)
Результат.Вставить("КодМуниципальногоРайона", "");
Результат.Вставить("КодПоселения", "");
Если Не Параметры.КодыАдреса И Не Параметры.КодыКЛАДР Тогда Если Не Параметры.КодыАдреса И Не Параметры.КодыКЛАДР Тогда
Результат.Удалить("ДополнительныеКоды"); Результат.Удалить("ДополнительныеКоды");
Результат.Удалить("КодыКЛАДР"); Результат.Удалить("КодыКЛАДР");
@@ -1962,9 +1990,15 @@
Результат.Удалить("ИдентификаторДома"); Результат.Удалить("ИдентификаторДома");
КонецЕсли; КонецЕсли;
Возврат Параметры; Если Не Параметры.БезПредставлений Тогда
Результат.Вставить("Представление", "");
Результат.Вставить("МуниципальноеПредставление", "");
КонецЕсли;
КонецФункции Результат.Вставить("РезультатПроверкиАдреса", "");
Результат.Вставить("ОшибкиПроверкиАдреса", "")
КонецПроцедуры
Функция СтруктураАдресаВСтруктуруJSON(Знач КонтактнаяИнформация) Функция СтруктураАдресаВСтруктуруJSON(Знач КонтактнаяИнформация)
@@ -76,85 +76,7 @@
// //
Функция ПоляАдреса() Экспорт Функция ПоляАдреса() Экспорт
Результат = Новый Структура; Возврат КонструкторПолейАдреса();
Результат.Вставить("ТипАдреса" , "");
Результат.Вставить("Комментарий" , "");
Результат.Вставить("Представление" , "");
Результат.Вставить("МуниципальноеПредставление", "");
Результат.Вставить("Страна" , "");
Результат.Вставить("КодСтраны", "");
Результат.Вставить("Индекс" , "");
Результат.Вставить("КодРегиона" , "");
Результат.Вставить("Регион" , "");
Результат.Вставить("РегионСокращение" , "");
Результат.Вставить("Округ" , "");
Результат.Вставить("ОкругСокращение" , "");
Результат.Вставить("Район" , "");
Результат.Вставить("РайонСокращение" , "");
Результат.Вставить("МуниципальныйРайон" , "");
Результат.Вставить("МуниципальныйРайонСокращение" , "");
Результат.Вставить("Город" , "");
Результат.Вставить("ГородСокращение" , "");
Результат.Вставить("Поселение" , "");
Результат.Вставить("ПоселениеСокращение" , "");
Результат.Вставить("ВнутригородскойРайон" , "");
Результат.Вставить("ВнутригородскойРайонСокращение" , "");
Результат.Вставить("НаселенныйПункт" , "");
Результат.Вставить("НаселенныйПунктСокращение" , "");
Результат.Вставить("Территория" , "");
Результат.Вставить("ТерриторияСокращение" , "");
Результат.Вставить("Улица" , "");
Результат.Вставить("УлицаСокращение" , "");
Результат.Вставить("ДополнительнаяТерритория" , "");
Результат.Вставить("ДополнительнаяТерриторияСокращение" , "");
Результат.Вставить("ЭлементДополнительнойТерритории" , "");
Результат.Вставить("ЭлементДополнительнойТерриторииСокращение", "");
Здание = Новый Структура;
Здание.Вставить("ТипЗдания", "");
Здание.Вставить("Номер" , "");
Результат.Вставить("Здание", Здание);
Результат.Вставить("Корпуса" , Новый Массив);
Результат.Вставить("Помещения", Новый Массив);
Результат.Вставить("ИдентификаторАдресногоОбъекта", Неопределено);
Результат.Вставить("ИдентификаторДома" , Неопределено);
Идентификаторы = Новый Структура;
Идентификаторы.Вставить("РегионИдентификатор" , Неопределено);
Идентификаторы.Вставить("РайонИдентификатор" , Неопределено);
Идентификаторы.Вставить("МуниципальныйРайонИдентификатор" , Неопределено);
Идентификаторы.Вставить("ГородИдентификатор" , Неопределено);
Идентификаторы.Вставить("ПоселениеИдентификатор" , Неопределено);
Идентификаторы.Вставить("ВнутригородскойРайонИдентификатор", Неопределено);
Идентификаторы.Вставить("НаселенныйПунктИдентификатор" , Неопределено);
Идентификаторы.Вставить("ТерриторияИдентификатор" , Неопределено);
Идентификаторы.Вставить("УлицаИдентификатор" , Неопределено);
Результат.Вставить("Идентификаторы", Идентификаторы);
ДополнительныеКоды = Новый Структура;
ДополнительныеКоды.Вставить("ОКТМО" , "");
ДополнительныеКоды.Вставить("ОКАТО" , "");
ДополнительныеКоды.Вставить("КодИФНСФЛ" , "");
ДополнительныеКоды.Вставить("КодИФНСЮЛ" , "");
ДополнительныеКоды.Вставить("КодУчасткаИФНСФЛ", "");
ДополнительныеКоды.Вставить("КодУчасткаИФНСЮЛ", "");
Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды);
КодыКЛАДР = Новый Структура;
КодыКЛАДР.Вставить("Регион" , "");
КодыКЛАДР.Вставить("Район" , "");
КодыКЛАДР.Вставить("Город" , "");
КодыКЛАДР.Вставить("НаселенныйПункт", "");
КодыКЛАДР.Вставить("Улица" , "");
Результат.Вставить("КодыКЛАДР", КодыКЛАДР);
Возврат Результат;
КонецФункции КонецФункции
@@ -208,6 +130,119 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция КонструкторПолейАдреса() Экспорт
Результат = Новый Структура;
Результат.Вставить("ТипАдреса" , "");
Результат.Вставить("Комментарий" , "");
Результат.Вставить("Представление" , "");
Результат.Вставить("МуниципальноеПредставление", "");
Результат.Вставить("Страна" , "");
Результат.Вставить("КодСтраны", "");
Результат.Вставить("Индекс" , "");
Результат.Вставить("КодРегиона" , "");
Результат.Вставить("Регион" , "");
Результат.Вставить("РегионТипПолный" , "");
Результат.Вставить("РегионТипКраткий" , "");
Результат.Вставить("Район" , "");
Результат.Вставить("РайонТипПолный" , "");
Результат.Вставить("РайонТипКраткий" , "");
Результат.Вставить("МуниципальныйРайон" , "");
Результат.Вставить("МуниципальныйРайонТипПолный" , "");
Результат.Вставить("МуниципальныйРайонТипКраткий" , "");
Результат.Вставить("Город" , "");
Результат.Вставить("ГородТипПолный" , "");
Результат.Вставить("ГородТипКраткий" , "");
Результат.Вставить("Поселение" , "");
Результат.Вставить("ПоселениеТипПолный" , "");
Результат.Вставить("ПоселениеТипКраткий" , "");
Результат.Вставить("ВнутригородскойРайон" , "");
Результат.Вставить("ВнутригородскойРайонТипПолный" , "");
Результат.Вставить("ВнутригородскойРайонТипКраткий" , "");
Результат.Вставить("НаселенныйПункт" , "");
Результат.Вставить("НаселенныйПунктТипПолный" , "");
Результат.Вставить("НаселенныйПунктТипКраткий" , "");
Результат.Вставить("Территория" , "");
Результат.Вставить("ТерриторияТипПолный" , "");
Результат.Вставить("ТерриторияТипКраткий" , "");
Результат.Вставить("Улица" , "");
Результат.Вставить("УлицаТипПолный" , "");
Результат.Вставить("УлицаТипКраткий" , "");
// устаревшие свойства
Результат.Вставить("РегионСокращение" , "");
Результат.Вставить("Округ" , "");
Результат.Вставить("ОкругСокращение" , "");
Результат.Вставить("РайонСокращение" , "");
Результат.Вставить("МуниципальныйРайонСокращение" , "");
Результат.Вставить("ГородСокращение" , "");
Результат.Вставить("ПоселениеСокращение" , "");
Результат.Вставить("ВнутригородскойРайонСокращение" , "");
Результат.Вставить("НаселенныйПунктСокращение" , "");
Результат.Вставить("ТерриторияСокращение" , "");
Результат.Вставить("УлицаСокращение" , "");
Результат.Вставить("ДополнительнаяТерритория" , "");
Результат.Вставить("ДополнительнаяТерриторияСокращение" , "");
Результат.Вставить("ЭлементДополнительнойТерритории" , "");
Результат.Вставить("ЭлементДополнительнойТерриторииСокращение", "");
Здание = Новый Структура;
Здание.Вставить("ТипЗдания", "");
Здание.Вставить("Номер" , "");
Результат.Вставить("Здание", Здание);
Результат.Вставить("Корпуса" , Новый Массив);
Результат.Вставить("Помещения", Новый Массив);
Результат.Вставить("ИдентификаторАдресногоОбъекта" , Неопределено);
Результат.Вставить("ИдентификаторДома" , Неопределено);
Результат.Вставить("НомерЗемельногоУчастка" , Неопределено);
Результат.Вставить("ИдентификаторЗемельногоУчастка" , Неопределено);
Идентификаторы = Новый Структура;
Идентификаторы.Вставить("РегионИдентификатор" , Неопределено);
Идентификаторы.Вставить("РайонИдентификатор" , Неопределено);
Идентификаторы.Вставить("МуниципальныйРайонИдентификатор" , Неопределено);
Идентификаторы.Вставить("ГородИдентификатор" , Неопределено);
Идентификаторы.Вставить("ПоселениеИдентификатор" , Неопределено);
Идентификаторы.Вставить("ВнутригородскойРайонИдентификатор", Неопределено);
Идентификаторы.Вставить("НаселенныйПунктИдентификатор" , Неопределено);
Идентификаторы.Вставить("ТерриторияИдентификатор" , Неопределено);
Идентификаторы.Вставить("УлицаИдентификатор" , Неопределено);
Результат.Вставить("Идентификаторы", Идентификаторы);
ДополнительныеКоды = Новый Структура;
ДополнительныеКоды.Вставить("ОКТМО" , "");
ДополнительныеКоды.Вставить("ОКАТО" , "");
ДополнительныеКоды.Вставить("КодИФНСФЛ" , "");
ДополнительныеКоды.Вставить("КодИФНСЮЛ" , "");
ДополнительныеКоды.Вставить("КодУчасткаИФНСФЛ", "");
ДополнительныеКоды.Вставить("КодУчасткаИФНСЮЛ", "");
Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды);
КодыКЛАДР = Новый Структура;
КодыКЛАДР.Вставить("Регион" , "");
КодыКЛАДР.Вставить("Район" , "");
КодыКЛАДР.Вставить("Город" , "");
КодыКЛАДР.Вставить("НаселенныйПункт", "");
КодыКЛАДР.Вставить("Улица" , "");
Результат.Вставить("КодыКЛАДР", КодыКЛАДР);
Возврат Результат;
КонецФункции
// Описание национальных полей структуры контактной информации для хранения ее в формате JSON. // Описание национальных полей структуры контактной информации для хранения ее в формате JSON.
// Основной список полей определяется в одноименной функции общего модуля УправлениеКонтактнойИнформациейКлиентСервер. // Основной список полей определяется в одноименной функции общего модуля УправлениеКонтактнойИнформациейКлиентСервер.
// //
@@ -301,6 +336,8 @@
Результат.Вставить("ifnsULCode", ""); Результат.Вставить("ifnsULCode", "");
Результат.Вставить("ifnsFLAreaCode", ""); Результат.Вставить("ifnsFLAreaCode", "");
Результат.Вставить("ifnsULAreaCode", ""); Результат.Вставить("ifnsULAreaCode", "");
Результат.Вставить("stead", "");
Результат.Вставить("steadId", "");
КонецЕсли; КонецЕсли;
@@ -442,6 +479,8 @@
Если Адрес.Свойство("HouseNumber") И НЕ ПустаяСтрока(Адрес.HouseNumber) Тогда Если Адрес.Свойство("HouseNumber") И НЕ ПустаяСтрока(Адрес.HouseNumber) Тогда
СписокЗаполненныхУровней.Добавить(НРег(Адрес.HouseType) + " " + Адрес.HouseNumber); СписокЗаполненныхУровней.Добавить(НРег(Адрес.HouseType) + " " + Адрес.HouseNumber);
ИначеЕсли Адрес.Свойство("stead") И Не ПустаяСтрока(Адрес.stead) Тогда
СписокЗаполненныхУровней.Добавить(НСтр("ru='участок'") + " " + Адрес.stead);
КонецЕсли; КонецЕсли;
Если Адрес.Свойство("Buildings") И Адрес.Buildings.Количество() > 0 Тогда Если Адрес.Свойство("Buildings") И Адрес.Buildings.Количество() > 0 Тогда
@@ -476,6 +515,10 @@
КонецФункции КонецФункции
Функция НаименованиеЗемельногоУчастка() Экспорт
Возврат НСтр("ru='Зем. участок'");
КонецФункции
#Область ПрочиеСлужебныеПроцедурыИФункции #Область ПрочиеСлужебныеПроцедурыИФункции
Функция ПредставлениеУровняБезСокращения(ИмяУровня) Экспорт Функция ПредставлениеУровняБезСокращения(ИмяУровня) Экспорт
@@ -534,7 +534,11 @@
КонецЕсли; КонецЕсли;
СоздаватьСоединение = ТипЗнч(Соединение) <> Тип("ИнтернетПочта"); СоздаватьСоединение = ТипЗнч(Соединение) <> Тип("ИнтернетПочта");
УстановитьОтключениеБезопасногоРежима(Истина);
Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись); Профиль = ИнтернетПочтовыйПрофиль(УчетнаяЗапись);
УстановитьОтключениеБезопасногоРежима(Ложь);
Если СоздаватьСоединение Тогда Если СоздаватьСоединение Тогда
УстановитьОтключениеБезопасногоРежима(Истина); УстановитьОтключениеБезопасногоРежима(Истина);
@@ -2729,6 +2729,8 @@
|Справочник.ПапкиФайлов.Изменение.НастройкиПрав.Справочник.ПапкиФайлов |Справочник.ПапкиФайлов.Изменение.НастройкиПрав.Справочник.ПапкиФайлов
|Справочник.Файлы.Чтение.НастройкиПрав.Справочник.ПапкиФайлов |Справочник.Файлы.Чтение.НастройкиПрав.Справочник.ПапкиФайлов
|Справочник.Файлы.Изменение.НастройкиПрав.Справочник.ПапкиФайлов |Справочник.Файлы.Изменение.НастройкиПрав.Справочник.ПапкиФайлов
|Справочник.Файлы.Изменение.ВнешниеПользователи
|Справочник.Файлы.Чтение.ВнешниеПользователи
|"; |";
ТипыВладельцевФайлов = Метаданные.ОпределяемыеТипы.ВладелецФайлов.Тип.Типы(); ТипыВладельцевФайлов = Метаданные.ОпределяемыеТипы.ВладелецФайлов.Тип.Типы();
@@ -262,6 +262,7 @@
ПараметрыБлокировки.ОтключенныеЗадания.Очистить(); ПараметрыБлокировки.ОтключенныеЗадания.Очистить();
ПараметрыБлокировки.ИдентификаторБазы = ИдентификаторФайловойБазы(ЭтоФайловаяБаза); ПараметрыБлокировки.ИдентификаторБазы = ИдентификаторФайловойБазы(ЭтоФайловаяБаза);
ПараметрыБлокировки.РазделениеВключено = ОбщегоНазначения.РазделениеВключено(); ПараметрыБлокировки.РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
ПараметрыБлокировки.ИмяКомпьютера = ИмяКомпьютера();
ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки); ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки);
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения); Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения);
@@ -450,8 +451,10 @@
ЭтоФайловаяБаза = ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения); ЭтоФайловаяБаза = ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения);
Если ЭтоФайловаяБаза <> ПараметрыБлокировки.ЭтоФайловаяБаза Тогда Если ЭтоФайловаяБаза <> ПараметрыБлокировки.ЭтоФайловаяБаза Тогда
ТекстСообщения = ?(ЭтоФайловаяБаза, НСтр("ru = 'Информационная база была перемещена из клиент-серверного режима работы в файловый.'"), ТекстСообщения =
НСтр("ru = 'Информационная база была перемещена из файловый режима работы в клиент-серверный.'")); ?(ЭтоФайловаяБаза,
НСтр("ru = 'Информационная база была перемещена из клиент-серверного режима работы в файловый.'"),
НСтр("ru = 'Информационная база была перемещена из файловый режима работы в клиент-серверный.'"));
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения); УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
@@ -469,7 +472,8 @@
Если НайденныеФайлы.Количество() = 0 Тогда Если НайденныеФайлы.Количество() = 0 Тогда
// В каталоге базы отсутствует файл проверки. // В каталоге базы отсутствует файл проверки.
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В каталоге информационной базы отсутствует файл проверки %1.'"), ИмяФайлаПроверки); НСтр("ru = 'В каталоге информационной базы отсутствует файл проверки %1.'"),
ИмяФайлаПроверки);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения); УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
@@ -478,22 +482,37 @@
// Файл присутствует, но идентификатор внутри не соответствует ожидаемому. // Файл присутствует, но идентификатор внутри не соответствует ожидаемому.
Если ИдентификаторБазы <> ПараметрыБлокировки.ИдентификаторБазы Тогда Если ИдентификаторБазы <> ПараметрыБлокировки.ИдентификаторБазы Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор информационной базы в файле проверки %1 не соответствует идентификатору в текущей базе.'"), ИмяФайлаПроверки); НСтр("ru = 'Идентификатор информационной базы в файле проверки %1 не соответствует идентификатору в текущей базе.'"),
ИмяФайлаПроверки);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения); УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
Иначе // Клиент-серверная база Иначе // Клиент-серверная база
ИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Ref); ИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Ref);
ИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Srvr); ИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Srvr);
ИмяКомпьютера = НРег(ИмяКомпьютера());
СохраненноеИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Ref); СохраненноеИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Ref);
СохраненноеИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Srvr); СохраненноеИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Srvr);
СохраненноеИмяКомпьютера = НРег(ПараметрыБлокировки.ИмяКомпьютера);
Если ИмяБазы <> СохраненноеИмяБазы Если ИмяБазы <> СохраненноеИмяБазы
Или ИмяСервера <> СохраненноеИмяСервера Тогда Или (ПараметрыБлокировки.ПроверятьИмяСервера
И (ИмяКомпьютера <> СохраненноеИмяКомпьютера
И ИмяСервера <> СохраненноеИмяСервера)) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Различаются имя информационной базы или имя компьютера. НСтр("ru = 'Различаются имя информационной базы или имя компьютера.
|Сохраненное имя базы: %1, текущее имя базы: %2.'"), |Строка соединения:
СохраненноеИмяБазы, ИмяБазы); |Было <%1>, Стало <%2>
|Имя компьютера:
|Было <%3>, Стало <%4>
|Проверять имя сервера: <%5>'"),
ПараметрыБлокировки.СтрокаСоединения,
СтрокаСоединения,
СохраненноеИмяКомпьютера,
ИмяКомпьютера,
ПараметрыБлокировки.ПроверятьИмяСервера);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения); УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
@@ -1495,6 +1514,7 @@
ПараметрыБлокировки.Вставить("РазделениеВключено", РазделениеВключено); ПараметрыБлокировки.Вставить("РазделениеВключено", РазделениеВключено);
Если РазделениеВключено Тогда Если РазделениеВключено Тогда
ПараметрыБлокировки.Вставить("СтрокаСоединения", ""); ПараметрыБлокировки.Вставить("СтрокаСоединения", "");
ПараметрыБлокировки.Вставить("ИмяКомпьютера", "");
КонецЕсли; КонецЕсли;
ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки); ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки);
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения); Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения);
@@ -1516,6 +1536,8 @@
ПараметрыБлокировки.Вставить("ОтключенныеЗадания", Новый Массив); ПараметрыБлокировки.Вставить("ОтключенныеЗадания", Новый Массив);
ПараметрыБлокировки.Вставить("ЭтоФайловаяБаза", ЭтоФайловаяБаза); ПараметрыБлокировки.Вставить("ЭтоФайловаяБаза", ЭтоФайловаяБаза);
ПараметрыБлокировки.Вставить("СтрокаСоединения", ?(РазделениеВключено, "", СтрокаСоединения)); ПараметрыБлокировки.Вставить("СтрокаСоединения", ?(РазделениеВключено, "", СтрокаСоединения));
ПараметрыБлокировки.Вставить("ИмяКомпьютера", ?(РазделениеВключено, "", ИмяКомпьютера()));
ПараметрыБлокировки.Вставить("ПроверятьИмяСервера", Истина);
ПараметрыБлокировки.Вставить("ИдентификаторБазы", ИдентификаторБазы); ПараметрыБлокировки.Вставить("ИдентификаторБазы", ИдентификаторБазы);
Возврат ПараметрыБлокировки; Возврат ПараметрыБлокировки;
@@ -1,19 +0,0 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область СлужебныеПроцедурыИФункции
Функция ПрофильБезопасностиИнформационнойБазы() Экспорт
// Требуется явный вызов необязательной подсистемы, так как ОбщегоНазначения.ОбщийМодуль может быть запрещен
// профилем безопасности.
Возврат РаботаВБезопасномРежиме.ПрофильБезопасностиИнформационнойБазы(Истина);
КонецФункции
#КонецОбласти
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="662c5b48-62e1-451e-b37f-20f3f2bb0347">
<name>СтандартныеПодсистемыБезопасныйРежим</name>
<synonym>
<key>ru</key>
<value>Стандартные подсистемы безопасный режим</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
@@ -207,7 +207,7 @@
ОписаниеОшибки = НачалоОписанияОшибки ОписаниеОшибки = НачалоОписанияОшибки
+ Символы.ПС + Символы.ПС + Символы.ПС + Символы.ПС
+ ТекстОшибки; + ТекстОшибки;
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки); ЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки);
Возврат НачалоОписанияОшибки; Возврат НачалоОписанияОшибки;
КонецФункции КонецФункции
@@ -3022,7 +3022,8 @@
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
ПрофильИнформационнойБазы = СтандартныеПодсистемыБезопасныйРежим.ПрофильБезопасностиИнформационнойБазы(); МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
ПрофильИнформационнойБазы = МодульРаботаВБезопасномРежиме.ПрофильБезопасностиИнформационнойБазы();
Иначе Иначе
ПрофильИнформационнойБазы = ""; ПрофильИнформационнойБазы = "";
КонецЕсли; КонецЕсли;
@@ -4434,7 +4434,7 @@
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено Тогда Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено Тогда
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер"); МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
Результат = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(ТипКонтактнойИнформации); Результат = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(ТипКонтактнойИнформации);
Иначе Иначе
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(ТипКонтактнойИнформации); Результат = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(ТипКонтактнойИнформации);
КонецЕсли; КонецЕсли;
@@ -132,9 +132,8 @@
// Открывает форму ПечатьДокументов для коллекции табличных документов. // Открывает форму ПечатьДокументов для коллекции табличных документов.
// //
// Параметры: // Параметры:
// КоллекцияПечатныхФорм - Массив - коллекция описаний печатных форм, см. НоваяКоллекцияПечатныхФорм(); // КоллекцияПечатныхФорм - Массив - см. НоваяКоллекцияПечатныхФорм();
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект; // ОбъектыПечати - СписокЗначений - см. УправлениеПечатьюПереопределяемый.ПриПечати;
// представление - имя области в которой был выведен объект (выходной параметр);
// ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать. // ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать.
// //
Процедура ПечатьДокументов(КоллекцияПечатныхФорм, Знач ОбъектыПечати = Неопределено, ВладелецФормы = Неопределено) Экспорт Процедура ПечатьДокументов(КоллекцияПечатныхФорм, Знач ОбъектыПечати = Неопределено, ВладелецФормы = Неопределено) Экспорт
@@ -153,7 +152,9 @@
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности); ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности);
КонецПроцедуры КонецПроцедуры
// Возвращает подготовленный список печатных форм. // Конструктор параметра КоллекцияПечатныхФорм для процедур и функций этого модуля.
// См. ПечатьДокументов()
// См. ОписаниеПечатнойФормы().
// //
// Параметры: // Параметры:
// Идентификаторы - Строка - идентификаторы печатных форм. // Идентификаторы - Строка - идентификаторы печатных форм.
@@ -198,7 +199,9 @@
// Идентификатор - Строка - идентификатор печатной формы. // Идентификатор - Строка - идентификатор печатной формы.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - найденное описание печатной формы. // Структура - найденное описание печатной формы в коллекции печатных форм,
// описание полей см. в УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
//
Функция ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, Идентификатор) Экспорт Функция ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, Идентификатор) Экспорт
Для Каждого ОписаниеПечатнойФормы Из КоллекцияПечатныхФорм Цикл Для Каждого ОписаниеПечатнойФормы Из КоллекцияПечатныхФорм Цикл
Если ОписаниеПечатнойФормы.ИмяВРЕГ = ВРег(Идентификатор) Тогда Если ОписаниеПечатнойФормы.ИмяВРЕГ = ВРег(Идентификатор) Тогда
@@ -1190,17 +1190,8 @@
Если ПараметрыТекстаСообщения[ИмяОбъекта] <> Неопределено Тогда Если ПараметрыТекстаСообщения[ИмяОбъекта] <> Неопределено Тогда
Если ЗначениеЗаполнено(ПараметрыШаблона.Макет) Тогда ЗаполнитьЗначенияРеквизитовПоПараметрам(Сообщение, ПараметрыТекстаСообщения[ИмяОбъекта], ПараметрыШаблона, Предмет);
ЗаполнитьРеквизитыПоСКД(ПараметрыТекстаСообщения[ИмяОбъекта], Предмет, ПараметрыШаблона);
Иначе
ЗаполнитьРеквизитыПоПредмету(ПараметрыТекстаСообщения[ИмяОбъекта], Предмет);
КонецЕсли;
ЗаполнитьРеквизитыСвойствИКонтактнойИнформации(ПараметрыТекстаСообщения[ИмяОбъекта], Предмет);
Сообщение.ЗначенияРеквизитов = ПараметрыТекстаСообщения[ИмяОбъекта];
Если ПараметрыТекстаСообщения[ИмяОбъекта]["ВнешняяСсылкаНаОбъект"] <> Неопределено Тогда
ПараметрыТекстаСообщения[ИмяОбъекта]["ВнешняяСсылкаНаОбъект"] = ВнешняяСсылкаНаОбъект(Предмет);
КонецЕсли;
Иначе Иначе
Сообщение.ЗначенияРеквизитов = ?(ПараметрыТекстаСообщения[ПараметрыШаблона.ПолноеИмяТипаНазначения] <> Неопределено, Сообщение.ЗначенияРеквизитов = ?(ПараметрыТекстаСообщения[ПараметрыШаблона.ПолноеИмяТипаНазначения] <> Неопределено,
ПараметрыТекстаСообщения[ПараметрыШаблона.ПолноеИмяТипаНазначения], Новый Соответствие); ПараметрыТекстаСообщения[ПараметрыШаблона.ПолноеИмяТипаНазначения], Новый Соответствие);
@@ -1267,6 +1258,25 @@
КонецФункции КонецФункции
Процедура ЗаполнитьЗначенияРеквизитовПоПараметрам(Сообщение, Знач ПараметрыТекстаСообщения, Знач ПараметрыШаблона, Предмет)
Если ПараметрыТекстаСообщения["ВнешняяСсылкаНаОбъект"] <> Неопределено Тогда
ПараметрыТекстаСообщения["ВнешняяСсылкаНаОбъект"] = ВнешняяСсылкаНаОбъект(Предмет);
Если ПараметрыТекстаСообщения.Количество() = 1 Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыШаблона.Макет) Тогда
ЗаполнитьРеквизитыПоСКД(ПараметрыТекстаСообщения, Предмет, ПараметрыШаблона);
Иначе
ЗаполнитьРеквизитыПоПредмету(ПараметрыТекстаСообщения, Предмет);
КонецЕсли;
ЗаполнитьРеквизитыСвойствИКонтактнойИнформации(ПараметрыТекстаСообщения, Предмет);
Сообщение.ЗначенияРеквизитов = ПараметрыТекстаСообщения;
КонецПроцедуры
Функция УстановитьЗначенияРеквизитовВТекстСообщения(ПараметрыШаблона, ПараметрыТекстаСообщения, Предмет) Функция УстановитьЗначенияРеквизитовВТекстСообщения(ПараметрыШаблона, ПараметрыТекстаСообщения, Предмет)
Результат = Новый Структура("Тема, Текст, Вложения"); Результат = Новый Структура("Тема, Текст, Вложения");
+10 -10
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="e725cbdd-348a-41e6-85e7-53e5c4152789"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d6699c7b-2376-4408-b59d-50fbfb1589a9">
<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="20d948ac-7f92-434a-8243-8bba89dc4ed4"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="90ffad38-9d8f-44f0-8da4-b8801a33f9ca"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f47b7e73-499e-4349-86c4-7e7f7cde5de1"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="3b046a4e-3332-45d8-995a-46163d0dc373"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a1454716-8788-4b18-ab48-382ea664ee67"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="ccd67260-4a4d-418b-90dc-1c4c5528a3b6"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c452421a-b95a-4afe-80ab-30b61eafafa7"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="fe0b7538-5d5a-4064-b12e-706cb3f6f992"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a2a6be08-a6db-479c-ac87-66c985ed5e31"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="d9fd6d51-eee8-48c6-9fe9-18716ec9e6c8"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="7bc448a8-256e-484d-951f-f3eced7a9ede"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e42e2dbc-59e4-496e-8c4c-0198325102b0"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="ad2f991b-a14c-4b9a-945b-70be484b75c4"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="63d144ef-5bf2-4e1c-97e1-232e9857e2e7"/>
<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.2.156</version> <version>3.0.2.164</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>
@@ -905,7 +905,6 @@
<commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемОбработчикСообщения_1_0_2_1</commonModules> <commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемОбработчикСообщения_1_0_2_1</commonModules>
<commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемОбработчикСообщения_1_0_3_1</commonModules> <commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемОбработчикСообщения_1_0_3_1</commonModules>
<commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемРеализация</commonModules> <commonModules>CommonModule.СообщенияУправлениеРезервнымКопированиемРеализация</commonModules>
<commonModules>CommonModule.СтандартныеПодсистемыБезопасныйРежим</commonModules>
<commonModules>CommonModule.СтандартныеПодсистемыВызовСервера</commonModules> <commonModules>CommonModule.СтандартныеПодсистемыВызовСервера</commonModules>
<commonModules>CommonModule.СтандартныеПодсистемыГлобальный</commonModules> <commonModules>CommonModule.СтандартныеПодсистемыГлобальный</commonModules>
<commonModules>CommonModule.СтандартныеПодсистемыКлиент</commonModules> <commonModules>CommonModule.СтандартныеПодсистемыКлиент</commonModules>
@@ -1812,6 +1811,7 @@
<informationRegisters>InformationRegister.ЗамерыОперацииСтатистики</informationRegisters> <informationRegisters>InformationRegister.ЗамерыОперацииСтатистики</informationRegisters>
<informationRegisters>InformationRegister.ЗамерыСтатистики</informationRegisters> <informationRegisters>InformationRegister.ЗамерыСтатистики</informationRegisters>
<informationRegisters>InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов</informationRegisters> <informationRegisters>InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов</informationRegisters>
<informationRegisters>InformationRegister.ЗемельныеУчастки</informationRegisters>
<informationRegisters>InformationRegister.ЗначенияГруппДоступа</informationRegisters> <informationRegisters>InformationRegister.ЗначенияГруппДоступа</informationRegisters>
<informationRegisters>InformationRegister.ЗначенияГруппДоступаПоУмолчанию</informationRegisters> <informationRegisters>InformationRegister.ЗначенияГруппДоступаПоУмолчанию</informationRegisters>
<informationRegisters>InformationRegister.ИдентификаторыОбъектовВерсийРасширений</informationRegisters> <informationRegisters>InformationRegister.ИдентификаторыОбъектовВерсийРасширений</informationRegisters>
@@ -1 +1 @@
{6,1,1,10ceb5bd-2988-454b-94e2-12db4bc2bd00,1,9c66d9ed-33d5-43cd-b817-25b6fe99581a,"3.0.2.156","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5986,1,0,e725cbdd-348a-41e6-85e7-53e5c4152789,e725cbdd-348a-41e6-85e7-53e5c4152789,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,96b50267-732e-4538-a569-97860726a2e6,1,dfde0fba-cffa-4ea4-be72-51e95fd62fd1,"3.0.2.164","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5990,1,0,d6699c7b-2376-4408-b59d-50fbfb1589a9,d6699c7b-2376-4408-b59d-50fbfb1589a9,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
@@ -3011,6 +3011,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПодключениеЧерезВнешнееСоединение</name>
<title>
<key>ru</key>
<value>Подключение через внешнее соединение</value>
</title>
<id>45</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ПерейтиВЖурналРегистрации</name> <name>ПерейтиВЖурналРегистрации</name>
<title> <title>
@@ -49,6 +49,8 @@
НеНапоминатьОДолгойСинхронизации = Истина; НеНапоминатьОДолгойСинхронизации = Истина;
ПроверятьРасхождениеВерсий = Не ОбменМеждуПриложениямиВСервисе; ПроверятьРасхождениеВерсий = Не ОбменМеждуПриложениямиВСервисе;
ПодключениеЧерезВнешнееСоединение = (ВидТранспортаСообщений = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса")
И ОбменДаннымиСервер.ЭтоАвтономноеРабочееМесто() Тогда И ОбменДаннымиСервер.ЭтоАвтономноеРабочееМесто() Тогда
@@ -1031,6 +1033,13 @@
&НаКлиенте &НаКлиенте
Функция Подключаемый_ОжиданиеПроверкиПодключения_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) Функция Подключаемый_ОжиданиеПроверкиПодключения_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее)
Если ПодключениеЧерезВнешнееСоединение Тогда
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь);
КонецЕсли;
Возврат Неопределено;
КонецЕсли;
ПроверитьПодключение(); ПроверитьПодключение();
Если СинхронизацияДанныхОтключена Если СинхронизацияДанныхОтключена
И ЕстьСтраницаЗапросаПароля Тогда И ЕстьСтраницаЗапросаПароля Тогда
@@ -1377,7 +1386,8 @@
СтрокаПерехода.ИмяОбработчикаПриПереходеДалее = "ЗапросПароляПользователя_ПриПереходеДалее"; СтрокаПерехода.ИмяОбработчикаПриПереходеДалее = "ЗапросПароляПользователя_ПриПереходеДалее";
КонецЕсли; КонецЕсли;
Если ВидТранспортаСообщений = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда Если ВидТранспортаСообщений = Перечисления.ВидыТранспортаСообщенийОбмена.WS
Или ВидТранспортаСообщений = Перечисления.ВидыТранспортаСообщенийОбмена.COM Тогда
ТаблицаПереходовНоваяСтрока("ОжиданиеСинхронизацииДанных", , Истина, "ОжиданиеПроверкиПодключения_ОбработкаДлительнойОперации"); ТаблицаПереходовНоваяСтрока("ОжиданиеСинхронизацииДанных", , Истина, "ОжиданиеПроверкиПодключения_ОбработкаДлительнойОперации");
КонецЕсли; КонецЕсли;
@@ -2876,6 +2876,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПодключениеЧерезВнешнееСоединение</name>
<title>
<key>ru</key>
<value>Подключение через внешнее соединение</value>
</title>
<id>28</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>КомандаГотово</name> <name>КомандаГотово</name>
<title> <title>
@@ -104,6 +104,12 @@
ПродолжитьОжидание = Истина; ПродолжитьОжидание = Истина;
Если ПодключениеЧерезВнешнееСоединение Тогда
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь);
КонецЕсли;
КонецЕсли;
ПриНачалеПроверкиПодключенияНаСервере(ПродолжитьОжидание); ПриНачалеПроверкиПодключенияНаСервере(ПродолжитьОжидание);
Если ПродолжитьОжидание Тогда Если ПродолжитьОжидание Тогда
@@ -506,6 +512,8 @@
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена); ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
ПодключениеЧерезВнешнееСоединение = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
ИспользоватьПрогресс = Ложь; ИспользоватьПрогресс = Ложь;
@@ -7424,23 +7424,6 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ОбменЧерезПодключениеККорреспонденту</name>
<title>
<key>ru</key>
<value>Обмен через подключение к корреспонденту</value>
</title>
<id>22</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes> <attributes>
<name>WSЗапомнитьПароль</name> <name>WSЗапомнитьПароль</name>
<title> <title>
@@ -8086,6 +8069,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ОбменЧерезВнешнееСоединение</name>
<title>
<key>ru</key>
<value>Обмен через внешнее соединение</value>
</title>
<id>64</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>ОбновитьИнформациюСопоставленияПолностью</name> <name>ОбновитьИнформациюСопоставленияПолностью</name>
<title> <title>
@@ -1208,14 +1208,12 @@
ОбменЧерезВнешнееСоединение = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.COM); ОбменЧерезВнешнееСоединение = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
ОбменЧерезВебСервис = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WS); ОбменЧерезВебСервис = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WS);
ОбменЧерезПодключениеККорреспонденту = ОбменЧерезВнешнееСоединение Или ОбменЧерезВебСервис;
Если ОбменЧерезВебСервис Тогда Если ОбменЧерезВебСервис Тогда
СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Объект.УзелИнформационнойБазы); СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Объект.УзелИнформационнойБазы);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтруктураНастроек, "WSЗапомнитьПароль"); ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтруктураНастроек, "WSЗапомнитьПароль");
КонецЕсли; КонецЕсли;
ИспользоватьПрогрессБар = Не ОбменЧерезПодключениеККорреспонденту И Не ОбменМеждуПриложениямиВСервисе; ИспользоватьПрогрессБар = Не ОбменЧерезВебСервис И Не ОбменМеждуПриложениямиВСервисе;
Если Инициализация Тогда Если Инициализация Тогда
ПропускатьСтраницуТранспорта = ПропускатьСтраницуТранспорта И (Не ОбменЧерезВебСервис Или WSЗапомнитьПароль); ПропускатьСтраницуТранспорта = ПропускатьСтраницуТранспорта И (Не ОбменЧерезВебСервис Или WSЗапомнитьПароль);
@@ -1986,16 +1984,18 @@
&НаКлиенте &НаКлиенте
Функция Подключаемый_СтраницаОжиданияПроверкиПодключения_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) Функция Подключаемый_СтраницаОжиданияПроверкиПодключения_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее)
Если ОбменЧерезВебСервис Тогда Если ОбменЧерезВнешнееСоединение Тогда
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ПроверитьПодключениеИСохранитьНастройки(Отказ); ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь);
Если Отказ Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'"));
КонецЕсли; КонецЕсли;
Возврат Неопределено;
КонецЕсли;
Если ОбменЧерезВебСервис Тогда
ПроверитьПодключениеИСохранитьНастройки(Отказ);
Если Отказ Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'"));
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат Неопределено; Возврат Неопределено;
@@ -2382,7 +2382,7 @@
Если СтатистикаПустая Или ПропуститьПолучениеДанных Тогда Если СтатистикаПустая Или ПропуститьПолучениеДанных Тогда
ПропуститьСтраницу = Истина; ПропуститьСтраницу = Истина;
Если ПолученоСообщениеДляСопоставленияДанных Тогда Если ПолученоСообщениеДляСопоставленияДанных Тогда
ЗакончитьСопоставлениеДанных = Истина; ЗакончитьСопоставлениеДанных = СтатистикаПустая;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -2981,7 +2981,8 @@
Иначе Иначе
Если ОбменЧерезПодключениеККорреспонденту Тогда Если ОбменЧерезВебСервис
Или ОбменЧерезВнешнееСоединение Тогда
// Проверка подключения. // Проверка подключения.
Если ПолучитьДанные Тогда Если ПолучитьДанные Тогда
ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияПроверкиПодключения_ОбработкаДлительнойОперации"); ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияПроверкиПодключения_ОбработкаДлительнойОперации");
@@ -2993,7 +2994,7 @@
Если ПолучитьДанные Тогда Если ПолучитьДанные Тогда
// Получение данных (транспорт сообщения обмена). // Получение данных (транспорт сообщения обмена).
ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияАнализаДанных_ОбработкаДлительнойОперации", "СтраницаОжиданияАнализаДанных_ПриОткрытии"); ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияАнализаДанных_ОбработкаДлительнойОперации", "СтраницаОжиданияАнализаДанных_ПриОткрытии");
Если ОбменЧерезПодключениеККорреспонденту Тогда Если ОбменЧерезВебСервис Тогда
ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияАнализаДанныхДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); ТаблицаПереходовНоваяСтрокаДлительнаяОперация("СтраницаОжиданияАнализаДанных", "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияАнализаДанныхДлительнаяОперацияОкончание_ОбработкаДлительнойОперации");
КонецЕсли; КонецЕсли;
@@ -3023,7 +3024,7 @@
// Выгрузка данных. // Выгрузка данных.
ТаблицаПереходовНоваяСтрокаДлительнаяОперация(ИмяСтраницыСинхронизацияВыгрузка, "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияВыгрузкиДанных_ОбработкаДлительнойОперации", "ВыгрузкаДанных_ПриОткрытии"); ТаблицаПереходовНоваяСтрокаДлительнаяОперация(ИмяСтраницыСинхронизацияВыгрузка, "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияВыгрузкиДанных_ОбработкаДлительнойОперации", "ВыгрузкаДанных_ПриОткрытии");
Если ОбменЧерезПодключениеККорреспонденту Тогда Если ОбменЧерезВебСервис Тогда
ТаблицаПереходовНоваяСтрокаДлительнаяОперация(ИмяСтраницыСинхронизацияВыгрузка, "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияВыгрузкиДанныхДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); ТаблицаПереходовНоваяСтрокаДлительнаяОперация(ИмяСтраницыСинхронизацияВыгрузка, "СтраницаНавигацииОжидание", Истина, "СтраницаОжиданияВыгрузкиДанныхДлительнаяОперацияОкончание_ОбработкаДлительнойОперации");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -129,7 +129,7 @@
<id>13</id> <id>13</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Перед началом настройки новой синхронизации данных рекомендуется &lt;link создать резервную копию данных>создать резервную копию данных&lt;/>.</value> <value>Перед началом настройки новой синхронизации данных рекомендуется создать резервную копию данных.</value>
</title> </title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -155,10 +155,6 @@
<type>Label</type> <type>Label</type>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo"> <extInfo xsi:type="form:LabelDecorationExtInfo">
<handlers>
<event>URLProcessing</event>
<name>ДекорацияРезервноеКопированиеНадписьОбработкаНавигационнойСсылки</name>
</handlers>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</items> </items>
@@ -73,20 +73,6 @@
#КонецОбласти #КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ДекорацияРезервноеКопированиеНадписьОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если РезервноеКопирование Тогда
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(НавигационнаяСсылкаОбработкиРезервногоКопирования);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
&НаКлиенте &НаКлиенте
@@ -433,6 +419,9 @@
Если ТекущийЭтапНастройки = "НастройкаПравил" Если ТекущийЭтапНастройки = "НастройкаПравил"
И НастройкаСинхронизацииЗавершена(УзелОбмена) Тогда И НастройкаСинхронизацииЗавершена(УзелОбмена) Тогда
Оповестить("Запись_УзелПланаОбмена"); Оповестить("Запись_УзелПланаОбмена");
Если ПродолжениеНастройкиВПодчиненномУзлеРИБ Тогда
ОбновитьИнтерфейс();
КонецЕсли;
ПерейтиКСледующемуЭтапуНастройки(); ПерейтиКСледующемуЭтапуНастройки();
КонецЕсли; КонецЕсли;
@@ -844,6 +833,17 @@
"%НаименованиеКорреспондента%", "%НаименованиеКорреспондента%",
ОписаниеВариантаНастройки.НаименованиеКорреспондента); ОписаниеВариантаНастройки.НаименованиеКорреспондента);
Если РезервноеКопирование Тогда
ЧастиНадписиРезервноеКопирование = Новый Массив;
ЧастиНадписиРезервноеКопирование.Добавить(НСтр("ru = 'Перед началом настройки новой синхронизации данных рекомендуется'"));
ЧастиНадписиРезервноеКопирование.Добавить(" ");
ЧастиНадписиРезервноеКопирование.Добавить(
Новый ФорматированнаяСтрока(НСтр("ru = 'создать резервную копию данных'"), , , , НавигационнаяСсылкаОбработкиРезервногоКопирования));
ЧастиНадписиРезервноеКопирование.Добавить(".");
Элементы.ДекорацияРезервноеКопированиеНадпись.Заголовок = Новый ФорматированнаяСтрока(ЧастиНадписиРезервноеКопирование);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1401,6 +1401,23 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПодключениеЧерезВнешнееСоединение</name>
<title>
<key>ru</key>
<value>Подключение через внешнее соединение</value>
</title>
<id>19</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>КомандаДалее</name> <name>КомандаДалее</name>
<title> <title>
@@ -81,6 +81,12 @@
ПродолжитьОжидание = Истина; ПродолжитьОжидание = Истина;
Если ПодключениеЧерезВнешнееСоединение Тогда
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь);
КонецЕсли;
КонецЕсли;
ПриНачалеУдаленияНастройкиСинхронизацииНаСервере(ПродолжитьОжидание); ПриНачалеУдаленияНастройкиСинхронизацииНаСервере(ПродолжитьОжидание);
Если ПродолжитьОжидание Тогда Если ПродолжитьОжидание Тогда
@@ -261,12 +267,15 @@
Или ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS); Или ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS);
ЭтоОбменСВнешнейСистемой = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.ВнешняяСистема); ЭтоОбменСВнешнейСистемой = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.ВнешняяСистема);
ПодключениеЧерезВнешнееСоединение = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
УдалитьНастройкуВКорреспонденте = ПодключениеOnline Или ЭтоОбменСВнешнейСистемой; УдалитьНастройкуВКорреспонденте = ПодключениеOnline Или ЭтоОбменСВнешнейСистемой;
ПолучитьПараметрыКорреспондента = МодельСервиса ПолучитьПараметрыКорреспондента = МодельСервиса
И Не Параметры.Свойство("ЭтоОбменСПриложениемВСервисе") И Не Параметры.Свойство("ЭтоОбменСПриложениемВСервисе")
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим; И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим
И Не ЭтоОбменСВнешнейСистемой;
ЗаполнитьТаблицуПереходов(); ЗаполнитьТаблицуПереходов();
@@ -356,9 +356,37 @@
&НаКлиенте &НаКлиенте
Процедура ТипДомаПриИзменении(Элемент) Процедура ТипДомаПриИзменении(Элемент)
НаселенныйПунктДетально.HouseType = ТипДома; Если СтрСравнить(ТипДома, РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка()) <> 0 Тогда
Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseNumber) Тогда НаселенныйПунктДетально.HouseType = ТипДома;
ОбновитьПредставлениеАдреса();
Элементы.ТипСтроения.Доступность = Истина;
Элементы.Строение.Доступность = Истина;
Если ЗначениеЗаполнено(НаселенныйПунктДетально.stead) Тогда
НаселенныйПунктДетально.HouseNumber = НаселенныйПунктДетально.stead;
НаселенныйПунктДетально.stead = "";
НаселенныйПунктДетально.steadId = "";
ОбновитьПредставлениеАдреса();
ИначеЕсли ЗначениеЗаполнено(НаселенныйПунктДетально.HouseNumber) Тогда
ОбновитьПредставлениеАдреса();
КонецЕсли;
Иначе
НаселенныйПунктДетально.HouseType = "";
Элементы.ТипСтроения.Доступность = Ложь;
Элементы.Строение.Доступность = Ложь;
Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseNumber)
Или НаселенныйПунктДетально.buildings.Количество() > 0 Тогда
НаселенныйПунктДетально.stead = НаселенныйПунктДетально.HouseNumber;
НаселенныйПунктДетально.HouseNumber = "";
НаселенныйПунктДетально.HouseId = "";
Строение = "";
НаселенныйПунктДетально.buildings.Очистить();
ОбновитьПредставлениеАдреса();
ПодключитьОбработчикОжидания("ОтобразитьДополнительныеЗданияКлиент", 0.1, Истина);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -366,9 +394,13 @@
&НаКлиенте &НаКлиенте
Процедура ДомПриИзменении(Элемент) Процедура ДомПриИзменении(Элемент)
НаселенныйПунктДетально.HouseNumber = Дом; Если ЭтоЗемельныйУчасток(ТипДома) Тогда
Если ПустаяСтрока(НаселенныйПунктДетально.HouseType) Тогда НаселенныйПунктДетально.stead = Дом;
НаселенныйПунктДетально.HouseType = ТипДома; Иначе
НаселенныйПунктДетально.HouseNumber = Дом;
Если ПустаяСтрока(НаселенныйПунктДетально.HouseType) Тогда
НаселенныйПунктДетально.HouseType = ТипДома;
КонецЕсли;
КонецЕсли; КонецЕсли;
НайденныйИдентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина); НайденныйИдентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина);
@@ -388,7 +420,7 @@
Процедура ДомОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Процедура ДомОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ЗаполнитьПоляДомовИСтроений(ВыбранноеЗначение); ЗаполнитьПоляДомовСтроенийЗемельныхУчастков(ВыбранноеЗначение);
Элементы.Дом.ОбновитьТекстРедактирования(); Элементы.Дом.ОбновитьТекстРедактирования();
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -396,8 +428,8 @@
&НаКлиенте &НаКлиенте
Процедура СтроениеОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Процедура СтроениеОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ЗаполнитьПоляДомовИСтроений(ВыбранноеЗначение); ЗаполнитьПоляДомовСтроенийЗемельныхУчастков(ВыбранноеЗначение);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -819,7 +851,13 @@
Если ЗначениеЗаполнено(Текст) Тогда Если ЗначениеЗаполнено(Текст) Тогда
Идентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина); Идентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина);
Если ЗначениеЗаполнено(Идентификатор) Тогда Если ЗначениеЗаполнено(Идентификатор) Тогда
ДанныеВыбора = СписокАвтоподбораВариантовДомов(Идентификатор, Текст + "%");
Если СтрСравнить(ТипДома, РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка()) <> 0 Тогда
ДанныеВыбора = СписокАвтоподбораВариантовДомов(Идентификатор, Текст + "%");
Иначе
ДанныеВыбора = СписокАвтоподбораЗемельныхУчастков(Идентификатор, Текст + "%");
КонецЕсли;
СтандартнаяОбработка = (ДанныеВыбора.Количество() = 0); СтандартнаяОбработка = (ДанныеВыбора.Количество() = 0);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1004,12 +1042,12 @@
&НаКлиенте &НаКлиенте
Процедура ДомНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Процедура ДомНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Ложь); ПоказатьСписокДомовИлиЗемельныхУчастков(Ложь);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура СтроениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Процедура СтроениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Истина); ПоказатьСписокДомовИлиЗемельныхУчастков(Истина);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1401,14 +1439,20 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПоказатьСписокДомов(ВключитьОтбор) Процедура ПоказатьСписокДомовИлиЗемельныхУчастков(ВключитьОтбор)
Идентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина); Идентификатор = ИдентификаторАдреса(НаселенныйПунктДетально, Истина);
Если ЗначениеЗаполнено(Идентификатор) И ЕстьСписокДомов(Идентификатор) Тогда Если ЗначениеЗаполнено(Идентификатор) И ЕстьСписокДомов(Идентификатор) Тогда
ПараметрыФормы = Новый Структура("Идентификатор, Дом, Строение", Идентификатор, Дом, Строение);
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ТипДома", ТипДома);
ПараметрыФормы.Вставить("Номер", Дом);
ПараметрыФормы.Вставить("Идентификатор", Идентификатор);
ПараметрыФормы.Вставить("Строение", Строение);
ПараметрыФормы.Вставить("ТипСтроения", ТипСтроения); ПараметрыФормы.Вставить("ТипСтроения", ТипСтроения);
ПараметрыФормы.Вставить("Отбор", ВключитьОтбор); ПараметрыФормы.Вставить("Отбор", ВключитьОтбор);
ОповещениеОЗакрытие = Новый ОписаниеОповещения("ВыбранДома", ЭтотОбъект); ОповещениеОЗакрытие = Новый ОписаниеОповещения("ВыбранДома", ЭтотОбъект);
ОткрытьФорму("Обработка.РасширенныйВводКонтактнойИнформации.Форма.ВыборДома", ПараметрыФормы,,,,, ОповещениеОЗакрытие, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); ОткрытьФорму("Обработка.РасширенныйВводКонтактнойИнформации.Форма.ВыборДома", ПараметрыФормы,,,,, ОповещениеОЗакрытие, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Иначе Иначе
@@ -1422,6 +1466,7 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ВопросОбОбновлениеАдресногоКлассификатора(Знач СообщениеОПроверкеАдреса) Процедура ВопросОбОбновлениеАдресногоКлассификатора(Знач СообщениеОПроверкеАдреса)
@@ -1437,7 +1482,7 @@
Процедура ВыбранДома(Результат, ДополнительныеПараметры) Экспорт Процедура ВыбранДома(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда Если Результат <> Неопределено Тогда
ЗаполнитьПоляДомовИСтроений(Результат); ЗаполнитьПоляДомовСтроенийЗемельныхУчастков(Результат);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1853,6 +1898,8 @@
НаселенныйПунктДетально.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес(); НаселенныйПунктДетально.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес();
КонецЕсли; КонецЕсли;
ЭтоЗемельныйУчасток = ?(ЭтоЗемельныйУчасток(ТипДома), Истина, Ложь);
Элементы.Улица.Заголовок = НСтр("ru='Улица'"); Элементы.Улица.Заголовок = НСтр("ru='Улица'");
Элементы.ОКТМО.Видимость = ВидКонтактнойИнформации.УказыватьОКТМО; Элементы.ОКТМО.Видимость = ВидКонтактнойИнформации.УказыватьОКТМО;
ВебСервисИспользуется = ВебКлассификаторДоступен; ВебСервисИспользуется = ВебКлассификаторДоступен;
@@ -1864,6 +1911,8 @@
Элементы.Улица.КнопкаВыбора = АвтоподборДоступен; Элементы.Улица.КнопкаВыбора = АвтоподборДоступен;
Элементы.НаселенныйПункт.КнопкаВыбора = Истина; Элементы.НаселенныйПункт.КнопкаВыбора = Истина;
Элементы.Строение.КнопкаВыбора = Ложь; Элементы.Строение.КнопкаВыбора = Ложь;
Элементы.Строение.Доступность = Не ЭтоЗемельныйУчасток;
Элементы.ТипСтроения.Доступность = Не ЭтоЗемельныйУчасток;
Элементы.НаселенныйПункт.ПодсказкаВвода = НСтр("ru='Введите первые буквы названия населенного пункта'"); Элементы.НаселенныйПункт.ПодсказкаВвода = НСтр("ru='Введите первые буквы названия населенного пункта'");
Элементы.Улица.ПодсказкаВвода = НСтр("ru='Введите первые буквы названия улицы'"); Элементы.Улица.ПодсказкаВвода = НСтр("ru='Введите первые буквы названия улицы'");
@@ -2011,8 +2060,12 @@
ИначеЕсли ДанныеАдреса.Свойство("House") Тогда ИначеЕсли ДанныеАдреса.Свойство("House") Тогда
Дом = ДанныеАдреса.House; Дом = ДанныеАдреса.House;
КонецЕсли; КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(ДанныеАдреса.stead) Тогда
ТипДома = РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка();
Дом = ДанныеАдреса.stead;
КонецЕсли; КонецЕсли;
ЗаполняемПервоеЗдание = Истина;
ЗаполняемПервоеЗдание = Истина;
Если ДанныеАдреса.Свойство("Buildings") И ТипЗнч(ДанныеАдреса.Buildings) = Тип("Массив") Тогда Если ДанныеАдреса.Свойство("Buildings") И ТипЗнч(ДанныеАдреса.Buildings) = Тип("Массив") Тогда
Для каждого ОписаниеЗдания Из ДанныеАдреса.Buildings Цикл Для каждого ОписаниеЗдания Из ДанныеАдреса.Buildings Цикл
Если ЗаполняемПервоеЗдание Тогда Если ЗаполняемПервоеЗдание Тогда
@@ -2621,7 +2674,7 @@
ПоказатьПредупреждение(, СообщениеОПроверкеАдреса); ПоказатьПредупреждение(, СообщениеОПроверкеАдреса);
КонецЕсли; КонецЕсли;
Иначе Иначе
ПоказатьПредупреждение(, НСтр("ru='Адрес введен корректно.'")); ПоказатьПредупреждение(, НСтр("ru='Адрес введен корректно'"));
КонецЕсли; КонецЕсли;
Элементы.ГруппаОписаниеНедоступностиСервера.ТекущаяСтраница = Элементы.СервисДоступен; Элементы.ГруппаОписаниеНедоступностиСервера.ТекущаяСтраница = Элементы.СервисДоступен;
@@ -2799,10 +2852,9 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ЗаполнитьПоляДомовИСтроений(Знач ВыбранноеЗначение) Процедура ЗаполнитьПоляДомовСтроенийЗемельныхУчастков(Знач ВыбранноеЗначение)
Модифицированность = Истина; Модифицированность = Истина;
НеобходимоПерерисоватьПоляДомов = НаселенныйПунктДетально.Buildings.Количество() > 1;
НаселенныйПунктДетально.ZIPcode = ВыбранноеЗначение.Индекс; НаселенныйПунктДетально.ZIPcode = ВыбранноеЗначение.Индекс;
НаселенныйПунктДетально.OKTMO = ВыбранноеЗначение.ОКТМО; НаселенныйПунктДетально.OKTMO = ВыбранноеЗначение.ОКТМО;
@@ -2813,6 +2865,23 @@
НаселенныйПунктДетально.ifnsULAreaCode = ВыбранноеЗначение.КодУчасткаИФНСЮЛ; НаселенныйПунктДетально.ifnsULAreaCode = ВыбранноеЗначение.КодУчасткаИФНСЮЛ;
НаселенныйПунктДетально.codeKLADR = ВыбранноеЗначение.КодКЛАДР; НаселенныйПунктДетально.codeKLADR = ВыбранноеЗначение.КодКЛАДР;
ТипЧисло = Новый ОписаниеТипов("Число");
УстановитьМуниципальныеЧастиАдреса(НаселенныйПунктДетально, ТипЧисло.ПривестиЗначение(ВыбранноеЗначение.ОКТМО));
ОбработкаИзмененияАдреса();
Если СтрСравнить(ТипДома, РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка()) <> 0 Тогда
ЗаполнитьПоляДомовИСтроений(ВыбранноеЗначение);
Иначе
ЗаполнитьПоляЗемельногоУчастка(ВыбранноеЗначение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПоляДомовИСтроений(Знач ВыбранноеЗначение)
НеобходимоПерерисоватьПоляДомов = НаселенныйПунктДетально.Buildings.Количество() > 1;
Если ВыбранноеЗначение.Свойство("Дом") Тогда Если ВыбранноеЗначение.Свойство("Дом") Тогда
НаселенныйПунктДетально.HouseNumber = ВыбранноеЗначение.Дом.НомерВладения; НаселенныйПунктДетально.HouseNumber = ВыбранноеЗначение.Дом.НомерВладения;
Если ЗначениеЗаполнено(ВыбранноеЗначение.Дом.ВидВладения) Тогда Если ЗначениеЗаполнено(ВыбранноеЗначение.Дом.ВидВладения) Тогда
@@ -2836,14 +2905,13 @@
КонецЕсли; КонецЕсли;
НаселенныйПунктДетально.houseId = ВыбранноеЗначение.Идентификатор; НаселенныйПунктДетально.houseId = ВыбранноеЗначение.Идентификатор;
НаселенныйПунктДетально.id = ВыбранноеЗначение.Идентификатор;
// отрисовка // отрисовка
Индекс = НаселенныйПунктДетально.ZipCode; Индекс = НаселенныйПунктДетально.ZipCode;
ОКТМО = НаселенныйПунктДетально.OKTMO; ОКТМО = НаселенныйПунктДетально.OKTMO;
Дом = НаселенныйПунктДетально.HouseNumber; Дом = НаселенныйПунктДетально.HouseNumber;
Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseType) Тогда Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseType) Тогда
ТипДома = НаселенныйПунктДетально.HouseType; ТипДома = НаселенныйПунктДетально.HouseType;
КонецЕсли; КонецЕсли;
@@ -2866,6 +2934,24 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПоляЗемельногоУчастка(Знач ВыбранноеЗначение)
НаселенныйПунктДетально.stead = ВыбранноеЗначение.Номер;
НаселенныйПунктДетально.steadId = ВыбранноеЗначение.Идентификатор;
Индекс = НаселенныйПунктДетально.ZipCode;
ОКТМО = НаселенныйПунктДетально.OKTMO;
Дом = НаселенныйПунктДетально.stead;
НаселенныйПунктДетально.Buildings.Очистить();
Строение = "";
ПодключитьОбработчикОжидания("ОтобразитьДополнительныеЗданияКлиент", 0.1, Истина);
КонецПроцедуры
&НаКлиенте &НаКлиенте
Функция ПерваяБукваЗаглавная(Строка) Функция ПерваяБукваЗаглавная(Строка)
Возврат ВРег(Лев(Строка, 1)) + Сред(НРег(Строка), 2); // Использовать ТРег нельзя. Возврат ВРег(Лев(Строка, 1)) + Сред(НРег(Строка), 2); // Использовать ТРег нельзя.
@@ -3046,6 +3132,11 @@
Возврат Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораНомераДомов(Идентификатор, Текст); Возврат Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораНомераДомов(Идентификатор, Текст);
КонецФункции КонецФункции
&НаСервереБезКонтекста
Функция СписокАвтоподбораЗемельныхУчастков(Идентификатор, Текст)
Возврат Обработки.РасширенныйВводКонтактнойИнформации.СписокАвтоподбораЗемельныхУчастков(Идентификатор, Текст);
КонецФункции
&НаСервере &НаСервере
Процедура ПриСозданииНаСервереХранитьИсториюИзменений() Процедура ПриСозданииНаСервереХранитьИсториюИзменений()
@@ -3078,6 +3169,11 @@
Возврат СтрСравнить(УправлениеКонтактнойИнформациейКлиентСервер.ИностранныйАдрес(), ТипАдреса) = 0; Возврат СтрСравнить(УправлениеКонтактнойИнформациейКлиентСервер.ИностранныйАдрес(), ТипАдреса) = 0;
КонецФункции КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ЭтоЗемельныйУчасток(ТипДома)
Возврат СтрСравнить(РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка(), ТипДома) = 0;
КонецФункции
// Предлагает загрузить адресный классификатор. // Предлагает загрузить адресный классификатор.
// //
// Параметры: // Параметры:
@@ -3314,7 +3410,12 @@
Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseType) Тогда Если ЗначениеЗаполнено(НаселенныйПунктДетально.HouseType) Тогда
ТипДома = НаселенныйПунктДетально.HouseType; ТипДома = НаселенныйПунктДетально.HouseType;
КонецЕсли; КонецЕсли;
Дом = НаселенныйПунктДетально.HouseNumber;
Если ПустаяСтрока(НаселенныйПунктДетально.stead) Тогда
Дом = НаселенныйПунктДетально.HouseNumber;
Иначе
Дом = НаселенныйПунктДетально.stead;
КонецЕсли;
Если НаселенныйПунктДетально.Buildings.Количество() > 0 Тогда Если НаселенныйПунктДетально.Buildings.Количество() > 0 Тогда
Если ЗначениеЗаполнено(НаселенныйПунктДетально.Buildings[0].Type) Тогда Если ЗначениеЗаполнено(НаселенныйПунктДетально.Buildings[0].Type) Тогда
@@ -3530,4 +3631,16 @@
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста
Процедура УстановитьМуниципальныеЧастиАдреса(НаселенныйПунктДетально, ОКТМО)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
МодульАдресныйКлассификаторСлужебный.УстановитьМуниципальныеСведения(НаселенныйПунктДетально, ОКТМО);
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -51,16 +51,10 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ДанныеКлассификатора = Обработки.РасширенныйВводКонтактнойИнформации.АдресаДляИнтерактивногоВыбора(Родитель, Уровень, ТипАдреса, ПараметрыПоиска); ДанныеКлассификатора = ДанныеКлассификатораПоИдентификатору(ПараметрыПоиска);
Если ДанныеКлассификатора.Отказ Тогда Если ДанныеКлассификатора.Отказ Тогда
// Сервис на обслуживании КраткоеПредставлениеОшибки = ДанныеКлассификатора.КраткоеПредставлениеОшибки;
КраткоеПредставлениеОшибки = НСтр("ru = 'Автоподбор и проверка адреса недоступны:'") + Символы.ПС + ДанныеКлассификатора.КраткоеПредставлениеОшибки;
Возврат; Возврат;
ИначеЕсли ДанныеКлассификатора.Данные.Количество() = 0 Тогда
КраткоеПредставлениеОшибки = НСтр("ru = 'Поле не содержит адресных сведений для выбора.'");
// Нет данных, функционал выбора не применим.
КонецЕсли; КонецЕсли;
ВариантыАдреса.Загрузить(ДанныеКлассификатора.Данные); ВариантыАдреса.Загрузить(ДанныеКлассификатора.Данные);
@@ -232,4 +226,68 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере
Функция ДанныеКлассификатораПоИдентификатору(Знач ПараметрыПоиска)
Результат = Новый Структура();
Результат.Вставить("Данные", Новый ТаблицаЗначений);
Результат.Вставить("Заголовок", "");
Результат.Вставить("КраткоеПредставлениеОшибки", НСтр("ru = 'Поле не содержит адресных сведений для выбора'"));
Результат.Вставить("Отказ", Ложь);
ДанныеКлассификатора = Обработки.РасширенныйВводКонтактнойИнформации.АдресаДляИнтерактивногоВыбора(Родитель, Уровень, ТипАдреса, ПараметрыПоиска);
Если ДанныеКлассификатора.Отказ Тогда
// Сервис на обслуживании
Результат.КраткоеПредставлениеОшибки = НСтр("ru = 'Автоподбор и проверка адреса недоступны:'") + Символы.ПС + ДанныеКлассификатора.КраткоеПредставлениеОшибки;
Результат.Отказ = Истина;
Возврат Результат;
ИначеЕсли ДанныеКлассификатора.Данные.Количество() = 0 Тогда
НаименованиеРегиона = РаботаСАдресами.РегионАдресаКонтактнойИнформации(РаботаСАдресами.АдресПоИдентификатору(Родитель));
Если РаботаСАдресами.ЭтоГородФедеральногоЗначения(НаименованиеРегиона) Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
Сведения = Новый Структура();
Сведения.Вставить("Идентификатор", Родитель);
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
ПолученныеАдрес = МодульАдресныйКлассификаторСлужебный.АктуальныеАдресныеСведения(Сведения);
Если ПолученныеАдрес.Отказ Тогда
Результат.Отказ = Истина;
Возврат Результат;
КонецЕсли;
Адрес = ПолученныеАдрес.Данные;
Родитель = Адрес.areaId;
ДанныеКлассификатора = Обработки.РасширенныйВводКонтактнойИнформации.АдресаДляИнтерактивногоВыбора(Родитель, Уровень, ТипАдреса, ПараметрыПоиска);
Если ДанныеКлассификатора.Данные.Количество() = 0 Тогда
Результат.Отказ = Истина;
Возврат Результат;
КонецЕсли;
Иначе
Результат.Отказ = Истина;
Возврат Результат;
КонецЕсли;
Иначе
Результат.Отказ = Истина;
Возврат Результат;
КонецЕсли;
КонецЕсли;
Результат.Данные = ДанныеКлассификатора.Данные;
Результат.Заголовок = ДанныеКлассификатора.Заголовок;
Возврат Результат;
КонецФункции
#КонецОбласти #КонецОбласти
@@ -180,7 +180,7 @@
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>СписокДомов</name> <name>СписокАдресныхОбъектов</name>
<id>3</id> <id>3</id>
<title> <title>
<key>ru</key> <key>ru</key>
@@ -192,7 +192,7 @@
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>СписокДомов</segments> <segments>СписокАдресныхОбъектов</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation> <titleLocation>None</titleLocation>
<excludedCommands>Add</excludedCommands> <excludedCommands>Add</excludedCommands>
@@ -213,7 +213,7 @@
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>СписокДомов.Представление</segments> <segments>СписокАдресныхОбъектов.Представление</segments>
</dataPath> </dataPath>
<extendedTooltip> <extendedTooltip>
<name>СписокДомовДомРасширеннаяПодсказка</name> <name>СписокДомовДомРасширеннаяПодсказка</name>
@@ -247,7 +247,7 @@
</extInfo> </extInfo>
</items> </items>
<autoCommandBar> <autoCommandBar>
<name>СписокДомовКоманднаяПанель</name> <name>СписокАдресныхОбъектовКоманднаяПанель</name>
<id>5</id> <id>5</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
@@ -256,10 +256,10 @@
<name>СписокДомовВыбор</name> <name>СписокДомовВыбор</name>
</handlers> </handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокДомовСтрокаПоиска</name> <name>СписокАдресныхОбъектовСтрокаПоиска</name>
<id>7</id> <id>7</id>
<extendedTooltip> <extendedTooltip>
<name>СписокДомовСтрокаПоискаРасширеннаяПодсказка</name> <name>СписокАдресныхОбъектовСтрокаПоискаРасширеннаяПодсказка</name>
<id>9</id> <id>9</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -269,20 +269,20 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <contextMenu>
<name>СписокДомовСтрокаПоискаКонтекстноеМеню</name> <name>СписокАдресныхОбъектовСтрокаПоискаКонтекстноеМеню</name>
<id>8</id> <id>8</id>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
<source>СписокДомов</source> <source>СписокАдресныхОбъектов</source>
<extInfo xsi:type="form:SearchStringAdditionExtInfo"> <extInfo xsi:type="form:SearchStringAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
</extInfo> </extInfo>
</searchStringAddition> </searchStringAddition>
<viewStatusAddition> <viewStatusAddition>
<name>СписокДомовСостояниеПросмотра</name> <name>СписокАдресныхОбъектовСостояниеПросмотра</name>
<id>10</id> <id>10</id>
<extendedTooltip> <extendedTooltip>
<name>СписокДомовСостояниеПросмотраРасширеннаяПодсказка</name> <name>СписокАдресныхОбъектовСостояниеПросмотраРасширеннаяПодсказка</name>
<id>12</id> <id>12</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -292,21 +292,21 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <contextMenu>
<name>СписокДомовСостояниеПросмотраКонтекстноеМеню</name> <name>СписокАдресныхОбъектовСостояниеПросмотраКонтекстноеМеню</name>
<id>11</id> <id>11</id>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
<type>ViewStatusAddition</type> <type>ViewStatusAddition</type>
<source>СписокДомов</source> <source>СписокАдресныхОбъектов</source>
<extInfo xsi:type="form:ViewStatusAdditionExtInfo"> <extInfo xsi:type="form:ViewStatusAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
</extInfo> </extInfo>
</viewStatusAddition> </viewStatusAddition>
<searchControlAddition> <searchControlAddition>
<name>СписокДомовУправлениеПоиском</name> <name>СписокАдресныхОбъектовУправлениеПоиском</name>
<id>13</id> <id>13</id>
<extendedTooltip> <extendedTooltip>
<name>СписокДомовУправлениеПоискомРасширеннаяПодсказка</name> <name>СписокАдресныхОбъектовУправлениеПоискомРасширеннаяПодсказка</name>
<id>15</id> <id>15</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -316,18 +316,18 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <contextMenu>
<name>СписокДомовУправлениеПоискомКонтекстноеМеню</name> <name>СписокАдресныхОбъектовУправлениеПоискомКонтекстноеМеню</name>
<id>14</id> <id>14</id>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
<type>SearchControlAddition</type> <type>SearchControlAddition</type>
<source>СписокДомов</source> <source>СписокАдресныхОбъектов</source>
<extInfo xsi:type="form:SearchControlAdditionExtInfo"> <extInfo xsi:type="form:SearchControlAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
</extInfo> </extInfo>
</searchControlAddition> </searchControlAddition>
<extendedTooltip> <extendedTooltip>
<name>СписокДомовРасширеннаяПодсказка</name> <name>СписокАдресныхОбъектовРасширеннаяПодсказка</name>
<id>6</id> <id>6</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -337,7 +337,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <contextMenu>
<name>СписокДомовКонтекстноеМеню</name> <name>СписокАдресныхОбъектовКонтекстноеМеню</name>
<id>4</id> <id>4</id>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
@@ -399,10 +399,10 @@
<main>true</main> <main>true</main>
</attributes> </attributes>
<attributes> <attributes>
<name>СписокДомов</name> <name>СписокАдресныхОбъектов</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Список домов</value> <value>Список адресных объектов</value>
</title> </title>
<id>2</id> <id>2</id>
<valueType> <valueType>
@@ -596,6 +596,24 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ТипВыбора</name>
<title>
<key>ru</key>
<value>Тип выбора</value>
</title>
<id>11</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>Выбрать</name> <name>Выбрать</name>
<title> <title>
@@ -692,6 +710,20 @@
<types>Boolean</types> <types>Boolean</types>
</valueType> </valueType>
</parameters> </parameters>
<parameters>
<name>ТипДома</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>Номер</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -16,14 +16,20 @@
КонецЕсли; КонецЕсли;
АдресныйОбъект = Параметры.Идентификатор; АдресныйОбъект = Параметры.Идентификатор;
Если Параметры.Отбор Тогда
ЗаполнитьСписокДомов(Параметры.Дом); Если СтрСравнить(Параметры.ТипДома, РаботаСАдресамиКлиентСервер.НаименованиеЗемельногоУчастка()) <> 0 Тогда
ТипВыбора = "СписокДомов";
Иначе Иначе
ЗаполнитьСписокДомов(Неопределено); ТипВыбора = "ЗемельныеУчастки";
Заголовок = НСтр("ru='Выбрать земельный участок'");
Элементы.Найти.Подсказка = НСтр("ru='Поиск по номеру земельного участка'");
Элементы.Найти.ПодсказкаВвода = НСтр("ru='Номер земельного участка'");
КонецЕсли; КонецЕсли;
ЗаполнитьСписок(?(Параметры.Отбор, Параметры.Номер, Неопределено));
// позиционирование // позиционирование
Отбор = Новый Структура("Дом", Параметры.Дом); Отбор = Новый Структура("Дом", Параметры.Номер);
Если ЗначениеЗаполнено(Параметры.ТипСтроения) Тогда Если ЗначениеЗаполнено(Параметры.ТипСтроения) Тогда
Если ВРег(Параметры.ТипСтроения) = НСтр("ru = 'КОРПУС'") Тогда Если ВРег(Параметры.ТипСтроения) = НСтр("ru = 'КОРПУС'") Тогда
Отбор.Вставить("Корпус", Параметры.Строение); Отбор.Вставить("Корпус", Параметры.Строение);
@@ -34,9 +40,9 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Строки = СписокДомов.НайтиСтроки(Отбор); Строки = СписокАдресныхОбъектов.НайтиСтроки(Отбор);
Если Строки.Количество() > 0 Тогда Если Строки.Количество() > 0 Тогда
Элементы.СписокДомов.ТекущаяСтрока = Строки[0].ПолучитьИдентификатор(); Элементы.СписокАдресныхОбъектов.ТекущаяСтрока = Строки[0].ПолучитьИдентификатор();
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
@@ -53,8 +59,8 @@
&НаКлиенте &НаКлиенте
Процедура НайтиОчистка(Элемент, СтандартнаяОбработка) Процедура НайтиОчистка(Элемент, СтандартнаяОбработка)
СписокДомов.Очистить(); СписокАдресныхОбъектов.Очистить();
ЗаполнитьСписокДомов(Неопределено); ЗаполнитьСписок(Неопределено);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -67,7 +73,7 @@
&НаКлиенте &НаКлиенте
Процедура СписокДомовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Процедура СписокДомовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Закрыть(Элементы.СписокДомов.ТекущиеДанные.Значение); Закрыть(Элементы.СписокАдресныхОбъектов.ТекущиеДанные.Значение);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -76,8 +82,8 @@
&НаКлиенте &НаКлиенте
Процедура Выбрать(Команда) Процедура Выбрать(Команда)
Если Элементы.СписокДомов.ТекущиеДанные <> Неопределено Тогда Если Элементы.СписокАдресныхОбъектов.ТекущиеДанные <> Неопределено Тогда
Закрыть(Элементы.СписокДомов.ТекущиеДанные.Значение); Закрыть(Элементы.СписокАдресныхОбъектов.ТекущиеДанные.Значение);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -87,20 +93,48 @@
&НаКлиенте &НаКлиенте
Процедура НайтиИЗаполнитьСписокДомов() Процедура НайтиИЗаполнитьСписокДомов()
ЗаполнитьСписокДомов(ТекстПоиска + "%"); ЗаполнитьСписок(ТекстПоиска + "%");
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСписок(Текст)
Если ТипВыбора = "СписокДомов" Тогда
ЗаполнитьСписокДомов(Текст);
Иначе
ЗаполнитьСписокЗемельныхУчастков(Текст);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьСписокДомов(Текст) Процедура ЗаполнитьСписокДомов(Текст)
СписокДомов.Очистить(); СписокАдресныхОбъектов.Очистить();
СтрокаПоиска = ?(ЗначениеЗаполнено(Текст), Текст, ""); СтрокаПоиска = ?(ЗначениеЗаполнено(Текст), Текст, "");
ПорцияПриПоиске = 2000; ПорцияПриПоиске = 2000;
ПолныйСписокДомов = Обработки.РасширенныйВводКонтактнойИнформации.СписокДомов(АдресныйОбъект, СтрокаПоиска, ПорцияПриПоиске); ПолныйСписокДомов = Обработки.РасширенныйВводКонтактнойИнформации.СписокДомов(АдресныйОбъект, СтрокаПоиска, ПорцияПриПоиске);
Если ПолныйСписокДомов = Неопределено ИЛИ ПолныйСписокДомов.Количество() = 0 Тогда Если ПолныйСписокДомов = Неопределено ИЛИ ПолныйСписокДомов.Количество() = 0 Тогда
Элементы.ФормаВыбрать.Доступность = Ложь; Элементы.ФормаВыбрать.Доступность = Ложь;
Иначе Иначе
СписокДомов.Загрузить(ПолныйСписокДомов); СписокАдресныхОбъектов.Загрузить(ПолныйСписокДомов);
Элементы.ФормаВыбрать.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСписокЗемельныхУчастков(Текст)
СписокАдресныхОбъектов.Очистить();
СтрокаПоиска = ?(ЗначениеЗаполнено(Текст), Текст, "");
ПорцияПриПоиске = 2000;
ЗемельныеУчастки = Обработки.РасширенныйВводКонтактнойИнформации.СписокЗемельныхУчастков(АдресныйОбъект, СтрокаПоиска, ПорцияПриПоиске);
Если ЗемельныеУчастки = Неопределено ИЛИ ЗемельныеУчастки.Количество() = 0 Тогда
Элементы.ФормаВыбрать.Доступность = Ложь;
Иначе
СписокАдресныхОбъектов.Загрузить(ЗемельныеУчастки);
Элементы.ФормаВыбрать.Доступность = Истина; Элементы.ФормаВыбрать.Доступность = Истина;
КонецЕсли; КонецЕсли;
@@ -1335,7 +1335,7 @@
Регион = СокрЛП(ДанныеАдреса.Area + " " + ДанныеАдреса.AreaType); Регион = СокрЛП(ДанныеАдреса.Area + " " + ДанныеАдреса.AreaType);
Если ПустаяСтрока(Регион) Тогда Если ПустаяСтрока(Регион) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "СубъектРФ", ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "СубъектРФ",
НСтр("ru = 'Не указан регион адреса.'"), "Регион"); НСтр("ru = 'Не указан регион адреса'"), "Регион");
КонецЕсли; КонецЕсли;
// 3) Регион, Район, Город, НаселенныйПункт, Улица должны: // 3) Регион, Район, Город, НаселенныйПункт, Улица должны:
@@ -1350,11 +1350,11 @@
Поле = "СубъектРФ"; Поле = "СубъектРФ";
Если ПустаяСтрока(ДанныеАдреса.AreaType) Тогда Если ПустаяСтрока(ДанныеАдреса.AreaType) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, "СубъектРФ", ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, "СубъектРФ",
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для региона ""%1"" не указан тип (республика, область, город и пр.).'"), Регион), НСтр("ru = 'Регион'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для региона ""%1"" не указан тип (республика, область, город и пр.)'"), Регион), НСтр("ru = 'Регион'"));
КонецЕсли; КонецЕсли;
Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Регион, Ложь, ДопустимоКромеКириллицы) Тогда Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Регион, Ложь, ДопустимоКромеКириллицы) Тогда
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии региона ""%1"" есть не кириллические символы.'"), Регион), НСтр("ru = 'Регион'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии региона ""%1"" есть не кириллические символы'"), Регион), НСтр("ru = 'Регион'"));
КонецЕсли КонецЕсли
КонецЕсли; КонецЕсли;
@@ -1364,11 +1364,11 @@
Поле = "Район"; Поле = "Район";
Если ПустаяСтрока(ДанныеАдреса.DistrictType) Тогда Если ПустаяСтрока(ДанныеАдреса.DistrictType) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для района ""%1"" не указан тип (район, поселение и пр.).'"), Район), НСтр("ru = 'Район'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для района ""%1"" не указан тип (район, поселение и пр.)'"), Район), НСтр("ru = 'Район'"));
КонецЕсли; КонецЕсли;
Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Район, Ложь, ДопустимоКромеКириллицы) Тогда Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Район, Ложь, ДопустимоКромеКириллицы) Тогда
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии района ""%1"" есть не кириллические символы.'"), Район), НСтр("ru = 'Район'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии района ""%1"" есть не кириллические символы'"), Район), НСтр("ru = 'Район'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1378,11 +1378,11 @@
Поле = "Город"; Поле = "Город";
Если ПустаяСтрока(ДанныеАдреса.CityType) Тогда Если ПустаяСтрока(ДанныеАдреса.CityType) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для города ""%1"" не указан тип (город, поселок, сельское поселение и пр.).'"), Город), НСтр("ru = 'Город'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для города ""%1"" не указан тип (город, поселок, сельское поселение и пр.)'"), Город), НСтр("ru = 'Город'"));
КонецЕсли; КонецЕсли;
Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Город, Ложь, ДопустимоКромеКириллицы) Тогда Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Город, Ложь, ДопустимоКромеКириллицы) Тогда
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии города ""%1"" есть не кириллические символы.'"), Город), НСтр("ru = 'Город'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии города ""%1"" есть не кириллические символы'"), Город), НСтр("ru = 'Город'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1392,12 +1392,12 @@
Поле = "НаселПункт"; Поле = "НаселПункт";
Если ПустаяСтрока(ДанныеАдреса.LocalityType) Тогда Если ПустаяСтрока(ДанныеАдреса.LocalityType) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для населенного пункта ""%1"" не указан тип (город, деревня, село и пр.).'"), НаселенныйПункт), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для населенного пункта ""%1"" не указан тип (город, деревня, село и пр.)'"), НаселенныйПункт),
НСтр("ru = 'Населенный пункт'")); НСтр("ru = 'Населенный пункт'"));
КонецЕсли; КонецЕсли;
Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(НаселенныйПункт, Ложь, ДопустимоКромеКириллицы) Тогда Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(НаселенныйПункт, Ложь, ДопустимоКромеКириллицы) Тогда
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии населенного пункта ""%1"" есть не кириллические символы.'"), НаселенныйПункт), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии населенного пункта ""%1"" есть не кириллические символы'"), НаселенныйПункт),
НСтр("ru = 'Населенный пункт'")); НСтр("ru = 'Населенный пункт'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1408,11 +1408,11 @@
Поле = "Улица"; Поле = "Улица";
Если ПустаяСтрока(ДанныеАдреса.StreetType) Тогда Если ПустаяСтрока(ДанныеАдреса.StreetType) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для улицы ""%1"" не указан тип (улица, переулок, шоссе и пр.).'"), Улица), НСтр("ru = 'Улица'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для улицы ""%1"" не указан тип (улица, переулок, шоссе и пр.)'"), Улица), НСтр("ru = 'Улица'"));
КонецЕсли; КонецЕсли;
Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Улица, Ложь, ДопустимоКромеКириллицы) Тогда Если Не СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(Улица, Ложь, ДопустимоКромеКириллицы) Тогда
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии улицы ""%1"" есть не кириллические символы.'"), Улица), НСтр("ru = 'Улица'")); СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии улицы ""%1"" есть не кириллические символы'"), Улица), НСтр("ru = 'Улица'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1421,7 +1421,7 @@
Поле = "Индекс"; Поле = "Индекс";
Если СтрДлина(ДанныеАдреса.ZipCode) <> 6 Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(ДанныеАдреса.ZipCode) Тогда Если СтрДлина(ДанныеАдреса.ZipCode) <> 6 Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(ДанныеАдреса.ZipCode) Тогда
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
НСтр("ru = 'Почтовый индекс должен состоять из 6 цифр.'"), НСтр("ru = 'Почтовый индекс должен состоять из 6 цифр'"),
НСтр("ru = 'Индекс'")); НСтр("ru = 'Индекс'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1430,19 +1430,19 @@
Если ПустаяСтрока(Город) И ПустаяСтрока(НаселенныйПункт) И ПустаяСтрока(Район) Тогда Если ПустаяСтрока(Город) И ПустаяСтрока(НаселенныйПункт) И ПустаяСтрока(Район) Тогда
Если РаботаСАдресами.ЭтоГородФедеральногоЗначения(Регион) = Ложь Тогда Если РаботаСАдресами.ЭтоГородФедеральногоЗначения(Регион) = Ложь Тогда
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "Город", ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "Город",
НСтр("ru = 'Город может быть не указан только в регионе - городе федерального значения.'"), НСтр("ru = 'Город может быть не указан только в регионе - городе федерального значения'"),
НСтр("ru = 'Город'")); НСтр("ru = 'Город'"));
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "НаселПункт", ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "НаселПункт",
НСтр("ru = 'Населенный пункт может быть не указан только в регионе - городе федерального значения.'"), НСтр("ru = 'Населенный пункт может быть не указан только в регионе - городе федерального значения'"),
НСтр("ru = 'Населенный пункт'")); НСтр("ru = 'Населенный пункт'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
// 7) Дома не могут быть пустыми // 7) Дома не могут быть пустыми
Если ПустаяСтрока(ДанныеАдреса.houseNumber) И ДанныеАдреса.buildings.Количество() = 0 Тогда Если ПустаяСтрока(ДанныеАдреса.houseNumber) И ДанныеАдреса.buildings.Количество() = 0 И ПустаяСтрока(ДанныеАдреса.stead) Тогда
Поле = "Дом"; Поле = "Дом";
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
НСтр("ru = 'Не указан номер дома.'"), НСтр("ru = 'Не указан номер дома'"),
НСтр("ru = 'Дом'")); НСтр("ru = 'Дом'"));
КонецЕсли; КонецЕсли;
@@ -1528,6 +1528,55 @@
КонецПроцедуры КонецПроцедуры
// Возвращает список значение содержащий номера земельных участков для автоподбора.
//
// Параметры:
// ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Населенный пункт или улица.
// СтрокаПоиска - Строка - Текст автоподбора.
// Возвращаемое значение:
// СписокЗначений - результат для автоподбора.
//
Функция СписокАвтоподбораЗемельныхУчастков(ИдентификаторАдресногоОбъекта, СтрокаПоиска) Экспорт
ВариантыУчастков = Новый СписокЗначений;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
СписокУчастков = МодульАдресныйКлассификаторСлужебный.СписокЗемельныхУчастков(ИдентификаторАдресногоОбъекта, СтрокаПоиска);
КонецЕсли;
ВариантыУчастков = Новый СписокЗначений;
Если СписокУчастков <> Неопределено Тогда
Для каждого Строка Из СписокУчастков Цикл
ВариантыУчастков.Добавить(Строка.Значение, Строка.Представление);
КонецЦикла;
КонецЕсли;
Возврат ВариантыУчастков;
КонецФункции
// Возвращает список земельных участков по идентификатору адресного объекта, поиск по подобию.
//
// Параметры:
// ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Родительский объект.
// СтрокаПоиска - Строка - Текст, отбора в списке домов.
//
// Возвращаемое значение:
// ТаблицаЗначений - найденные варианты.
//
Функция СписокЗемельныхУчастков(ИдентификаторАдресногоОбъекта, СтрокаПоиска = "", ПорцияПриПоиске = 20) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
ЗемельныеУчастки = МодульАдресныйКлассификаторСлужебный.СписокЗемельныхУчастков(ИдентификаторАдресногоОбъекта, СтрокаПоиска, ПорцияПриПоиске);
Возврат ЗемельныеУчастки;
КонецЕсли;
Возврат Неопределено;
КонецФункции
//====================================================================================================================== //======================================================================================================================
// Обратная совместимость // Обратная совместимость
@@ -638,7 +638,8 @@
Процедура УправлениеДоступностью(Форма) Процедура УправлениеДоступностью(Форма)
СообщениеОтправлено = СообщениеОтправлено(Форма.Объект.Состояние); СообщениеОтправлено = СообщениеОтправлено(Форма.Объект.Состояние);
СообщениеНеЧерновик = Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик"); СтатусВышеИсходящее = Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик")
И Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее");
ОтправкаДоступна = Истина; ОтправкаДоступна = Истина;
Если Форма.ИнформационнаяБазаФайловая Тогда Если Форма.ИнформационнаяБазаФайловая Тогда
@@ -666,11 +667,11 @@
КонецЕсли; КонецЕсли;
Форма.Элементы.ФормаОтправить.Доступность = ОтправкаДоступна; Форма.Элементы.ФормаОтправить.Доступность = ОтправкаДоступна;
Форма.Элементы.Адресаты.ТолькоПросмотр = СообщениеНеЧерновик; Форма.Элементы.Адресаты.ТолькоПросмотр = СтатусВышеИсходящее;
Форма.Элементы.ОтправлятьВТранслите.Доступность = НЕ СообщениеНеЧерновик; Форма.Элементы.ОтправлятьВТранслите.Доступность = НЕ СтатусВышеИсходящее;
Форма.Элементы.ТекстСообщения.ТолькоПросмотр = СообщениеНеЧерновик; Форма.Элементы.ТекстСообщения.ТолькоПросмотр = СтатусВышеИсходящее;
Форма.Элементы.РассмотретьПосле.Доступность = Форма.НаКонтроле; Форма.Элементы.РассмотретьПосле.Доступность = Форма.НаКонтроле;
Форма.Элементы.ГруппаДатаОтправкиАктуальность.Доступность = НЕ СообщениеНеЧерновик; Форма.Элементы.ГруппаДатаОтправкиАктуальность.Доступность = НЕ СтатусВышеИсходящее;
Форма.Элементы.АдресатыПроверитьСтатусыДоставки.Доступность = Форма.Элементы.АдресатыПроверитьСтатусыДоставки.Доступность =
Форма.ИнформационнаяБазаФайловая Форма.ИнформационнаяБазаФайловая
@@ -56,7 +56,7 @@
ТекстЗапроса = ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| ЭлектронноеПисьмоВходящее.УчетнаяЗапись.АдресЭлектроннойПочты | ЭлектронноеПисьмоВходящее.УчетнаяЗапись.АдресЭлектроннойПочты КАК УчетнаяЗаписьАдресЭлектроннойПочты
|ПОМЕСТИТЬ НашАдрес |ПОМЕСТИТЬ НашАдрес
|ИЗ |ИЗ
| Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее | Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее
@@ -111,15 +111,18 @@
| |
|//////////////////////////////////////////////////////////////////////////////// |////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ |ВЫБРАТЬ
| ВсеКонтакты.Адрес, | ВсеКонтакты.Адрес КАК Адрес,
| ВсеКонтакты.Представление, | МАКСИМУМ(ВсеКонтакты.Представление) КАК Представление,
| ВсеКонтакты.Контакт | МАКСИМУМ(ВсеКонтакты.Контакт) КАК Контакт
|ИЗ |ИЗ
| ВсеКонтакты КАК ВсеКонтакты | ВсеКонтакты КАК ВсеКонтакты
| ЛЕВОЕ СОЕДИНЕНИЕ НашАдрес КАК НашАдрес | ЛЕВОЕ СОЕДИНЕНИЕ НашАдрес КАК НашАдрес
| ПО (ВсеКонтакты.Адрес = НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты) | ПО ВсеКонтакты.Адрес = НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты
|ГДЕ |ГДЕ
| НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты ЕСТЬ NULL "; | НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ВсеКонтакты.Адрес";
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса; Запрос.Текст = ТекстЗапроса;
@@ -44,6 +44,10 @@
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления")); ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления"));
КонецЕсли; КонецЕсли;
Если ПометкаУдаления Тогда
ЕстьВложения = Ложь;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура ПриЗаписи(Отказ) Процедура ПриЗаписи(Отказ)
@@ -216,6 +216,10 @@
<event>OnStartEdit</event> <event>OnStartEdit</event>
<name>СписокПолучателейПриНачалеРедактирования</name> <name>СписокПолучателейПриНачалеРедактирования</name>
</handlers> </handlers>
<handlers>
<event>OnChange</event>
<name>СписокПолучателейПриИзменении</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокПолучателейСтрокаПоиска</name> <name>СписокПолучателейСтрокаПоиска</name>
<id>403</id> <id>403</id>
@@ -210,32 +210,7 @@
Объект.ЕстьВложения = (Вложения.Количество() <> 0); Объект.ЕстьВложения = (Вложения.Количество() <> 0);
Объект.ПолучателиПисьма.Очистить(); ЗаполнитьТабличныеЧастиПоСпискуПолучателей();
Объект.ПолучателиКопий.Очистить();
Объект.ПолучателиСкрытыхКопий.Очистить();
Объект.ПолучателиОтвета.Очистить();
Для каждого Получатель Из СписокПолучателей Цикл
ПочтовыеАдреса = ОбщегоНазначенияКлиентСервер.АдресаЭлектроннойПочтыИзСтроки(Получатель.Представление);
Для каждого ПочтовыйАдрес Из ПочтовыеАдреса Цикл
Если Получатель.ВариантОтправки = НСтр("ru = 'Обратный адрес:'") Тогда
НоваяСтрока = Объект.ПолучателиОтвета.Добавить();
ИначеЕсли Получатель.ВариантОтправки = НСтр("ru = 'Копия:'") Тогда
НоваяСтрока = Объект.ПолучателиКопий.Добавить();
ИначеЕсли Получатель.ВариантОтправки = НСтр("ru = 'Скрытая копия:'") Тогда
НоваяСтрока = Объект.ПолучателиСкрытыхКопий.Добавить();
Иначе
НоваяСтрока = Объект.ПолучателиПисьма.Добавить();
КонецЕсли;
НоваяСтрока.Адрес = ПочтовыйАдрес.Адрес;
НоваяСтрока.Представление = ПочтовыйАдрес.Псевдоним;
НоваяСтрока.Контакт = Получатель.Контакт;
КонецЦикла;
КонецЦикла;
Объект.СписокПолучателейПисьма = Объект.СписокПолучателейПисьма =
ВзаимодействияКлиентСервер.ПолучитьПредставлениеСпискаАдресатов(Объект.ПолучателиПисьма, Ложь); ВзаимодействияКлиентСервер.ПолучитьПредставлениеСпискаАдресатов(Объект.ПолучателиПисьма, Ложь);
@@ -751,7 +726,6 @@
КонецЕсли; КонецЕсли;
ИзменилисьКонтакты = Истина; ИзменилисьКонтакты = Истина;
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "ЭлектронноеПисьмоИсходящее");
КонецПроцедуры КонецПроцедуры
@@ -805,6 +779,13 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура СписокПолучателейПриИзменении(Элемент)
ЗаполнитьТабличныеЧастиПоСпискуПолучателей();
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "ЭлектронноеПисьмоИсходящее");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -2914,6 +2895,38 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьТабличныеЧастиПоСпискуПолучателей()
Объект.ПолучателиПисьма.Очистить();
Объект.ПолучателиКопий.Очистить();
Объект.ПолучателиСкрытыхКопий.Очистить();
Объект.ПолучателиОтвета.Очистить();
Для каждого Получатель Из СписокПолучателей Цикл
ПочтовыеАдреса = ОбщегоНазначенияКлиентСервер.АдресаЭлектроннойПочтыИзСтроки(Получатель.Представление);
Для каждого ПочтовыйАдрес Из ПочтовыеАдреса Цикл
Если Получатель.ВариантОтправки = НСтр("ru = 'Обратный адрес:'") Тогда
НоваяСтрока = Объект.ПолучателиОтвета.Добавить();
ИначеЕсли Получатель.ВариантОтправки = НСтр("ru = 'Копия:'") Тогда
НоваяСтрока = Объект.ПолучателиКопий.Добавить();
ИначеЕсли Получатель.ВариантОтправки = НСтр("ru = 'Скрытая копия:'") Тогда
НоваяСтрока = Объект.ПолучателиСкрытыхКопий.Добавить();
Иначе
НоваяСтрока = Объект.ПолучателиПисьма.Добавить();
КонецЕсли;
НоваяСтрока.Адрес = ПочтовыйАдрес.Адрес;
НоваяСтрока.Представление = ПочтовыйАдрес.Псевдоним;
НоваяСтрока.Контакт = Получатель.Контакт;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
// СтандартныеПодсистемы.Свойства // СтандартныеПодсистемы.Свойства
&НаСервере &НаСервере
@@ -126,6 +126,10 @@
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления")); ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления"));
КонецЕсли; КонецЕсли;
Если ПометкаУдаления Тогда
ЕстьВложения = Ложь;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура ПередУдалением(Отказ) Процедура ПередУдалением(Отказ)
@@ -9,6 +9,7 @@
<types>InformationRegisterRecordSet.ДанныеПроизводственногоКалендаря</types> <types>InformationRegisterRecordSet.ДанныеПроизводственногоКалендаря</types>
<types>InformationRegisterRecordSet.ПодпискиПолучателей</types> <types>InformationRegisterRecordSet.ПодпискиПолучателей</types>
<types>InformationRegisterRecordSet.УдалитьОбластиДанных</types> <types>InformationRegisterRecordSet.УдалитьОбластиДанных</types>
<types>InformationRegisterRecordSet.ЗемельныеУчастки</types>
<types>InformationRegisterRecordSet.УдалитьБлокировкиСеансовОбластиДанных</types> <types>InformationRegisterRecordSet.УдалитьБлокировкиСеансовОбластиДанных</types>
<types>InformationRegisterRecordSet.ПравилаДляОбменаДанными</types> <types>InformationRegisterRecordSet.ПравилаДляОбменаДанными</types>
<types>InformationRegisterRecordSet.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов</types> <types>InformationRegisterRecordSet.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов</types>
@@ -1010,6 +1010,9 @@
<content> <content>
<mdObject>Constant.ИспользоватьДатыЗапретаИзменения</mdObject> <mdObject>Constant.ИспользоватьДатыЗапретаИзменения</mdObject>
</content> </content>
<content>
<mdObject>InformationRegister.ЗемельныеУчастки</mdObject>
</content>
<content> <content>
<mdObject>InformationRegister.КлючиДоступаКОбъектам</mdObject> <mdObject>InformationRegister.КлючиДоступаКОбъектам</mdObject>
</content> </content>
@@ -212,7 +212,6 @@
</toolTip> </toolTip>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillFromFillingValue>true</fillFromFillingValue> <fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
@@ -235,6 +234,7 @@
</toolTip> </toolTip>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -75,7 +75,6 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -94,6 +93,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -83,6 +83,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
</attributes> </attributes>
@@ -200,7 +201,6 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -219,6 +219,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d7a72321-5f1f-427e-a54d-f308dab1b9c4">
<producedTypes>
<selectionType typeId="ab9e632c-584e-4ba8-8897-a079f9b34dd4" valueTypeId="18f8e7ca-d815-4de9-a4df-03e84354bd0c"/>
<listType typeId="5eabe07b-e2db-4e28-8798-419f192c2746" valueTypeId="ec9bdf44-2560-4d21-aaa7-192922c6baa4"/>
<managerType typeId="9ea9c6f1-cf6d-49ad-a67f-b6bbd7de47a8" valueTypeId="aed985ee-c702-4f88-a632-51df77ac50d7"/>
<recordSetType typeId="0cf2c64c-a9e7-4364-9602-8d66930678d1" valueTypeId="f5815da3-6cc5-411b-9b95-96525cf18e09"/>
<recordKeyType typeId="7c400779-77a9-4b7e-a5f6-5d3d384f264c" valueTypeId="7b0cdbd8-9c5e-4987-8fbd-f8a1e0f12948"/>
<recordType typeId="8772c7ee-5a8c-448a-9229-381905d2b45b" valueTypeId="f1757c2a-22d3-4c87-9fd3-86a5bf433e7e"/>
<recordManagerType typeId="9be1dbab-843b-4365-b22f-e39bbdc09d1c" valueTypeId="23c5b715-b248-4a5b-a97c-842ba177da2d"/>
</producedTypes>
<name>ЗемельныеУчастки</name>
<synonym>
<key>ru</key>
<value>Земельные участки</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<editType>InDialog</editType>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Active</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>LineNumber</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Recorder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Period</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode>
<attributes uuid="b183eb38-a96e-4e12-9220-4b4027ae875c">
<name>Участки</name>
<synonym>
<key>ru</key>
<value>Участки</value>
</synonym>
<type>
<types>ValueStorage</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</attributes>
<dimensions uuid="07f7e1b5-07b0-4017-bb91-31759c4ffed1">
<name>АдресныйОбъект</name>
<synonym>
<key>ru</key>
<value>Адресный объект</value>
</synonym>
<type>
<types>UUID</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
<dimensions uuid="6de76d43-40d5-494f-8d30-2ef80c79bc7e">
<name>КодСубъектаРФ</name>
<synonym>
<key>ru</key>
<value>Код субъекта РФ</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>2</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
<dimensions uuid="60146806-ee46-44d5-8a7a-2ed48741e1c1">
<name>ДополнительныеАдресныеСведения</name>
<synonym>
<key>ru</key>
<value>Дополнительные адресные сведения</value>
</synonym>
<comment>Служебный идентификатор комбинации кодов ОКАТО и т.п.</comment>
<type>
<types>UUID</types>
</type>
<toolTip>
<key>ru</key>
<value>Служебный идентификатор комбинации кодов ОКАТО, ОКТМО и т.п.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
</mdclass:InformationRegister>
@@ -287,6 +287,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -43,7 +43,7 @@
Элементы.ЗабылиПароль.Видимость = Не ПустаяСтрока(АдресДляВосстановленияПароляУчетнойЗаписи); Элементы.ЗабылиПароль.Видимость = Не ПустаяСтрока(АдресДляВосстановленияПароляУчетнойЗаписи);
Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль", Истина); Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль");
WSПароль = ?(ЗначениеЗаполнено(Пароль), ЭтотОбъект.УникальныйИдентификатор, ""); WSПароль = ?(ЗначениеЗаполнено(Пароль), ЭтотОбъект.УникальныйИдентификатор, "");
КонецЕсли; КонецЕсли;
@@ -123,7 +123,7 @@
Если WSПарольИзменен Тогда Если WSПарольИзменен Тогда
ПараметрыПодключения.WSПароль = WSПароль; ПараметрыПодключения.WSПароль = WSПароль;
Иначе Иначе
ПараметрыПодключения.WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль", Истина); ПараметрыПодключения.WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль");
КонецЕсли; КонецЕсли;
СообщениеПользователю = ""; СообщениеПользователю = "";
@@ -51,7 +51,7 @@
Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "COMПарольПользователя, FTPСоединениеПароль, WSПароль, ПарольАрхиваСообщенияОбмена", Истина); Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "COMПарольПользователя, FTPСоединениеПароль, WSПароль, ПарольАрхиваСообщенияОбмена");
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
COMПарольПользователя = ?(ЗначениеЗаполнено(Пароли.COMПарольПользователя), ЭтотОбъект.УникальныйИдентификатор, ""); COMПарольПользователя = ?(ЗначениеЗаполнено(Пароли.COMПарольПользователя), ЭтотОбъект.УникальныйИдентификатор, "");
FTPСоединениеПароль = ?(ЗначениеЗаполнено(Пароли.FTPСоединениеПароль), ЭтотОбъект.УникальныйИдентификатор, ""); FTPСоединениеПароль = ?(ЗначениеЗаполнено(Пароли.FTPСоединениеПароль), ЭтотОбъект.УникальныйИдентификатор, "");
@@ -59,7 +59,7 @@
СтруктураНастроек = СоставНастроекТранспортаОбмена("WS"); СтруктураНастроек = СоставНастроекТранспортаОбмена("WS");
Результат = ПолучитьДанныеРегистраПоСтруктуре(Корреспондент, СтруктураНастроек); Результат = ПолучитьДанныеРегистраПоСтруктуре(Корреспондент, СтруктураНастроек);
WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Корреспондент, "WSПароль", Истина); WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Корреспондент, "WSПароль");
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
Если ТипЗнч(WSПароль) = Тип("Строка") Если ТипЗнч(WSПароль) = Тип("Строка")
@@ -453,7 +453,7 @@
Результат.Вставить("ИспользоватьВременныйКаталогДляОтправкиИПриемаСообщений", Истина); Результат.Вставить("ИспользоватьВременныйКаталогДляОтправкиИПриемаСообщений", Истина);
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Корреспондент, СписокПаролей, Истина); Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Корреспондент, СписокПаролей);
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
Если ТипЗнч(Пароли) = Тип("Структура") Тогда Если ТипЗнч(Пароли) = Тип("Структура") Тогда
@@ -140,6 +140,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -107,6 +107,7 @@
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<indexing>Index</indexing>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
@@ -435,6 +435,10 @@
// Добавляем итоги по числовым реквизитам // Добавляем итоги по числовым реквизитам
Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Реквизит) Тогда
Продолжить;
КонецЕсли;
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Реквизит.Имя, Реквизит.Синоним); ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Реквизит.Имя, Реквизит.Синоним);
Если Реквизит.Тип.СодержитТип(Тип("Число")) Тогда Если Реквизит.Тип.СодержитТип(Тип("Число")) Тогда
ДобавитьПолеИтога(СхемаКомпоновкиДанных, Реквизит.Имя); ДобавитьПолеИтога(СхемаКомпоновкиДанных, Реквизит.Имя);
@@ -449,13 +453,17 @@
// Добавляем измерения // Добавляем измерения
Для каждого Измерение Из ОбъектМетаданных.Измерения Цикл Для каждого Измерение Из ОбъектМетаданных.Измерения Цикл
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Измерение.Имя, Измерение.Синоним); Если ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Измерение) Тогда
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Измерение.Имя, Измерение.Синоним);
КонецЕсли;
КонецЦикла; КонецЦикла;
// Добавляем реквизиты // Добавляем реквизиты
Если ПустаяСтрока(ПараметрыОтчета.ИмяТаблицы) Тогда Если ПустаяСтрока(ПараметрыОтчета.ИмяТаблицы) Тогда
Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Реквизит.Имя, Реквизит.Синоним); Если ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Реквизит) Тогда
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Реквизит.Имя, Реквизит.Синоним);
КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -473,7 +481,12 @@
ПолеСчет.Роль.ВыражениеВидаСчета = "Счет.Вид"; ПолеСчет.Роль.ВыражениеВидаСчета = "Счет.Вид";
ПолеСчет.Роль.Счет = Истина; ПолеСчет.Роль.Счет = Истина;
Для НомерСубконто = 1 По 3 Цикл КоличествоСубконто = 0;
Если ОбъектМетаданных.ПланСчетов <> Неопределено Тогда
КоличествоСубконто = ОбъектМетаданных.ПланСчетов.МаксКоличествоСубконто;
КонецЕсли;
Для НомерСубконто = 1 По КоличествоСубконто Цикл
ПолеСубконто = ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], "Субконто" + НомерСубконто, НСтр("ru = 'Субконто'") + " " + НомерСубконто); ПолеСубконто = ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], "Субконто" + НомерСубконто, НСтр("ru = 'Субконто'") + " " + НомерСубконто);
ПолеСубконто.Роль.Измерение = Истина; ПолеСубконто.Роль.Измерение = Истина;
ПолеСубконто.Роль.ИгнорироватьЗначенияNULL = Истина; ПолеСубконто.Роль.ИгнорироватьЗначенияNULL = Истина;
@@ -483,6 +496,10 @@
// Добавляем ресурсы // Добавляем ресурсы
Для каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл Для каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Ресурс) Тогда
Продолжить;
КонецЕсли;
Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Ресурс.Имя + "Оборот", Ресурс.Синоним); ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], Ресурс.Имя + "Оборот", Ресурс.Синоним);
@@ -767,10 +784,18 @@
ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных]; ОбъектМетаданных = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления" Тогда Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыНакопления" Тогда
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Измерение) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
КонецЦикла; КонецЦикла;
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Ресурс) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "Оборот", Ресурс.Синоним); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "Оборот", Ресурс.Синоним);
@@ -787,24 +812,44 @@
КонецЦикла; КонецЦикла;
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыРасчета" Тогда ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыРасчета" Тогда
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Измерение) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
КонецЦикла; КонецЦикла;
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Ресурс) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя);
КонецЦикла; КонецЦикла;
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений" Тогда ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыСведений" Тогда
Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл Для Каждого Измерение Из ОбъектМетаданных.Измерения Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Измерение) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Измерение.Имя);
КонецЦикла; КонецЦикла;
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Ресурс) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя);
КонецЦикла; КонецЦикла;
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Тогда ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Тогда
Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл Для Каждого Ресурс Из ОбъектМетаданных.Ресурсы Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Ресурс) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда Если ПараметрыОтчета.ИмяТаблицы = "Обороты" Тогда
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "ОборотДт", Ресурс.Синоним + " " + НСтр("ru = 'оборот Дт'")); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Ресурс.Имя + "ОборотДт", Ресурс.Синоним + " " + НСтр("ru = 'оборот Дт'"));
@@ -852,11 +897,17 @@
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, "Ссылка"); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, "Ссылка");
Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя); Если ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Реквизит) Тогда
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя);
КонецЕсли;
КонецЦикла; КонецЦикла;
ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "ПланыВидовРасчета" Тогда ИначеЕсли ПараметрыОтчета.ТипОбъектаМетаданных = "ПланыВидовРасчета" Тогда
Если ПараметрыОтчета.ИмяТаблицы = "" Тогда Если ПараметрыОтчета.ИмяТаблицы = "" Тогда
Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл Для каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Реквизит) Тогда
Продолжить;
КонецЕсли;
ВыбранныеПоля = НастройкиКД.Выбор; ВыбранныеПоля = НастройкиКД.Выбор;
ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя); ОтчетыСервер.ДобавитьВыбранноеПоле(ВыбранныеПоля, Реквизит.Имя);
КонецЦикла; КонецЦикла;
@@ -902,6 +953,10 @@
МетаданныеИсточника = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных]; МетаданныеИсточника = Метаданные[ПараметрыОтчета.ТипОбъектаМетаданных][ПараметрыОтчета.ИмяОбъектаМетаданных];
Для Каждого МетаданныеПоля Из МетаданныеИсточника[ТипПолейИсточника] Цикл Для Каждого МетаданныеПоля Из МетаданныеИсточника[ТипПолейИсточника] Цикл
Если Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(МетаданныеПоля) Тогда
Продолжить;
КонецЕсли;
Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии" Если ПараметрыОтчета.ТипОбъектаМетаданных = "РегистрыБухгалтерии"
И МетаданныеПоля.ПризнакУчета <> Неопределено Тогда И МетаданныеПоля.ПризнакУчета <> Неопределено Тогда
Продолжить; Продолжить;
@@ -2738,29 +2738,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ОчередьИзвлеченияТекста</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.МаксимальныйРазмерФайла</name> <name>Constant.МаксимальныйРазмерФайла</name>
<right> <right>
@@ -5012,6 +4989,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>InformationRegister.УдалитьРейтингАктивностиОбластейДанных</name> <name>InformationRegister.УдалитьРейтингАктивностиОбластейДанных</name>
<right> <right>
@@ -5071,6 +5135,65 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ЭтоАвтономноеРабочееМесто</name> <name>Constant.ЭтоАвтономноеРабочееМесто</name>
<right> <right>
@@ -5356,93 +5479,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ЗамерыОперацииСтатистики</name> <name>InformationRegister.ЗамерыОперацииСтатистики</name>
<right> <right>
@@ -1981,6 +1981,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>SessionParameter.ОтключениеОбновленияКлючейДоступа</name> <name>SessionParameter.ОтключениеОбновленияКлючейДоступа</name>
<right> <right>
@@ -1737,6 +1737,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>SessionParameter.ОтключениеОбновленияКлючейДоступа</name> <name>SessionParameter.ОтключениеОбновленияКлючейДоступа</name>
<right> <right>
@@ -187,6 +187,29 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ОриентирыАдресныхОбъектов</name> <name>InformationRegister.ОриентирыАдресныхОбъектов</name>
<right> <right>
@@ -3653,17 +3653,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ОчередьИзвлеченияТекста</name>
<right>
<name>Edit</name>
<value>false</value>
</right>
<right>
<name>TotalsControl</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Catalog.УчетныеЗаписиЭлектроннойПочты</name> <name>Catalog.УчетныеЗаписиЭлектроннойПочты</name>
<right> <right>
@@ -6616,6 +6605,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>Catalog.ВстречаПрисоединенныеФайлы</name> <name>Catalog.ВстречаПрисоединенныеФайлы</name>
<right> <right>
@@ -6698,6 +6726,57 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
<right>
<name>TotalsControl</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>false</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Constant.ЭтоАвтономноеРабочееМесто</name> <name>Constant.ЭтоАвтономноеРабочееМесто</name>
<right> <right>
@@ -7033,45 +7112,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ЗамерыОперацииСтатистики</name> <name>InformationRegister.ЗамерыОперацииСтатистики</name>
<right> <right>
@@ -6,5 +6,6 @@
<value>Отложенное обновление ИБ</value> <value>Отложенное обновление ИБ</value>
</synonym> </synonym>
<methodName>CommonModule.ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновление</methodName> <methodName>CommonModule.ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновление</methodName>
<key>9fa79867-46b8-4060-9694-eb85d6ecf1ea</key>
<predefined>true</predefined> <predefined>true</predefined>
</mdclass:ScheduledJob> </mdclass:ScheduledJob>
@@ -23,5 +23,6 @@
<content>InformationRegister.ПричиныИзмененияАдресныхСведений</content> <content>InformationRegister.ПричиныИзмененияАдресныхСведений</content>
<content>InformationRegister.СлужебныеАдресныеСведения</content> <content>InformationRegister.СлужебныеАдресныеСведения</content>
<content>InformationRegister.УровниСокращенийАдресныхСведений</content> <content>InformationRegister.УровниСокращенийАдресныхСведений</content>
<content>InformationRegister.ЗемельныеУчастки</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>
@@ -223,7 +223,6 @@
<content>StyleItem.ЦветРазделаПанелиФункций</content> <content>StyleItem.ЦветРазделаПанелиФункций</content>
<content>CommonPicture.ЗначокЩита</content> <content>CommonPicture.ЗначокЩита</content>
<content>StyleItem.ЦветФонаПредупреждения</content> <content>StyleItem.ЦветФонаПредупреждения</content>
<content>CommonModule.СтандартныеПодсистемыБезопасныйРежим</content>
<content>CommonPicture.ДлительнаяОперация16</content> <content>CommonPicture.ДлительнаяОперация16</content>
<content>CommonPicture.РасширениеКонфигурацииИзГлавногоУзла</content> <content>CommonPicture.РасширениеКонфигурацииИзГлавногоУзла</content>
<content>SessionParameter.КлючДанныхПовторногоИспользования</content> <content>SessionParameter.КлючДанныхПовторногоИспользования</content>
@@ -56,12 +56,20 @@
<property name="UpdateDate" type="xs:dateTime" form="Attribute"/> <property name="UpdateDate" type="xs:dateTime" form="Attribute"/>
</typeDef> </typeDef>
</property> </property>
<property name="Steads">
<typeDef xsi:type="ObjectType">
<property xmlns:d4p1="http://www.v8.1c.ru/ssl/AddressSystem" name="Stead" type="d4p1:Stead" lowerBound="0" upperBound="-1"/>
<property name="Version" type="xs:int" form="Attribute"/>
<property name="Title" type="xs:string" lowerBound="0" form="Attribute"/>
<property name="UpdateDate" type="xs:dateTime" form="Attribute"/>
</typeDef>
</property>
<valueType name="SortDirection" base="xs:string" variety="Atomic"> <valueType name="SortDirection" base="xs:string" variety="Atomic">
<enumeration>ASC</enumeration> <enumeration>ASC</enumeration>
<enumeration>DESC</enumeration> <enumeration>DESC</enumeration>
</valueType> </valueType>
<valueType name="StringBlob" variety="Union" memberTypes="xs:base64Binary xs:string"/> <valueType name="StringBlob" variety="Union" memberTypes="{http://www.w3.org/2001/XMLSchema}base64Binary {http://www.w3.org/2001/XMLSchema}string"/>
<valueType xmlns:d2p1="http://v8.1c.ru/8.1/data/core" name="UUID" variety="Union" memberTypes="d2p1:UUID xs:base64Binary"/> <valueType name="UUID" variety="Union" memberTypes="{http://v8.1c.ru/8.1/data/core}UUID {http://www.w3.org/2001/XMLSchema}base64Binary"/>
<valueType name="Levels" variety="List" itemType="xs:int"/> <valueType name="Levels" variety="List" itemType="xs:int"/>
<objectType name="Object"> <objectType name="Object">
<property name="REGIONCODE" type="xs:int" form="Attribute"/> <property name="REGIONCODE" type="xs:int" form="Attribute"/>
@@ -251,4 +259,10 @@
<property name="Адрес_по_документу" type="xs:string" lowerBound="0" nillable="true"/> <property name="Адрес_по_документу" type="xs:string" lowerBound="0" nillable="true"/>
<property name="Местоположение" type="xs:string" lowerBound="0" nillable="true"/> <property name="Местоположение" type="xs:string" lowerBound="0" nillable="true"/>
</objectType> </objectType>
<objectType name="Stead">
<property name="REGIONCODE" type="xs:int" form="Attribute"/>
<property xmlns:d3p1="http://www.v8.1c.ru/ssl/AddressSystem" name="AOGUID" type="d3p1:UUID" lowerBound="1" form="Attribute"/>
<property name="POSTALCODE" type="xs:decimal" lowerBound="0" nillable="true" form="Attribute"/>
<property xmlns:d3p1="http://www.v8.1c.ru/ssl/AddressSystem" name="NUMBERS" type="d3p1:StringBlob" lowerBound="1" form="Attribute"/>
</objectType>
</package> </package>