This commit is contained in:
Компания 1С committed 2019-07-12 00:13:00 +03:00
1 parent e5c46dd706
commit 15f49a07b4
34 files changed
+1107 -848

No files matched your search

@@ -601,11 +601,28 @@
Если Выгрузка.Количество() = 1 Если Выгрузка.Количество() = 1
И Не ЗначениеЗаполнено(Выгрузка[0].ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда И Не ЗначениеЗаполнено(Выгрузка[0].ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
Объект = Выгрузка[0].Ссылка.ПолучитьОбъект(); ВерсияРасширенийСсылка = Выгрузка[0].Ссылка;
// Тут должна быть именно ТекущаяДата(), так как НачатьТранзакцию();
// именно она устанавливается в поле НачалоСеанса. Попытка
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата(); Блокировка = Новый БлокировкаДанных;
Объект.Записать(); ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВерсияРасширенийСсылка);
Блокировка.Заблокировать();
Объект = ВерсияРасширенийСсылка.ПолучитьОбъект();
Если Не ЗначениеЗаполнено(Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
// АПК:143-выкл. См. 643.2.1. Требуется ТекущаяДата сервера, а не ТекущаяДатаСеанса,
// так как именно ТекущаяДата устанавливается в поле НачалоСеанса.
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата();
// АПК:143-вкл.
Объект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -648,12 +648,17 @@
&НаКлиенте &НаКлиенте
Процедура ПерейтиКВыборуТекущегоСертификатаПослеПоискаСертификатаВОблачномСервисе(РезультатПоиска, Контекст) Экспорт Процедура ПерейтиКВыборуТекущегоСертификатаПослеПоискаСертификатаВОблачномСервисе(РезультатПоиска, Контекст) Экспорт
Если Не РезультатПоиска.Выполнено Тогда Если Не РезультатПоиска.Выполнено
Контекст.Вставить("ОписаниеОшибки", РезультатПоиска.ОписаниеОшибки.Описание); Или РезультатПоиска.Сертификат = Неопределено Тогда
Контекст.Результат.ОписаниеОшибки = ?(РезультатПоиска.Выполнено,
НСтр("ru = 'Сертификат не найден в облачном сервисе.'"), РезультатПоиска.ОписаниеОшибки.Описание);
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Контекст.Результат);
Возврат;
КонецЕсли; КонецЕсли;
Контекст.Вставить("СертификатКриптографии", РезультатПоиска.Сертификат); Контекст.Вставить("СертификатКриптографии", РезультатПоиска.Сертификат);
ПерейтиКВыборуТекущегоСертификатаПослеВыгрузкиСертификата(РезультатПоиска.Сертификат.Сертификат, Контекст); ПерейтиКВыборуТекущегоСертификатаПослеВыгрузкиСертификата(РезультатПоиска.Сертификат.Сертификат, Контекст);
КонецПроцедуры КонецПроцедуры
+4 -5
View File
@@ -118,11 +118,10 @@
Закрыть(Новый Структура("БольшеНеЗадаватьЭтотВопрос, Значение", Ложь, КодВозвратаДиалога.Таймаут)); Закрыть(Новый Структура("БольшеНеЗадаватьЭтотВопрос, Значение", Ложь, КодВозвратаДиалога.Таймаут));
Иначе Иначе
Если ОжиданиеИмяКнопки <> "" Тогда Если ОжиданиеИмяКнопки <> "" Тогда
НовыйЗаголовок = ( НовыйЗаголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ОжиданиеЗаголовокКнопки НСтр("ru = '%1 (осталось %2 сек.)'"),
+ " (" ОжиданиеЗаголовокКнопки,
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'осталось %1 сек.'"), Строка(ОжиданиеСчетчик)) Строка(ОжиданиеСчетчик));
+ ")");
Элементы[ОжиданиеИмяКнопки].Заголовок = НовыйЗаголовок; Элементы[ОжиданиеИмяКнопки].Заголовок = НовыйЗаголовок;
КонецЕсли; КонецЕсли;
@@ -507,243 +507,6 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>КомандыПоказателей</name> <name>КомандыПоказателей</name>
<id>257</id> <id>257</id>
<items xsi:type="form:FormGroup">
<name>КомандыВидовПоказателей</name>
<id>259</id>
<items xsi:type="form:Button">
<name>РассчитатьСумму</name>
<id>261</id>
<title>
<key>ru</key>
<value>Сумма</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьСуммуРасширеннаяПодсказка</name>
<id>262</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьКоличество</name>
<id>263</id>
<title>
<key>ru</key>
<value>Количество</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьКоличествоРасширеннаяПодсказка</name>
<id>264</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьСреднее</name>
<id>265</id>
<title>
<key>ru</key>
<value>Среднее</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьСреднееРасширеннаяПодсказка</name>
<id>266</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьМинимум</name>
<id>267</id>
<title>
<key>ru</key>
<value>Минимум</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьМинимумРасширеннаяПодсказка</name>
<id>268</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьМаксимум</name>
<id>269</id>
<title>
<key>ru</key>
<value>Максимум</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьМаксимумРасширеннаяПодсказка</name>
<id>270</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>
</items>
<items xsi:type="form:FormGroup">
<name>ВсеПоказатели</name>
<id>271</id>
<items xsi:type="form:Button">
<name>РассчитатьВсеПоказатели</name>
<id>273</id>
<title>
<key>ru</key>
<value>Все показатели</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьВсеПоказателиРасширеннаяПодсказка</name>
<id>274</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>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Все показатели</value>
</title>
<enableContentChange>true</enableContentChange>
<extendedTooltip>
<name>ВсеПоказателиРасширеннаяПодсказка</name>
<id>272</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Виды показателей</value>
</title>
<enableContentChange>true</enableContentChange>
<extendedTooltip>
<name>КомандыВидовПоказателейРасширеннаяПодсказка</name>
<id>260</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Сумма</picture>
</picture>
<representation>Picture</representation>
<importance>Normal</importance>
</extInfo>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -807,6 +570,247 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>КоманднаяПанельЕще</name> <name>КоманднаяПанельЕще</name>
<id>192</id> <id>192</id>
<items xsi:type="form:FormGroup">
<name>КомандыВидовПоказателей</name>
<id>259</id>
<items xsi:type="form:Button">
<name>РассчитатьСумму</name>
<id>261</id>
<title>
<key>ru</key>
<value>Сумма</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьСуммуРасширеннаяПодсказка</name>
<id>262</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьКоличество</name>
<id>263</id>
<title>
<key>ru</key>
<value>Количество</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьКоличествоРасширеннаяПодсказка</name>
<id>264</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьСреднее</name>
<id>265</id>
<title>
<key>ru</key>
<value>Среднее</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьСреднееРасширеннаяПодсказка</name>
<id>266</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьМинимум</name>
<id>267</id>
<title>
<key>ru</key>
<value>Минимум</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьМинимумРасширеннаяПодсказка</name>
<id>268</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>
</items>
<items xsi:type="form:Button">
<name>РассчитатьМаксимум</name>
<id>269</id>
<title>
<key>ru</key>
<value>Максимум</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьМаксимумРасширеннаяПодсказка</name>
<id>270</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>
</items>
<items xsi:type="form:FormGroup">
<name>ВсеПоказатели</name>
<id>271</id>
<items xsi:type="form:Button">
<name>РассчитатьВсеПоказатели</name>
<id>273</id>
<title>
<key>ru</key>
<value>Все показатели</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РассчитатьВсеПоказателиРасширеннаяПодсказка</name>
<id>274</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>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Все показатели</value>
</title>
<enableContentChange>true</enableContentChange>
<extendedTooltip>
<name>ВсеПоказателиРасширеннаяПодсказка</name>
<id>272</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Виды показателей</value>
</title>
<toolTip>
<key>ru</key>
<value>Расчет выбранного, либо всех доступных показателей</value>
</toolTip>
<enableContentChange>true</enableContentChange>
<extendedTooltip>
<name>КомандыВидовПоказателейРасширеннаяПодсказка</name>
<id>260</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Сумма</picture>
</picture>
<representation>Picture</representation>
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>КнопкаПечатьВсеДействия</name> <name>КнопкаПечатьВсеДействия</name>
<id>120</id> <id>120</id>
@@ -2909,8 +2913,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -2948,8 +2952,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -2969,8 +2973,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>17</precision> <precision>25</precision>
<scale>4</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -2990,8 +2994,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>17</precision> <precision>25</precision>
<scale>4</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3011,8 +3015,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3032,8 +3036,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -138,7 +138,8 @@
ДобавитьУдалитьПодписьПечать(); ДобавитьУдалитьПодписьПечать();
КонецЕсли; КонецЕсли;
УстановитьТекущуюСтраницу(); УстановитьТекущуюСтраницу();
РассчитатьПоказатели();
ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма");
УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументовПослеОткрытия(ЭтотОбъект); УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументовПослеОткрытия(ЭтотОбъект);
@@ -380,37 +381,38 @@
&НаКлиенте &НаКлиенте
Процедура РассчитатьСумму(Команда) Процедура РассчитатьСумму(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьКоличество(Команда) Процедура РассчитатьКоличество(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьСреднее(Команда) Процедура РассчитатьСреднее(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьМинимум(Команда) Процедура РассчитатьМинимум(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьМаксимум(Команда) Процедура РассчитатьМаксимум(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьВсеПоказатели(Команда) Процедура РассчитатьВсеПоказатели(Команда)
УстановитьВидимостьПоказателей(Не Элементы.РассчитатьВсеПоказатели.Пометка); ОбщегоНазначенияСлужебныйКлиент.УстановитьВидимостьПанелиПоказателей(
Элементы, Не Элементы.РассчитатьВсеПоказатели.Пометка);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура СвернутьПоказатели(Команда) Процедура СвернутьПоказатели(Команда)
УстановитьВидимостьПоказателей(Ложь); ОбщегоНазначенияСлужебныйКлиент.УстановитьВидимостьПанелиПоказателей(Элементы);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1590,103 +1592,13 @@
УправлениеПечатьюПереопределяемый.ПечатьДокументовПриВыполненииКоманды(ЭтотОбъект, ДополнительныеПараметры); УправлениеПечатьюПереопределяемый.ПечатьДокументовПриВыполненииКоманды(ЭтотОбъект, ДополнительныеПараметры);
КонецПроцедуры КонецПроцедуры
#Область РасчетПоказателейВыделенныхЯчеек
// Выполняет расчет и вывод показателей выделенной области ячеек. // Выполняет расчет и вывод показателей выделенной области ячеек.
// См. обработчик события ОтчетТабличныйДокументПриАктивизацииОбласти. // См. обработчик события ОтчетТабличныйДокументПриАктивизацииОбласти.
// //
&НаКлиенте &НаКлиенте
Процедура РассчитатьПоказателиДинамически() Процедура РассчитатьПоказателиДинамически()
Перем ТекущаяКоманда; ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ТекущаяПечатнаяФорма");
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Если Элементы[Команда.Ключ].Пометка Тогда
ТекущаяКоманда = Команда.Ключ;
Прервать;
КонецЕсли;
КонецЦикла;
РассчитатьПоказатели(ТекущаяКоманда);
КонецПроцедуры
// Выполняет расчет и вывод показателей выделенных областей ячеек табличного документа.
//
// Параметры:
// ТекущаяКоманда - Строка - имя команды расчета показателя, например, "РассчитатьСумму".
// Определяет, какой показатель является основным.
//
&НаКлиенте
Процедура РассчитатьПоказатели(ТекущаяКоманда = "РассчитатьСумму")
// Расчет показателей.
ПараметрыРасчета = ОбщегоНазначенияСлужебныйКлиент.ПараметрыРасчетаПоказателейЯчеек(ТекущаяПечатнаяФорма);
Если ПараметрыРасчета.РассчитатьНаСервере Тогда
РасчетныеПоказатели = РасчетныеПоказателиСервер(ПараметрыРасчета);
Иначе
РасчетныеПоказатели = ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(
ТекущаяПечатнаяФорма, ПараметрыРасчета.ВыделенныеОбласти);
КонецЕсли;
// Установка значений показателей.
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РасчетныеПоказатели);
// Переключение и форматирование показателей.
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Элементы[Команда.Ключ].Пометка = Ложь;
ЗначениеПоказателя = РасчетныеПоказатели[Команда.Значение];
РазрядностьПоказателя = Мин(СтрДлина(Макс(ЗначениеПоказателя, -ЗначениеПоказателя) % 1) - 2, 4);
Элементы[Команда.Значение].ФорматРедактирования = "ЧДЦ=" + РазрядностьПоказателя + "; ЧРГ=' '; ЧН=0";
КонецЦикла;
Элементы[ТекущаяКоманда].Пометка = Истина;
// Вывод основного показателя.
ТекущийПоказатель = КомандыПоказателей[ТекущаяКоманда];
Показатель = ЭтотОбъект[ТекущийПоказатель];
Элементы.Показатель.ФорматРедактирования = Элементы[ТекущийПоказатель].ФорматРедактирования;
Элементы.КомандыВидовПоказателей.Картинка = БиблиотекаКартинок[ТекущийПоказатель];
КонецПроцедуры
// Рассчитывает показатели числовых ячеек в табличном документе.
// см. ОтчетыКлиентСервер.РасчетныеПоказателиЯчеек.
//
&НаСервере
Функция РасчетныеПоказателиСервер(ПараметрыРасчета)
Возврат ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(ТекущаяПечатнаяФорма, ПараметрыРасчета.ВыделенныеОбласти);
КонецФункции
// Определяет соответствие между командами расчета показателей и показателями.
//
// Возвращаемое значение:
// Соответствие - Ключ - имя команды, Значение - имя показателя.
//
&НаКлиенте
Функция КомандыПоказателей()
КомандыПоказателей = Новый Соответствие();
КомандыПоказателей.Вставить("РассчитатьСумму", "Сумма");
КомандыПоказателей.Вставить("РассчитатьКоличество", "Количество");
КомандыПоказателей.Вставить("РассчитатьСреднее", "Среднее");
КомандыПоказателей.Вставить("РассчитатьМинимум", "Минимум");
КомандыПоказателей.Вставить("РассчитатьМаксимум", "Максимум");
Возврат КомандыПоказателей;
КонецФункции
// Управляет признаком видимости панели расчетных показателей.
//
// Параметры:
// Видимость - Булево - Признак включения / выключения видимости панели показателей.
// См. также Синтакс-помощник: ГруппаФормы.Видимость.
//
&НаКлиенте
Процедура УстановитьВидимостьПоказателей(Видимость)
Элементы.ОбластьПоказателей.Видимость = Видимость;
Элементы.РассчитатьВсеПоказатели.Пометка = Видимость;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти
@@ -39,23 +39,12 @@
Если ОбщегоНазначения.РазделениеВключено() Тогда Если ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.ПредупрежденииПередУдалениемРасширенияРезервноеКопирование.Видимость = Ложь; Элементы.ПредупрежденииПередУдалениемРасширенияРезервноеКопирование.Видимость = Ложь;
Иначе ИначеЕсли ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РезервноеКопированиеИБ") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РезервноеКопированиеИБ") Тогда МодульРезервноеКопированиеИБСервер = ОбщегоНазначения.ОбщийМодуль("РезервноеКопированиеИБСервер");
Элементы.ПредупрежденииПередУдалениемРасширенияРезервноеКопирование.Заголовок =
МодульРезервноеКопированиеИБСервер = ОбщегоНазначения.ОбщийМодуль("РезервноеКопированиеИБСервер"); СтроковыеФункции.ФорматированнаяСтрока(НСтр("ru = 'Перед удалением расширения рекомендуется
|<a href=""%1"">выполнить резервное копирование информационной базы</a>.'"),
РезервноеКопирование = Новый Массив; МодульРезервноеКопированиеИБСервер.НавигационнаяСсылкаОбработкиРезервногоКопирования());
РезервноеКопирование.Добавить(НСтр("ru = 'Перед удалением расширения рекомендуется'"));
РезервноеКопирование.Добавить(Символы.ПС);
РезервноеКопирование.Добавить(Новый ФорматированнаяСтрока(
НСтр("ru = 'выполнить резервное копирование информационной базы'"),,,,
МодульРезервноеКопированиеИБСервер.НавигационнаяСсылкаОбработкиРезервногоКопирования()));
РезервноеКопирование.Добавить(".");
Элементы.ПредупрежденииПередУдалениемРасширенияРезервноеКопирование.Заголовок =
Новый ФорматированнаяСтрока(РезервноеКопирование);
КонецЕсли;
КонецЕсли; КонецЕсли;
Если Параметры.МножественныйВыбор Тогда Если Параметры.МножественныйВыбор Тогда
@@ -3009,7 +3009,7 @@
ЗначениеОтбора = КэшЗначенийОтборов.Получить(ЭлементНастройки.ИдентификаторПользовательскойНастройки); ЗначениеОтбора = КэшЗначенийОтборов.Получить(ЭлементНастройки.ИдентификаторПользовательскойНастройки);
Если ЗначениеОтбора <> Неопределено Тогда Если ЗначениеОтбора <> Неопределено Тогда
ЗначенияДляВыбора = ЗначениеОтбора; ОтчетыКлиентСервер.ДополнитьСписок(ЗначенияДляВыбора, ЗначениеОтбора);
КонецЕсли; КонецЕсли;
Возврат ЗначенияДляВыбора; Возврат ЗначенияДляВыбора;
@@ -4364,11 +4364,16 @@
Сведения = ОтчетыКлиент.СведенияОЭлементеНастройки(Отчет.КомпоновщикНастроек, ПараметрыЗаполнения.Индекс); Сведения = ОтчетыКлиент.СведенияОЭлементеНастройки(Отчет.КомпоновщикНастроек, ПараметрыЗаполнения.Индекс);
ВыборГруппИЭлементов = Неопределено;
Если Сведения.Описание <> Неопределено Тогда
ВыборГруппИЭлементов = Сведения.Описание.ВыборГруппИЭлементов;
КонецЕсли;
Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки(Сведения.ЭлементПользовательскойНастройки, Сведения.Описание); Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки(Сведения.ЭлементПользовательскойНастройки, Сведения.Описание);
ПолеЗначения.ВыборГруппИЭлементов = ОтчетыКлиентСервер.ЗначениеТипаГруппыИЭлементы( ПолеЗначения.ВыборГруппИЭлементов = ОтчетыКлиентСервер.ЗначениеТипаГруппыИЭлементы(
Сведения.Описание.ВыборГруппИЭлементов, Условие); ВыборГруппИЭлементов, Условие);
ПараметрыЗаполнения.ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов( ПараметрыЗаполнения.ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов(
Сведения.Описание.ВыборГруппИЭлементов, Условие); ВыборГруппИЭлементов, Условие);
РасширенноеОписаниеТипов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры( РасширенноеОписаниеТипов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства, "РасширенноеОписаниеТипов", Новый Соответствие); Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства, "РасширенноеОписаниеТипов", Новый Соответствие);
@@ -636,10 +636,10 @@
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаПоказатели</name> <name>КомандыПоказателей</name>
<id>684</id> <id>684</id>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаВидыПоказателей</name> <name>КомандыВидовПоказателей</name>
<id>728</id> <id>728</id>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>РассчитатьСумму</name> <name>РассчитатьСумму</name>
@@ -792,7 +792,7 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаВсеПоказатели</name> <name>ВсеПоказатели</name>
<id>686</id> <id>686</id>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>РассчитатьВсеПоказатели</name> <name>РассчитатьВсеПоказатели</name>
@@ -835,7 +835,7 @@
</title> </title>
<enableContentChange>true</enableContentChange> <enableContentChange>true</enableContentChange>
<extendedTooltip> <extendedTooltip>
<name>ГруппаВсеПоказателиРасширеннаяПодсказка</name> <name>ВсеПоказателиРасширеннаяПодсказка</name>
<id>687</id> <id>687</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -860,7 +860,7 @@
<value>Расчет выбранного, либо всех доступных показателей</value> <value>Расчет выбранного, либо всех доступных показателей</value>
</toolTip> </toolTip>
<extendedTooltip> <extendedTooltip>
<name>ГруппаВидыПоказателейРасширеннаяПодсказка</name> <name>КомандыВидовПоказателейРасширеннаяПодсказка</name>
<id>729</id> <id>729</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -893,7 +893,7 @@
</toolTip> </toolTip>
<enableContentChange>true</enableContentChange> <enableContentChange>true</enableContentChange>
<extendedTooltip> <extendedTooltip>
<name>ГруппаПоказателиРасширеннаяПодсказка</name> <name>КомандыПоказателейРасширеннаяПодсказка</name>
<id>685</id> <id>685</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1947,7 +1947,7 @@
<extInfo xsi:type="form:ButtonGroupExtInfo"/> <extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаВидыПоказателейЕще</name> <name>КомандыВидовПоказателейЕще</name>
<id>760</id> <id>760</id>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>РассчитатьСуммуЕще</name> <name>РассчитатьСуммуЕще</name>
@@ -2105,7 +2105,7 @@
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаВсеПоказателиЕще</name> <name>ВсеПоказателиЕще</name>
<id>772</id> <id>772</id>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>РассчитатьВсеПоказателиЕще</name> <name>РассчитатьВсеПоказателиЕще</name>
@@ -2148,7 +2148,7 @@
<value>Все показатели</value> <value>Все показатели</value>
</title> </title>
<extendedTooltip> <extendedTooltip>
<name>ГруппаВсеПоказателиЕщеРасширеннаяПодсказка</name> <name>ВсеПоказателиЕщеРасширеннаяПодсказка</name>
<id>773</id> <id>773</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -2173,7 +2173,7 @@
<value>Расчет выбранного, либо всех доступных показателей</value> <value>Расчет выбранного, либо всех доступных показателей</value>
</toolTip> </toolTip>
<extendedTooltip> <extendedTooltip>
<name>ГруппаВидыПоказателейЕщеРасширеннаяПодсказка</name> <name>КомандыВидовПоказателейЕщеРасширеннаяПодсказка</name>
<id>761</id> <id>761</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -3392,7 +3392,7 @@
</mobileDeviceCommandBarContent> </mobileDeviceCommandBarContent>
<mobileDeviceCommandBarContent> <mobileDeviceCommandBarContent>
<value xsi:type="core:StringValue"> <value xsi:type="core:StringValue">
<value>ГруппаВидыПоказателейЕще</value> <value>КомандыВидовПоказателейЕще</value>
</value> </value>
</mobileDeviceCommandBarContent> </mobileDeviceCommandBarContent>
<mobileDeviceCommandBarContent> <mobileDeviceCommandBarContent>
@@ -3782,8 +3782,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3803,8 +3803,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3824,8 +3824,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>17</precision> <precision>25</precision>
<scale>4</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3845,8 +3845,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3866,8 +3866,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>15</precision> <precision>25</precision>
<scale>2</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -3887,8 +3887,8 @@
<valueType> <valueType>
<types>Number</types> <types>Number</types>
<numberQualifiers> <numberQualifiers>
<precision>17</precision> <precision>25</precision>
<scale>4</scale> <scale>5</scale>
</numberQualifiers> </numberQualifiers>
</valueType> </valueType>
<view> <view>
@@ -109,7 +109,7 @@
Если Не ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НастройкиОтчета, "ВыводитьСуммуВыделенныхЯчеек", Истина) Тогда Если Не ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НастройкиОтчета, "ВыводитьСуммуВыделенныхЯчеек", Истина) Тогда
Элементы.ГруппаПоказатель.Видимость = Ложь; Элементы.ГруппаПоказатель.Видимость = Ложь;
Элементы.ОбластьПоказателей.Видимость = Ложь; Элементы.ОбластьПоказателей.Видимость = Ложь;
Элементы.ГруппаВидыПоказателейЕще.Видимость = Ложь; Элементы.КомандыВидовПоказателейЕще.Видимость = Ложь;
Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", ""); Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", "");
КонецЕсли; КонецЕсли;
@@ -212,7 +212,7 @@
ФормированиеПриОткрытии = Истина; ФормированиеПриОткрытии = Истина;
ПодключитьОбработчикОжидания("СФормировать", 0.1, Истина); ПодключитьОбработчикОжидания("СФормировать", 0.1, Истина);
КонецЕсли; КонецЕсли;
РассчитатьПоказатели(); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент");
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -737,37 +737,38 @@
&НаКлиенте &НаКлиенте
Процедура РассчитатьСумму(Команда) Процедура РассчитатьСумму(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьКоличество(Команда) Процедура РассчитатьКоличество(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьСреднее(Команда) Процедура РассчитатьСреднее(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьМинимум(Команда) Процедура РассчитатьМинимум(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьМаксимум(Команда) Процедура РассчитатьМаксимум(Команда)
РассчитатьПоказатели(Команда.Имя); ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", Команда.Имя);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура РассчитатьВсеПоказатели(Команда) Процедура РассчитатьВсеПоказатели(Команда)
УстановитьВидимостьПоказателей(Не Элементы.РассчитатьВсеПоказатели.Пометка); ОбщегоНазначенияСлужебныйКлиент.УстановитьВидимостьПанелиПоказателей(
Элементы, Не Элементы.РассчитатьВсеПоказатели.Пометка);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура СвернутьПоказатели(Команда) Процедура СвернутьПоказатели(Команда)
УстановитьВидимостьПоказателей(Ложь); ОбщегоНазначенияСлужебныйКлиент.УстановитьВидимостьПанелиПоказателей(Элементы);
КонецПроцедуры КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@@ -1112,7 +1113,7 @@
Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки(Сведения.ЭлементПользовательскойНастройки, Сведения.Описание); Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки(Сведения.ЭлементПользовательскойНастройки, Сведения.Описание);
ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов( ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов(
Сведения.Описание.ВыборГруппИЭлементов, Условие); ?(Сведения.Описание = Неопределено, Неопределено, Сведения.Описание.ВыборГруппИЭлементов), Условие);
ЗначенияДляВыбора = ЗначенияДляВыбора( ЗначенияДляВыбора = ЗначенияДляВыбора(
Элемент.СписокВыбора, Сведения.ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки); Элемент.СписокВыбора, Сведения.ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки);
@@ -1148,7 +1149,7 @@
ЗначениеОтбора = КэшЗначенийОтборов.Получить(ИдентификаторПользовательскойНастройки); ЗначениеОтбора = КэшЗначенийОтборов.Получить(ИдентификаторПользовательскойНастройки);
Если ЗначениеОтбора <> Неопределено Тогда Если ЗначениеОтбора <> Неопределено Тогда
ЗначенияДляВыбора = ЗначениеОтбора; ОтчетыКлиентСервер.ДополнитьСписок(ЗначенияДляВыбора, ЗначениеОтбора);
КонецЕсли; КонецЕсли;
Возврат ЗначенияДляВыбора; Возврат ЗначенияДляВыбора;
@@ -1214,105 +1215,14 @@
ОбновитьЭлементыФормыНастроек(ПараметрыЗаполнения); ОбновитьЭлементыФормыНастроек(ПараметрыЗаполнения);
КонецПроцедуры КонецПроцедуры
#Область РасчетПоказателейВыделенныхЯчеек
// Выполняет расчет и вывод показателей выделенной области ячеек. // Выполняет расчет и вывод показателей выделенной области ячеек.
// См. обработчик события ОтчетТабличныйДокументПриАктивизацииОбласти. // См. обработчик события ОтчетТабличныйДокументПриАктивизацииОбласти.
// //
&НаКлиенте &НаКлиенте
Процедура РассчитатьПоказателиДинамически() Процедура РассчитатьПоказателиДинамически()
Перем ТекущаяКоманда; ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент");
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Если Элементы[Команда.Ключ].Пометка Тогда
ТекущаяКоманда = Команда.Ключ;
Прервать;
КонецЕсли;
КонецЦикла;
РассчитатьПоказатели(ТекущаяКоманда);
КонецПроцедуры КонецПроцедуры
// Выполняет расчет и вывод показателей выделенных областей ячеек табличного документа.
//
// Параметры:
// ТекущаяКоманда - Строка - имя команды расчета показателя, например, "РассчитатьСумму".
// Определяет, какой показатель является основным.
//
&НаКлиенте
Процедура РассчитатьПоказатели(ТекущаяКоманда = "РассчитатьСумму")
// Расчет показателей.
ПараметрыРасчета = ОбщегоНазначенияСлужебныйКлиент.ПараметрыРасчетаПоказателейЯчеек(ОтчетТабличныйДокумент);
Если ПараметрыРасчета.РассчитатьНаСервере Тогда
РасчетныеПоказатели = РасчетныеПоказателиСервер(ПараметрыРасчета);
Иначе
РасчетныеПоказатели = ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(
ОтчетТабличныйДокумент, ПараметрыРасчета.ВыделенныеОбласти);
КонецЕсли;
// Установка значений показателей.
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РасчетныеПоказатели);
// Переключение и форматирование показателей.
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Элементы[Команда.Ключ].Пометка = Ложь;
ЗначениеПоказателя = РасчетныеПоказатели[Команда.Значение];
РазрядностьПоказателя = Мин(СтрДлина(Макс(ЗначениеПоказателя, -ЗначениеПоказателя) % 1) - 2, 4);
Элементы[Команда.Значение].ФорматРедактирования = "ЧДЦ=" + РазрядностьПоказателя + "; ЧРГ=' '; ЧН=0";
КонецЦикла;
Элементы[ТекущаяКоманда].Пометка = Истина;
// Вывод основного показателя.
ТекущийПоказатель = КомандыПоказателей[ТекущаяКоманда];
Показатель = ЭтотОбъект[ТекущийПоказатель];
Элементы.Показатель.ФорматРедактирования = Элементы[ТекущийПоказатель].ФорматРедактирования;
Элементы.ГруппаВидыПоказателей.Картинка = БиблиотекаКартинок[ТекущийПоказатель];
Элементы.ГруппаВидыПоказателейЕще.Картинка = БиблиотекаКартинок[ТекущийПоказатель];
КонецПроцедуры
// Рассчитывает показатели числовых ячеек в табличном документе.
// см. ОтчетыКлиентСервер.РасчетныеПоказателиЯчеек.
//
&НаСервере
Функция РасчетныеПоказателиСервер(ПараметрыРасчета)
Возврат ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(ОтчетТабличныйДокумент, ПараметрыРасчета.ВыделенныеОбласти);
КонецФункции
// Определяет соответствие между командами расчета показателей и показателями.
//
// Возвращаемое значение:
// Соответствие - Ключ - имя команды, Значение - имя показателя.
//
&НаКлиенте
Функция КомандыПоказателей()
КомандыПоказателей = Новый Соответствие();
КомандыПоказателей.Вставить("РассчитатьСумму", "Сумма");
КомандыПоказателей.Вставить("РассчитатьКоличество", "Количество");
КомандыПоказателей.Вставить("РассчитатьСреднее", "Среднее");
КомандыПоказателей.Вставить("РассчитатьМинимум", "Минимум");
КомандыПоказателей.Вставить("РассчитатьМаксимум", "Максимум");
Возврат КомандыПоказателей;
КонецФункции
// Управляет признаком видимости панели расчетных показателей.
//
// Параметры:
// Видимость - Булево - Признак включения / выключения видимости панели показателей.
// См. также Синтакс-помощник: ГруппаФормы.Видимость.
//
&НаКлиенте
Процедура УстановитьВидимостьПоказателей(Видимость)
Элементы.ОбластьПоказателей.Видимость = Видимость;
Элементы.РассчитатьВсеПоказатели.Пометка = Видимость;
КонецПроцедуры
#КонецОбласти
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Вызов сервера // Вызов сервера
@@ -1738,7 +1738,8 @@
| |
|Крайний срок: %2'") + Символы.ПС, |Крайний срок: %2'") + Символы.ПС,
ЗадачаСтруктура.Ссылка, ЗадачаСтруктура.Ссылка,
Формат(ЗадачаСтруктура.СрокИсполнения, "ДЛФ=DD; ДП='не указан'")); Формат(ЗадачаСтруктура.СрокИсполнения, НСтр("ru='ДЛФ=DD; ДП=''не указан'''")));
Если ЗначениеЗаполнено(ЗадачаСтруктура.Исполнитель) Тогда Если ЗначениеЗаполнено(ЗадачаСтруктура.Исполнитель) Тогда
Результат = Результат + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Исполнитель: %1'"), ЗадачаСтруктура.Исполнитель) + Символы.ПС; Результат = Результат + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Исполнитель: %1'"), ЗадачаСтруктура.Исполнитель) + Символы.ПС;
КонецЕсли; КонецЕсли;
@@ -2988,13 +2988,17 @@
ИдентификаторПисьма = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Объект.УчетнаяЗапись, ПараметрыПисьма); ИдентификаторПисьма = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Объект.УчетнаяЗапись, ПараметрыПисьма);
Если ПротоколПочты = "" Тогда Если Не Объект.УдалятьПослеОтправки Тогда
Объект.ИдентификаторСообщения = ПараметрыПисьма.ИдентификаторСообщения;
ИначеЕсли ПротоколПочты = "IMAP" Тогда Если ПротоколПочты = "" Тогда
Объект.ИдентификаторСообщенияОтправкаIMAP = ПараметрыПисьма.ИдентификаторСообщенияОтправкаIMAP; Объект.ИдентификаторСообщения = ПараметрыПисьма.ИдентификаторСообщения;
ИначеЕсли ПротоколПочты = "Все" Тогда ИначеЕсли ПротоколПочты = "IMAP" Тогда
Объект.ИдентификаторСообщения = ПараметрыПисьма.ИдентификаторСообщения; Объект.ИдентификаторСообщенияОтправкаIMAP = ПараметрыПисьма.ИдентификаторСообщенияОтправкаIMAP;
Объект.ИдентификаторСообщенияОтправкаIMAP = ПараметрыПисьма.ИдентификаторСообщенияОтправкаIMAP; ИначеЕсли ПротоколПочты = "Все" Тогда
Объект.ИдентификаторСообщения = ПараметрыПисьма.ИдентификаторСообщения;
Объект.ИдентификаторСообщенияОтправкаIMAP = ПараметрыПисьма.ИдентификаторСообщенияОтправкаIMAP;
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат ИдентификаторПисьма; Возврат ИдентификаторПисьма;
@@ -585,8 +585,8 @@
// Отработка ПОД // Отработка ПОД
ИспользованиеПКО = Новый Структура; ИспользованиеПКО = Новый Структура;
Для Каждого ТекущийПКО Из ПравилоОбработки.ИспользуемыеПКО Цикл Для Каждого ТекущееПКО Из ПравилоОбработки.ИспользуемыеПКО Цикл
ИспользованиеПКО.Вставить(ТекущийПКО, Истина); ИспользованиеПКО.Вставить(ТекущееПКО, Истина);
КонецЦикла; КонецЦикла;
ПрерватьОбработку = Ложь; ПрерватьОбработку = Ложь;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.30"; Описание.Версия = "3.0.3.36";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -312,7 +312,7 @@
Расширение = РасширенияКонфигурации.Создать(); Расширение = РасширенияКонфигурации.Создать();
Расширение.БезопасныйРежим = Ложь; Расширение.БезопасныйРежим = Ложь;
Расширение.ЗащитаОтОпасныхДействий = ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений(); Расширение.ЗащитаОтОпасныхДействий = ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений();
Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе = Истина; Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе = Не ОбщегоНазначения.РазделениеВключено();
Расширение.Записать(ДвоичныеДанныеИсправления); Расширение.Записать(ДвоичныеДанныеИсправления);
УстановленноеИсправление = РасширениеПоИдентификатору(Расширение.УникальныйИдентификатор); УстановленноеИсправление = РасширениеПоИдентификатору(Расширение.УникальныйИдентификатор);
@@ -4230,13 +4230,17 @@
// АПК:1297-вкл // АПК:1297-вкл
Доступен = Не ФактНедоступности И БезПотерь; Доступен = Не ФактНедоступности И БезПотерь;
СостояниеДоступности = ?(Доступен, НСтр("ru = 'доступен'"), НСтр("ru = 'не доступен'"));
Журнал = Новый Массив; Журнал = Новый Массив;
Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Если Доступен Тогда
НСтр("ru = 'Удаленный сервер %1 %2:'"), Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
АдресСервера, НСтр("ru = 'Удаленный сервер %1 доступен:'"),
СостояниеДоступности)); АдресСервера));
Иначе
Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Удаленный сервер %1 не доступен:'"),
АдресСервера));
КонецЕсли;
Журнал.Добавить("> " + СтрокаКоманды); Журнал.Добавить("> " + СтрокаКоманды);
Журнал.Добавить(ЖурналДоступности); Журнал.Добавить(ЖурналДоступности);
@@ -207,50 +207,81 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Функции для работы с табличными документами. // Функции для работы с табличными документами.
// Формирует описание выделенных областей табличного документа. // Выполняет расчет и вывод показателей выделенных областей ячеек табличного документа.
// //
// Параметры: // Параметры:
// ТабличныйДокумент - ТабличныйДокумент - документ, значения ячеек которого участвуют в расчете. // Форма - УправляемаяФорма - форма, в которой выводятся значения расчетных показателей.
// ИмяТабличногоДокумента - Строка - имя реквизита формы типа ТабличныйДокумент, показатели которго рассчитываются.
// ТекущаяКоманда - Строка, Неопределено - имя команды расчета показателя, например, "РассчитатьСумму".
// Определяет, какой показатель является основным.
// //
// Возвращаемое значение: Процедура РассчитатьПоказатели(Форма, ИмяТабличногоДокумента, ТекущаяКоманда = Неопределено) Экспорт
// Структура - содержит:
// * ВыделенныеОбласти - Массив - содержит структуры со свойствами:
// * Верх - Число - Номер строки верхней границы области.
// * Низ - Число - Номер строки нижней границы области.
// * Лево - Число - Номер колонки верхней границы области.
// * Право - Число - Номер колонки нижней границы области.
// * ТипОбласти - ТипОбластиЯчеекТабличногоДокумента - Колонки, Прямоугольник, Строки, Таблица.
// * РассчитатьНаСервере - Булево - признак того, что расчет должен выполняться на сервере.
//
Функция ПараметрыРасчетаПоказателейЯчеек(ТабличныйДокумент) Экспорт
ПараметрыРасчетаПоказателей = Новый Структура;
ПараметрыРасчетаПоказателей.Вставить("ВыделенныеОбласти", Новый Массив);
ПараметрыРасчетаПоказателей.Вставить("РассчитатьНаСервере", Ложь);
ВыделенныеОбласти = ПараметрыРасчетаПоказателей.ВыделенныеОбласти; Элементы = Форма.Элементы;
Для Каждого ВыделеннаяОбласть Из ТабличныйДокумент.ВыделенныеОбласти Цикл ТабличныйДокумент = Форма[ИмяТабличногоДокумента];
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Продолжить;
КонецЕсли;
ГраницыОбласти = Новый Структура("Верх, Низ, Лево, Право, ТипОбласти");
ЗаполнитьЗначенияСвойств(ГраницыОбласти, ВыделеннаяОбласть);
ВыделенныеОбласти.Добавить(ГраницыОбласти);
КонецЦикла;
ВыделеноВсе = Ложь; Если ТекущаяКоманда = Неопределено Тогда
Если ВыделенныеОбласти.Количество() = 1 Тогда ТекущаяКоманда = ТекущаяКомандаРасчетаПоказателей(Элементы);
ВыделеннаяОбласть = ВыделенныеОбласти[0];
ВыделеноВсе = Не Булево(
ВыделеннаяОбласть.Верх
+ ВыделеннаяОбласть.Низ
+ ВыделеннаяОбласть.Лево
+ ВыделеннаяОбласть.Право);
КонецЕсли; КонецЕсли;
ПараметрыРасчетаПоказателей.РассчитатьНаСервере = (ВыделеноВсе Или ВыделенныеОбласти.Количество() >= 100); // Расчет показателей.
ПараметрыРасчета = ПараметрыРасчетаПоказателейЯчеек(ТабличныйДокумент);
Возврат ПараметрыРасчетаПоказателей; Если ПараметрыРасчета.РассчитатьНаСервере Тогда
КонецФункции РасчетныеПоказатели = СтандартныеПодсистемыВызовСервера.РасчетныеПоказателиЯчеек(
ТабличныйДокумент, ПараметрыРасчета.ВыделенныеОбласти);
Иначе
РасчетныеПоказатели = ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(
ТабличныйДокумент, ПараметрыРасчета.ВыделенныеОбласти);
КонецЕсли;
// Установка значений показателей.
ЗаполнитьЗначенияСвойств(Форма, РасчетныеПоказатели);
// Переключение и форматирование показателей.
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Элементы[Команда.Ключ].Пометка = Ложь;
ЗначениеПоказателя = РасчетныеПоказатели[Команда.Значение];
Элементы[Команда.Значение].ФорматРедактирования = ФорматРедактированияПоказателя(ЗначениеПоказателя);
КонецЦикла;
Элементы[ТекущаяКоманда].Пометка = Истина;
// Вывод основного показателя.
ТекущийПоказатель = КомандыПоказателей[ТекущаяКоманда];
Форма.Показатель = Форма[ТекущийПоказатель];
Элементы.Показатель.ФорматРедактирования = Элементы[ТекущийПоказатель].ФорматРедактирования;
ИменаГруппКоманд = СтрРазделить("КомандыВидовПоказателей, КомандыВидовПоказателейЕще", ", ", Ложь);
КартинкаГруппыКоманд = БиблиотекаКартинок[ТекущийПоказатель];
Для Каждого ИмяГруппыКоманд Из ИменаГруппКоманд Цикл
ГруппаКоманд = Элементы.Найти(ИмяГруппыКоманд);
Если ГруппаКоманд <> Неопределено Тогда
ГруппаКоманд.Картинка = КартинкаГруппыКоманд;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
// Управляет признаком видимости панели расчетных показателей.
//
// Параметры:
// Видимость - Булево - Признак включения / выключения видимости панели показателей.
// См. также Синтакс-помощник: ГруппаФормы.Видимость.
//
Процедура УстановитьВидимостьПанелиПоказателей(ЭлементыФормы, Видимость = Ложь) Экспорт
ЭлементыФормы.ОбластьПоказателей.Видимость = Видимость;
ЭлементыФормы.РассчитатьВсеПоказатели.Пометка = Видимость;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -503,7 +534,7 @@
|по причине: |по причине:
|Метод НачатьПодключениеВнешнейКомпоненты вернул Ложь.'"), |Метод НачатьПодключениеВнешнейКомпоненты вернул Ложь.'"),
Контекст.Идентификатор, Контекст.Идентификатор,
ПредставлениеМестоположенияКомпоненты(Контекст.Местоположение)); Контекст.Местоположение);
ПодключитьКомпонентуОповеститьОбОшибке(ТекстОшибки, Контекст); ПодключитьКомпонентуОповеститьОбОшибке(ТекстОшибки, Контекст);
КонецЕсли; КонецЕсли;
@@ -554,7 +585,7 @@
|по причине: |по причине:
|%3'"), |%3'"),
Контекст.Идентификатор, Контекст.Идентификатор,
ПредставлениеМестоположенияКомпоненты(Контекст.Местоположение), Контекст.Местоположение,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ПодключитьКомпонентуОповеститьОбОшибке(ТекстОшибки, Контекст); ПодключитьКомпонентуОповеститьОбОшибке(ТекстОшибки, Контекст);
@@ -586,7 +617,7 @@
|по причине: |по причине:
|%3'"), |%3'"),
Контекст.Идентификатор, Контекст.Идентификатор,
ПредставлениеМестоположенияКомпоненты(Контекст.Местоположение), Контекст.Местоположение,
ТекстОшибки); ТекстОшибки);
КонецЕсли; КонецЕсли;
@@ -615,7 +646,7 @@
|%4'"), |%4'"),
ИдентификаторОбъекта, ИдентификаторОбъекта,
Контекст.Идентификатор, Контекст.Идентификатор,
ПредставлениеМестоположенияКомпоненты(Контекст.Местоположение), Контекст.Местоположение,
ТекстОшибки); ТекстОшибки);
КонецЕсли; КонецЕсли;
@@ -644,19 +675,6 @@
КонецФункции КонецФункции
// Продолжение процедуры ПодключитьКомпоненту.
Функция ПредставлениеМестоположенияКомпоненты(Местоположение)
Если СтрНачинаетсяС(Местоположение, "e1cib/") Тогда
Возврат НСтр("ru = 'из хранилища внешних компонент'");
Иначе
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'из макета ""%1""'"),
Местоположение);
КонецЕсли;
КонецФункции
#КонецОбласти #КонецОбласти
#Область УстановкаВнешнейКомпоненты #Область УстановкаВнешнейКомпоненты
@@ -709,7 +727,7 @@
|по причине: |по причине:
|%3'"), |%3'"),
Контекст.Идентификатор, Контекст.Идентификатор,
ПредставлениеМестоположенияКомпоненты(Контекст.Местоположение), Контекст.Местоположение,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Результат = РезультатУстановкиКомпоненты(); Результат = РезультатУстановкиКомпоненты();
@@ -948,6 +966,126 @@
#КонецОбласти #КонецОбласти
#Область ТабличныйДокумент
Функция ТекущаяКомандаРасчетаПоказателей(ЭлементыФормы)
Перем ТекущаяКоманда;
КомандыПоказателей = КомандыПоказателей();
Для Каждого Команда Из КомандыПоказателей Цикл
Если ЭлементыФормы[Команда.Ключ].Пометка Тогда
ТекущаяКоманда = Команда.Ключ;
Прервать;
КонецЕсли;
КонецЦикла;
Если ТекущаяКоманда = Неопределено Тогда
ТекущаяКоманда = "РассчитатьСумму";
КонецЕсли;
Возврат ТекущаяКоманда;
КонецФункции
// Определяет соответствие между командами расчета показателей и показателями.
//
// Возвращаемое значение:
// Соответствие - Ключ - имя команды, Значение - имя показателя.
//
Функция КомандыПоказателей()
КомандыПоказателей = Новый Соответствие();
КомандыПоказателей.Вставить("РассчитатьСумму", "Сумма");
КомандыПоказателей.Вставить("РассчитатьКоличество", "Количество");
КомандыПоказателей.Вставить("РассчитатьСреднее", "Среднее");
КомандыПоказателей.Вставить("РассчитатьМинимум", "Минимум");
КомандыПоказателей.Вставить("РассчитатьМаксимум", "Максимум");
Возврат КомандыПоказателей;
КонецФункции
// Формирует описание выделенных областей табличного документа.
//
// Параметры:
// ТабличныйДокумент - ТабличныйДокумент - документ, значения ячеек которого участвуют в расчете.
//
// Возвращаемое значение:
// Структура - содержит:
// * ВыделенныеОбласти - Массив - содержит структуры со свойствами:
// * Верх - Число - Номер строки верхней границы области.
// * Низ - Число - Номер строки нижней границы области.
// * Лево - Число - Номер колонки верхней границы области.
// * Право - Число - Номер колонки нижней границы области.
// * ТипОбласти - ТипОбластиЯчеекТабличногоДокумента - Колонки, Прямоугольник, Строки, Таблица.
// * РассчитатьНаСервере - Булево - признак того, что расчет должен выполняться на сервере.
//
Функция ПараметрыРасчетаПоказателейЯчеек(ТабличныйДокумент)
ПараметрыРасчетаПоказателей = Новый Структура;
ПараметрыРасчетаПоказателей.Вставить("ВыделенныеОбласти", Новый Массив);
ПараметрыРасчетаПоказателей.Вставить("РассчитатьНаСервере", Ложь);
ВыделенныеОбласти = ПараметрыРасчетаПоказателей.ВыделенныеОбласти;
Для Каждого ВыделеннаяОбласть Из ТабличныйДокумент.ВыделенныеОбласти Цикл
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Продолжить;
КонецЕсли;
ГраницыОбласти = Новый Структура("Верх, Низ, Лево, Право, ТипОбласти");
ЗаполнитьЗначенияСвойств(ГраницыОбласти, ВыделеннаяОбласть);
ВыделенныеОбласти.Добавить(ГраницыОбласти);
КонецЦикла;
ВыделеноВсе = Ложь;
Если ВыделенныеОбласти.Количество() = 1 Тогда
ВыделеннаяОбласть = ВыделенныеОбласти[0];
ВыделеноВсе = Не Булево(
ВыделеннаяОбласть.Верх
+ ВыделеннаяОбласть.Низ
+ ВыделеннаяОбласть.Лево
+ ВыделеннаяОбласть.Право);
КонецЕсли;
ПараметрыРасчетаПоказателей.РассчитатьНаСервере = (ВыделеноВсе Или ВыделенныеОбласти.Количество() >= 100);
Возврат ПараметрыРасчетаПоказателей;
КонецФункции
Функция ФорматРедактированияПоказателя(ЗначениеПоказателя)
ШаблонФорматаРедактирования = "ЧДЦ=%1; ЧРГ=' '; ЧН=0";
ЗначениеДробнойЧасти = Макс(ЗначениеПоказателя, -ЗначениеПоказателя) % 1;
РазрядностьДробнойЧасти = Мин(?(ЗначениеДробнойЧасти = 0, 0, СтрДлина(ЗначениеДробнойЧасти) - 2), 5);
ПредставлениеПоказателя = Формат(ЗначениеПоказателя, СтрШаблон(ШаблонФорматаРедактирования, РазрядностьДробнойЧасти));
Пока РазрядностьДробнойЧасти > 0
И СтрЗаканчиваетсяНа(ПредставлениеПоказателя, "0") Цикл
ПредставлениеПоказателя = Сред(ПредставлениеПоказателя, 1, СтрДлина(ПредставлениеПоказателя) - 1);
РазрядностьДробнойЧасти = РазрядностьДробнойЧасти - 1;
КонецЦикла;
Возврат СтрШаблон(ШаблонФорматаРедактирования, РазрядностьДробнойЧасти);
КонецФункции
#КонецОбласти
#Область УстаревшиеПроцедурыИФункции #Область УстаревшиеПроцедурыИФункции
#Область РасширениеДляРаботыСФайлами #Область РасширениеДляРаботыСФайлами
@@ -70,7 +70,8 @@
// Рассчитывает показатели числовых ячеек в табличном документе. // Рассчитывает показатели числовых ячеек в табличном документе.
// //
// Параметры: // Параметры:
// ПараметрыРасчета - структура - см. также ОбщегоНазначенияСлужебныйКлиент.ПараметрыРасчетаПоказателейЯчеек. // ТабличныйДокумент - ТабличныйДокумент - ТабличныйДокумент, показатели которго рассчитываются.
// ВыделенныеОбласти - Структура - см. также ОбщегоНазначенияСлужебныйКлиент.ПараметрыРасчетаПоказателейЯчеек.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - результаты расчета выделенных ячеек. // Структура - результаты расчета выделенных ячеек.
@@ -82,6 +83,9 @@
// * Максимум - Число - Максимум выделенных ячеек с числами. // * Максимум - Число - Максимум выделенных ячеек с числами.
// //
Функция РасчетныеПоказателиЯчеек(Знач ТабличныйДокумент, ВыделенныеОбласти) Экспорт Функция РасчетныеПоказателиЯчеек(Знач ТабличныйДокумент, ВыделенныеОбласти) Экспорт
#Область КонструкторРезультата
РасчетныеПоказатели = Новый Структура; РасчетныеПоказатели = Новый Структура;
РасчетныеПоказатели.Вставить("Количество", 0); РасчетныеПоказатели.Вставить("Количество", 0);
РасчетныеПоказатели.Вставить("КоличествоНеПустых", 0); РасчетныеПоказатели.Вставить("КоличествоНеПустых", 0);
@@ -91,6 +95,8 @@
РасчетныеПоказатели.Вставить("Минимум", 0); РасчетныеПоказатели.Вставить("Минимум", 0);
РасчетныеПоказатели.Вставить("Максимум", 0); РасчетныеПоказатели.Вставить("Максимум", 0);
#КонецОбласти
Если ВыделенныеОбласти = Неопределено Тогда Если ВыделенныеОбласти = Неопределено Тогда
ВыделенныеОбласти = ТабличныйДокумент.ВыделенныеОбласти; ВыделенныеОбласти = ТабличныйДокумент.ВыделенныеОбласти;
КонецЕсли; КонецЕсли;
@@ -98,11 +104,14 @@
ПроверенныеЯчейки = Новый Соответствие; ПроверенныеЯчейки = Новый Соответствие;
Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента")
И ТипЗнч(ВыделеннаяОбласть) <> Тип("Структура") Тогда И ТипЗнч(ВыделеннаяОбласть) <> Тип("Структура") Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
#Область ОпределениеГраницВыделеннойОбласти
ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Верх; ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Верх;
ВыделеннаяОбластьНиз = ВыделеннаяОбласть.Низ; ВыделеннаяОбластьНиз = ВыделеннаяОбласть.Низ;
ВыделеннаяОбластьЛево = ВыделеннаяОбласть.Лево; ВыделеннаяОбластьЛево = ВыделеннаяОбласть.Лево;
@@ -132,11 +141,16 @@
ВыделеннаяОбластьВысота = ВыделеннаяОбластьНиз - ВыделеннаяОбластьВерх + 1; ВыделеннаяОбластьВысота = ВыделеннаяОбластьНиз - ВыделеннаяОбластьВерх + 1;
ВыделеннаяОбластьШирина = ВыделеннаяОбластьПраво - ВыделеннаяОбластьЛево + 1; ВыделеннаяОбластьШирина = ВыделеннаяОбластьПраво - ВыделеннаяОбластьЛево + 1;
#КонецОбласти
РасчетныеПоказатели.Количество = РасчетныеПоказатели.Количество + ВыделеннаяОбластьШирина * ВыделеннаяОбластьВысота; РасчетныеПоказатели.Количество = РасчетныеПоказатели.Количество + ВыделеннаяОбластьШирина * ВыделеннаяОбластьВысота;
Для НомерКолонки = ВыделеннаяОбластьЛево По ВыделеннаяОбластьПраво Цикл Для НомерКолонки = ВыделеннаяОбластьЛево По ВыделеннаяОбластьПраво Цикл
Для НомерСтроки = ВыделеннаяОбластьВерх По ВыделеннаяОбластьНиз Цикл Для НомерСтроки = ВыделеннаяОбластьВерх По ВыделеннаяОбластьНиз Цикл
Ячейка = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); Ячейка = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
Если ПроверенныеЯчейки.Получить(Ячейка.Имя) = Неопределено Тогда Если ПроверенныеЯчейки.Получить(Ячейка.Имя) = Неопределено Тогда
ПроверенныеЯчейки.Вставить(Ячейка.Имя, Истина); ПроверенныеЯчейки.Вставить(Ячейка.Имя, Истина);
Иначе Иначе
@@ -144,10 +158,16 @@
КонецЕсли; КонецЕсли;
Если Ячейка.Видимость = Истина Тогда Если Ячейка.Видимость = Истина Тогда
#Область ОпределениеЗначенияЯчейки
Если Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Колонки Если Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Колонки
И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда
Число = Ячейка.Значение; Число = Ячейка.Значение;
ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число"); ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
ТекстЯчейки = Ячейка.Текст; ТекстЯчейки = Ячейка.Текст;
@@ -164,14 +184,22 @@
Иначе Иначе
Число = ОписаниеТипаЧисло.ПривестиЗначение(ТекстЯчейки); Число = ОписаниеТипаЧисло.ПривестиЗначение(ТекстЯчейки);
КонецЕсли; КонецЕсли;
Иначе Иначе
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
#КонецОбласти
РасчетныеПоказатели.КоличествоНеПустых = РасчетныеПоказатели.КоличествоНеПустых + 1; РасчетныеПоказатели.КоличествоНеПустых = РасчетныеПоказатели.КоличествоНеПустых + 1;
#Область РасчетПоказателей
Если ТипЗнч(Число) = Тип("Число") Тогда Если ТипЗнч(Число) = Тип("Число") Тогда
РасчетныеПоказатели.КоличествоЧисловых = РасчетныеПоказатели.КоличествоЧисловых + 1; РасчетныеПоказатели.КоличествоЧисловых = РасчетныеПоказатели.КоличествоЧисловых + 1;
РасчетныеПоказатели.Сумма = РасчетныеПоказатели.Сумма + Число; РасчетныеПоказатели.Сумма = РасчетныеПоказатели.Сумма + Число;
Если РасчетныеПоказатели.КоличествоЧисловых = 1 Тогда Если РасчетныеПоказатели.КоличествоЧисловых = 1 Тогда
РасчетныеПоказатели.Минимум = Число; РасчетныеПоказатели.Минимум = Число;
РасчетныеПоказатели.Максимум = Число; РасчетныеПоказатели.Максимум = Число;
@@ -179,10 +207,17 @@
РасчетныеПоказатели.Минимум = Мин(Число, РасчетныеПоказатели.Минимум); РасчетныеПоказатели.Минимум = Мин(Число, РасчетныеПоказатели.Минимум);
РасчетныеПоказатели.Максимум = Макс(Число, РасчетныеПоказатели.Максимум); РасчетныеПоказатели.Максимум = Макс(Число, РасчетныеПоказатели.Максимум);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
#КонецОбласти
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
Если РасчетныеПоказатели.КоличествоЧисловых > 0 Тогда Если РасчетныеПоказатели.КоличествоЧисловых > 0 Тогда
@@ -190,6 +225,7 @@
КонецЕсли; КонецЕсли;
Возврат РасчетныеПоказатели; Возврат РасчетныеПоказатели;
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
@@ -3719,12 +3719,17 @@
ОтчетыКлиентСервер.ДополнитьСписок(ПолеЗначения.СписокВыбора, Поле.СписокВыбора, Ложь, Истина); ОтчетыКлиентСервер.ДополнитьСписок(ПолеЗначения.СписокВыбора, Поле.СписокВыбора, Ложь, Истина);
ПолеЗначения.БыстрыйВыбор = ОписаниеЭлементаНастройки.ОписаниеНастройки.БыстрыйВыбор; ПараметрыРедактирования = Новый Структура("БыстрыйВыбор, ВыборГруппИЭлементов");
Если ОписаниеЭлементаНастройки.ОписаниеНастройки <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(ПараметрыРедактирования, ОписаниеЭлементаНастройки.ОписаниеНастройки);
КонецЕсли;
ПолеЗначения.БыстрыйВыбор = ПараметрыРедактирования.БыстрыйВыбор;
Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки( Условие = ОтчетыКлиентСервер.УсловиеЭлементаНастройки(
ОписаниеЭлементаНастройки.ЭлементНастройки, ОписаниеЭлементаНастройки.ОписаниеНастройки); ОписаниеЭлементаНастройки.ЭлементНастройки, ОписаниеЭлементаНастройки.ОписаниеНастройки);
ПолеЗначения.ВыборГруппИЭлементов = ОтчетыКлиентСервер.ЗначениеТипаГруппыИЭлементы( ПолеЗначения.ВыборГруппИЭлементов = ОтчетыКлиентСервер.ЗначениеТипаГруппыИЭлементы(
ОписаниеЭлементаНастройки.ОписаниеНастройки.ВыборГруппИЭлементов, Условие); ПараметрыРедактирования.ВыборГруппИЭлементов, Условие);
ПолеЗначения.ПараметрыВыбора = ОтчетыКлиентСервер.ПараметрыВыбора( ПолеЗначения.ПараметрыВыбора = ОтчетыКлиентСервер.ПараметрыВыбора(
ОписаниеЭлементаНастройки.Настройки, ОписаниеЭлементаНастройки.Настройки,
@@ -1041,13 +1041,17 @@
КонецЕсли; КонецЕсли;
Доступен = Не ФактНедоступности И БезПотерь; Доступен = Не ФактНедоступности И БезПотерь;
СостояниеДоступности = ?(Доступен, НСтр("ru = 'доступен'"), НСтр("ru = 'не доступен'"));
Журнал = Новый Массив; Журнал = Новый Массив;
Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Если Доступен Тогда
НСтр("ru = 'Удаленный сервер %1 %2:'"), Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
АдресСервера, НСтр("ru = 'Удаленный сервер %1 доступен:'"),
СостояниеДоступности)); АдресСервера));
Иначе
Журнал.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Удаленный сервер %1 не доступен:'"),
АдресСервера));
КонецЕсли;
Журнал.Добавить("> " + СтрокаКоманды); Журнал.Добавить("> " + СтрокаКоманды);
Журнал.Добавить(ЖурналДоступности); Журнал.Добавить(ЖурналДоступности);
@@ -2008,40 +2008,41 @@
ЭтоПолноправныйПользователь = Пользователи.ЭтоПолноправныйПользователь(, Ложь); ЭтоПолноправныйПользователь = Пользователи.ЭтоПолноправныйПользователь(, Ложь);
Подсказка = Новый Массив;
Подсказка.Добавить(НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.'"));
Подсказка.Добавить(Символы.ПС);
Если Не ЭтоПолноправныйПользователь Тогда Если Не ЭтоПолноправныйПользователь Тогда
Подсказка.Добавить(НСтр("ru = 'За подробностями обратитесь к администратору.'")); Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|За подробностями обратитесь к администратору.'");
Возврат Новый ФорматированнаяСтрока(Подсказка); Возврат Новый ФорматированнаяСтрока(Подсказка);
КонецЕсли; КонецЕсли;
Подсказка.Добавить(НСтр("ru = 'См.'"));
Подсказка.Добавить(" ");
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
Подсказка.Добавить(НСтр("ru = 'Параметры информационной базы в конфигураторе в меню Администрирование.'")); Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|См. Параметры информационной базы в конфигураторе в меню Администрирование.'");
Возврат Новый ФорматированнаяСтрока(Подсказка); Возврат Новый ФорматированнаяСтрока(Подсказка);
КонецЕсли; КонецЕсли;
ЕстьРазделАдминистрирование = Метаданные.Подсистемы.Найти("Администрирование") <> Неопределено;
Если ДляВнешнихПользователей Тогда Если ДляВнешнихПользователей Тогда
Ссылка = НСтр("ru = 'Настройки входа внешних пользователей'"); Если ЕстьРазделАдминистрирование Тогда
Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|См. <a href = ""НастройкиВходаПользователей"">Настройки входа внешних пользователей</a> в разделе Администрирование,
|пункт Настройки пользователей и прав.'");
Иначе
Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|См. <a href = ""НастройкиВходаПользователей"">Настройки входа внешних пользователей</a>.'");
КонецЕсли;
Иначе Иначе
Ссылка = НСтр("ru = 'Настройки входа пользователей'"); Если ЕстьРазделАдминистрирование Тогда
Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|См. <a href = ""НастройкиВходаПользователей"">Настройки входа пользователей</a> в разделе Администрирование,
|пункт Настройки пользователей и прав.'");
Иначе
Подсказка = НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.
|См. <a href = ""НастройкиВходаПользователей"">Настройки входа пользователей</a>.'");
КонецЕсли;
КонецЕсли; КонецЕсли;
Подсказка.Добавить(Новый ФорматированнаяСтрока(Ссылка,,,, "НастройкиВходаПользователей")); Возврат СтроковыеФункции.ФорматированнаяСтрока(Подсказка);
Если Метаданные.Подсистемы.Найти("Администрирование") <> Неопределено Тогда
Подсказка.Добавить(" ");
Подсказка.Добавить(НСтр("ru = 'в разделе Администрирование,
|пункт Настройки прав и пользователей.'"));
Иначе
Подсказка.Добавить(".");
КонецЕсли;
Возврат Новый ФорматированнаяСтрока(Подсказка);
КонецФункции КонецФункции
@@ -226,7 +226,7 @@
Процедура ПерейтиКДокументацииПоВводуУчетнойЗаписиЭлектроннойПочты() Экспорт Процедура ПерейтиКДокументацииПоВводуУчетнойЗаписиЭлектроннойПочты() Экспорт
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("https://its.1c.ru/db/translate?db=bspdoc&path=src/5.48 работа с почтовыми сообщениями.htm&anchor=issogl1_ввод_учетной_записи_электронной_почты"); ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("https://its.1c.ru/db/translate?db=bsp303doc&path=src/5.48 работа с почтовыми сообщениями.htm&anchor=issogl1_ввод_учетной_записи_электронной_почты");
КонецПроцедуры КонецПроцедуры
@@ -79,6 +79,13 @@
КонецПроцедуры КонецПроцедуры
// См. ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек.
Функция РасчетныеПоказателиЯчеек(Знач ТабличныйДокумент, ВыделенныеОбласти) Экспорт
Возврат ОбщегоНазначенияСлужебныйКлиентСервер.РасчетныеПоказателиЯчеек(ТабличныйДокумент, ВыделенныеОбласти);
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -8417,6 +8417,7 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст, Запрос.Текст = СтрЗаменить(Запрос.Текст,
"ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка", "ТекущийСписок.Ссылка = &Ссылка"); "ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка", "ТекущийСписок.Ссылка = &Ссылка");
КонецЕсли; КонецЕсли;
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
УстановитьОтключениеБезопасногоРежима(Истина); УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
@@ -9104,6 +9105,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ОбновлениеКлючейДоступаКДанным); НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ОбновлениеКлючейДоступаКДанным);
Список = "Справочник.НаборыГруппДоступа"; Список = "Справочник.НаборыГруппДоступа";
@@ -9152,6 +9156,9 @@
ЗарегистрироватьПланированиеОбновленияДоступа(СпискиПоИдентификаторам, ПараметрыПланирования); ЗарегистрироватьПланированиеОбновленияДоступа(СпискиПоИдентификаторам, ПараметрыПланирования);
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -9729,6 +9736,67 @@
ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Истина); ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Истина);
КонецЕсли; КонецЕсли;
// Удаление устаревших параметров ограничения доступа.
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущаяВерсия", ПараметрыСеанса.ПараметрыОграниченияДоступа.Версия);
Запрос.УстановитьПараметр("ДатаУстаревания", ТекущаяДатаСеанса() - 2 * 24 * 60 *60);
Запрос.Текст =
"ВЫБРАТЬ
| ПараметрыОграниченияДоступа.Версия КАК Версия,
| ПараметрыОграниченияДоступа.ДатаСоздания КАК ДатаСоздания
|ИЗ
| РегистрСведений.ПараметрыОграниченияДоступа КАК ПараметрыОграниченияДоступа
|ГДЕ
| ПараметрыОграниченияДоступа.Версия < &ТекущаяВерсия
| И ПараметрыОграниченияДоступа.ДатаСоздания <= &ДатаУстаревания
|
|УПОРЯДОЧИТЬ ПО
| Версия УБЫВ,
| ДатаСоздания УБЫВ";
// АПК:1328-выкл. См. 648.1.1. Допустимо чтение без предварительной
// управляемой разделяемой блокировки, так как используется только
// для очистки и какой сеанс очистит первым не важно.
// Если установить разделяемую блокировку, то позже будет повышение
// до исключительной, что ведет к взаимоблокировке и недопустимо.
// Если установить исключительную блокировку на таблицу, то
// это вызовет избыточное замедление запуска сеансов при установке
// параметров сеанса из параметров ограничения, что недопустимо.
РезультатЗапроса = Запрос.Выполнить();
// АПК:1328-вкл.
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
НаименьшаяДатаНачалаСеанса = '39991231';
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Если НаименьшаяДатаНачалаСеанса > Сеанс.НачалоСеанса Тогда
НаименьшаяДатаНачалаСеанса = Сеанс.НачалоСеанса;
КонецЕсли;
КонецЦикла;
НаименьшаяДатаНачалаСеанса = НаименьшаяДатаНачалаСеанса
- (МестноеВремя('00010101', ЧасовойПояс()) - '00010101')
+ (МестноеВремя('00010101', ЧасовойПоясСеанса()) - '00010101');
НаборЗаписей = РегистрыСведений.ПараметрыОграниченияДоступа.СоздатьНаборЗаписей();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ДатаСоздания >= НаименьшаяДатаНачалаСеанса Тогда
Продолжить;
КонецЕсли;
НаборЗаписей.Отбор.Версия.Установить(Выборка.Версия);
НаборЗаписей.Записать();
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецПроцедуры КонецПроцедуры
// Для процедуры ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа. // Для процедуры ПроверитьОбновитьДействующиеПараметрыОграниченияДоступа.
@@ -13359,6 +13427,7 @@
| КлючиДоступа.Список = &Список | КлючиДоступа.Список = &Список
| И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей | И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И КлючиДоступа.Ссылка > &ПоследнийКлючДоступа | И КлючиДоступа.Ссылка > &ПоследнийКлючДоступа
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступа.Ссылка"; | КлючиДоступа.Ссылка";
@@ -13384,6 +13453,8 @@
КоличествоВЗапросе = ?(КоличествоВЗапросе < 1000, 1000, ?(КоличествоВЗапросе > 10000, 10000, КоличествоВЗапросе)); КоличествоВЗапросе = ?(КоличествоВЗапросе < 1000, 1000, ?(КоличествоВЗапросе > 10000, 10000, КоличествоВЗапросе));
Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ=")); Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ="));
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
Элементы = Запрос.Выполнить().Выгрузить(); Элементы = Запрос.Выполнить().Выгрузить();
КонецЕсли; КонецЕсли;
@@ -13398,6 +13469,29 @@
КонецФункции КонецФункции
// Для процедур выполнения запросов.
Процедура УстановитьУточнениеПланаЗапроса(ТекстЗапроса, УникальныйПлан = Ложь)
Если УправлениеДоступомСлужебныйПовтИсп.ТребуетсяУточнениеПланаЗапроса() Тогда
Если УникальныйПлан Тогда
ТекущаяДатаСеанса = ТекущаяДатаСеанса();
ВсегоМинут = Цел((ТекущаяДатаСеанса - '00010101') / 60);
ОстатокМинут = ВсегоМинут - Цел(ВсегоМинут / 2048) * 2048;
УточнениеПланаЗапроса = УправлениеДоступомСлужебныйПовтИсп.УточнениеПланаЗапроса(ОстатокМинут, 11);
Иначе
ТочноеВремя = ТекущаяУниверсальнаяДатаВМиллисекундах();
ВсегоДесятыхСекунд = Цел(ТочноеВремя / 100);
ОстатокДесятыхСекунд = ВсегоДесятыхСекунд - Цел(ВсегоДесятыхСекунд / 1048576) * 1048576;
УточнениеПланаЗапроса = УправлениеДоступомСлужебныйПовтИсп.УточнениеПланаЗапроса(ОстатокДесятыхСекунд, 20);
КонецЕсли;
Иначе
УточнениеПланаЗапроса = "ИСТИНА";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УточнениеПланаЗапроса", УточнениеПланаЗапроса);
КонецПроцедуры
// Для процедуры ВыполнитьОбновлениеДоступаСписка. // Для процедуры ВыполнитьОбновлениеДоступаСписка.
Функция ЭлементыТочечногоЗаданияДляОбновления(ПараметрыОбновления, КоличествоВЗапросе, ВыбраныВсеЭлементы) Функция ЭлементыТочечногоЗаданияДляОбновления(ПараметрыОбновления, КоличествоВЗапросе, ВыбраныВсеЭлементы)
@@ -13487,6 +13581,7 @@
КоличествоВЗапросе = ?(КоличествоВЗапросе < 1000, 1000, ?(КоличествоВЗапросе > 4000, 4000, КоличествоВЗапросе)); КоличествоВЗапросе = ?(КоличествоВЗапросе < 1000, 1000, ?(КоличествоВЗапросе > 4000, 4000, КоличествоВЗапросе));
Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ=")); Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ="));
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
Если ПараметрыОбновления.ЭтоОбновлениеПрав Тогда Если ПараметрыОбновления.ЭтоОбновлениеПрав Тогда
Элементы = Запрос.Выполнить().Выгрузить(); Элементы = Запрос.Выполнить().Выгрузить();
@@ -13971,6 +14066,7 @@
| ТекущийСписок.ДляВнешнихПользователей = &ДляВнешнихПользователей | ТекущийСписок.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И ТекущийСписок.ТипЭлементовНабора В (ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ПустаяСсылка)) | И ТекущийСписок.ТипЭлементовНабора В (ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ПустаяСсылка))
| И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка | И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Ссылка"; | ТекущийСписок.Ссылка";
@@ -14012,6 +14108,7 @@
| ИНАЧЕ НаборыГруппДоступа.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | ИНАЧЕ НаборыГруппДоступа.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ | КОНЕЦ
| И СоставыГруппПользователей.Пользователь > &ПоследняяОбработаннаяСсылка | И СоставыГруппПользователей.Пользователь > &ПоследняяОбработаннаяСсылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| СоставыГруппПользователей.Пользователь"; | СоставыГруппПользователей.Пользователь";
@@ -14053,6 +14150,7 @@
| ГДЕ | ГДЕ
| НаборыГруппДоступа.НовыйНаборГруппПользователей = ТекущийСписок.Ссылка)) | НаборыГруппДоступа.НовыйНаборГруппПользователей = ТекущийСписок.Ссылка))
| И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка | И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Ссылка"; | ТекущийСписок.Ссылка";
@@ -14068,6 +14166,7 @@
| И (ТекущийСписок.НовыйНаборГруппДоступа <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка) | И (ТекущийСписок.НовыйНаборГруппДоступа <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка)
| ИЛИ ТекущийСписок.НовыйНаборГруппПользователей <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка)) | ИЛИ ТекущийСписок.НовыйНаборГруппПользователей <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка))
| И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка | И ТекущийСписок.Ссылка > &ПоследняяОбработаннаяСсылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Ссылка"; | ТекущийСписок.Ссылка";
@@ -14078,6 +14177,7 @@
КоличествоВЗапросе = ?(КоличествоВЗапросе < 25, 25, ?(КоличествоВЗапросе > 10000, 10000, КоличествоВЗапросе)); КоличествоВЗапросе = ?(КоличествоВЗапросе < 25, 25, ?(КоличествоВЗапросе > 10000, 10000, КоличествоВЗапросе));
Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ=")); Запрос.Текст = СтрЗаменить(Запрос.Текст, МаркерРазмераПорции(), Формат(КоличествоВЗапросе, "ЧГ="));
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
ЭлементыДанных = Запрос.Выполнить().Выгрузить(); ЭлементыДанных = Запрос.Выполнить().Выгрузить();
@@ -14244,6 +14344,7 @@
| ГДЕ | ГДЕ
| КлючиДоступаГруппДоступа.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка) | КлючиДоступаГруппДоступа.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка)
| И &УсловиеОтбораНаборовГруппДоступа2 | И &УсловиеОтбораНаборовГруппДоступа2
| И &УточнениеПланаЗапроса
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -14314,6 +14415,7 @@
| КлючиДоступаГруппДоступа.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка) | КлючиДоступаГруппДоступа.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка)
| И &УсловиеОтбораНаборовГруппДоступа2 | И &УсловиеОтбораНаборовГруппДоступа2
| И &УсловиеОтбораКлючейДоступа2 | И &УсловиеОтбораКлючейДоступа2
| И &УточнениеПланаЗапроса
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -14369,6 +14471,7 @@
Пока Истина Цикл Пока Истина Цикл
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапросаВыбораПорцииДляБлокировки; Запрос.Текст = ТекстЗапросаВыбораПорцииДляБлокировки;
УстановитьУточнениеПланаЗапроса(Запрос.Текст, Истина);
Запрос.УстановитьПараметр("РазрешенныйПустойНабор", Запрос.УстановитьПараметр("РазрешенныйПустойНабор",
УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа()); УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа());
@@ -14400,6 +14503,7 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапросаВыбораПорцииДляОбновления; Запрос.Текст = ТекстЗапросаВыбораПорцииДляОбновления;
УстановитьУточнениеПланаЗапроса(Запрос.Текст, Истина);
Запрос.УстановитьПараметр("РазрешенныйПустойНабор", Запрос.УстановитьПараметр("РазрешенныйПустойНабор",
УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа()); УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа());
@@ -14815,6 +14919,7 @@
| И НаборыГрупп.ТипЭлементовНабора = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) | И НаборыГрупп.ТипЭлементовНабора = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
| И НаборыГрупп.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И НаборыГрупп.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И НаборыГрупп.НовыйНаборГруппДоступа = ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка) | И НаборыГрупп.НовыйНаборГруппДоступа = ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка)
| И &УточнениеПланаЗапроса
| |
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| НаборыГрупп.Ссылка, | НаборыГрупп.Ссылка,
@@ -14837,6 +14942,7 @@
| И НаборыГрупп.ТипЭлементовНабора = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) | И НаборыГрупп.ТипЭлементовНабора = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
| И НаборыГрупп.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И НаборыГрупп.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И НаборыГрупп.НовыйНаборГруппДоступа <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка) | И НаборыГрупп.НовыйНаборГруппДоступа <> ЗНАЧЕНИЕ(Справочник.НаборыГруппДоступа.ПустаяСсылка)
| И &УточнениеПланаЗапроса
| |
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| НаборыГрупп.Ссылка, | НаборыГрупп.Ссылка,
@@ -14869,6 +14975,7 @@
| И (ГруппыНаборов.Ссылка = НаборыГрупп.Ссылка) | И (ГруппыНаборов.Ссылка = НаборыГрупп.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ НомераГрупп КАК НомераГрупп | ЛЕВОЕ СОЕДИНЕНИЕ НомераГрупп КАК НомераГрупп
| ПО (ГруппыНаборов.Группа = НомераГрупп.Группа) | ПО (ГруппыНаборов.Группа = НомераГрупп.Группа)
| И (&УточнениеПланаЗапроса)
| |
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| НаборыГрупп.Ссылка | НаборыГрупп.Ссылка
@@ -14965,6 +15072,8 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст, Запрос.Текст = СтрЗаменить(Запрос.Текст,
"СУММА(НомераГрупп.ЧастьНомера1) КАК ЧастьНомера1", ПоляСуммированияНовых); "СУММА(НомераГрупп.ЧастьНомера1) КАК ЧастьНомера1", ПоляСуммированияНовых);
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
Результат = Запрос.Выполнить().Выгрузить(); Результат = Запрос.Выполнить().Выгрузить();
СписокИменЧастейНабора = СтрСоединить(ИменаЧастейНомера, ", "); СписокИменЧастейНабора = СтрСоединить(ИменаЧастейНомера, ", ");
@@ -15346,6 +15455,7 @@
| Справочник.НаборыГруппДоступа КАК НаборыГруппДоступа | Справочник.НаборыГруппДоступа КАК НаборыГруппДоступа
|ГДЕ |ГДЕ
| НаборыГруппДоступа.ТипЭлементовНабора = НЕОПРЕДЕЛЕНО | НаборыГруппДоступа.ТипЭлементовНабора = НЕОПРЕДЕЛЕНО
| И &УточнениеПланаЗапроса
| |
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
| |
@@ -15416,6 +15526,7 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи", "Справочник.ВнешниеПользователи"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи", "Справочник.ВнешниеПользователи");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.ГруппыПользователей", "Справочник.ГруппыВнешнихПользователей"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.ГруппыПользователей", "Справочник.ГруппыВнешнихПользователей");
КонецЕсли; КонецЕсли;
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
ЭлементыДанных = Запрос.Выполнить().Выгрузить(); ЭлементыДанных = Запрос.Выполнить().Выгрузить();
@@ -15635,7 +15746,7 @@
// Для процедуры ОбновитьГруппыРазрешенногоКлючаДоступа. // Для процедуры ОбновитьГруппыРазрешенногоКлючаДоступа.
Функция ТекстЗапросаВыбораРазличийГруппДоступаРазрешенногоКлюча() Функция ТекстЗапросаВыбораРазличийГруппДоступаРазрешенногоКлюча()
Возврат ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| ВсеСтроки.ГруппаДоступа КАК ГруппаДоступа, | ВсеСтроки.ГруппаДоступа КАК ГруппаДоступа,
| ВсеСтроки.Изменение КАК Изменение, | ВсеСтроки.Изменение КАК Изменение,
@@ -15662,6 +15773,7 @@
| Справочник.ГруппыДоступа.Пользователи КАК УчастникиГруппДоступа | Справочник.ГруппыДоступа.Пользователи КАК УчастникиГруппДоступа
| ГДЕ | ГДЕ
| УчастникиГруппДоступа.Ссылка = ГруппыДоступа.Ссылка)) | УчастникиГруппДоступа.Ссылка = ГруппыДоступа.Ссылка))
| И (&УточнениеПланаЗапроса)
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -15687,6 +15799,10 @@
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ВидИзмененияСтроки"; | ВидИзмененияСтроки";
УстановитьУточнениеПланаЗапроса(ТекстЗапроса);
Возврат ТекстЗапроса;
КонецФункции КонецФункции
// Для процедуры ОбновитьПорциюЭлементов. // Для процедуры ОбновитьПорциюЭлементов.
@@ -15814,6 +15930,7 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = ПараметрыОбновления.ТекстЗапросаПроверкиУстаревшихЭлементовДанных; Запрос.Текст = ПараметрыОбновления.ТекстЗапросаПроверкиУстаревшихЭлементовДанных;
Запрос.УстановитьПараметр("КлючиДоступаКРегистрам", ПорцияЭлементовДанных); Запрос.УстановитьПараметр("КлючиДоступаКРегистрам", ПорцияЭлементовДанных);
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
КонецЕсли; КонецЕсли;
КоличествоОбработанных = ПорцияЭлементовДанных.Количество(); КоличествоОбработанных = ПорцияЭлементовДанных.Количество();
@@ -16013,6 +16130,7 @@
ЗапросЗначенийЭлементовДанных.УстановитьПараметр("ИдентификаторРегистра", ИдентификаторСписка); ЗапросЗначенийЭлементовДанных.УстановитьПараметр("ИдентификаторРегистра", ИдентификаторСписка);
ЗапросЗначенийЭлементовДанных.УстановитьПараметр("ЗначенияОпорныхПолей", ПорцияЭлементовДанных); ЗапросЗначенийЭлементовДанных.УстановитьПараметр("ЗначенияОпорныхПолей", ПорцияЭлементовДанных);
КонецЕсли; КонецЕсли;
УстановитьУточнениеПланаЗапроса(ЗапросЗначенийЭлементовДанных.Текст);
РезультатыЗапросаЗначенийЭлементов = ЗапросЗначенийЭлементовДанных.ВыполнитьПакет(); РезультатыЗапросаЗначенийЭлементов = ЗапросЗначенийЭлементовДанных.ВыполнитьПакет();
ДанныеСтроковыхКлючейДоступа = Новый Соответствие; ДанныеСтроковыхКлючейДоступа = Новый Соответствие;
@@ -16060,6 +16178,7 @@
ЗапросЗначенийКлючей.Текст = ПараметрыОбновления.ТекстЗапросаЗначенийИзИспользуемыхКлючейДоступаДляСравнения; ЗапросЗначенийКлючей.Текст = ПараметрыОбновления.ТекстЗапросаЗначенийИзИспользуемыхКлючейДоступаДляСравнения;
ЗапросЗначенийКлючей.УстановитьПараметр("Хеши", ХешиТребуемыхКлючейДоступа); ЗапросЗначенийКлючей.УстановитьПараметр("Хеши", ХешиТребуемыхКлючейДоступа);
ЗапросЗначенийКлючей.УстановитьПараметр("Список", ИдентификаторСписка); ЗапросЗначенийКлючей.УстановитьПараметр("Список", ИдентификаторСписка);
УстановитьУточнениеПланаЗапроса(ЗапросЗначенийКлючей.Текст);
РезультатыЗапросаЗначенийКлючей = ЗапросЗначенийКлючей.ВыполнитьПакет(); РезультатыЗапросаЗначенийКлючей = ЗапросЗначенийКлючей.ВыполнитьПакет();
КлючиЗначенийСтрокКлючей = КлючиЗначенийСтрокОбъектов(РезультатыЗапросаЗначенийКлючей, КлючиЗначенийСтрокКлючей = КлючиЗначенийСтрокОбъектов(РезультатыЗапросаЗначенийКлючей,
@@ -16130,10 +16249,12 @@
ЗапросЗначенийКлючей = Новый Запрос; ЗапросЗначенийКлючей = Новый Запрос;
ЗапросЗначенийКлючей.Текст = ПараметрыОбновления.ТекстЗапросаЗначенийИзВсехКлючейДоступаДляСравнения; ЗапросЗначенийКлючей.Текст = ПараметрыОбновления.ТекстЗапросаЗначенийИзВсехКлючейДоступаДляСравнения;
ЗапросЗначенийКлючей.УстановитьПараметр("Список", ПараметрыОбновления.ИдентификаторСписка); ЗапросЗначенийКлючей.УстановитьПараметр("Список", ПараметрыОбновления.ИдентификаторСписка);
УстановитьУточнениеПланаЗапроса(ЗапросЗначенийКлючей.Текст);
ЗапросСуществованияКлючей = Новый Запрос; ЗапросСуществованияКлючей = Новый Запрос;
ЗапросСуществованияКлючей.Текст = ПараметрыОбновления.ТекстЗапросаСуществованияКлючейДляСравнения; ЗапросСуществованияКлючей.Текст = ПараметрыОбновления.ТекстЗапросаСуществованияКлючейДляСравнения;
ЗапросСуществованияКлючей.УстановитьПараметр("Список", ПараметрыОбновления.ИдентификаторСписка); ЗапросСуществованияКлючей.УстановитьПараметр("Список", ПараметрыОбновления.ИдентификаторСписка);
УстановитьУточнениеПланаЗапроса(ЗапросСуществованияКлючей.Текст);
ОписаниеНовыхКлючей = Новый Структура; ОписаниеНовыхКлючей = Новый Структура;
ОписаниеНовыхКлючей.Вставить("ОписаниеКлючей", ОписаниеКлючей); ОписаниеНовыхКлючей.Вставить("ОписаниеКлючей", ОписаниеКлючей);
@@ -16716,6 +16837,7 @@
Запрос.УстановитьПараметр("ПустойУникальныйИдентификатор", Запрос.УстановитьПараметр("ПустойУникальныйИдентификатор",
ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор()); ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
РезультатыЗапроса = Запрос.ВыполнитьПакет(); РезультатыЗапроса = Запрос.ВыполнитьПакет();
ПараметрыОбновления.Вставить("ТипПользователя", ?(ПараметрыОбновления.ДляВнешнихПользователей, ПараметрыОбновления.Вставить("ТипПользователя", ?(ПараметрыОбновления.ДляВнешнихПользователей,
@@ -16952,7 +17074,8 @@
| И (ГруппыДоступа.Ссылка = ТаблицыГруппДоступа.ГруппаДоступа) | И (ГруппыДоступа.Ссылка = ТаблицыГруппДоступа.ГруппаДоступа)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НазначениеПрофилей КАК НазначениеПрофилей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ НазначениеПрофилей КАК НазначениеПрофилей
| ПО (НазначениеПрофилей.Профиль = ГруппыДоступа.Профиль) | ПО (НазначениеПрофилей.Профиль = ГруппыДоступа.Профиль)
| И (НазначениеПрофилей.ДляПользователей)"; | И (НазначениеПрофилей.ДляПользователей)
| И (&УточнениеПланаЗапроса)";
ТекстЗапросаУчастников = ТекстЗапросаУчастников =
"ВЫБРАТЬ РАЗЛИЧНЫЕ "ВЫБРАТЬ РАЗЛИЧНЫЕ
@@ -16969,6 +17092,7 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НазначениеПрофилей КАК НазначениеПрофилей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ НазначениеПрофилей КАК НазначениеПрофилей
| ПО (НазначениеПрофилей.Профиль = ГруппыДоступа.Профиль) | ПО (НазначениеПрофилей.Профиль = ГруппыДоступа.Профиль)
| И (НазначениеПрофилей.ДляПользователей) | И (НазначениеПрофилей.ДляПользователей)
| И (&УточнениеПланаЗапроса)
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -16995,6 +17119,7 @@
| ПО (ГруппыДоступа.Ссылка = ПользователиГруппыДоступа.Ссылка) | ПО (ГруппыДоступа.Ссылка = ПользователиГруппыДоступа.Ссылка)
| ГДЕ | ГДЕ
| ТИПЗНАЧЕНИЯ(ПользователиГруппыДоступа.Пользователь) = ТИП(Справочник.ГруппыПользователей) | ТИПЗНАЧЕНИЯ(ПользователиГруппыДоступа.Пользователь) = ТИП(Справочник.ГруппыПользователей)
| И &УточнениеПланаЗапроса
| |
| ОБЪЕДИНИТЬ ВСЕ | ОБЪЕДИНИТЬ ВСЕ
| |
@@ -17018,6 +17143,7 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО (Пользователи.Ссылка = СоставыГруппПользователей.Пользователь) | ПО (Пользователи.Ссылка = СоставыГруппПользователей.Пользователь)
| И (Пользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор) | И (Пользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
| И (&УточнениеПланаЗапроса)
|ИТОГИ ПО |ИТОГИ ПО
| ГруппаПользователей | ГруппаПользователей
|; |;
@@ -17041,6 +17167,7 @@
| И СоставыГруппПользователей.Используется | И СоставыГруппПользователей.Используется
| И Пользователи.Ссылка = СоставыГруппПользователей.Пользователь | И Пользователи.Ссылка = СоставыГруппПользователей.Пользователь
| И Пользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)) | И Пользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор))
| И (&УточнениеПланаЗапроса)
|ИТОГИ ПО |ИТОГИ ПО
| ГруппаДоступа"; | ГруппаДоступа";
@@ -17097,6 +17224,7 @@
Запрос.Текст = СтрЗаменить(Запрос.Текст, Запрос.Текст = СтрЗаменить(Запрос.Текст,
"НазначениеПрофилей.ДляПользователей", "НазначениеПрофилей.ДляВнешнихПользователей"); "НазначениеПрофилей.ДляПользователей", "НазначениеПрофилей.ДляВнешнихПользователей");
КонецЕсли; КонецЕсли;
УстановитьУточнениеПланаЗапроса(Запрос.Текст);
РезультатыЗапроса = Запрос.ВыполнитьПакет(); РезультатыЗапроса = Запрос.ВыполнитьПакет();
@@ -18285,7 +18413,9 @@
|ИЗ |ИЗ
| РегистрСведений.КлючиДоступаГруппДоступа КАК КлючиДоступаГруппДоступа | РегистрСведений.КлючиДоступаГруппДоступа КАК КлючиДоступаГруппДоступа
|ГДЕ |ГДЕ
| КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа"; | КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа
| И &УточнениеПланаЗапроса";
УстановитьУточнениеПланаЗапроса(ЗапросГрупп.Текст);
ЭлементБлокировкиГрупп = Блокировка.Добавить("РегистрСведений.КлючиДоступаГруппДоступа"); ЭлементБлокировкиГрупп = Блокировка.Добавить("РегистрСведений.КлючиДоступаГруппДоступа");
ЭлементБлокировкиГрупп.УстановитьЗначение("КлючДоступа", КлючДоступа); ЭлементБлокировкиГрупп.УстановитьЗначение("КлючДоступа", КлючДоступа);
@@ -18429,7 +18559,7 @@
// Для процедур ОбновитьПраваНаКлючДоступаСписка, ОбновитьГруппыДоступаРазрешенногоКлючаДоступа. // Для процедур ОбновитьПраваНаКлючДоступаСписка, ОбновитьГруппыДоступаРазрешенногоКлючаДоступа.
Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляГруппДоступа() Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляГруппДоступа()
Возврат ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| ВсеСтроки.НаборГруппДоступа КАК НаборГруппДоступа, | ВсеСтроки.НаборГруппДоступа КАК НаборГруппДоступа,
| ВсеСтроки.Изменение КАК Изменение, | ВсеСтроки.Изменение КАК Изменение,
@@ -18446,6 +18576,7 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НаборыГруппДоступа.Группы КАК ГруппыВходящиеВНаборы | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НаборыГруппДоступа.Группы КАК ГруппыВходящиеВНаборы
| ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа) | ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа)
| И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа) | И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа)
| И (&УточнениеПланаЗапроса)
| |
| СГРУППИРОВАТЬ ПО | СГРУППИРОВАТЬ ПО
| ГруппыВходящиеВНаборы.Ссылка | ГруппыВходящиеВНаборы.Ссылка
@@ -18486,12 +18617,16 @@
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ВидИзмененияСтроки"; | ВидИзмененияСтроки";
УстановитьУточнениеПланаЗапроса(ТекстЗапроса);
Возврат ТекстЗапроса;
КонецФункции КонецФункции
// Для процедур ОбновитьПраваНаКлючДоступаСписка. // Для процедур ОбновитьПраваНаКлючДоступаСписка.
Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляПользователей() Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляПользователей()
Возврат ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| КлючиДоступаПользователей.Пользователь КАК Пользователь, | КлючиДоступаПользователей.Пользователь КАК Пользователь,
| КлючиДоступаПользователей.Изменение КАК Изменение, | КлючиДоступаПользователей.Изменение КАК Изменение,
@@ -18502,6 +18637,7 @@
|ГДЕ |ГДЕ
| КлючиДоступаПользователей.КлючДоступа = &КлючДоступа | КлючиДоступаПользователей.КлючДоступа = &КлючДоступа
| И НЕ КлючиДоступаПользователей.ЭтоПраваНабораГрупп | И НЕ КлючиДоступаПользователей.ЭтоПраваНабораГрупп
| И &УточнениеПланаЗапроса
|; |;
| |
|//////////////////////////////////////////////////////////////////////////////// |////////////////////////////////////////////////////////////////////////////////
@@ -18523,6 +18659,7 @@
| ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа) | ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа)
| И (ТИПЗНАЧЕНИЯ(КлючиДоступаГруппДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыПользователей)) | И (ТИПЗНАЧЕНИЯ(КлючиДоступаГруппДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыПользователей))
| И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа) | И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа)
| И (&УточнениеПланаЗапроса)
| |
| СГРУППИРОВАТЬ ПО | СГРУППИРОВАТЬ ПО
| ГруппыВходящиеВНаборы.Ссылка | ГруппыВходящиеВНаборы.Ссылка
@@ -18551,12 +18688,16 @@
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ВидИзмененияСтроки"; | ВидИзмененияСтроки";
УстановитьУточнениеПланаЗапроса(ТекстЗапроса);
Возврат ТекстЗапроса;
КонецФункции КонецФункции
// Для процедур ОбновитьПраваНаКлючДоступаСписка. // Для процедур ОбновитьПраваНаКлючДоступаСписка.
Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляВнешнихПользователей() Функция ТекстЗапросаВыбораРазличийПроизводныхПравДляВнешнихПользователей()
Возврат ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| КлючиДоступаВнешнихПользователей.ВнешнийПользователь КАК ВнешнийПользователь, | КлючиДоступаВнешнихПользователей.ВнешнийПользователь КАК ВнешнийПользователь,
| КлючиДоступаВнешнихПользователей.Изменение КАК Изменение, | КлючиДоступаВнешнихПользователей.Изменение КАК Изменение,
@@ -18567,6 +18708,7 @@
|ГДЕ |ГДЕ
| КлючиДоступаВнешнихПользователей.КлючДоступа = &КлючДоступа | КлючиДоступаВнешнихПользователей.КлючДоступа = &КлючДоступа
| И НЕ КлючиДоступаВнешнихПользователей.ЭтоПраваНабораГрупп | И НЕ КлючиДоступаВнешнихПользователей.ЭтоПраваНабораГрупп
| И &УточнениеПланаЗапроса
|; |;
| |
|//////////////////////////////////////////////////////////////////////////////// |////////////////////////////////////////////////////////////////////////////////
@@ -18588,6 +18730,7 @@
| ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа) | ПО (ГруппыВходящиеВНаборы.Группа = КлючиДоступаГруппДоступа.ГруппаДоступа)
| И (ТИПЗНАЧЕНИЯ(КлючиДоступаГруппДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыВнешнихПользователей)) | И (ТИПЗНАЧЕНИЯ(КлючиДоступаГруппДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыВнешнихПользователей))
| И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа) | И (КлючиДоступаГруппДоступа.КлючДоступа = &КлючДоступа)
| И (&УточнениеПланаЗапроса)
| |
| СГРУППИРОВАТЬ ПО | СГРУППИРОВАТЬ ПО
| ГруппыВходящиеВНаборы.Ссылка | ГруппыВходящиеВНаборы.Ссылка
@@ -18616,6 +18759,10 @@
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ВидИзмененияСтроки"; | ВидИзмененияСтроки";
УстановитьУточнениеПланаЗапроса(ТекстЗапроса);
Возврат ТекстЗапроса;
КонецФункции КонецФункции
// Для процедуры ОбновитьПраваНаКлючДоступаСписка. // Для процедуры ОбновитьПраваНаКлючДоступаСписка.
@@ -20798,9 +20945,7 @@
// Для процедуры ОбновитьРазрешенныеНаборыВПараметрахСеанса. // Для процедуры ОбновитьРазрешенныеНаборыВПараметрахСеанса.
Процедура УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(ОбщиеПараметры) Процедура УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(ОбщиеПараметры)
ВидСУБД = ВидСУБД(); Если Не УправлениеДоступомСлужебныйПовтИсп.ТребуетсяУточнениеПланаЗапроса() Тогда
Если ВидСУБД = "File" Или ВидСУБД = "PostgreSQL" Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -20810,67 +20955,6 @@
КонецПроцедуры КонецПроцедуры
// Для процедуры УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса.
Функция ВидСУБД()
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат "File";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| NULL КАК Поле
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 1) КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Поле
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes1"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[1]""
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes_"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[\_]""";
РезультатыЗапроса = Запрос.ВыполнитьПакет();
Если РезультатыЗапроса[0].Выгрузить()[0].Поле <> 1 Тогда
Возврат "MSSQLServer";
КонецЕсли;
Если РезультатыЗапроса[1].Пустой() Тогда
Возврат "IBMDB2";
КонецЕсли;
Если РезультатыЗапроса[2].Пустой() Тогда
Возврат "PostgreSQL";
КонецЕсли;
Возврат "OracleDatabase";
КонецФункции
// Для процедуры УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса. // Для процедуры УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса.
Функция ОписаниеХешСуммыНастроекПрав(НаборГруппДоступа, Символ = "") Функция ОписаниеХешСуммыНастроекПрав(НаборГруппДоступа, Символ = "")
@@ -24716,11 +24800,13 @@
Функция ТекстСоединенияОтбораПоЗначениямПолей(Условие, Группы, Контекст) Функция ТекстСоединенияОтбораПоЗначениямПолей(Условие, Группы, Контекст)
Если Контекст.ЭтоСсылочныйТип Тогда Если Контекст.ЭтоСсылочныйТип Тогда
ДополнительноеУсловие = ""; ДополнительноеУсловие = "
| И (&УточнениеПланаЗапроса)";
Иначе Иначе
ДополнительноеУсловие = ?(Не ЗначениеЗаполнено(Контекст.ИмяОтдельногоРегистраКлючей), " ДополнительноеУсловие = ?(Не ЗначениеЗаполнено(Контекст.ИмяОтдельногоРегистраКлючей), "
| И (ТекущийСписок.Регистр = &ИдентификаторРегистра)", "") + " | И (ТекущийСписок.Регистр = &ИдентификаторРегистра)", "") + "
| И (ТекущийСписок.ДляВнешнихПользователей = " + ?(Контекст.ДляВнешнихПользователей, "ИСТИНА", "ЛОЖЬ") + ")"; | И (ТекущийСписок.ДляВнешнихПользователей = " + ?(Контекст.ДляВнешнихПользователей, "ИСТИНА", "ЛОЖЬ") + ")
| И (&УточнениеПланаЗапроса)";
КонецЕсли; КонецЕсли;
Если Условие.ГруппаТаблиц = Неопределено Или ЗначениеЗаполнено(Условие.ТабличнаяЧасть) Тогда Если Условие.ГруппаТаблиц = Неопределено Или ЗначениеЗаполнено(Условие.ТабличнаяЧасть) Тогда
@@ -25334,6 +25420,7 @@
| ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок) | ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок)
| И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка | И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка
| И КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей <> ЗНАЧЕНИЕ(Справочник.КлючиДоступа.ПустаяСсылка) | И КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей <> ЗНАЧЕНИЕ(Справочник.КлючиДоступа.ПустаяСсылка)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступаКОбъектам.Объект"; | КлючиДоступаКОбъектам.Объект";
@@ -25349,6 +25436,7 @@
|ГДЕ |ГДЕ
| ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок) | ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок)
| И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка | И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступаКОбъектам.Объект"; | КлючиДоступаКОбъектам.Объект";
@@ -25366,6 +25454,7 @@
| ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок) | ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок)
| И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка | И ВЫРАЗИТЬ(КлючиДоступаКОбъектам.Объект КАК &ТекущийСписок) > &ПоследняяОбработаннаяСсылка
| И #Условие | И #Условие
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступаКОбъектам.Объект"; | КлючиДоступаКОбъектам.Объект";
@@ -25447,6 +25536,7 @@
|ГДЕ |ГДЕ
| " + ОсновнойОтбор + " | " + ОсновнойОтбор + "
| И " + ОпорныеПоляДляОтбора + " | И " + ОпорныеПоляДляОтбора + "
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| " + ОпорныеПоляДляУпорядочения; | " + ОпорныеПоляДляУпорядочения;
@@ -25460,6 +25550,7 @@
|ГДЕ |ГДЕ
| КлючиДоступаКРегистрам.Регистр = &ИдентификаторРегистра | КлючиДоступаКРегистрам.Регистр = &ИдентификаторРегистра
| И " + ОпорныеПоляДляОтбора + " | И " + ОпорныеПоляДляОтбора + "
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| " + ОпорныеПоляДляУпорядочения; | " + ОпорныеПоляДляУпорядочения;
@@ -25503,6 +25594,7 @@
| &ТекущийСписок КАК ТекущийСписок | &ТекущийСписок КАК ТекущийСписок
| ГДЕ | ГДЕ
| " + ТекстСОтступом(ОпорныеПоляДляСравнения, " ") + ")) | " + ТекстСОтступом(ОпорныеПоляДляСравнения, " ") + "))
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| " + ОпорныеПоляДляУпорядочения; | " + ОпорныеПоляДляУпорядочения;
@@ -25527,7 +25619,8 @@
| ИЗ | ИЗ
| &ТекущийСписок КАК ТекущийСписок | &ТекущийСписок КАК ТекущийСписок
| ГДЕ | ГДЕ
| " + ТекстСОтступом(ОпорныеПоляДляСравнения, " ") + ")"; | " + ТекстСОтступом(ОпорныеПоляДляСравнения, " ") + ")
| И &УточнениеПланаЗапроса";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущийСписок", Результат.Список); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущийСписок", Результат.Список);
ТекстЗапросаПроверки = СтрЗаменить(ТекстЗапросаПроверки, "&ТекущийСписок", Результат.Список); ТекстЗапросаПроверки = СтрЗаменить(ТекстЗапросаПроверки, "&ТекущийСписок", Результат.Список);
@@ -25569,6 +25662,7 @@
| ТекущийСписок.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | ТекущийСписок.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И (КлючиДоступаКОбъектам.Объект ЕСТЬ NULL | И (КлючиДоступаКОбъектам.Объект ЕСТЬ NULL
| ИЛИ #Условие) | ИЛИ #Условие)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Дата УБЫВ"; | ТекущийСписок.Дата УБЫВ";
@@ -25585,6 +25679,7 @@
|ГДЕ |ГДЕ
| ТекущийСписок.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | ТекущийСписок.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И #Условие | И #Условие
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Дата УБЫВ"; | ТекущийСписок.Дата УБЫВ";
@@ -25600,6 +25695,7 @@
| ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка | ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка
| И (КлючиДоступаКОбъектам.Объект ЕСТЬ NULL | И (КлючиДоступаКОбъектам.Объект ЕСТЬ NULL
| ИЛИ #Условие) | ИЛИ #Условие)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Ссылка"; | ТекущийСписок.Ссылка";
@@ -25615,6 +25711,7 @@
|ГДЕ |ГДЕ
| ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка | ТекущийСписок.Ссылка >= &ПоследняяОбработаннаяСсылка
| И #Условие | И #Условие
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущийСписок.Ссылка"; | ТекущийСписок.Ссылка";
@@ -25630,8 +25727,9 @@
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКОбъектам КАК КлючиДоступаКОбъектам | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаКОбъектам КАК КлючиДоступаКОбъектам
| ПО (КлючиДоступаКОбъектам.Объект = ТекущийСписок.Ссылка) | ПО (КлючиДоступаКОбъектам.Объект = ТекущийСписок.Ссылка)
|ГДЕ |ГДЕ
| КлючиДоступаКОбъектам.Объект ЕСТЬ NULL | (КлючиДоступаКОбъектам.Объект ЕСТЬ NULL
| ИЛИ #Условие"; | ИЛИ #Условие)
| И &УточнениеПланаЗапроса";
Если Не Контекст.Свойство("ОписаниеЗапросовПроверкиПоВедущимОбъектам") Тогда Если Не Контекст.Свойство("ОписаниеЗапросовПроверкиПоВедущимОбъектам") Тогда
Возврат; Возврат;
@@ -25783,6 +25881,7 @@
|ГДЕ |ГДЕ
| " + ОпорныеПоля.ДляОтбора + " | " + ОпорныеПоля.ДляОтбора + "
| И (#Условие) | И (#Условие)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| " + ОпорныеПоля.ДляУпорядочения; | " + ОпорныеПоля.ДляУпорядочения;
@@ -25795,7 +25894,8 @@
|ИЗ |ИЗ
| ТекущийСписокПоВедущимОбъектам КАК ТекущийСписок | ТекущийСписокПоВедущимОбъектам КАК ТекущийСписок
|ГДЕ |ГДЕ
| #Условие"; | (#Условие)
| И &УточнениеПланаЗапроса";
Контекст.Вставить("ТекстЗапросаТочечнойПроверки", ТекстЗапросаТочечнойПроверкиКомбинаций); Контекст.Вставить("ТекстЗапросаТочечнойПроверки", ТекстЗапросаТочечнойПроверкиКомбинаций);
@@ -25833,6 +25933,7 @@
| ИЛИ ТекущийРегистр.Период = &ДатаОкончания | ИЛИ ТекущийРегистр.Период = &ДатаОкончания
| И " + ТекстСОтступом(ОпорныеПоляДляОтбора, " ") + ") | И " + ТекстСОтступом(ОпорныеПоляДляОтбора, " ") + ")
| И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL | И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL
| И &УточнениеПланаЗапроса
| |
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| " + ОпорныеПоляДляГруппировкиИлиУпорядочения + " | " + ОпорныеПоляДляГруппировкиИлиУпорядочения + "
@@ -25854,6 +25955,7 @@
|ГДЕ |ГДЕ
| " + ОпорныеПоляДляОтбора + " | " + ОпорныеПоляДляОтбора + "
| И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL | И КлючиДоступаКРегистрам.ДляВнешнихПользователей ЕСТЬ NULL
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| " + ОпорныеПоляДляГруппировкиИлиУпорядочения; | " + ОпорныеПоляДляГруппировкиИлиУпорядочения;
@@ -26075,6 +26177,7 @@
| Справочник.КлючиДоступа КАК СпискиВедущихКлючейДоступа | Справочник.КлючиДоступа КАК СпискиВедущихКлючейДоступа
| ГДЕ | ГДЕ
| &УсловиеОтбора) | &УсловиеОтбора)
| И &УточнениеПланаЗапроса
|ИТОГИ ПО |ИТОГИ ПО
| Список"; | Список";
@@ -26090,7 +26193,8 @@
|ИЗ |ИЗ
| Справочник.КлючиДоступа КАК СпискиВедущихКлючейДоступа | Справочник.КлючиДоступа КАК СпискиВедущихКлючейДоступа
|ГДЕ |ГДЕ
| &УсловиеОтбора"; | &УсловиеОтбора
| И &УточнениеПланаЗапроса";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбора", ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбора",
СтрЗаменить(УсловиеОтбора, "#ПроверяемоеПоле", "СпискиВедущихКлючейДоступа.Ссылка")); СтрЗаменить(УсловиеОтбора, "#ПроверяемоеПоле", "СпискиВедущихКлючейДоступа.Ссылка"));
@@ -26108,6 +26212,7 @@
|ГДЕ |ГДЕ
| ТИПЗНАЧЕНИЯ(ПраваНаКлючиДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыДоступа) | ТИПЗНАЧЕНИЯ(ПраваНаКлючиДоступа.ГруппаДоступа) = ТИП(Справочник.ГруппыДоступа)
| И &УсловиеОтбора | И &УсловиеОтбора
| И &УточнениеПланаЗапроса
|ИТОГИ ПО |ИТОГИ ПО
| КлючДоступа"; | КлючДоступа";
ИначеЕсли Не Контекст.ДляВнешнихПользователей Тогда ИначеЕсли Не Контекст.ДляВнешнихПользователей Тогда
@@ -26120,6 +26225,7 @@
| РегистрСведений.КлючиДоступаГруппДоступа КАК ПраваНаКлючиДоступа | РегистрСведений.КлючиДоступаГруппДоступа КАК ПраваНаКлючиДоступа
|ГДЕ |ГДЕ
| &УсловиеОтбора | &УсловиеОтбора
| И &УточнениеПланаЗапроса
| |
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
| |
@@ -26145,6 +26251,7 @@
| РегистрСведений.КлючиДоступаГруппДоступа КАК ПраваНаКлючиДоступа | РегистрСведений.КлючиДоступаГруппДоступа КАК ПраваНаКлючиДоступа
|ГДЕ |ГДЕ
| &УсловиеОтбора | &УсловиеОтбора
| И &УточнениеПланаЗапроса
| |
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
| |
@@ -26187,6 +26294,7 @@
| РегистрСведений.ТаблицыГруппДоступа КАК ПраваНаСписки | РегистрСведений.ТаблицыГруппДоступа КАК ПраваНаСписки
|ГДЕ |ГДЕ
| &УсловиеОтбора | &УсловиеОтбора
| И &УточнениеПланаЗапроса
|ИТОГИ ПО |ИТОГИ ПО
| Список"; | Список";
Иначе Иначе
@@ -26199,6 +26307,7 @@
| РегистрСведений.ТаблицыГруппДоступа КАК ПраваНаСписки | РегистрСведений.ТаблицыГруппДоступа КАК ПраваНаСписки
|ГДЕ |ГДЕ
| &УсловиеОтбора | &УсловиеОтбора
| И &УточнениеПланаЗапроса
|ИТОГИ ПО |ИТОГИ ПО
| Список"; | Список";
КонецЕсли; КонецЕсли;
@@ -26233,6 +26342,7 @@
| ПО НастройкиПрав.Объект = НаследованиеНастроек.Родитель | ПО НастройкиПрав.Объект = НаследованиеНастроек.Родитель
| И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньЗапрещенияЧтения) | И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньЗапрещенияЧтения)
| И (&УсловиеОтбора) | И (&УсловиеОтбора)
| И (&УточнениеПланаЗапроса)
| |
|ИНДЕКСИРОВАТЬ ПО |ИНДЕКСИРОВАТЬ ПО
| Объект | Объект
@@ -26249,6 +26359,7 @@
| И (НастройкиПрав.Таблица = &ИдентификаторТаблицыНастроекПрав) | И (НастройкиПрав.Таблица = &ИдентификаторТаблицыНастроекПрав)
| И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньЗапрещенияИзменения) | И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньЗапрещенияИзменения)
| И (&УсловиеОтбора) | И (&УсловиеОтбора)
| И (&УточнениеПланаЗапроса)
| |
|ИНДЕКСИРОВАТЬ ПО |ИНДЕКСИРОВАТЬ ПО
| Объект | Объект
@@ -26282,6 +26393,7 @@
| ПО НастройкиПрав.Объект = НаследованиеНастроек.Родитель | ПО НастройкиПрав.Объект = НаследованиеНастроек.Родитель
| И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньРазрешенияЧтения) | И (НаследованиеНастроек.УровеньИспользования < НастройкиПрав.УровеньРазрешенияЧтения)
| И (&УсловиеОтбора) | И (&УсловиеОтбора)
| И (&УточнениеПланаЗапроса)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь) | ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь)
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи)) | И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
@@ -26411,6 +26523,7 @@
| И КлючиДоступа.СоставПолей = &СоставПолей | И КлючиДоступа.СоставПолей = &СоставПолей
| И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей | И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И КлючиДоступа.Ссылка > &ПоследнийКлючДоступа | И КлючиДоступа.Ссылка > &ПоследнийКлючДоступа
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступа.Ссылка"; | КлючиДоступа.Ссылка";
@@ -26437,6 +26550,7 @@
| И КлючиДоступа.СоставПолей = &СоставПолей | И КлючиДоступа.СоставПолей = &СоставПолей
| И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей | И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И &УсловиеОтбора | И &УсловиеОтбора
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступа.Ссылка"; | КлючиДоступа.Ссылка";
@@ -26468,6 +26582,7 @@
|ГДЕ |ГДЕ
| ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок) | ТИПЗНАЧЕНИЯ(КлючиДоступаКОбъектам.Объект) = ТИП(&ТекущийСписок)
| И КлючиДоступаКОбъектам.#КлючДоступаПользователей > &ПоследнийКлючДоступа | И КлючиДоступаКОбъектам.#КлючДоступаПользователей > &ПоследнийКлючДоступа
| И &УточнениеПланаЗапроса
| |
|ИНДЕКСИРОВАТЬ ПО |ИНДЕКСИРОВАТЬ ПО
| КлючДоступа" | КлючДоступа"
@@ -26482,6 +26597,7 @@
| КлючиДоступаКРегистрам.Регистр = &Список | КлючиДоступаКРегистрам.Регистр = &Список
| И КлючиДоступаКРегистрам.ДляВнешнихПользователей = &ДляВнешнихПользователей | И КлючиДоступаКРегистрам.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И КлючиДоступаКРегистрам.КлючДоступа > &ПоследнийКлючДоступа | И КлючиДоступаКРегистрам.КлючДоступа > &ПоследнийКлючДоступа
| И &УточнениеПланаЗапроса
| |
|ИНДЕКСИРОВАТЬ ПО |ИНДЕКСИРОВАТЬ ПО
| КлючДоступа"; | КлючДоступа";
@@ -26515,6 +26631,7 @@
| ИНАЧЕ НЕ ИспользуемыеКлючиДоступа.КлючДоступа ЕСТЬ NULL | ИНАЧЕ НЕ ИспользуемыеКлючиДоступа.КлючДоступа ЕСТЬ NULL
| ИЛИ КлючиДоступа.НеИспользуетсяС < &ДатаУстаревания | ИЛИ КлючиДоступа.НеИспользуетсяС < &ДатаУстаревания
| КОНЕЦ | КОНЕЦ
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| КлючиДоступа.Ссылка"; | КлючиДоступа.Ссылка";
@@ -27238,6 +27355,7 @@
| &ТекущийСписок КАК ТекущийСписок" + ТекстСОтступом(СоединенияИПоля.Соединения, " ") + " | &ТекущийСписок КАК ТекущийСписок" + ТекстСОтступом(СоединенияИПоля.Соединения, " ") + "
|ГДЕ |ГДЕ
| ТекущийСписок.Ссылка В (&СсылкиНаОбъекты) | ТекущийСписок.Ссылка В (&СсылкиНаОбъекты)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка | ТекущаяСсылка
@@ -27249,6 +27367,8 @@
| ТекущийСписок.ТекущаяСсылка КАК ТекущаяСсылка" + ТекстСОтступом(СоединенияИПоля.Поля, " ") + " | ТекущийСписок.ТекущаяСсылка КАК ТекущаяСсылка" + ТекстСОтступом(СоединенияИПоля.Поля, " ") + "
|ИЗ |ИЗ
| ТекущийСписок КАК ТекущийСписок" + ТекстСОтступом(СоединенияИПоля.Соединения, " ") + " | ТекущийСписок КАК ТекущийСписок" + ТекстСОтступом(СоединенияИПоля.Соединения, " ") + "
|ГДЕ
| &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка, " + Контекст.ОпорныеПоля.ДляУпорядочения + " | ТекущаяСсылка, " + Контекст.ОпорныеПоля.ДляУпорядочения + "
@@ -27271,6 +27391,7 @@
| И Шапка0.СоставПолей = &СоставПолей | И Шапка0.СоставПолей = &СоставПолей
| И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей | И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И Шапка0.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И Шапка0.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка | ТекущаяСсылка
@@ -27289,6 +27410,7 @@
| И Шапка?.Ссылка.СоставПолей = &СоставПолей | И Шапка?.Ссылка.СоставПолей = &СоставПолей
| И Шапка?.Ссылка.ДляВнешнихПользователей = &ДляВнешнихПользователей | И Шапка?.Ссылка.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И Шапка?.Ссылка.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И Шапка?.Ссылка.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка | ТекущаяСсылка
@@ -27310,7 +27432,8 @@
| Шапка0.Хеш = &Хеш | Шапка0.Хеш = &Хеш
| И Шапка0.Список = &Список | И Шапка0.Список = &Список
| И Шапка0.СоставПолей = &СоставПолей | И Шапка0.СоставПолей = &СоставПолей
| И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей"; | И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И &УточнениеПланаЗапроса";
Контекст.ЧастиЗапросаСуществованияКлючейДляСравнения.Добавить(ТекстЗапроса); Контекст.ЧастиЗапросаСуществованияКлючейДляСравнения.Добавить(ТекстЗапроса);
КонецЕсли; КонецЕсли;
@@ -27340,6 +27463,7 @@
| ЛЕВОЕ СОЕДИНЕНИЕ @Справочник.КлючиДоступа КАК Шапка0 | ЛЕВОЕ СОЕДИНЕНИЕ @Справочник.КлючиДоступа КАК Шапка0
| ПО | ПО
| Шапка0.Ссылка = ПорцияКлючей.Ссылка | Шапка0.Ссылка = ПорцияКлючей.Ссылка
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| Ссылка | Ссылка
@@ -27355,6 +27479,7 @@
| ПО | ПО
| Шапка?.Ссылка = ПорцияКлючей.Ссылка | Шапка?.Ссылка = ПорцияКлючей.Ссылка
| И Шапка?.НомерСтроки = " + НомерШапки + " | И Шапка?.НомерСтроки = " + НомерШапки + "
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| Ссылка | Ссылка
@@ -27468,6 +27593,7 @@
| И КлючиДоступа.СоставПолей = &СоставПолей | И КлючиДоступа.СоставПолей = &СоставПолей
| И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей | И КлючиДоступа.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И КлючиДоступа.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И КлючиДоступа.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка"; | ТекущаяСсылка";
@@ -27484,7 +27610,8 @@
| Шапка0.Хеш = &Хеш | Шапка0.Хеш = &Хеш
| И Шапка0.Список = &Список | И Шапка0.Список = &Список
| И Шапка0.СоставПолей = &СоставПолей | И Шапка0.СоставПолей = &СоставПолей
| И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей"; | И Шапка0.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И &УточнениеПланаЗапроса";
Контекст.ЧастиЗапросаСуществованияКлючейДляСравнения.Добавить(ТекстЗапроса); Контекст.ЧастиЗапросаСуществованияКлючейДляСравнения.Добавить(ТекстЗапроса);
// Выбор значений из ключей доступа для вычисления пользователей и групп доступа, которым они разрешены. // Выбор значений из ключей доступа для вычисления пользователей и групп доступа, которым они разрешены.
@@ -27607,6 +27734,7 @@
| И ТабличнаяЧасть?.Ссылка.СоставПолей = &СоставПолей | И ТабличнаяЧасть?.Ссылка.СоставПолей = &СоставПолей
| И ТабличнаяЧасть?.Ссылка.ДляВнешнихПользователей = &ДляВнешнихПользователей | И ТабличнаяЧасть?.Ссылка.ДляВнешнихПользователей = &ДляВнешнихПользователей
| И ТабличнаяЧасть?.Ссылка.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1) | И ТабличнаяЧасть?.Ссылка.НеИспользуетсяС = ДАТАВРЕМЯ(1, 1, 1)
| И &УточнениеПланаЗапроса
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ТекущаяСсылка" + ПоляУпорядочения + " | ТекущаяСсылка" + ПоляУпорядочения + "
@@ -908,6 +908,26 @@
КонецФункции КонецФункции
Функция ТребуетсяУточнениеПланаЗапроса() Экспорт
ВидСУБД = ВидСУБД();
Возврат ВидСУБД <> "File" И ВидСУБД <> "PostgreSQL";
КонецФункции
// Только для внутреннего использования.
Функция УточнениеПланаЗапроса(Хеш, ДлинаХеша) Экспорт
Биты = Новый Массив;
Для НомерБита = 0 По ДлинаХеша - 1 Цикл
Биты.Вставить(0, ?(ПроверитьБит(Хеш, НомерБита), "Истина", "Ложь"));
КонецЦикла;
Возврат "Истина В (Истина," + СтрСоединить(Биты, ",") + ")";
КонецФункции
#КонецОбласти #КонецОбласти
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@@ -1025,6 +1045,67 @@
КонецПроцедуры КонецПроцедуры
// Для функции ТребуетсяУточнениеПланаЗапроса.
Функция ВидСУБД()
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат "File";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| NULL КАК Поле
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 1) КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Поле
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes1"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[1]""
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes_"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[\_]""";
РезультатыЗапроса = Запрос.ВыполнитьПакет();
Если РезультатыЗапроса[0].Выгрузить()[0].Поле <> 1 Тогда
Возврат "MSSQLServer";
КонецЕсли;
Если РезультатыЗапроса[1].Пустой() Тогда
Возврат "IBMDB2";
КонецЕсли;
Если РезультатыЗапроса[2].Пустой() Тогда
Возврат "PostgreSQL";
КонецЕсли;
Возврат "OracleDatabase";
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -612,9 +612,9 @@
КонецЕсли; КонецЕсли;
#Если МобильныйКлиент Тогда #Если МобильныйКлиент Тогда
SMS = Новый SMSСообщение(); Сообщение = Новый SMSСообщение();
SMS.Получатели.Добавить(НомерПолучателя); Сообщение.Получатели.Добавить(НомерПолучателя);
СредстваТелефонии.ПослатьSMS(SMS, Истина); СредстваТелефонии.ПослатьSMS(Сообщение, Истина);
Возврат; Возврат;
#КонецЕсли #КонецЕсли
@@ -1629,13 +1629,13 @@
КонецПроцедуры КонецПроцедуры
// Продолжение процедуры ДобавитьСертификатТолькоДляШифрованияИзФайла. // Продолжение процедуры ДобавитьСертификатТолькоДляШифрованияИзФайла.
Процедура ДобавитьСертификатТолькоДляШифрованияИзФайлаПослеПомещенияФайлов(ПомещенныеФайлы, Контекст) Экспорт Процедура ДобавитьСертификатТолькоДляШифрованияИзФайлаПослеПомещенияФайлов(ПомещенныйФайл, Контекст) Экспорт
Если Не ЗначениеЗаполнено(ПомещенныеФайлы) Тогда Если Не ЗначениеЗаполнено(ПомещенныйФайл) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ДобавитьСертификатТолькоДляШифрованияИзФайлаПослеПомещенияФайла(ПомещенныеФайлы[0].Хранение, Контекст); ДобавитьСертификатТолькоДляШифрованияИзФайлаПослеПомещенияФайла(ПомещенныйФайл.Хранение, Контекст);
КонецПроцедуры КонецПроцедуры
@@ -1644,8 +1644,8 @@
ПараметрыФормы = Новый Структура; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("АдресДанныхСертификата", Адрес); ПараметрыФормы.Вставить("АдресДанныхСертификата", Адрес);
ПараметрыФормы.Вставить("ЛичныйСписокПриДобавлении", Контекст.ПараметрыСоздания.ВЛичныйСписок); ПараметрыФормы.Вставить("ЛичныйСписокПриДобавлении", Контекст.ВЛичныйСписок);
ПараметрыФормы.Вставить("Организация", Контекст.ПараметрыСоздания.Организация); ПараметрыФормы.Вставить("Организация", Контекст.Организация);
Форма = ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма.ДобавлениеСертификатаДляШифрования", Форма = ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма.ДобавлениеСертификатаДляШифрования",
ПараметрыФормы); ПараметрыФормы);
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="472d6939-122a-44f5-a3d1-eed316fb0972"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5c5b2596-b925-4b9d-8938-f4708fa5882a">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value> <value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="fab44f82-e785-4005-982b-a3d4a13cb0a7"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="13f9d395-7ed2-4268-8b42-29814591f37c"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="d3b79ea3-b958-4820-b0f7-741552ea5d76"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="abed60b0-c943-49b0-bb8e-adc67f76b8d2"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="082f553d-29b1-4a54-a468-e43e867efb5f"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="abea03ad-2448-4d5a-99f2-18fbc7efa05c"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="02adc51f-00d2-4dd1-985c-a078f711b1ce"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="e4ae231f-4f31-4101-a5f3-257f6523ee8b"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fda5c45b-34a4-4dce-9a7d-2522345add04"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="5ea9c320-eb39-4130-b61c-f15f55a169a8"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="3ede5d1b-44d9-4c70-90fb-3defb7e4b16c"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="8360a77c-b844-4b4d-8e36-b45f1519a214"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="14267bb9-8e15-4a04-9ee2-bf53e6231961"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="23c5fc61-a771-466e-b6f4-6a4f5752569c"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.30</version> <version>3.0.3.36</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,a3fb56fb-5ef8-4616-b849-b8432194c85b,1,5c0890d2-4d70-4ba2-92e5-852f7299114b,"3.0.3.30","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6040,1,0,472d6939-122a-44f5-a3d1-eed316fb0972,472d6939-122a-44f5-a3d1-eed316fb0972,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-74e8-Line truncated {6,1,1,9b075218-7a4b-4438-8bbf-f8885d3907da,1,99f55623-e7d5-4100-b975-17a92c848e55,"3.0.3.36","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6040,1,0,5c5b2596-b925-4b9d-8938-f4708fa5882a,5c5b2596-b925-4b9d-8938-f4708fa5882a,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-74e8-Line truncated
@@ -612,7 +612,7 @@
Расширение = РасширенияКонфигурации.Создать(); Расширение = РасширенияКонфигурации.Создать();
Расширение.БезопасныйРежим = Ложь; Расширение.БезопасныйРежим = Ложь;
Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе = Истина; Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе = Не ОбщегоНазначения.РазделениеВключено();
Расширение.ЗащитаОтОпасныхДействий = ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений(); Расширение.ЗащитаОтОпасныхДействий = ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений();
Расширение.Записать(Данные); Расширение.Записать(Данные);
@@ -186,16 +186,16 @@
// Обнаружено действующее согласие - готовим форматированную строку. // Обнаружено действующее согласие - готовим форматированную строку.
// Пример сообщения: "У субъекта 20.03.2014 было получено согласие, которое действует до 20.03.2017". // Пример сообщения: "У субъекта 20.03.2014 было получено согласие, которое действует до 20.03.2017".
ЧастиСообщения = Новый Массив;
ЧастиСообщения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'У субъекта %1 было получено'"), Формат(Согласие.ДатаПолучения, "ДЛФ=D")) + " ");
ЧастиСообщения.Добавить(Новый ФорматированнаяСтрока(НСтр("ru = 'согласие'"), , , , ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование)));
Если ЗначениеЗаполнено(Согласие.СрокДействия) Тогда Если ЗначениеЗаполнено(Согласие.СрокДействия) Тогда
ЧастиСообщения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = ', которое действует до %1.'"), Формат(Согласие.СрокДействия, "ДЛФ=D"))); СведенияТекст = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'У субъекта %1 было получено <a href=""%2"">согласие</a>, которое действует до %3.'"),
Формат(Согласие.ДатаПолучения, "ДЛФ=D"), ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование), Формат(Согласие.СрокДействия, "ДЛФ=D"));
Иначе Иначе
ЧастиСообщения.Добавить(НСтр("ru = ', которое действует бессрочно.'")); СведенияТекст = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'У субъекта %1 было получено <a href=""%2"">согласие</a>, которое действует бессрочно.'"),
Формат(Согласие.ДатаПолучения, "ДЛФ=D"), ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование));
КонецЕсли; КонецЕсли;
Элементы.СведенияТекст.Заголовок = СведенияТекст;
Элементы.СведенияТекст.Заголовок = Новый ФорматированнаяСтрока(ЧастиСообщения);
КонецПроцедуры КонецПроцедуры
@@ -232,16 +232,17 @@
Элементы.СведенияОСогласииГруппа.Видимость = Истина; Элементы.СведенияОСогласииГруппа.Видимость = Истина;
// Пример сообщения: "У субъекта 20.03.2014 уже было получено согласие, которое действует до 20.03.2017". // Пример сообщения: "У субъекта 20.03.2014 уже было получено согласие, которое действует до 20.03.2017".
ЧастиСообщения = Новый Массив;
ЧастиСообщения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'У субъекта %1 уже было получено'"), Формат(Согласие.ДатаПолучения, "ДЛФ=D")) + " ");
ЧастиСообщения.Добавить(Новый ФорматированнаяСтрока(НСтр("ru = 'согласие'"), , , , ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование)));
Если ЗначениеЗаполнено(Согласие.СрокДействия) Тогда Если ЗначениеЗаполнено(Согласие.СрокДействия) Тогда
ЧастиСообщения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = ', которое действует до %1.'"), Формат(Согласие.СрокДействия, "ДЛФ=D"))); ПредупреждениеТекст = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'У субъекта %1 уже было получено <a href=""%2"">согласие</a>, которое действует до %3.'"),
Формат(Согласие.ДатаПолучения, "ДЛФ=D"), ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование), Формат(Согласие.СрокДействия, "ДЛФ=D"));
Иначе Иначе
ЧастиСообщения.Добавить(НСтр("ru = ', которое действует бессрочно.'")); ПредупреждениеТекст = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'У субъекта %1 уже было получено <a href=""%2"">согласие</a>, которое действует бессрочно.'"),
Формат(Согласие.ДатаПолучения, "ДЛФ=D"), ПолучитьНавигационнуюСсылку(Согласие.ДокументОснование));
КонецЕсли; КонецЕсли;
Элементы.ПредупреждениеТекст.Заголовок = Новый ФорматированнаяСтрока(ЧастиСообщения); Элементы.ПредупреждениеТекст.Заголовок = ПредупреждениеТекст;
КонецПроцедуры КонецПроцедуры
@@ -30,11 +30,15 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если МетаданныеОбъекта.РасширениеКонфигурации() <> Неопределено Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0 Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0
И (БезопасныйРежим() = Ложь Или Пользователи.ЭтоПолноправныйПользователь()) Тогда И (БезопасныйРежим() = Ложь Или Пользователи.ЭтоПолноправныйПользователь()) Тогда
УстановитьПривилегированныйРежим(Истина);
СсылкаНаИсточник = Источник.Ссылка; СсылкаНаИсточник = Источник.Ссылка;
НачатьТранзакцию(); НачатьТранзакцию();
@@ -91,6 +95,10 @@
Ссылка = Неопределено; Ссылка = Неопределено;
ЗначенияОтборовНезависимогоРегистра = Неопределено; ЗначенияОтборовНезависимогоРегистра = Неопределено;
Если МетаданныеОбъекта.РасширениеКонфигурации() <> Неопределено Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) Тогда Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) Тогда
Ссылка = ПроблемныйОбъект; Ссылка = ПроблемныйОбъект;
ИначеЕсли ОбщегоНазначения.ЭтоРегистр(МетаданныеОбъекта) Тогда ИначеЕсли ОбщегоНазначения.ЭтоРегистр(МетаданныеОбъекта) Тогда
@@ -1786,93 +1786,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name> <name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name>
<right> <right>
@@ -2509,6 +2422,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиОтправителя</name> <name>InformationRegister.НастройкиОтправителя</name>
<right> <right>
@@ -2426,45 +2426,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name> <name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name>
<right> <right>
@@ -3291,6 +3252,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиОтправителя</name> <name>InformationRegister.НастройкиОтправителя</name>
<right> <right>