3_0_1_323
This commit is contained in:
1 parent
27dfc0f7be
commit
b89bf856cb
38 files changed
+602
-682
No files matched your search
@@ -111,24 +111,33 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КурсЗагружаетсяИзИнтернета = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета;
|
||||
КурсЗависитОтДругойВалюты = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты;
|
||||
КурсРассчитываетсяПоФормуле = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле;
|
||||
|
||||
Если ЭтоНовый() Тогда
|
||||
Если СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты
|
||||
Или СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле Тогда
|
||||
Если КурсЗависитОтДругойВалюты Или КурсРассчитываетсяПоФормуле Тогда
|
||||
ДополнительныеСвойства.Вставить("ОбновитьКурсы");
|
||||
КонецЕсли;
|
||||
ДополнительныеСвойства.Вставить("ЭтоНовый");
|
||||
ДополнительныеСвойства.Вставить("ЗапланироватьКопированиеКурсовВалюты");
|
||||
Иначе
|
||||
ПредыдущиеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Код,СпособУстановкиКурса,ОсновнаяВалюта,Наценка,ФормулаРасчетаКурса");
|
||||
Если (ПредыдущиеЗначения.СпособУстановкиКурса <> СпособУстановкиКурса)
|
||||
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета
|
||||
И ПредыдущиеЗначения.Код <> Код)
|
||||
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты
|
||||
И (ПредыдущиеЗначения.ОсновнаяВалюта <> ОсновнаяВалюта Или ПредыдущиеЗначения.Наценка <> Наценка))
|
||||
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле
|
||||
И ПредыдущиеЗначения.ФормулаРасчетаКурса <> ФормулаРасчетаКурса) Тогда
|
||||
|
||||
ПоменялсяСпособУстановкиКурса = ПредыдущиеЗначения.СпособУстановкиКурса <> СпособУстановкиКурса;
|
||||
ПоменялсяКодВалюты = ПредыдущиеЗначения.Код <> Код;
|
||||
ПоменяласьОсновнаяВалюта = ПредыдущиеЗначения.ОсновнаяВалюта <> ОсновнаяВалюта;
|
||||
ПоменяласьНаценка = ПредыдущиеЗначения.Наценка <> Наценка;
|
||||
ПоменяласьФормула = ПредыдущиеЗначения.ФормулаРасчетаКурса <> ФормулаРасчетаКурса;
|
||||
|
||||
Если (КурсЗависитОтДругойВалюты И (ПоменяласьОсновнаяВалюта Или ПоменяласьНаценка Или ПоменялсяСпособУстановкиКурса))
|
||||
Или (КурсРассчитываетсяПоФормуле И (ПоменяласьФормула Или ПоменялсяСпособУстановкиКурса)) Тогда
|
||||
ДополнительныеСвойства.Вставить("ОбновитьКурсы");
|
||||
КонецЕсли;
|
||||
|
||||
Если КурсЗагружаетсяИзИнтернета И (ПоменялсяСпособУстановкиКурса Или ПоменялсяКодВалюты) Тогда
|
||||
ДополнительныеСвойства.Вставить("ЗапланироватьКопированиеКурсовВалюты");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда
|
||||
|
||||
@@ -1464,7 +1464,7 @@
|
||||
Если ТекущиеДанные <> Неопределено И РасширенияПоддерживающиеПредпросмотр.НайтиПоЗначению(ТекущиеДанные.Расширение) <> Неопределено Тогда
|
||||
|
||||
Попытка
|
||||
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор);
|
||||
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор,, АдресДанныхФайла);
|
||||
АдресДанныхФайла = ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
|
||||
Исключение
|
||||
// Если файла не существует, то будет вызвано исключение.
|
||||
|
||||
+21
-21
@@ -245,6 +245,27 @@
|
||||
<indexing>Index</indexing>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="ece3bd8d-6616-44d5-9c14-6b3557738872">
|
||||
<name>ИДФайлаЭлектронногоПисьма</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ИД Файла электронного письма</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>200</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Идентификатор файла электронного письма. Используются в случае когда тело письма в формате HTML, а картинки, предназначенные для отображения в теле письма хранятся в присоединенных файлах</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="60018ee0-71ec-4975-a95d-f6f188748ff2">
|
||||
<name>Изменил</name>
|
||||
<synonym>
|
||||
@@ -516,27 +537,6 @@
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="ece3bd8d-6616-44d5-9c14-6b3557738872">
|
||||
<name>ИДФайлаЭлектронногоПисьма</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ИД Файла электронного письма</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>200</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Идентификатор файла электронного письма. Используются в случае когда тело письма в формате HTML, а картинки, предназначенные для отображения в теле письма хранятся в присоединенных файлах</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:StringValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="663a80ba-b97e-4265-a627-4a7d273f9472">
|
||||
<name>ХранитьВерсии</name>
|
||||
<synonym>
|
||||
|
||||
@@ -148,33 +148,6 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ФормаГруппаЕще</name>
|
||||
<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">
|
||||
<name>ФормаСправкаВГруппе</name>
|
||||
<id>12</id>
|
||||
@@ -360,41 +333,6 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</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>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -479,23 +417,6 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</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>
|
||||
<name>ИнформационнаяБазаПеремещена</name>
|
||||
<title>
|
||||
@@ -540,28 +461,6 @@
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</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>
|
||||
<name>ЗаписатьИЗакрыть</name>
|
||||
<title>
|
||||
|
||||
@@ -83,7 +83,6 @@
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения) Тогда
|
||||
Элементы.ФормаГруппаЕще.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.ФормаПроверятьИмяСервера.Пометка = ПараметрыБлокировки.ПроверятьИмяСервера;
|
||||
Элементы.ФормаСправка.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -91,7 +90,6 @@
|
||||
Элементы.ГруппаПараметрыФормы.ТекущаяСтраница = Элементы.ГруппаПараметрыБлокировки;
|
||||
Элементы.НадписьПредупреждение.Видимость = Ложь;
|
||||
Элементы.ЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина;
|
||||
ПроверятьИмяСервера = ПараметрыБлокировки.ПроверятьИмяСервера;
|
||||
Заголовок = НСтр("ru = 'Параметры блокировки работы с внешними ресурсами'");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -141,12 +139,6 @@
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПроверятьИмяСервера(Команда)
|
||||
ПараметрыБлокировки.ПроверятьИмяСервера = Не ПараметрыБлокировки.ПроверятьИмяСервера;
|
||||
Элементы.ФормаПроверятьИмяСервера.Пометка = ПараметрыБлокировки.ПроверятьИмяСервера;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаписатьИЗакрыть(Команда)
|
||||
ЗаписатьИЗакрытьНаСервере();
|
||||
@@ -202,7 +194,6 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаписатьИЗакрытьНаСервере()
|
||||
ПараметрыБлокировки.ПроверятьИмяСервера = ПроверятьИмяСервера;
|
||||
ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки);
|
||||
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения);
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1001,8 +1001,7 @@
|
||||
ПараметрыПомощника.Вставить("ЭтоОбменСПриложениемВСервисе", ДополнительныеПараметры.ЭтоОбменСПриложениемВСервисе);
|
||||
ПараметрыПомощника.Вставить("ОбластьДанныхКорреспондента", ДополнительныеПараметры.ОбластьДанныхКорреспондента);
|
||||
|
||||
ПараметрыПомощника.Вставить("ОтправитьДанные",
|
||||
Не ДополнительныеПараметры.ВариантОбменаДанными = "ТолькоПолучение");
|
||||
ПараметрыПомощника.Вставить("ОтправитьДанные", Не ДополнительныеПараметры.ЗапускОбменаИзКорреспондента);
|
||||
ПараметрыПомощника.Вставить("РежимДополненияВыгрузки",
|
||||
ДополнительныеПараметры.ИспользоватьДопОтборы Или ДополнительныеПараметры.ВариантОбменаДанными = "ПолучениеИОтправка");
|
||||
|
||||
|
||||
@@ -305,7 +305,8 @@
|
||||
|
||||
// Загрузка фиксированных настроек для режима расшифровки.
|
||||
Если РежимРасшифровки Тогда
|
||||
ОтчетНаименованиеТекущегоВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НовыеНастройкиКД.ДополнительныеСвойства, "ВариантНаименование");
|
||||
ОтчетНаименованиеТекущегоВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
|
||||
НовыеНастройкиКД.ДополнительныеСвойства, "ВариантНаименование", ПредставлениеТекущегоВарианта);
|
||||
Если Параметры <> Неопределено И Параметры.Свойство("Расшифровка") Тогда
|
||||
Отчет.КомпоновщикНастроек.ЗагрузитьФиксированныеНастройки(Параметры.Расшифровка.ПрименяемыеНастройки);
|
||||
Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ДополнительныеСвойства.Вставить("РежимРасшифровки", Истина);
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПрефиксВерсииЗапроса() Экспорт
|
||||
Возврат "rest/v1/";
|
||||
Возврат "rest/v2/";
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -27,8 +27,6 @@
|
||||
Результат = Новый Структура("Данные");
|
||||
СтруктураОписанияОшибкиПоставщика(Результат);
|
||||
|
||||
Возврат Результат; // не подключен
|
||||
|
||||
// В модели сервиса веб-сервис доступен всегда.
|
||||
Если Не ЗаполненыДанныеАутентификацииПользователяИнтернетПоддержки() Тогда
|
||||
Возврат Результат; // ИПП не подключена.
|
||||
@@ -225,7 +223,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция РаспознатьАдрес(ЧастиАдреса, Представление) Экспорт
|
||||
Функция РаспознатьАдрес(ЧастиАдреса, Представление, ВСтруктуру = Ложь) Экспорт
|
||||
|
||||
ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
|
||||
|
||||
@@ -236,7 +234,7 @@
|
||||
И ЗагруженныеАдресныеСведения.Получить(КодРегиона).ИспользоватьЗагруженные Тогда
|
||||
Адрес = РаспознатьАдресЗагруженныеДанные(ЧастиАдреса);
|
||||
ИначеЕсли ЗагруженныеАдресныеСведения.Получить("КлассификаторДоступен") = Истина Тогда
|
||||
Адрес = РаспознатьАдресВебСервис(ЧастиАдреса, Представление);
|
||||
Адрес = РаспознатьАдресВебСервис(ЧастиАдреса, Представление, ВСтруктуру);
|
||||
Возврат Адрес;
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
@@ -924,6 +922,10 @@
|
||||
АдресСтруктура = КонтактнаяИнформацияВСтруктуруJSON(Адрес);
|
||||
ИначеЕсли ЭтоКонтактнаяИнформацияВJSON(Адрес) Тогда
|
||||
АдресСтруктура = СтрокаJSONВСтруктуру(Адрес);
|
||||
ИначеЕсли ЭтоКонтактнаяИнформацияВФорматеКлючЗначение(Адрес) Тогда
|
||||
АдресСтруктура = КонтактнаяИнформацияВФорматеКлючЗначениеВJSON(Адрес);
|
||||
Иначе
|
||||
ВызватьИсключение НСтр("ru = 'Передано недопустимое значение Адреса для метода АдресныйКлассификаторСлужебный.КодыАдреса.'");
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторАдресногоОбъекта = "";
|
||||
@@ -1008,8 +1010,15 @@
|
||||
|
||||
Если НЕ РезультатЗапроса.Пустой() Тогда
|
||||
|
||||
Результат.КодыАдреса.КодКЛАДР = РезультатЗапроса.Выгрузить()[0].КодКЛАДР;
|
||||
СформироватьКодыКЛАДР(Результат.КодыАдреса.КодКЛАДР, Адрес, Результат.КодыКЛАДР);
|
||||
КодКЛАДР = Формат(РезультатЗапроса.Выгрузить()[0].КодКЛАДР, "ЧГ=0");
|
||||
|
||||
Если СтрДлина(КодКЛАДР) = 14 Тогда
|
||||
КодКЛАДР = "0" + КодКЛАДР + "00";
|
||||
ИначеЕсли СтрДлина(КодКЛАДР) = 15 Тогда
|
||||
КодКЛАДР = КодКЛАДР + "00"; // добавляем признак актуальности
|
||||
КонецЕсли;
|
||||
Результат.КодыАдреса.КодКЛАДР = КодКЛАДР;
|
||||
СформироватьКодыКЛАДР(КодКЛАДР, Адрес, Результат.КодыКЛАДР);
|
||||
КодКЛАДРЗаполнены = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -1590,7 +1599,7 @@
|
||||
Возврат СтрСравнить(ТипАдреса, "Муниципальный") = 0;
|
||||
КонецФункции
|
||||
|
||||
Функция РаспознатьАдресВебСервис(ЧастиАдреса, Представление)
|
||||
Функция РаспознатьАдресВебСервис(ЧастиАдреса, Представление, ВСтруктуру)
|
||||
|
||||
Адрес = ОписаниеНовойКонтактнойИнформации();
|
||||
АдресДляПроверки = Новый Массив;
|
||||
@@ -1617,22 +1626,24 @@
|
||||
Текст = СтрСоединить(АдресДляПроверки, ", ");
|
||||
|
||||
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("recognize?text=%1&limit=20",
|
||||
КодироватьСтроку(Текст, СпособКодированияСтроки.КодировкаURL));
|
||||
КодироватьСтроку(Представление, СпособКодированияСтроки.КодировкаURL));
|
||||
|
||||
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
|
||||
Если РезультатВебСервис.Отказ Или РезультатВебСервис.Количество() = 0 Или РезультатВебСервис.Данные = Неопределено Тогда
|
||||
Возврат Адрес;
|
||||
КонецЕсли;
|
||||
|
||||
Если РезультатВебСервис.Данные.status = "PARTIALLY_RECOGNIZED" Тогда
|
||||
Адрес = АдресДляСохраненияВБазе(РезультатВебСервис.Данные.value, Ложь);
|
||||
Адрес.comment = РезультатВебСервис.Данные.unrecognizedPart;
|
||||
ИначеЕсли РезультатВебСервис.Данные.status = "COMPLETELY_RECOGNIZED" Тогда
|
||||
Если РезультатВебСервис.Данные.status = "COMPLETELY_RECOGNIZED" Тогда
|
||||
Адрес = АдресДляСохраненияВБазе(РезультатВебСервис.Данные.value, Ложь);
|
||||
Иначе
|
||||
Адрес = ОписаниеНовойКонтактнойИнформации();
|
||||
Адрес.value = РезультатВебСервис.Данные.unrecognizedPart;
|
||||
Адрес.country = ОсновнаяСтрана();
|
||||
Если РезультатВебСервис.Данные.status = "PARTIALLY_RECOGNIZED" И ВСтруктуру Тогда
|
||||
Адрес = АдресДляСохраненияВБазе(РезультатВебСервис.Данные.value, Ложь);
|
||||
Адрес.comment = НСтр("ru='Нераспознанная часть адреса'") + ": " + РезультатВебСервис.Данные.unrecognizedPart;
|
||||
Иначе
|
||||
Адрес = ОписаниеНовойКонтактнойИнформации();
|
||||
Адрес.value = Представление;
|
||||
Адрес.country = ОсновнаяСтрана();
|
||||
КонецЕсли;
|
||||
Возврат Адрес;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2857,7 +2868,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.Текст = ТекстЗапроса;
|
||||
Запрос.УстановитьПараметр("НачалоФразы", "%" + ТекстПоиска + "%");
|
||||
Запрос.УстановитьПараметр("НачалоФразы", ТекстПоиска + "%");
|
||||
|
||||
Результат = Новый СписокЗначений();
|
||||
|
||||
@@ -3367,18 +3378,19 @@
|
||||
ПрефиксВерсииЗапроса = АдресныйКлассификаторКлиентСервер.ПрефиксВерсииЗапроса();
|
||||
|
||||
HTTPЗапрос = Новый HTTPЗапрос(ПрефиксВерсииЗапроса + "verify");
|
||||
|
||||
ДанныеЗапроса = Новый Массив();
|
||||
ДанныеЗапроса.Добавить(АдресДляПередачиВСервис(АдресаДляПроверки.Адрес));
|
||||
|
||||
ДанныеДляЗапроса = Новый Структура("requests", ДанныеЗапроса);
|
||||
|
||||
ИдентификаторЗапроса = Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
JSONСтрока = СтруктураВСтрокуJSON(ДанныеДляЗапроса);
|
||||
АдресДляПроверки = Новый Структура();
|
||||
АдресДляПроверки.Вставить("key", "result");
|
||||
АдресДляПроверки.Вставить("typeToVerify", ?(ЭтоМуниципальныйАдрес(АдресаДляПроверки.Адрес.addressType), "MUNICIPAL", "ADMINISTRATIVE"));
|
||||
АдресДляПроверки.Вставить("addressToVerify", АдресДляПередачиВСервис(АдресаДляПроверки.Адрес));
|
||||
ДанныеЗапроса = Новый Массив;
|
||||
ДанныеЗапроса.Добавить(АдресДляПроверки);
|
||||
ДанныеДляЗапроса = Новый Структура("requests", ДанныеЗапроса);
|
||||
|
||||
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
|
||||
HTTPЗапрос.Заголовки.Вставить("X-1C-Request-UID", ИдентификаторЗапроса);
|
||||
HTTPЗапрос.УстановитьТелоИзСтроки(JSONСтрока);
|
||||
HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураВСтрокуJSON(ДанныеДляЗапроса));
|
||||
|
||||
Попытка
|
||||
РезультатПроверки = Сервис.ОтправитьДляОбработки(HTTPЗапрос);
|
||||
@@ -3392,17 +3404,15 @@
|
||||
|
||||
Результат.Отказ = Ложь;
|
||||
АдресПроверен = Ложь;
|
||||
ПолученныеДанные = РезультатПроверки.ПолучитьТелоКакСтроку("UTF-8");
|
||||
|
||||
Данные = Новый Массив;
|
||||
Если РезультатПроверки.КодСостояния = 200 Тогда
|
||||
|
||||
ПолученныеДанные = РезультатПроверки.ПолучитьТелоКакСтроку("UTF-8");
|
||||
Данные = СтрокаJSONВСтруктуру(ПолученныеДанные);
|
||||
АдресПроверен = Истина;
|
||||
ДанныеПроверки = СтрокаJSONВСтруктуру(ПолученныеДанные);
|
||||
|
||||
ИначеЕсли РезультатПроверки.КодСостояния = 400 Тогда
|
||||
|
||||
ДанныеПоОшибке = СтрокаJSONВСтруктуру(ПолученныеДанные);
|
||||
Результат.ПодробноеПредставлениеОшибки = НСтр("ru='У адреса не указан регион'");
|
||||
Результат.КраткоеПредставлениеОшибки = НСтр("ru='Не указан регион'");
|
||||
Результат.Отказ = Истина;
|
||||
@@ -3425,24 +3435,26 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ЭлементПроверки Из Данные Цикл
|
||||
Для Каждого Проверка Из ДанныеПроверки Цикл
|
||||
|
||||
ЭлементПроверки = Проверка.Значение;
|
||||
|
||||
РезультатПроверки = Новый Структура();
|
||||
РезультатПроверки.Вставить("id", "");
|
||||
РезультатПроверки.Вставить("АдресПроверен", АдресПроверен);
|
||||
РезультатПроверки.Вставить("АдресПроверен", Ложь);
|
||||
РезультатПроверки.Вставить("Варианты", Новый Массив);
|
||||
РезультатПроверки.Вставить("Ошибки", Новый Массив);
|
||||
|
||||
РезультатПроверки.id = ЭлементПроверки.id;
|
||||
РезультатПроверки.id = Проверка.Ключ;
|
||||
|
||||
Если ЭлементПроверки.Свойство("status") Тогда
|
||||
РезультатПроверки.АдресПроверен = (СтрСравнить(ЭлементПроверки.status, "COMPLETELY_VERIFIED") = 0);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭлементПроверки.Свойство("errorMessage") И ЗначениеЗаполнено(ЭлементПроверки.errorMessage) Тогда
|
||||
ОписаниеОшибки = Новый Структура("Ключ,Текст,Подсказка");
|
||||
ОписаниеОшибки.Ключ = ЭлементПроверки.errorField;
|
||||
Если Не СтрНачинаетсяС(ЭлементПроверки.errorMessage, НСтр("ru='Только часть адреса была найдена в справочнике ФИАС'")) Тогда
|
||||
ОписаниеОшибки.Текст = ЭлементПроверки.errorMessage;
|
||||
Иначе
|
||||
ОписаниеОшибки.Текст = НСтр("ru='Адрес отсутствует в адресном классификаторе'");
|
||||
КонецЕсли;
|
||||
ОписаниеОшибки.Ключ = ЭлементПроверки.errorCode;
|
||||
ОписаниеОшибки.Текст = ЭлементПроверки.errorMessage;
|
||||
РезультатПроверки.Ошибки.Добавить(ОписаниеОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -7076,6 +7088,22 @@
|
||||
Возврат "Россия";
|
||||
КонецФункции
|
||||
|
||||
Функция КонтактнаяИнформацияВФорматеКлючЗначениеВJSON(Адрес)
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
|
||||
АдресСтруктура = КонтактнаяИнформацияВСтруктуруJSON(МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Адрес));
|
||||
Возврат АдресСтруктура;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Переданный адрес не может быть преобразован в функции АдресныйКлассификаторСлужебный.КодыАдреса.'");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоКонтактнаяИнформацияВФорматеКлючЗначение(Адрес)
|
||||
Возврат СтрНайти(ВРег(Адрес),"РЕГИОН=") > 0;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -6586,6 +6586,11 @@
|
||||
// Попытка повторного выполнения транспорта с новым шаблоном.
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
|
||||
ВыполнитьТранспортСообщенияОбменаПолучение(СтруктураНастроекОбмена, Ложь, СтекОшибок);
|
||||
Иначе
|
||||
// Больше попыток поиска файла не будет, поэтому регистрируем все накопленные ошибки.
|
||||
Для Каждого ТекущаяОшибка Из СтекОшибок Цикл
|
||||
ЗаписьЖурналаРегистрацииОбменаДанными(ТекущаяОшибка, СтруктураНастроекОбмена, Истина);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.0.1.314";
|
||||
Описание.Версия = "3.0.1.323";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
|
||||
@@ -338,7 +338,6 @@
|
||||
И ТипЗнч(ПоляАдреса.ИдентификаторДома) = ТипУникальныйИдентификатор
|
||||
И ЗначениеЗаполнено(ПоляАдреса.ИдентификаторДома) Тогда
|
||||
Результат.HouseID = Строка(ПоляАдреса.ИдентификаторДома);
|
||||
Результат.ID = Результат.HouseID;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПоляАдреса.Свойство("ИдентификаторАдресногоОбъекта")
|
||||
@@ -1725,6 +1724,9 @@
|
||||
ДополнительныеКоды = МодульАдресныйКлассификаторСлужебный.КодыАдресаИКодыКЛАДР(Адрес, ИдентификаторАдресногоОбъекта);
|
||||
Результат.Вставить("ДополнительныеКоды", ДополнительныеКоды.КодыАдреса);
|
||||
Результат.Вставить("КодыКЛАДР", ДополнительныеКоды.КодыКЛАДР);
|
||||
Если Параметры.КодыАдреса И ДополнительныеКоды.КодыАдреса.Свойство("ИдентификаторДома") Тогда
|
||||
Результат.ИдентификаторДома = ДополнительныеКоды.КодыАдреса.ИдентификаторДома;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ЗаполнитьКодыАдреса(Результат, Адрес);
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
ДополнительныеКоды = Новый Структура;
|
||||
ДополнительныеКоды.Вставить("ОКТМО" , "");
|
||||
ДополнительныеКоды.Вставить("OKATO" , "");
|
||||
ДополнительныеКоды.Вставить("ОКАТО" , "");
|
||||
ДополнительныеКоды.Вставить("КодИФНСФЛ" , "");
|
||||
ДополнительныеКоды.Вставить("КодИФНСЮЛ" , "");
|
||||
ДополнительныеКоды.Вставить("КодУчасткаИФНСФЛ", "");
|
||||
|
||||
@@ -2353,7 +2353,8 @@
|
||||
|
||||
ПараметрыВыполнения.Вставить("ФайлЗашифрован", НРег(ПараметрыВыполнения.РасширениеФайлаНаДиске)
|
||||
= НРег(ПараметрыВыполнения.РасширениеДляЗашифрованныхФайлов));
|
||||
|
||||
|
||||
РаботаСФайламиСлужебныйКлиентСервер.ПроверитьВозможностьЗагрузкиФайла(ФайлНаДиске);
|
||||
Если Не ПараметрыВыполнения.ФайлЗашифрован Тогда
|
||||
ОбновитьИзФайлаНаДискеПродолжение(ПараметрыВыполнения);
|
||||
Возврат;
|
||||
@@ -2372,10 +2373,7 @@
|
||||
|
||||
ПараметрыВыполнения.РасширениеФайлаНаДиске = ОбщегоНазначенияКлиентСервер.РасширениеБезТочки(
|
||||
ВременныйФайлНешифрованный.Расширение);
|
||||
|
||||
РаботаСФайламиСлужебныйКлиентСервер.ПроверитьРасширениеФайлаДляЗагрузки(
|
||||
ПараметрыВыполнения.РасширениеФайлаНаДиске);
|
||||
|
||||
|
||||
// Тут расшифровать и поставить ту же дату изменения, что и ДиалогПолноеИмяФайлаПрежнее.
|
||||
|
||||
ПомещаемыеФайлы = Новый Массив;
|
||||
|
||||
@@ -252,7 +252,6 @@
|
||||
ПараметрыБлокировки.ОтключенныеЗадания.Очистить();
|
||||
ПараметрыБлокировки.ИдентификаторБазы = ИдентификаторФайловойБазы(ЭтоФайловаяБаза);
|
||||
ПараметрыБлокировки.РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||
ПараметрыБлокировки.ИмяКомпьютера = ИмяКомпьютера();
|
||||
|
||||
ХранилищеЗначения = Новый ХранилищеЗначения(ПараметрыБлокировки);
|
||||
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(ХранилищеЗначения);
|
||||
@@ -475,21 +474,16 @@
|
||||
КонецЕсли;
|
||||
Иначе // Клиент-серверная база
|
||||
ИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Ref);
|
||||
ИмяКомпьютера = НРег(ИмяКомпьютера());
|
||||
ИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения).Srvr);
|
||||
СохраненноеИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Ref);
|
||||
СохраненноеИмяКомпьютера = НРег(ПараметрыБлокировки.ИмяКомпьютера);
|
||||
СохраненноеИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Srvr);
|
||||
|
||||
Если ИмяБазы <> СохраненноеИмяБазы
|
||||
Или (ПараметрыБлокировки.ПроверятьИмяСервера
|
||||
И (ИмяКомпьютера <> СохраненноеИмяКомпьютера
|
||||
И ИмяСервера <> СохраненноеИмяСервера)) Тогда
|
||||
Или ИмяСервера <> СохраненноеИмяСервера Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Различаются имя информационной базы или имя компьютера.
|
||||
|Сохраненное имя базы: %1, текущее имя базы: %2.
|
||||
|Сохраненное имя компьютера: %3, текущее имя компьютера: %4'"),
|
||||
СохраненноеИмяБазы, ИмяБазы, СохраненноеИмяКомпьютера, ИмяКомпьютера);
|
||||
|Сохраненное имя базы: %1, текущее имя базы: %2.'"),
|
||||
СохраненноеИмяБазы, ИмяБазы);
|
||||
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -775,13 +775,13 @@
|
||||
// Возвращаемое значение:
|
||||
// Строк - контактная информация.
|
||||
//
|
||||
Функция КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид) Экспорт
|
||||
Функция КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид, ВСтруктуру = Ложь) Экспорт
|
||||
|
||||
ОжидаемыйТип = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ТипВидаКонтактнойИнформации(ОжидаемыйВид);
|
||||
|
||||
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||
|
||||
Возврат СформироватьАдресПоПредставлению(Представление, Истина);
|
||||
Возврат СформироватьАдресПоПредставлению(Представление, Истина, ВСтруктуру);
|
||||
|
||||
ИначеЕсли ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Телефон
|
||||
ИЛИ ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
|
||||
@@ -797,7 +797,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьАдресПоПредставлению(Представление, РазбиватьНаПоля = Ложь)
|
||||
Функция СформироватьАдресПоПредставлению(Представление, РазбиватьНаПоля = Ложь, ВСтруктуру = Ложь)
|
||||
|
||||
ЕстьРаботаСАдресамиКлиентСервер = Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено;
|
||||
|
||||
@@ -840,7 +840,7 @@
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||
|
||||
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
|
||||
ВариантыАдреса = МодульАдресныйКлассификаторСлужебный.РаспознатьАдрес(ДанныеАнализа, Представление);
|
||||
ВариантыАдреса = МодульАдресныйКлассификаторСлужебный.РаспознатьАдрес(ДанныеАнализа, Представление, ВСтруктуру);
|
||||
|
||||
Если ВариантыАдреса = Неопределено Тогда
|
||||
|
||||
@@ -2001,7 +2001,7 @@
|
||||
Попытка
|
||||
Результат = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
|
||||
|
||||
Если КонтактнаяИнформацияXDTOПустая(Результат) Тогда
|
||||
Если ОжидаемыйТип = Перечисления.ТипыКонтактнойИнформации.Адрес И КонтактнаяИнформацияXDTOПустая(Результат) Тогда
|
||||
НеобходимоВосстановитьКонтактнуюИнформацию = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -700,6 +700,8 @@
|
||||
Если ЭтоОбщийМакет Тогда
|
||||
Возврат ПолучитьОбщийМакет(ИмяПоиска);
|
||||
Иначе
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Возврат ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИмяОбъекта).ПолучитьМакет(ИмяПоиска);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -2126,7 +2128,13 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ЧастиИмени.Количество() = 3 Тогда
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
МакетИзМетаданных = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИмяВладельца).ПолучитьМакет(ИмяМакета);
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
Иначе
|
||||
МакетИзМетаданных = ПолучитьОбщийМакет(ИмяМакета);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -600,7 +600,7 @@
|
||||
+ КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
МаскаУпаковкиФайлов = ПутьКСтруктуреФайла + ?(Прав(ПутьКСтруктуреФайла, 1) = "\", "", "\") + "*";
|
||||
МаскаУпаковкиФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПутьКСтруктуреФайла) + "*";
|
||||
|
||||
Попытка
|
||||
Архиватор.Добавить(МаскаУпаковкиФайлов, РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
|
||||
@@ -638,9 +638,9 @@
|
||||
Функция СобратьФайлДокументаDOCX(ПечатнаяФорма)
|
||||
|
||||
ИзменяемыеФайлы = Новый Соответствие;
|
||||
ИзменяемыеФайлы.Вставить("СвязиКонтента", ПечатнаяФорма.ИмяКаталога + "\word\_rels\document.xml.rels");
|
||||
ИзменяемыеФайлы.Вставить("ТипыКонтента", ПечатнаяФорма.ИмяКаталога + "\[Content_Types].xml");
|
||||
ИзменяемыеФайлы.Вставить("Документ", ПечатнаяФорма.ИмяКаталога + "\word\document.xml");
|
||||
ИзменяемыеФайлы.Вставить("СвязиКонтента", ПечатнаяФорма.ИмяКаталога + УстановитьРазделительПути("\word\_rels\document.xml.rels"));
|
||||
ИзменяемыеФайлы.Вставить("ТипыКонтента", ПечатнаяФорма.ИмяКаталога + УстановитьРазделительПути("\[Content_Types].xml"));
|
||||
ИзменяемыеФайлы.Вставить("Документ", ПечатнаяФорма.ИмяКаталога + УстановитьРазделительПути("\word\document.xml"));
|
||||
|
||||
// Удаляем файлы пустых колонтитулов
|
||||
КолонтитулВыведен = Новый Соответствие;
|
||||
@@ -651,7 +651,7 @@
|
||||
|
||||
Колонтитул = ЭлементКолонтитула.Значение;
|
||||
|
||||
ИмяФайла = ПечатнаяФорма.ИмяКаталога + "\word\" + Колонтитул.ИмяВнутр + ".xml";
|
||||
ИмяФайла = ПечатнаяФорма.ИмяКаталога + УстановитьРазделительПути("\word\") + Колонтитул.ИмяВнутр + ".xml";
|
||||
Если ПустаяСтрока(Колонтитул.Текст) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -677,7 +677,7 @@
|
||||
Колонтитул = ЭлементКолонтитула.Значение;
|
||||
Колонтитул.Текст = "";
|
||||
|
||||
ИмяФайла = ПечатнаяФорма.ИмяКаталога + "\word\" + Колонтитул.ИмяВнутр + ".xml";
|
||||
ИмяФайла = ПечатнаяФорма.ИмяКаталога + УстановитьРазделительПути("\word\") + Колонтитул.ИмяВнутр + ".xml";
|
||||
УдалитьФайлы(ИмяФайла);
|
||||
МассивФайловКолонтитулов.Добавить(Колонтитул.ИмяВнутр);
|
||||
|
||||
@@ -691,7 +691,7 @@
|
||||
ПропуститьТэг = Ложь;
|
||||
ПродолжитьЧтение = Истина;
|
||||
|
||||
Пока 1 = 1 Цикл
|
||||
Пока Истина Цикл
|
||||
|
||||
Если ПропуститьТэг Тогда
|
||||
ЧтениеXML.Пропустить();
|
||||
@@ -736,7 +736,7 @@
|
||||
ПропуститьТэг = Ложь;
|
||||
ПродолжитьЧтение = Истина;
|
||||
|
||||
Пока 1 = 1 Цикл
|
||||
Пока Истина Цикл
|
||||
|
||||
Если ПропуститьТэг Тогда
|
||||
ЧтениеXML.Пропустить();
|
||||
@@ -776,7 +776,6 @@
|
||||
// Формирование документа печатной формы
|
||||
|
||||
ПорядковыйНомер = 1;
|
||||
СодержаниеФайла = "";
|
||||
|
||||
ЗаписьXML = ИнициализироватьЗаписьXML("", ИзменяемыеФайлы.Получить("Документ"));
|
||||
|
||||
@@ -855,7 +854,7 @@
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента(); // Закрытие тэга </w:body>
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента(); // Закрытие тэга </w:document>
|
||||
|
||||
Документ = ЗаписьXML.Закрыть();
|
||||
ЗаписьXML.Закрыть();
|
||||
|
||||
ПутьКДокументу = ПолучитьИмяВременногоФайла("DOCX");
|
||||
|
||||
@@ -871,28 +870,23 @@
|
||||
СтруктураДокумента = Макет.СтруктураДокумента;
|
||||
ТаблицаСвязейКонтента = СтруктураДокумента.ТаблицаСвязейКонтента;
|
||||
|
||||
МаскаТипов = "[Content_Types].xml";
|
||||
ФайлТипов = НайтиФайлы(ИмяКаталога, МаскаТипов);
|
||||
Если ФайлТипов.Количество() = 1 Тогда
|
||||
Чтение = Новый ЧтениеТекста(ФайлТипов[0].ПолноеИмя, КодировкаТекста.UTF8);
|
||||
Файл = Новый Файл(ИмяКаталога + "[Content_Types].xml");
|
||||
Если Файл.Существует() Тогда
|
||||
Чтение = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
ТекстФайла = Чтение.Прочитать();
|
||||
СтруктураДокумента.ТипыКонтента = ТекстФайла;
|
||||
КонецЕсли;
|
||||
|
||||
КаталогФайлаСвязей = ИмяКаталога + "\word\_rels";
|
||||
МаскаСвязей = "document.xml.rels";
|
||||
ФайлСвязей = НайтиФайлы(КаталогФайлаСвязей, МаскаСвязей);
|
||||
КаталогФайлаСвязей = ИмяКаталога + УстановитьРазделительПути("\word\_rels\");
|
||||
|
||||
Если ФайлСвязей.Количество() = 1 Тогда
|
||||
|
||||
ЧтениеXML = Новый ЧтениеТекста(ФайлСвязей[0].ПолноеИмя, КодировкаТекста.UTF8);
|
||||
Файл = Новый Файл(КаталогФайлаСвязей + "document.xml.rels");
|
||||
Если Файл.Существует() Тогда
|
||||
ЧтениеXML = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
ТекстФайла = ЧтениеXML.Прочитать();
|
||||
СтруктураДокумента.СвязиКонтента = ТекстФайла;
|
||||
|
||||
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(ТекстФайла);
|
||||
|
||||
Пока ЧтениеXML.Прочитать() Цикл
|
||||
|
||||
Если НЕ (ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Relationship") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -904,21 +898,19 @@
|
||||
НоваяСтрока.ИмяРесурса = ЧтениеXML.ПолучитьАтрибут("Target");
|
||||
НоваяСтрока.ИдРесурса = ИдРесурса;
|
||||
НоваяСтрока.НомерРесурса = НомерРесурса;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Получить таблицу номеров ресурсов
|
||||
|
||||
КаталогСоСтруктуройФайла = ИмяКаталога + "\word";
|
||||
СтруктурныеФайлы = НайтиФайлы(КаталогСоСтруктуройФайла, "document.xml");
|
||||
КаталогСоСтруктуройФайла = ИмяКаталога + "word" + ПолучитьРазделительПути();
|
||||
|
||||
Для Каждого ТекФайл Из СтруктурныеФайлы Цикл
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(ТекФайл.ПолноеИмя, 1);
|
||||
Файл = Новый Файл(КаталогСоСтруктуройФайла + "document.xml");
|
||||
Если Файл.Существует() Тогда
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(Файл.ПолноеИмя, 1);
|
||||
ПараметрыАнализа = Новый Структура("ТипАнализа", 1);
|
||||
РазбитьТекстШаблонаНаОбласти(ЧтениеXML, СтруктураДокумента, ПараметрыАнализа);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Раздел Из СтруктураДокумента.Разделы Цикл
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(Раздел.Значение.Текст);
|
||||
@@ -926,27 +918,22 @@
|
||||
КонецЦикла;
|
||||
|
||||
СтруктурныеФайлы = НайтиФайлы(КаталогСоСтруктуройФайла, "*.xml");
|
||||
|
||||
Для Каждого ТекФайл Из СтруктурныеФайлы Цикл
|
||||
|
||||
Если НЕ (Лев(ТекФайл.ИмяБезРасширения, 6) = "header") И НЕ (Лев(ТекФайл.ИмяБезРасширения, 6) = "footer") Тогда
|
||||
Для Каждого Файл Из СтруктурныеФайлы Цикл
|
||||
Если НЕ (Лев(Файл.ИмяБезРасширения, 6) = "header") И НЕ (Лев(Файл.ИмяБезРасширения, 6) = "footer") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Колонтитул = СтруктураДокумента.Колонтитулы.Получить(ТекФайл.Имя);
|
||||
|
||||
Колонтитул = СтруктураДокумента.Колонтитулы.Получить(Файл.Имя);
|
||||
Если Колонтитул = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураДокумента.Колонтитулы.Удалить(ТекФайл.Имя);
|
||||
СтруктураДокумента.Колонтитулы.Удалить(Файл.Имя);
|
||||
СтруктураДокумента.Колонтитулы.Вставить(Колонтитул.Имя + "_" + Формат(Колонтитул.НомерРаздела, "ЧГ=0"), Колонтитул);
|
||||
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(ТекФайл.ПолноеИмя, 1);
|
||||
ЧтениеXML = ИнициализироватьЧтениеXML(Файл.ПолноеИмя, 1);
|
||||
ПараметрыАнализа = Новый Структура("ТипАнализа, СтруктураАнализа", 2, Колонтитул);
|
||||
|
||||
РазбитьТекстШаблонаНаОбласти(ЧтениеXML, СтруктураДокумента, ПараметрыАнализа);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -957,48 +944,44 @@
|
||||
СтруктураДокумента = ПечатнаяФорма.СтруктураДокумента;
|
||||
|
||||
СтруктураДокумента.ИдентификаторДокумента = Макет.СтруктураДокумента.ИдентификаторДокумента;
|
||||
СтруктураДокумента.КаталогКартинок = ИмяКаталога + "\word\media\";
|
||||
СтруктураДокумента.КаталогКартинок = ИмяКаталога + УстановитьРазделительПути("\word\media\");
|
||||
СтруктураДокумента.ТаблицаСвязейКонтента = Макет.СтруктураДокумента.ТаблицаСвязейКонтента.Скопировать();
|
||||
|
||||
МаскаТипов = "[Content_Types].xml";
|
||||
ФайлТипов = НайтиФайлы(ИмяКаталога, МаскаТипов);
|
||||
Если ФайлТипов.Количество() = 1 Тогда
|
||||
ЧтениеXML = Новый ЧтениеТекста(ФайлТипов[0].ПолноеИмя,КодировкаТекста.UTF8);
|
||||
Файл = Новый Файл(ИмяКаталога + "[Content_Types].xml");
|
||||
Если Файл.Существует() Тогда
|
||||
ЧтениеXML = Новый ЧтениеТекста(Файл.ПолноеИмя,КодировкаТекста.UTF8);
|
||||
ТекстФайла = ЧтениеXML.Прочитать();
|
||||
СтруктураДокумента.ТипыКонтента = ТекстФайла;
|
||||
КонецЕсли;
|
||||
|
||||
КаталогФайлаСвязей = ИмяКаталога + "\word\_rels";
|
||||
МаскаСвязей = "document.xml.rels";
|
||||
ФайлСвязей = НайтиФайлы(КаталогФайлаСвязей, МаскаСвязей);
|
||||
КаталогФайлаСвязей = ИмяКаталога + УстановитьРазделительПути("\word\_rels\");
|
||||
|
||||
Если ФайлСвязей.Количество() = 1 Тогда
|
||||
ЧтениеXML = Новый ЧтениеТекста(ФайлСвязей[0].ПолноеИмя, КодировкаТекста.UTF8);
|
||||
Файл = Новый Файл(КаталогФайлаСвязей + "document.xml.rels");
|
||||
Если Файл.Существует() Тогда
|
||||
ЧтениеXML = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
ТекстФайла = ЧтениеXML.Прочитать();
|
||||
СтруктураДокумента.СвязиКонтента = ТекстФайла;
|
||||
КонецЕсли;
|
||||
|
||||
КаталогСоСтруктуройФайла = ИмяКаталога + "\word";
|
||||
КаталогСоСтруктуройФайла = ИмяКаталога + "word" + ПолучитьРазделительПути();
|
||||
МаскаФайлов ="*.xml";
|
||||
СтруктурныеФайлы = НайтиФайлы(КаталогСоСтруктуройФайла, МаскаФайлов);
|
||||
|
||||
Для Каждого ТекФайл Из СтруктурныеФайлы Цикл
|
||||
|
||||
Если ТекФайл.ИмяБезРасширения = "document" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(ТекФайл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
Для Каждого Файл Из СтруктурныеФайлы Цикл
|
||||
Если Файл.ИмяБезРасширения = "document" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
ЗаписьXML.Записать("");
|
||||
КонецЕсли;
|
||||
|
||||
Если Лев(ТекФайл.ИмяБезРасширения, 6) = "header" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(ТекФайл.ПолноеИмя,КодировкаТекста.UTF8);
|
||||
Если Лев(Файл.ИмяБезРасширения, 6) = "header" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(Файл.ПолноеИмя,КодировкаТекста.UTF8);
|
||||
ЗаписьXML.Записать("");
|
||||
КонецЕсли;
|
||||
|
||||
Если Лев(ТекФайл.ИмяБезРасширения, 6) = "footer" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(ТекФайл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
Если Лев(Файл.ИмяБезРасширения, 6) = "footer" Тогда
|
||||
ЗаписьXML = Новый ЗаписьТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);
|
||||
ЗаписьXML.Записать("");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Текст копирования колонтитулов и разделов из макета
|
||||
@@ -2703,8 +2686,6 @@
|
||||
ЗаписьXML = ИнициализироватьЗаписьXML("",,,Ложь);
|
||||
|
||||
ПропуститьТэг = Ложь;
|
||||
ЗаписатьБезусловно = Ложь;
|
||||
|
||||
Пока ЧтениеXML.Прочитать() Цикл
|
||||
|
||||
Если ПропуститьТэг = Истина Тогда
|
||||
@@ -2855,7 +2836,7 @@
|
||||
|
||||
Тэг = ПрочитатьЗначениеБайтаИзПотока(ЧтениеДанных, 2, ПорядокБайтовBigEndian);
|
||||
ТипПоля = ПрочитатьЗначениеБайтаИзПотока(ЧтениеДанных, 2, ПорядокБайтовBigEndian);
|
||||
Пропуск = ПрочитатьЗначениеБайтаИзПотока(ЧтениеДанных, 4, ПорядокБайтовBigEndian);
|
||||
ПрочитатьЗначениеБайтаИзПотока(ЧтениеДанных, 4, ПорядокБайтовBigEndian);
|
||||
|
||||
Если (ТипПоля = 3 ИЛИ ТипПоля = 8) Тогда
|
||||
|
||||
@@ -2993,10 +2974,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЛидирующиеНули = "";
|
||||
|
||||
ЧислоНулей = СтрДлина(Маска) - СтрДлина(Результат);
|
||||
|
||||
Для Инд = 1 По ЧислоНулей Цикл
|
||||
Результат = "0" + Результат;
|
||||
КонецЦикла;
|
||||
@@ -3053,13 +3031,13 @@
|
||||
СоздатьКаталог(Куда);
|
||||
КонецЕсли;
|
||||
|
||||
Файлы = НайтиФайлы(Откуда, "*.*");
|
||||
Файлы = НайтиФайлы(Откуда, ПолучитьМаскуВсеФайлы());
|
||||
|
||||
Для Каждого Файл Из Файлы Цикл
|
||||
Если Файл.ЭтоКаталог() Тогда
|
||||
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, Куда + "\" + Файл.Имя);
|
||||
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, УстановитьРазделительПути(Куда + "\" + Файл.Имя));
|
||||
Иначе
|
||||
КопироватьФайл(Файл.ПолноеИмя, Куда + "\" + Файл.Имя);
|
||||
КопироватьФайл(Файл.ПолноеИмя, УстановитьРазделительПути(Куда + "\" + Файл.Имя));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -3141,4 +3119,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановитьРазделительПути(Знач Путь)
|
||||
Возврат СтрСоединить(СтрРазделить(Путь, "\/", Истина), ПолучитьРазделительПути());
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="50f87404-99a4-476d-a740-6abc269cdb4b">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a3b48aee-0990-496f-aad1-cb26ff05410f">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.0</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="6887c076-7ba4-454c-8474-6ec27d519b99"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ebc9f6e3-480a-4188-be05-4771db10010b"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5177e372-f398-4dc0-a425-0cd66c2aadf4"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="673b1cf2-2860-4b8b-80af-ee524510197f"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fa032180-8116-4bb9-a8a3-c395061e5d8a"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="6fddc708-7770-4479-abda-b13dbc944409"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fa75c4e8-1de9-4981-bfd5-8f0faa4970dd"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="12585ade-6aa5-45ed-b689-adcff9a0a93f"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="490e9d23-3733-44a5-b879-d1f3e5626c4f"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="0b350b79-6f1a-4bba-b861-fe7e22d4d8d3"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="bfe224e0-383b-4900-aa1c-23ca26b30d76"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="2e8a0073-6863-4a28-83a2-b92c20d32c16"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1bbdb79a-e814-4530-8cfb-c57ac347ecbe"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="c7fa6c66-c53c-43de-884a-6cd85e1e4b9c"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.0.1.314</version>
|
||||
<version>3.0.1.323</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,d6755c5c-141a-4870-8c1c-f9dfbd39ea8d,1,749cb7ac-c10c-47e5-b30b-189ae4c4915e,"3.0.1.314","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,50f87404-99a4-476d-a740-6abc269cdb4b,50f87404-99a4-476d-a740-6abc269cdb4b,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,c6f775b4-c112-4ce7-9e0f-d1b938662c6d,1,eb31683f-4ea4-4095-b537-548db21b36ee,"3.0.1.323","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,a3b48aee-0990-496f-aad1-cb26ff05410f,a3b48aee-0990-496f-aad1-cb26ff05410f,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
|
||||
@@ -892,6 +892,7 @@
|
||||
ПараметрыМетода.Параметры = Новый Структура;
|
||||
ПараметрыМетода.Параметры.Вставить("СпособУдаления", ТекущийВариантУдаления);
|
||||
ПараметрыМетода.Параметры.Вставить("ВключатьБизнесЛогику", Истина);
|
||||
ПараметрыМетода.Параметры.Вставить("ЗаменаПарыВТранзакции", Ложь);
|
||||
|
||||
// Запуск фонового задания для замены.
|
||||
Задание = ЗапуститьФоновоеЗадание(ПараметрыМетода, УникальныйИдентификатор);
|
||||
|
||||
@@ -37,19 +37,19 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 18;
|
||||
Возврат 20;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВерсияОбновленияПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.0.1.86";
|
||||
Возврат "3.0.1.316";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.0.1.242";
|
||||
Возврат "3.0.1.318";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+20
-10
@@ -45,6 +45,10 @@
|
||||
<Item Calendar="02" Year="2018" DayType="Праздник" Date="20180821" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2018" DayType="Предпраздничный" Date="20181010" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2018" DayType="Праздник" Date="20181011" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2019" DayType="Предпраздничный" Date="20190603" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2019" DayType="Праздник" Date="20190604" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2019" DayType="Праздник" Date="20190811" SwapDate="20190812"/>
|
||||
<Item Calendar="02" Year="2019" DayType="Воскресенье" Date="20190812" SwapDate="20190811"/>
|
||||
<Item Calendar="02" Year="2019" DayType="Предпраздничный" Date="20191010" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2019" DayType="Праздник" Date="20191011" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
|
||||
@@ -52,8 +56,8 @@
|
||||
<Item Calendar="03" Year="2017" DayType="Праздник" Date="20170227" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2018" DayType="Предпраздничный" Date="20180215" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2018" DayType="Праздник" Date="20180216" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2019" DayType="Предпраздничный" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2019" DayType="Праздник" Date="20190206" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2019" DayType="Предпраздничный" Date="20190204" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="04" Year="2016" DayType="Праздник" Date="20160214" SwapDate="20160215"/>
|
||||
<Item Calendar="04" Year="2016" DayType="Воскресенье" Date="20160215" SwapDate="20160214"/>
|
||||
<Item Calendar="04" Year="2017" DayType="Предпраздничный" Date="20170203" SwapDate=""/>
|
||||
@@ -158,8 +162,8 @@
|
||||
<Item Calendar="08" Year="2018" DayType="Праздник" Date="20181202" SwapDate="20181203"/>
|
||||
<Item Calendar="08" Year="2018" DayType="Воскресенье" Date="20181203" SwapDate="20181202"/>
|
||||
<Item Calendar="08" Year="2018" DayType="Нерабочий" Date="20181228" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Предпраздничный" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Праздник" Date="20190206" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Предпраздничный" Date="20190204" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Предпраздничный" Date="20190404" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Праздник" Date="20190405" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2019" DayType="Нерабочий" Date="20191228" SwapDate=""/>
|
||||
@@ -207,6 +211,8 @@
|
||||
<Item Calendar="14" Year="2019" DayType="Суббота" Date="20190429" SwapDate="20190427"/>
|
||||
<Item Calendar="14" Year="2019" DayType="Предпраздничный" Date="20190620" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2019" DayType="Праздник" Date="20190621" SwapDate=""/>
|
||||
<Item Calendar="15" Year="2018" DayType="Праздник" Date="20181119" SwapDate=""/>
|
||||
<Item Calendar="15" Year="2019" DayType="Праздник" Date="20191118" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2016" DayType="Предпраздничный" Date="20160704" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2016" DayType="Праздник" Date="20160705" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2016" DayType="Предпраздничный" Date="20160829" SwapDate=""/>
|
||||
@@ -226,6 +232,10 @@
|
||||
<Item Calendar="16" Year="2018" DayType="Предпраздничный" Date="20180829" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2018" DayType="Праздник" Date="20180830" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2018" DayType="Праздник" Date="20181106" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Предпраздничный" Date="20190603" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20190604" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20190811" SwapDate="20190812"/>
|
||||
<Item Calendar="16" Year="2019" DayType="Воскресенье" Date="20190812" SwapDate="20190811"/>
|
||||
<Item Calendar="16" Year="2019" DayType="Предпраздничный" Date="20190829" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20190830" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Предпраздничный" Date="20191105" SwapDate=""/>
|
||||
@@ -255,8 +265,8 @@
|
||||
<Item Calendar="17" Year="2018" DayType="Воскресенье" Date="20180717" SwapDate="20180715"/>
|
||||
<Item Calendar="17" Year="2018" DayType="Предпраздничный" Date="20180814" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2018" DayType="Праздник" Date="20180815" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Предпраздничный" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Праздник" Date="20190206" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Предпраздничный" Date="20190204" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Праздник" Date="20190506" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Предпраздничный" Date="20190814" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2019" DayType="Праздник" Date="20190815" SwapDate=""/>
|
||||
@@ -337,15 +347,15 @@
|
||||
<Item Calendar="75" Year="2017" DayType="Праздник" Date="20170227" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2018" DayType="Предпраздничный" Date="20180215" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2018" DayType="Праздник" Date="20180216" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2019" DayType="Предпраздничный" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2019" DayType="Праздник" Date="20190206" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2019" DayType="Предпраздничный" Date="20190204" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2016" DayType="Праздник" Date="20160209" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2017" DayType="Праздник" Date="20170227" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2018" DayType="Предпраздничный" Date="20180215" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2018" DayType="Праздник" Date="20180216" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2019" DayType="Предпраздничный" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2019" DayType="Праздник" Date="20190206" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2019" DayType="Предпраздничный" Date="20190204" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160318" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160620" SwapDate=""/>
|
||||
|
||||
+1
@@ -11,6 +11,7 @@
|
||||
<Item Code="09" Description="Карачаево-Черкесская Республика" Base="РФ"/>
|
||||
<Item Code="11" Description="Республика Коми" Base="РФ"/>
|
||||
<Item Code="14" Description="Республика Саха (Якутия)" Base="РФ"/>
|
||||
<Item Code="15" Description="Республика Северная Осетия - Алания" Base="РФ"/>
|
||||
<Item Code="16" Description="Республика Татарстан" Base="РФ"/>
|
||||
<Item Code="17" Description="Республика Тыва" Base="РФ"/>
|
||||
<Item Code="20" Description="Чеченская республика" Base="РФ"/>
|
||||
|
||||
-29
@@ -253,35 +253,6 @@
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация7</name>
|
||||
<id>62</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация7РасширеннаяПодсказка</name>
|
||||
<id>64</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>Декорация7КонтекстноеМеню</name>
|
||||
<id>63</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<width>1</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<height>1</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo"/>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
|
||||
@@ -1736,7 +1736,7 @@
|
||||
Если ТекущиеДанные <> Неопределено И РасширенияПоддерживающиеПредпросмотр.НайтиПоЗначению(ТекущиеДанные.Расширение) <> Неопределено Тогда
|
||||
|
||||
Попытка
|
||||
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор);
|
||||
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор,, АдресДанныхФайла);
|
||||
АдресДанныхФайла = ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
|
||||
Исключение
|
||||
// Если файла не существует, то будет вызвано исключение.
|
||||
|
||||
+12
-4
@@ -1122,9 +1122,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса)
|
||||
Функция КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, ВСтруктуру = Ложь)
|
||||
|
||||
Адрес = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, Перечисления.ТипыКонтактнойИнформации.Адрес);
|
||||
Адрес = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, Перечисления.ТипыКонтактнойИнформации.Адрес, ВСтруктуру);
|
||||
Возврат Адрес;
|
||||
|
||||
КонецФункции
|
||||
@@ -1350,11 +1350,14 @@
|
||||
|
||||
Если РаботаСАдресамиКлиентСервер.ЭтоОсновнаяСтрана(Страна) Тогда
|
||||
// Попытка восстановить адрес по полям из представления.
|
||||
НаселенныйПунктДетально = КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса);
|
||||
НаселенныйПунктДетально = КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, Истина);
|
||||
Иначе
|
||||
НаселенныйПунктДетально.Street = ПредставлениеАдреса;
|
||||
КонецЕсли;
|
||||
|
||||
Комментарий = НаселенныйПунктДетально.comment;
|
||||
РазрешитьВводАдресаВСвободнойФорме = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НаселенныйПунктДетально.AddressType = ВыбранныйТипАдреса;
|
||||
@@ -1795,7 +1798,9 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗагрузкиАдресногоКлассификатора(Результат, ДополнительныеПараметры) Экспорт
|
||||
СообщениеОНеобходимостиОбновленияКлассификатора(НаселенныйПунктДетально.Регион.Идентификатор);
|
||||
Если Результат <> Неопределено Тогда
|
||||
СообщениеОНеобходимостиОбновленияКлассификатора(НаселенныйПунктДетально.Регион.Идентификатор);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -3187,6 +3192,9 @@
|
||||
|
||||
РаботаСАдресамиКлиентСервер.ОбновитьПредставлениеАдреса(НаселенныйПунктДетально, ВидКонтактнойИнформации.ВключатьСтрануВПредставление);
|
||||
ПредставлениеАдреса = НаселенныйПунктДетально.Value;
|
||||
Если ВидКонтактнойИнформации.ВключатьСтрануВПредставление И УправлениеКонтактнойИнформациейКлиентСервер.ЭтоАдресВСвободнойФорме(НаселенныйПунктДетально.AddressType) Тогда
|
||||
УдалитьСтрануИзПредставления();
|
||||
КонецЕсли;
|
||||
|
||||
ПоказатьПодсказкуПоТипАдреса();
|
||||
|
||||
|
||||
@@ -1347,24 +1347,13 @@
|
||||
НСтр("ru = 'Не соответствует установленной длина полей:'"));
|
||||
Результат.Добавить(НеСоответствуетДлинаПолей);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
// 2) Индекс, Регион, Дом должны быть заполнены.
|
||||
Если ПустаяСтрока(ДанныеАдреса.Zipcode) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, РаботаСАдресамиКлиентСервер.XPathПочтовогоИндекса(),
|
||||
НСтр("ru = 'Не указан почтовый индекс.'"), "Индекс");
|
||||
КонецЕсли;
|
||||
|
||||
Регион = СокрЛП(ДанныеАдреса.Area + " " + ДанныеАдреса.AreaType);
|
||||
Если ПустаяСтрока(Регион) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "СубъектРФ",
|
||||
НСтр("ru = 'Не указан регион.'"), "Регион");
|
||||
КонецЕсли;
|
||||
|
||||
// 3) Регион, Район, Город, НаселенныйПункт, Улица должны:
|
||||
// - иметь сокращение.
|
||||
// - не длинней 50 символов.
|
||||
// - только кириллица.
|
||||
|
||||
// 3) Регион, Район, Город, НаселенныйПункт, Улица должны: иметь сокращение, только кириллица.
|
||||
|
||||
ДопустимоКромеКириллицы = "/,-. 0123456789_N";
|
||||
|
||||
@@ -1375,10 +1364,6 @@
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, "СубъектРФ",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не указано сокращение в названии региона ""%1"".'"), Регион), НСтр("ru = 'Регион'"));
|
||||
КонецЕсли;
|
||||
Если СтрДлина(Регион) > 50 Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Название региона ""%1"" должно быть короче 50 символов.'"),Регион), НСтр("ru = 'Регион'"));
|
||||
КонецЕсли;
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Регион, Ложь, ДопустимоКромеКириллицы) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии региона ""%1"" есть не кириллические символы.'"), Регион), НСтр("ru = 'Регион'"));
|
||||
@@ -1393,10 +1378,6 @@
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не указано сокращение в названии района ""%1"".'"), Район), НСтр("ru = 'Район'"));
|
||||
КонецЕсли;
|
||||
Если СтрДлина(Район) > 50 Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Название района ""%1"" должно быть короче 50 символов.'"), Район), НСтр("ru = 'Район'"));
|
||||
КонецЕсли;
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Район, Ложь, ДопустимоКромеКириллицы) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии района ""%1"" есть не кириллические символы.'"), Район), НСтр("ru = 'Район'"));
|
||||
@@ -1411,10 +1392,6 @@
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не указано сокращение в названии города ""%1"".'"), Город), НСтр("ru = 'Город'"));
|
||||
КонецЕсли;
|
||||
Если СтрДлина(Город) > 50 Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Название города ""%1"" должно быть короче 50 символов.'"), Город), НСтр("ru = 'Город'"));
|
||||
КонецЕсли;
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Город, Ложь, ДопустимоКромеКириллицы) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии города ""%1"" есть не кириллические символы.'"), Город), НСтр("ru = 'Город'"));
|
||||
@@ -1430,11 +1407,6 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не указано сокращение в названии населенного пункта ""%1"".'"), НаселенныйПункт),
|
||||
НСтр("ru = 'Населенный пункт'"));
|
||||
КонецЕсли;
|
||||
Если СтрДлина(НаселенныйПункт) > 50 Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Название населенного пункта ""%1"" должно быть короче 50 символов.'"), НаселенныйПункт),
|
||||
НСтр("ru = 'Населенный пункт'"));
|
||||
КонецЕсли;
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(НаселенныйПункт, Ложь, ДопустимоКромеКириллицы) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии населенного пункта ""%1"" есть не кириллические символы.'"), НаселенныйПункт),
|
||||
@@ -1450,10 +1422,6 @@
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не указано сокращение в названии улицы ""%1"".'"), Улица), НСтр("ru = 'Улица'"));
|
||||
КонецЕсли;
|
||||
Если СтрДлина(Район) > 50 Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Название улицы ""%1"" должно быть короче 50 символов.'"), Улица), НСтр("ru = 'Улица'"));
|
||||
КонецЕсли;
|
||||
Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Улица, Ложь, ДопустимоКромеКириллицы) Тогда
|
||||
ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В названии улицы ""%1"" есть не кириллические символы.'"), Улица), НСтр("ru = 'Улица'"));
|
||||
@@ -1482,7 +1450,13 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// 7) Улица не может быть пустой если НаселенныйПункт пустой.
|
||||
// 7) Дома не могут быть пустыми
|
||||
Если ПустаяСтрока(ДанныеАдреса.houseNumber) И ДанныеАдреса.buildings.Количество() = 0 Тогда
|
||||
Поле = "Дом";
|
||||
ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле,
|
||||
НСтр("ru = 'Не указан номер дома.'"),
|
||||
НСтр("ru = 'Дом'"));
|
||||
КонецЕсли;
|
||||
|
||||
// Все. Убираем пустые результаты, корректируем сообщение группы.
|
||||
Для Индекс = 1-Результат.Количество() По 0 Цикл
|
||||
|
||||
+9
-3
@@ -351,9 +351,15 @@ function restoreDB () {
|
||||
}
|
||||
|
||||
function WaitUntilFinish () {
|
||||
var FileArchive = oFileSystemObject.GetFile(BaseFileName + '\\1Cv8.1CD')
|
||||
var FileSize = FileArchive.size / 1024
|
||||
if (FileSize < 5) {
|
||||
var fileName = BaseFileName + '\\1Cv8.1CD'
|
||||
|
||||
if (!oFileSystemObject.FileExists(fileName)) {
|
||||
return -1
|
||||
}
|
||||
|
||||
var fileArchive = oFileSystemObject.GetFile(fileName)
|
||||
var fileSize = fileArchive.size / 1024
|
||||
if (fileSize < 5) {
|
||||
return -1
|
||||
}
|
||||
|
||||
|
||||
@@ -3745,6 +3745,9 @@
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<settingsSavedData xsi:type="form:DataPath">
|
||||
<segments>Монопольно</segments>
|
||||
</settingsSavedData>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПодробныйТекстОшибки</name>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
РежимУдаления = "Полный";
|
||||
ПриСозданииНаСервереУстановитьТекстПоясненияКОбработке();
|
||||
ВидимостьДоступность(ЭтотОбъект);
|
||||
Монопольно = Истина;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоМобильныйКлиент() Тогда // Временное решение для работы в мобильном клиенте, будет удалено в следующих версиях
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
//
|
||||
Процедура УдалитьПомеченныеОбъектыИнтерактивно(ПараметрыВыполнения, АдресХранилища) Экспорт
|
||||
УдалитьПомеченныеОбъекты(ПараметрыВыполнения);
|
||||
ПоместитьВоВременноеХранилище(ИзвлечьРезультат(ПараметрыВыполнения), АдресХранилища);
|
||||
ПараметрыВыполнения.Удалить("ВсеПомеченныеНаУдаление");
|
||||
ПоместитьВоВременноеХранилище(ПараметрыВыполнения, АдресХранилища);
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -58,6 +59,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
Если ПараметрыВыполнения.Монопольно Тогда
|
||||
УдалитьПомеченныеОбъектыМонопольно(ПараметрыВыполнения);
|
||||
Иначе // Не монопольно.
|
||||
@@ -114,7 +116,6 @@
|
||||
ПараметрыВыполнения.ПовторноУдаляемые.Удалить(0);
|
||||
|
||||
Результат = УдалитьСсылку(ПараметрыВыполнения, Ссылка);
|
||||
|
||||
ЗарегистрироватьРезультатУдаления(ПараметрыВыполнения, Ссылка, Результат, "ПовторноУдаляемые");
|
||||
ОтметитьПрогрессОбходаКоллекции(ПараметрыВыполнения, "ПовторноУдаляемые");
|
||||
КонецЦикла;
|
||||
@@ -130,10 +131,9 @@
|
||||
// Удаление одиночного объекта с контролем результата и откатом транзакции в случае неудачи.
|
||||
Функция УдалитьСсылку(ПараметрыВыполнения, Ссылка)
|
||||
Результат = Новый Структура; // Результат обрабатывается в ЗарегистрироватьРезультатУдаления().
|
||||
Результат.Вставить("Успех", Неопределено);
|
||||
Результат.Вставить("Успех", Ложь);
|
||||
Результат.Вставить("ИнформацияОбОшибке", Неопределено);
|
||||
Результат.Вставить("ПрепятствующиеУдалению", Неопределено);
|
||||
Результат.Вставить("ВложенныеИПодчиненныеОбъекты", Новый Массив);
|
||||
Результат.Вставить("Количество", 0);
|
||||
Результат.Вставить("Сообщения", Неопределено);
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
ПопробоватьУдалитьСсылку(ПараметрыВыполнения, Ссылка, Информация, Результат);
|
||||
ПопробоватьУдалитьСсылку(Ссылка, ПараметрыВыполнения, Информация, Результат);
|
||||
Если Результат.Успех Тогда
|
||||
ЗафиксироватьТранзакцию();
|
||||
Иначе
|
||||
@@ -158,22 +158,10 @@
|
||||
ЗаписатьПредупреждение(Ссылка, Результат.ИнформацияОбОшибке);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Результат.ПрепятствующиеУдалению) = Тип("ТаблицаЗначений") Тогда
|
||||
Результат.ПрепятствующиеУдалению.Колонки[0].Имя = "УдаляемыйСсылка";
|
||||
Результат.ПрепятствующиеУдалению.Колонки[1].Имя = "ОбнаруженныйСсылка";
|
||||
Результат.ПрепятствующиеУдалению.Колонки[2].Имя = "ОбнаруженныйМетаданные";
|
||||
Для Каждого ОбнаруженныйСсылка Из Результат.ВложенныеИПодчиненныеОбъекты Цикл
|
||||
СтрокаТаблицы = Результат.ПрепятствующиеУдалению.Добавить();
|
||||
СтрокаТаблицы.УдаляемыйСсылка = Ссылка;
|
||||
СтрокаТаблицы.ОбнаруженныйСсылка = ОбнаруженныйСсылка;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
// Механика удаления объекта и поиска ссылок.
|
||||
Процедура ПопробоватьУдалитьСсылку(ПараметрыВыполнения, Ссылка, Информация, Результат)
|
||||
Процедура ПопробоватьУдалитьСсылку(Ссылка, ПараметрыВыполнения, Информация, Результат)
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить(Информация.ПолноеИмя);
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
|
||||
@@ -190,47 +178,69 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НайтиВложенныеИПодчиненныеОбъекты(ПараметрыВыполнения, Ссылка, Информация, Результат);
|
||||
ДочерниеИПодчиненныеОбъекты = НайтиДочерниеИПодчиненныеОбъекты(Ссылка, Информация);
|
||||
Результат.Количество = Результат.Количество + ДочерниеИПодчиненныеОбъекты.Количество();
|
||||
|
||||
Объект.Удалить();
|
||||
// Удаление невозможно, если есть хотя бы один дочерний или подчиненный объект, не помеченный на удаление.
|
||||
// Эта предварительная проверка позволяет избежать отката длинной транзакции при удалении в иерархических таблицах.
|
||||
ДочерниеИПодчиненныеОбъектыПомечены = Истина;
|
||||
Для каждого ПодчиненныйОбъект Из ДочерниеИПодчиненныеОбъекты Цикл
|
||||
Если Не ПодчиненныйОбъект.ПометкаУдаления Тогда
|
||||
ДочерниеИПодчиненныеОбъектыПомечены = Ложь;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
НайтиПрепятствующиеУдалению(ПараметрыВыполнения, Ссылка, Информация, Результат);
|
||||
Если ДочерниеИПодчиненныеОбъектыПомечены Тогда
|
||||
Объект.Удалить();
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат.Количество = 0 Тогда
|
||||
Результат.Успех = Истина;
|
||||
Иначе
|
||||
Результат.Успех = Ложь;
|
||||
Результат.ПрепятствующиеУдалению = НайтиПрепятствующиеУдалению(Ссылка, ПараметрыВыполнения);
|
||||
Результат.Количество = Результат.Количество + Результат.ПрепятствующиеУдалению.Количество();
|
||||
Результат.Успех = (Результат.Количество = 0);
|
||||
Если Не Результат.Успех Тогда
|
||||
Результат.ИнформацияОбОшибке = НСтр("ru = 'Объект используется в других объектах программы.'");
|
||||
Если ТипЗнч(Результат.ПрепятствующиеУдалению) = Тип("ТаблицаЗначений") Тогда
|
||||
Результат.ПрепятствующиеУдалению.Колонки[0].Имя = "УдаляемыйСсылка";
|
||||
Результат.ПрепятствующиеУдалению.Колонки[1].Имя = "ОбнаруженныйСсылка";
|
||||
Результат.ПрепятствующиеУдалению.Колонки[2].Имя = "ОбнаруженныйМетаданные";
|
||||
Если ДочерниеИПодчиненныеОбъектыПомечены Тогда
|
||||
Для Каждого ПодчиненныйОбъект Из ДочерниеИПодчиненныеОбъекты Цикл
|
||||
СтрокаТаблицы = Результат.ПрепятствующиеУдалению.Добавить();
|
||||
СтрокаТаблицы.УдаляемыйСсылка = Ссылка;
|
||||
СтрокаТаблицы.ОбнаруженныйСсылка = ПодчиненныйОбъект.Ссылка;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
// Поиск ссылок вложенных и подчиненных (иерархия и связь по владельцу). Выполняется до удаления.
|
||||
Процедура НайтиВложенныеИПодчиненныеОбъекты(ПараметрыВыполнения, Ссылка, Информация, Результат)
|
||||
Функция НайтиДочерниеИПодчиненныеОбъекты(Ссылка, Информация)
|
||||
|
||||
ВложенныеИПодчиненныеОбъекты = Новый Массив;
|
||||
Если Информация.Иерархический Тогда
|
||||
Запрос = Новый Запрос(Информация.ТекстЗапросаПоИерархии);
|
||||
Запрос.УстановитьПараметр("УдаляемыйСсылка", Ссылка);
|
||||
ВложенныеОбъекты = Запрос.Выполнить().Выгрузить();
|
||||
Для Каждого СтрокаТаблицы Из ВложенныеОбъекты Цикл
|
||||
Результат.ВложенныеИПодчиненныеОбъекты.Добавить(СтрокаТаблицы.Ссылка);
|
||||
КонецЦикла;
|
||||
Результат.Количество = Результат.Количество + ВложенныеОбъекты.Количество();
|
||||
ВложенныеИПодчиненныеОбъекты = Запрос.Выполнить().Выгрузить();
|
||||
КонецЕсли;
|
||||
|
||||
Если Информация.ЕстьПодчиненные Тогда
|
||||
Запрос = Новый Запрос(Информация.ТекстЗапросаПоПодчиненным);
|
||||
Запрос.УстановитьПараметр("УдаляемыйСсылка", Ссылка);
|
||||
ПодчиненныеОбъекты = Запрос.Выполнить().Выгрузить();
|
||||
Для Каждого СтрокаТаблицы Из ПодчиненныеОбъекты Цикл
|
||||
Результат.ВложенныеИПодчиненныеОбъекты.Добавить(СтрокаТаблицы.Ссылка);
|
||||
КонецЦикла;
|
||||
Результат.Количество = Результат.Количество + ПодчиненныеОбъекты.Количество();
|
||||
Если ВложенныеИПодчиненныеОбъекты.Количество() > 0 Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ВложенныеИПодчиненныеОбъекты, ПодчиненныеОбъекты);
|
||||
Иначе
|
||||
ВложенныеИПодчиненныеОбъекты = ПодчиненныеОбъекты;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Возврат ВложенныеИПодчиненныеОбъекты;
|
||||
|
||||
КонецПроцедуры
|
||||
КонецФункции
|
||||
|
||||
// Поиск ссылок путем сканирования всех таблиц. Выполняется после удаления.
|
||||
Процедура НайтиПрепятствующиеУдалению(ПараметрыВыполнения, Ссылка, Информация, Результат)
|
||||
Функция НайтиПрепятствующиеУдалению(Ссылка, ПараметрыВыполнения)
|
||||
|
||||
ПоискСсылок = Новый Массив;
|
||||
ПоискСсылок.Добавить(Ссылка);
|
||||
@@ -241,8 +251,8 @@
|
||||
Количество = ПрепятствующиеУдалению.Количество();
|
||||
ИмяКолонки = ПрепятствующиеУдалению.Колонки[1].Имя;
|
||||
Для Номер = 1 По Количество Цикл
|
||||
ОбратныйИндекс = Количество - Номер;
|
||||
СтрокаТаблицы = ПрепятствующиеУдалению[ОбратныйИндекс];
|
||||
Индекс = Количество - Номер;
|
||||
СтрокаТаблицы = ПрепятствующиеУдалению[Индекс];
|
||||
ПрепятствующийСсылка = СтрокаТаблицы[ИмяКолонки];
|
||||
Если ПрепятствующийСсылка = Ссылка
|
||||
Или ДокументУжеУдален(ПараметрыВыполнения, ПрепятствующийСсылка) Тогда
|
||||
@@ -250,11 +260,9 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Регистрация результата.
|
||||
Результат.ПрепятствующиеУдалению = ПрепятствующиеУдалению;
|
||||
Результат.Количество = Результат.Количество + Результат.ПрепятствующиеУдалению.Количество();
|
||||
Возврат ПрепятствующиеУдалению;
|
||||
|
||||
КонецПроцедуры
|
||||
КонецФункции
|
||||
|
||||
// Поиск ссылки документа в базе данных.
|
||||
Функция ДокументУжеУдален(ПараметрыВыполнения, Ссылка)
|
||||
@@ -265,7 +273,9 @@
|
||||
Если Информация.Вид <> "ДОКУМЕНТ" Тогда
|
||||
Возврат Ложь; // Не документ.
|
||||
КонецЕсли;
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ "+ Информация.ПолноеИмя +" ГДЕ Ссылка = &Ссылка");
|
||||
ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ #ИмяТаблицы ГДЕ Ссылка = &Ссылка";
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ИмяТаблицы", Информация.ПолноеИмя);
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||||
Возврат Запрос.Выполнить().Пустой();
|
||||
КонецФункции
|
||||
@@ -491,7 +501,7 @@
|
||||
|
||||
// Регистрация результата удаления и заполнение коллекции ПовторноУдаляемые.
|
||||
Процедура ЗарегистрироватьРезультатУдаления(ПараметрыВыполнения, Ссылка, Результат, ИмяКоллекции)
|
||||
// Результат формируется в УдалитьСсылку().
|
||||
// Результат формируется в УдалитьСсылку.
|
||||
Если Результат.Успех Тогда
|
||||
// Регистрация ссылки в коллекции удаленных.
|
||||
ПараметрыВыполнения.Удаленные.Добавить(Ссылка);
|
||||
@@ -517,38 +527,37 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе // Не успешно.
|
||||
|
||||
ПараметрыВыполнения.НеУдаленные.Добавить(Ссылка);
|
||||
|
||||
Если ТипЗнч(Результат.ИнформацияОбОшибке) = Тип("ИнформацияОбОшибке")
|
||||
Или Результат.ПрепятствующиеУдалению = Неопределено Тогда // Текст ошибки
|
||||
Если ТипЗнч(Результат.ИнформацияОбОшибке) = Тип("ИнформацияОбОшибке") Тогда
|
||||
ТекстОшибки = КраткоеПредставлениеОшибки(Результат.ИнформацияОбОшибке);
|
||||
Подробно = ПодробноеПредставлениеОшибки(Результат.ИнформацияОбОшибке);
|
||||
Иначе
|
||||
ТекстОшибки = Результат.ИнформацияОбОшибке;
|
||||
Подробно = "";
|
||||
КонецЕсли;
|
||||
Для Каждого СообщениеОтОбъекта Из Результат.Сообщения Цикл
|
||||
ТекстОшибки = СокрП(ТекстОшибки + Символы.ПС + Символы.ПС + СокрЛ(СообщениеОтОбъекта.Текст));
|
||||
Подробно = СокрП(Подробно + Символы.ПС + Символы.ПС + СокрЛ(СообщениеОтОбъекта.Текст));
|
||||
КонецЦикла;
|
||||
Причина = ПараметрыВыполнения.ПрепятствующиеУдалению.Добавить();
|
||||
Причина.УдаляемыйСсылка = Ссылка;
|
||||
Причина.УдаляемыйТип = ТипЗнч(Причина.УдаляемыйСсылка);
|
||||
Причина.ОбнаруженныйСсылка = ТекстОшибки;
|
||||
Причина.ОбнаруженныйТип = Тип("Строка");
|
||||
Причина.Подробно = Подробно;
|
||||
СформироватьИнформациюОТипах(ПараметрыВыполнения, Причина.УдаляемыйТип);
|
||||
Иначе // Регистрация связей (причин не удаления) для вывода пользователю.
|
||||
Для Каждого СтрокаТаблицы Из Результат.ПрепятствующиеУдалению Цикл
|
||||
ЗаписатьПричинуВРезультат(ПараметрыВыполнения, СтрокаТаблицы);
|
||||
КонецЦикла;
|
||||
ПараметрыВыполнения.НеУдаленные.Добавить(Ссылка);
|
||||
|
||||
Если ТипЗнч(Результат.ИнформацияОбОшибке) = Тип("ИнформацияОбОшибке")
|
||||
Или Результат.ПрепятствующиеУдалению = Неопределено Тогда // Текст ошибки
|
||||
Если ТипЗнч(Результат.ИнформацияОбОшибке) = Тип("ИнформацияОбОшибке") Тогда
|
||||
ТекстОшибки = КраткоеПредставлениеОшибки(Результат.ИнформацияОбОшибке);
|
||||
Подробно = ПодробноеПредставлениеОшибки(Результат.ИнформацияОбОшибке);
|
||||
Иначе
|
||||
ТекстОшибки = Результат.ИнформацияОбОшибке;
|
||||
Подробно = "";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли; // Результат.Успех.
|
||||
Для Каждого СообщениеОтОбъекта Из Результат.Сообщения Цикл
|
||||
ТекстОшибки = СокрП(ТекстОшибки + Символы.ПС + Символы.ПС + СокрЛ(СообщениеОтОбъекта.Текст));
|
||||
Подробно = СокрП(Подробно + Символы.ПС + Символы.ПС + СокрЛ(СообщениеОтОбъекта.Текст));
|
||||
КонецЦикла;
|
||||
Причина = ПараметрыВыполнения.ПрепятствующиеУдалению.Добавить();
|
||||
Причина.УдаляемыйСсылка = Ссылка;
|
||||
Причина.УдаляемыйТип = ТипЗнч(Причина.УдаляемыйСсылка);
|
||||
Причина.ОбнаруженныйСсылка = ТекстОшибки;
|
||||
Причина.ОбнаруженныйТип = Тип("Строка");
|
||||
Причина.Подробно = Подробно;
|
||||
СформироватьИнформациюОТипах(ПараметрыВыполнения, Причина.УдаляемыйТип);
|
||||
Иначе // Регистрация связей (причин не удаления) для вывода пользователю.
|
||||
Для Каждого СтрокаТаблицы Из Результат.ПрепятствующиеУдалению Цикл
|
||||
ЗаписатьПричинуВРезультат(ПараметрыВыполнения, СтрокаТаблицы);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -827,8 +836,8 @@
|
||||
ОтметитьНачалоОбходаКоллекции(ПараметрыВыполнения, "ВсеПомеченныеНаУдаление");
|
||||
Количество = ПараметрыВыполнения.ВсеПомеченныеНаУдаление.Количество();
|
||||
Для Номер = 1 По Количество Цикл
|
||||
ОбратныйИндекс = Количество - Номер;
|
||||
Ссылка = ПараметрыВыполнения.ВсеПомеченныеНаУдаление[ОбратныйИндекс];
|
||||
Индекс = Количество - Номер;
|
||||
Ссылка = ПараметрыВыполнения.ВсеПомеченныеНаУдаление[Индекс];
|
||||
|
||||
Информация = СформироватьИнформациюОТипах(ПараметрыВыполнения, ТипЗнч(Ссылка));
|
||||
ОтметитьПрогрессОбходаКоллекции(ПараметрыВыполнения, "ВсеПомеченныеНаУдаление");
|
||||
@@ -836,12 +845,12 @@
|
||||
Если ПараметрыВыполнения.МодельСервиса
|
||||
И ПараметрыВыполнения.ВОбластиДанных
|
||||
И Не Информация.Разделенный Тогда
|
||||
ПараметрыВыполнения.ВсеПомеченныеНаУдаление.Удалить(ОбратныйИндекс);
|
||||
ПараметрыВыполнения.ВсеПомеченныеНаУдаление.Удалить(Индекс);
|
||||
Продолжить; // Неразделенные объекты запрещено изменять из области данных.
|
||||
КонецЕсли;
|
||||
|
||||
Если Информация.ЕстьПредопределенные И Информация.Предопределенные.Найти(Ссылка) <> Неопределено Тогда
|
||||
ПараметрыВыполнения.ВсеПомеченныеНаУдаление.Удалить(ОбратныйИндекс);
|
||||
ПараметрыВыполнения.ВсеПомеченныеНаУдаление.Удалить(Индекс);
|
||||
Продолжить; // Предопределенные элементы создаются и удаляются только автоматически.
|
||||
КонецЕсли;
|
||||
|
||||
@@ -863,7 +872,7 @@
|
||||
Информация = Новый Структура("ПолноеИмя, ПредставлениеЭлемента, ПредставлениеСписка,
|
||||
|Вид, Ссылочный, Технический, Разделенный,
|
||||
|Иерархический, ТекстЗапросаПоИерархии,
|
||||
|ЕстьПодчиненные, ТекстЗапросаПоПодчиненным,
|
||||
|ЕстьПодчиненные, ТекстЗапросаПоПодчиненным,
|
||||
|ЕстьПредопределенные, Предопределенные");
|
||||
|
||||
// Поиск объекта метаданных.
|
||||
@@ -892,53 +901,64 @@
|
||||
|
||||
// Вид и его свойства.
|
||||
Информация.Вид = Лев(Информация.ПолноеИмя, СтрНайти(Информация.ПолноеИмя, ".")-1);
|
||||
Если Информация.Вид = "СПРАВОЧНИК"
|
||||
Или Информация.Вид = "ДОКУМЕНТ"
|
||||
Или Информация.Вид = "ПЕРЕЧИСЛЕНИЕ"
|
||||
Или Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК"
|
||||
Или Информация.Вид = "ПЛАНСЧЕТОВ"
|
||||
Или Информация.Вид = "ПЛАНВИДОВРАСЧЕТА"
|
||||
Или Информация.Вид = "БИЗНЕСПРОЦЕСС"
|
||||
Или Информация.Вид = "ЗАДАЧА"
|
||||
Или Информация.Вид = "ПЛАНОБМЕНА" Тогда
|
||||
Информация.Ссылочный = Истина;
|
||||
Иначе
|
||||
Информация.Ссылочный = Ложь;
|
||||
ЭтоСправочник = Ложь;
|
||||
ЭтоДокумент = Ложь;
|
||||
ЭтоПеречисление = Ложь;
|
||||
ЭтоПланВидовХарактеристик = Ложь;
|
||||
ЭтоПланСчетов = Ложь;
|
||||
ЭтоПланВидовРасчета = Ложь;
|
||||
ЭтоБизнесПроцесс = Ложь;
|
||||
ЭтоЗадача = Ложь;
|
||||
ЭтоПланОбмена = Ложь;
|
||||
Если Информация.Вид = "СПРАВОЧНИК" Тогда
|
||||
ЭтоСправочник = Истина;
|
||||
ИначеЕсли Информация.Вид = "ДОКУМЕНТ" Тогда
|
||||
ЭтоДокумент = Истина;
|
||||
ИначеЕсли Информация.Вид = "ПЕРЕЧИСЛЕНИЕ" Тогда
|
||||
ЭтоПеречисление = Истина;
|
||||
ИначеЕсли Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
|
||||
ЭтоПланВидовХарактеристик = Истина;
|
||||
ИначеЕсли Информация.Вид = "ПЛАНСЧЕТОВ" Тогда
|
||||
ЭтоПланСчетов = Истина;
|
||||
ИначеЕсли Информация.Вид = "ПЛАНВИДОВРАСЧЕТА" Тогда
|
||||
ЭтоПланВидовРасчета = Истина;
|
||||
ИначеЕсли Информация.Вид = "БИЗНЕСПРОЦЕСС" Тогда
|
||||
ЭтоБизнесПроцесс = Истина;
|
||||
ИначеЕсли Информация.Вид = "ЗАДАЧА" Тогда
|
||||
ЭтоЗадача = Истина;
|
||||
ИначеЕсли Информация.Вид = "ПЛАНОБМЕНА" Тогда
|
||||
ЭтоПланОбмена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Информация.Вид = "СПРАВОЧНИК"
|
||||
Или Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
|
||||
Информация.Ссылочный = (ЭтоСправочник Или ЭтоДокумент Или ЭтоПеречисление Или ЭтоПланВидовХарактеристик
|
||||
Или ЭтоПланСчетов Или ЭтоПланВидовРасчета Или ЭтоБизнесПроцесс Или ЭтоЗадача Или ЭтоПланОбмена);
|
||||
Если ЭтоСправочник Или ЭтоПланВидовХарактеристик Тогда
|
||||
Информация.Иерархический = ОбъектМетаданных.Иерархический;
|
||||
ИначеЕсли Информация.Вид = "ПЛАНСЧЕТОВ" Тогда
|
||||
Информация.Иерархический = Истина;
|
||||
Иначе
|
||||
Информация.Иерархический = Ложь;
|
||||
Информация.Иерархический = ЭтоПланСчетов;
|
||||
КонецЕсли;
|
||||
Если Информация.Иерархический Тогда
|
||||
ШаблонЗапроса = "ВЫБРАТЬ Ссылка ИЗ &ПолноеИмя ГДЕ Родитель = &УдаляемыйСсылка";
|
||||
ШаблонЗапроса = "ВЫБРАТЬ Ссылка, ПометкаУдаления ИЗ &ПолноеИмя ГДЕ Родитель = &УдаляемыйСсылка";
|
||||
Информация.ТекстЗапросаПоИерархии = СтрЗаменить(ШаблонЗапроса, "&ПолноеИмя", Информация.ПолноеИмя);
|
||||
КонецЕсли;
|
||||
|
||||
Информация.ЕстьПодчиненные = Ложь;
|
||||
Информация.ТекстЗапросаПоПодчиненным = "";
|
||||
Если Информация.Вид = "СПРАВОЧНИК"
|
||||
Или Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК"
|
||||
Или Информация.Вид = "ПЛАНОБМЕНА"
|
||||
Или Информация.Вид = "ПЛАНСЧЕТОВ"
|
||||
Или Информация.Вид = "ПЛАНВИДОВРАСЧЕТА" Тогда
|
||||
Если ЭтоСправочник Или ЭтоПланВидовХарактеристик Или ЭтоПланОбмена Или ЭтоПланСчетов Или ЭтоПланВидовРасчета Тогда
|
||||
|
||||
ШаблонЗапроса = "ВЫБРАТЬ Ссылка ИЗ Справочник.&Имя ГДЕ Владелец = &УдаляемыйСсылка";
|
||||
ШаблонЗапроса = "ВЫБРАТЬ Ссылка, ПометкаУдаления ИЗ Справочник.&Имя ГДЕ Владелец = &УдаляемыйСсылка";
|
||||
ТекстЗапроса = "";
|
||||
|
||||
Для Каждого Справочник Из Метаданные.Справочники Цикл
|
||||
Если Справочник.Владельцы.Содержит(ОбъектМетаданных) Тогда
|
||||
Если Информация.ЕстьПодчиненные = Ложь Тогда
|
||||
Информация.ЕстьПодчиненные = Истина;
|
||||
Иначе
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС;
|
||||
КонецЕсли;
|
||||
ТекстЗапроса = ТекстЗапроса + СтрЗаменить(ШаблонЗапроса, "&Имя", Справочник.Имя);
|
||||
Если Не Справочник.Владельцы.Содержит(ОбъектМетаданных) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Информация.ЕстьПодчиненные = Ложь Тогда
|
||||
Информация.ЕстьПодчиненные = Истина;
|
||||
Иначе
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС;
|
||||
КонецЕсли;
|
||||
ТекстЗапроса = ТекстЗапроса + СтрЗаменить(ШаблонЗапроса, "&Имя", Справочник.Имя);
|
||||
КонецЦикла;
|
||||
|
||||
Информация.ТекстЗапросаПоПодчиненным = ТекстЗапроса;
|
||||
@@ -953,16 +973,14 @@
|
||||
Иначе
|
||||
ЭтоРазделенныйОбъектМетаданных = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Информация.Разделенный = ЭтоРазделенныйОбъектМетаданных;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Информация.Вид = "СПРАВОЧНИК"
|
||||
Или Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК"
|
||||
Или Информация.Вид = "ПЛАНСЧЕТОВ"
|
||||
Или Информация.Вид = "ПЛАНВИДОВРАСЧЕТА" Тогда
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ " + Информация.ПолноеИмя + " ГДЕ Предопределенный И ПометкаУдаления");
|
||||
Если ЭтоСправочник Или ЭтоПланВидовХарактеристик Или ЭтоПланСчетов Или ЭтоПланВидовРасчета Тогда
|
||||
ТекстЗапроса = "ВЫБРАТЬ Ссылка ИЗ &ИмяТаблицы ГДЕ Предопределенный И ПометкаУдаления";
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяТаблицы", Информация.ПолноеИмя);
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
Информация.Предопределенные = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
Информация.ЕстьПредопределенные = Информация.Предопределенные.Количество() > 0;
|
||||
Иначе
|
||||
@@ -1038,14 +1056,6 @@
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
// Основная механика удаления помеченных объектов.
|
||||
Функция ИзвлечьРезультат(ПараметрыВыполнения)
|
||||
РезультатУдаления = ПараметрыВыполнения;
|
||||
РезультатУдаления.Удалить("ВсеПомеченныеНаУдаление");
|
||||
РезультатУдаления.Удалить("ВсеПомеченныеНаУдаление");
|
||||
Возврат РезультатУдаления;
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Передача информации на клиент.
|
||||
|
||||
|
||||
+6
@@ -269,7 +269,13 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ИмяОбъекта) Тогда
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
МакетПечатнойФормы = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИмяОбъекта).ПолучитьМакет(ИмяОбъектаМетаданныхМакета);
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
Иначе
|
||||
МакетПечатнойФормы = ПолучитьОбщийМакет(ИмяОбъектаМетаданныхМакета);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -347,6 +347,10 @@
|
||||
Для Каждого ВозможныеПрава Из ВозможныеПраваОбъектовМетаданных Цикл
|
||||
Для Каждого ОбъектМетаданных Из Метаданные[ВозможныеПрава.Коллекция] Цикл
|
||||
|
||||
Если Не ОбъектыРасширений И ОбъектМетаданных.РасширениеКонфигурации() <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||
ПолныеИменаОбъектовМетаданных.Добавить(ПолноеИмя);
|
||||
Поля = Неопределено;
|
||||
@@ -456,40 +460,46 @@
|
||||
КонецФункции
|
||||
|
||||
// Формирует пустую таблицу права ролей.
|
||||
//
|
||||
Функция ТаблицаПравРолей(ОбъектыРасширений = Ложь, ВидИзмененияСтроки = Ложь) Экспорт
|
||||
|
||||
ПраваРолей = СоздатьНаборЗаписей().Выгрузить();
|
||||
ПраваРолей.Колонки.Добавить("РольПолноеИмя", Новый ОписаниеТипов("Строка"));
|
||||
ПраваРолей.Колонки.Добавить("ОбъектМетаданныхПолноеИмя", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
// Если таблица используется для объектов расширений, то необходимо расширить
|
||||
// тип колонки Роль типом СправочникСсылка.ИдентификаторыОбъектовРасширений.
|
||||
Если ОбъектыРасширений Тогда
|
||||
|
||||
КолонкаРоль = ПраваРолей.Колонки.Роль;
|
||||
СвойстваКолонки = Новый Структура("Имя, Заголовок, Ширина");
|
||||
ЗаполнитьЗначенияСвойств(СвойстваКолонки, КолонкаРоль);
|
||||
Индекс = ПраваРолей.Колонки.Индекс(КолонкаРоль);
|
||||
ПраваРолей.Колонки.Удалить(Индекс);
|
||||
|
||||
ТипыРоли = Новый Массив;
|
||||
ТипыРоли.Добавить(Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных"));
|
||||
ТипыРоли.Добавить(Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений"));
|
||||
|
||||
ПраваРолей.Колонки.Вставить(Индекс, СвойстваКолонки.Имя, Новый ОписаниеТипов(ТипыРоли),
|
||||
СвойстваКолонки.Заголовок, СвойстваКолонки.Ширина);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ВидИзмененияСтроки Тогда
|
||||
ПраваРолей.Колонки.Добавить("ВидИзмененияСтроки", Новый ОписаниеТипов("Число"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПраваРолей;
|
||||
|
||||
|
||||
ПраваРолей = СоздатьНаборЗаписей().Выгрузить();
|
||||
ПраваРолей.Колонки.Добавить("РольПолноеИмя", Новый ОписаниеТипов("Строка"));
|
||||
ПраваРолей.Колонки.Добавить("ОбъектМетаданныхПолноеИмя", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
// Если таблица используется для объектов расширений, то необходимо расширить
|
||||
// тип колонок Роль и ОбъектМетаданных типом СправочникСсылка.ИдентификаторыОбъектовРасширений.
|
||||
|
||||
Типы = Новый Массив;
|
||||
Типы.Добавить(Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных"));
|
||||
Типы.Добавить(Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений"));
|
||||
|
||||
УстановитьТипыКолонке(ПраваРолей, "Роль", Типы);
|
||||
УстановитьТипыКолонке(ПраваРолей, "ОбъектМетаданных", Типы);
|
||||
КонецЕсли;
|
||||
|
||||
Если ВидИзмененияСтроки Тогда
|
||||
ПраваРолей.Колонки.Добавить("ВидИзмененияСтроки", Новый ОписаниеТипов("Число"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПраваРолей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции ТаблицаПравРолей.
|
||||
Процедура УстановитьТипыКолонке(Таблица, ИмяКолонки, Типы)
|
||||
|
||||
Колонка = Таблица.Колонки[ИмяКолонки];
|
||||
СвойстваКолонки = Новый Структура("Имя, Заголовок, Ширина");
|
||||
ЗаполнитьЗначенияСвойств(СвойстваКолонки, Колонка);
|
||||
Индекс = Таблица.Колонки.Индекс(Колонка);
|
||||
Таблица.Колонки.Удалить(Индекс);
|
||||
|
||||
Таблица.Колонки.Вставить(Индекс, СвойстваКолонки.Имя, Новый ОписаниеТипов(Типы),
|
||||
СвойстваКолонки.Заголовок, СвойстваКолонки.Ширина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ИзмененныеОбъектыМетаданных(Изменения) Экспорт
|
||||
|
||||
Изменения.Свернуть("ОбъектМетаданных, Роль, Добавление, Изменение", "ВидИзмененияСтроки");
|
||||
|
||||
@@ -176,6 +176,7 @@
|
||||
<value>Таблица</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.ИдентификаторыОбъектовРасширений</types>
|
||||
<types>CatalogRef.ИдентификаторыОбъектовМетаданных</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
@@ -187,7 +188,9 @@
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillFromFillingValue>true</fillFromFillingValue>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:ReferenceValue">
|
||||
<value>Catalog.ИдентификаторыОбъектовМетаданных.EmptyRef</value>
|
||||
</fillValue>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
<dimensions uuid="d86d766f-021a-4c11-b9e8-403af08918cc">
|
||||
|
||||
@@ -2098,93 +2098,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.ЗагруженныеВерсииАдресныхСведений</name>
|
||||
<right>
|
||||
@@ -3875,6 +3788,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.АдресныеОбъекты.Command.ЗагрузитьАдресныйКлассификатор</name>
|
||||
<right>
|
||||
|
||||
@@ -21,37 +21,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
|
||||
<right>
|
||||
@@ -107,6 +76,37 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
|
||||
@@ -2777,45 +2777,6 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.ЗагруженныеВерсииАдресныхСведений</name>
|
||||
<right>
|
||||
@@ -5118,6 +5079,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.БлокировкаОтправкиБыстрыхСообщений</name>
|
||||
<right>
|
||||
|
||||
Reference in new issue
Block a user