3_1_4_220

This commit is contained in:
Компания 1С committed 2021-04-14 23:01:00 +03:00
1 parent 9cde442a03
commit dd626611e1
39 files changed
+1816 -697

No files matched your search

@@ -2294,6 +2294,7 @@
<enabled>true</enabled> <enabled>true</enabled>
<showTitle>auto</showTitle> <showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton> <showCloseButton>true</showCloseButton>
<conversationsRepresentation>Show</conversationsRepresentation>
<attributes> <attributes>
<name>Объект</name> <name>Объект</name>
<id>1</id> <id>1</id>
@@ -138,10 +138,41 @@
УстановленныеРасширения.Вставить("РасширенияНедоступны"); УстановленныеРасширения.Вставить("РасширенияНедоступны");
КонецЕсли; КонецЕсли;
Если ПриЗапуске Тогда
УстановитьНачальноеЗарегистрированноеСостояние(УстановленныеРасширения, УстановленныеРасширения);
КонецЕсли;
Возврат Новый ФиксированнаяСтруктура(УстановленныеРасширения); Возврат Новый ФиксированнаяСтруктура(УстановленныеРасширения);
КонецФункции КонецФункции
// Для функции ДлительныеОперации.ЗапуститьФоновоеЗаданиеСКонтекстомКлиента.
Процедура ВставитьЗарегистрированныйСоставУстановленныхРасширений(Параметры) Экспорт
РасширенияИзмененыДинамически();
УстановитьПривилегированныйРежим(Истина);
УстановленныеРасширения = ПараметрыСеанса.УстановленныеРасширения;
УстановитьПривилегированныйРежим(Ложь);
Свойства = Новый Структура;
Свойства.Вставить("ОсновныеСостояние", УстановленныеРасширения.ОсновныеЗарегистрированноеСостояние);
Свойства.Вставить("ИсправленияСостояние", УстановленныеРасширения.ИсправленияЗарегистрированноеСостояние);
Параметры.Вставить("ЗарегистрированныйСоставУстановленныхРасширений", Свойства);
КонецПроцедуры
// Для процедуры ДлительныеОперации.ВыполнитьСКонтекстомКлиента.
Процедура ВосстановитьЗарегистрированныйСоставУстановленныхРасширений(Параметры) Экспорт
Если Параметры.Свойство("ЗарегистрированныйСоставУстановленныхРасширений") Тогда
УстановитьНачальноеЗарегистрированноеСостояние(
Параметры.ЗарегистрированныйСоставУстановленныхРасширений);
КонецЕсли;
КонецПроцедуры
// Возвращает признак изменения состава расширений после запуска сеанса. // Возвращает признак изменения состава расширений после запуска сеанса.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -151,14 +182,15 @@
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Если ПараметрыСеанса.УстановленныеРасширения.Свойство("РасширенияНедоступны") Тогда
Возврат Ложь;
КонецЕсли;
УстановленныеРасширения = УстановленныеРасширения(); УстановленныеРасширения = УстановленныеРасширения();
Возврат ПараметрыСеанса.УстановленныеРасширения.ОсновныеСостояние <> УстановленныеРасширения.ОсновныеСостояние БезИзменений = ПараметрыСеанса.УстановленныеРасширения.Свойство("РасширенияНедоступны")
Или ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние <> УстановленныеРасширения.ИсправленияСостояние; Или ПараметрыСеанса.УстановленныеРасширения.ОсновныеСостояние = УстановленныеРасширения.ОсновныеСостояние
И ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние = УстановленныеРасширения.ИсправленияСостояние;
ЗарегистрироватьИзменениеУстановленныхРасширений(УстановленныеРасширения, БезИзменений);
Возврат Не БезИзменений;
КонецФункции КонецФункции
@@ -175,17 +207,24 @@
// //
Функция ДинамическиИзмененныеРасширения() Экспорт Функция ДинамическиИзмененныеРасширения() Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ПараметрыСеанса.УстановленныеРасширения.Свойство("РасширенияНедоступны") Тогда
Возврат Неопределено;
КонецЕсли;
УстановленныеРасширения = УстановленныеРасширения();
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("Расширения", Неопределено); Результат.Вставить("Расширения", Неопределено);
Результат.Вставить("Исправления", Неопределено); Результат.Вставить("Исправления", Неопределено);
УстановитьПривилегированныйРежим(Истина);
УстановленныеРасширения = УстановленныеРасширения();
БезИзменений = ПараметрыСеанса.УстановленныеРасширения.Свойство("РасширенияНедоступны")
Или ПараметрыСеанса.УстановленныеРасширения.ОсновныеСостояние = УстановленныеРасширения.ОсновныеСостояние
И ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние = УстановленныеРасширения.ИсправленияСостояние;
ЗарегистрироватьИзменениеУстановленныхРасширений(УстановленныеРасширения, БезИзменений);
Если БезИзменений Тогда
Возврат Результат;
КонецЕсли;
Если ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние <> УстановленныеРасширения.ИсправленияСостояние Тогда Если ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние <> УстановленныеРасширения.ИсправленияСостояние Тогда
Изменения = ИзмененияВСоставеРасширений(ПараметрыСеанса.УстановленныеРасширения.Исправления, УстановленныеРасширения.Исправления); Изменения = ИзмененияВСоставеРасширений(ПараметрыСеанса.УстановленныеРасширения.Исправления, УстановленныеРасширения.Исправления);
Результат.Исправления = Изменения; Результат.Исправления = Изменения;
@@ -847,7 +886,7 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ИмяИХеш = СтрРазделить(Расширение, " "); ИмяИХеш = СтрРазделить(Расширение, " ");
СоответствиеНовых.Вставить(ИмяИХеш[0], ИмяИХеш[1]); СоответствиеНовых.Вставить(ИмяИХеш[0], Расширение);
КонецЦикла; КонецЦикла;
СоответствиеТекущих = Новый Соответствие; СоответствиеТекущих = Новый Соответствие;
@@ -856,7 +895,7 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ИмяИХеш = СтрРазделить(Расширение, " "); ИмяИХеш = СтрРазделить(Расширение, " ");
СоответствиеТекущих.Вставить(ИмяИХеш[0], ИмяИХеш[1]); СоответствиеТекущих.Вставить(ИмяИХеш[0], Расширение);
КонецЦикла; КонецЦикла;
Добавлено = 0; Добавлено = 0;
@@ -885,6 +924,69 @@
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
// Для функции УстановленныеРасширения и процедуры ВосстановитьЗарегистрированныйСоставУстановленныхРасширений.
Процедура УстановитьНачальноеЗарегистрированноеСостояние(Источник, Приемник = Неопределено)
Если Приемник = Неопределено Тогда
ОбновитьЗарегистрированноеСостояниеВПараметреСеанса(Источник);
Иначе
Приемник.Вставить("ОсновныеЗарегистрированноеСостояние", Источник.ОсновныеСостояние);
Приемник.Вставить("ИсправленияЗарегистрированноеСостояние", Источник.ИсправленияСостояние);
КонецЕсли;
КонецПроцедуры
// Для функций РасширенияИзмененыДинамически и ДинамическиИзмененныеРасширения.
Процедура ЗарегистрироватьИзменениеУстановленныхРасширений(УстановленныеРасширения, БезИзменений)
Если ПараметрыСеанса.УстановленныеРасширения.ОсновныеЗарегистрированноеСостояние
= УстановленныеРасширения.ОсновныеСостояние
И ПараметрыСеанса.УстановленныеРасширения.ИсправленияЗарегистрированноеСостояние
= УстановленныеРасширения.ИсправленияСостояние Тогда
Возврат;
КонецЕсли;
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '1. Было:
|- расширения:
|""%1""
|- исправления:
|""%2""
|2. Стало:
|- расширения:
|""%3""
|- исправления:
|""%4""
|3. Новый состав, как при запуске сеанса: %5'", КодОсновногоЯзыка),
ПараметрыСеанса.УстановленныеРасширения.ОсновныеЗарегистрированноеСостояние,
ПараметрыСеанса.УстановленныеРасширения.ИсправленияЗарегистрированноеСостояние,
УстановленныеРасширения.ОсновныеСостояние,
УстановленныеРасширения.ИсправленияСостояние,
?(БезИзменений, НСтр("ru = 'Да'", КодОсновногоЯзыка), НСтр("ru = 'Нет'", КодОсновногоЯзыка)));
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Расширения конфигурации.Обнаружено изменение установленных расширений'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,,, Комментарий);
ОбновитьЗарегистрированноеСостояниеВПараметреСеанса(УстановленныеРасширения);
КонецПроцедуры
// Для процедур ЗарегистрироватьИзменениеСоставаРасширений,
// УстановитьНачальноеЗарегистрированноеСостояние.
//
Процедура ОбновитьЗарегистрированноеСостояниеВПараметреСеанса(УстановленныеРасширения)
Свойства = Новый Структура(ПараметрыСеанса.УстановленныеРасширения);
Свойства.ОсновныеЗарегистрированноеСостояние = УстановленныеРасширения.ОсновныеСостояние;
Свойства.ИсправленияЗарегистрированноеСостояние = УстановленныеРасширения.ИсправленияСостояние;
ПараметрыСеанса.УстановленныеРасширения = Новый ФиксированнаяСтруктура(Свойства);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -88,7 +88,8 @@
Процедура ПередУдалением(Отказ) Процедура ПередУдалением(Отказ)
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске
И НЕ Том.Пустая() Тогда
СвойстваФайла = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме(); СвойстваФайла = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
ЗаполнитьЗначенияСвойств(СвойстваФайла, ЭтотОбъект); ЗаполнитьЗначенияСвойств(СвойстваФайла, ЭтотОбъект);
@@ -2291,12 +2291,19 @@
&НаСервере &НаСервере
Процедура ЗаполнитьПолеПочтыДляВосстановленияПароляИзИБ() Процедура ЗаполнитьПолеПочтыДляВосстановленияПароляИзИБ()
Если ПустаяСтрока(ИмяРеквизитаСПочтойДляВосстановленияПароля) Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией"); МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
Если ПустаяСтрока(ИмяРеквизитаСПочтойДляВосстановленияПароля) ПочтаДляВосстановленияПароляИзОбъекта = Новый Структура(ИмяРеквизитаСПочтойДляВосстановленияПароля, Неопределено);
Или ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля] <> ПользовательИБАдресЭлектроннойПочты Тогда ЗаполнитьЗначенияСвойств(ПочтаДляВосстановленияПароляИзОбъекта, ЭтотОбъект);
Если ЗначениеЗаполнено(ПочтаДляВосстановленияПароляИзОбъекта[ИмяРеквизитаСПочтойДляВосстановленияПароля])
Или ПочтаДляВосстановленияПароляИзОбъекта[ИмяРеквизитаСПочтойДляВосстановленияПароля] <> ПользовательИБАдресЭлектроннойПочты Тогда
ВидEmailПользователя = МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"); ВидEmailПользователя = МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя");
ОписаниеПочты = МодульУправлениеКонтактнойИнформацией.СтрокаОписанияПочтыДляВосстановленияПароляИзДанныхФормы(ЭтотОбъект, ВидEmailПользователя, ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля]); ОписаниеПочты = МодульУправлениеКонтактнойИнформацией.СтрокаОписанияПочтыДляВосстановленияПароляИзДанныхФормы(ЭтотОбъект, ВидEmailПользователя, ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля]);
@@ -2534,108 +2534,6 @@
<contextMenu> <contextMenu>
<name>ОтчетТабличныйДокументКонтекстноеМеню</name> <name>ОтчетТабличныйДокументКонтекстноеМеню</name>
<id>8</id> <id>8</id>
<items xsi:type="form:Button">
<name>ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультат</name>
<id>168</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультатРасширеннаяПодсказка</name>
<id>169</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>520</id>
<items xsi:type="form:Button">
<name>СвернутьВсеГруппы_Контекст</name>
<id>522</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СвернутьВсеГруппы_КонтекстРасширеннаяПодсказка</name>
<id>523</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CollapseAllGroups</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>РазвернутьВсеГруппы_Контекст</name>
<id>524</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РазвернутьВсеГруппы_КонтекстРасширеннаяПодсказка</name>
<id>525</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.ExpandAllGroups</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Свернуть / Развернуть</value>
</title>
<extendedTooltip>
<name>ГруппаСвернутьРазвернутьКонтекстРасширеннаяПодсказка</name>
<id>521</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>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовка</name> <name>КонтекстноеМенюОбластиЗаголовка</name>
<id>834</id> <id>834</id>
@@ -3280,134 +3178,6 @@
<importance>Normal</importance> <importance>Normal</importance>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьСтандартныеКоманды</name>
<id>990</id>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьБуферОбмена</name>
<id>994</id>
<items xsi:type="form:Button">
<name>ОтчетТабличныйДокументКонтекстноеМенюКопироватьВБуферОбмена</name>
<id>992</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтчетТабличныйДокументКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка</name>
<id>993</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CopyToClipboard</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>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьБуферОбменаРасширеннаяПодсказка</name>
<id>995</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>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок</name>
<id>986</id>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок</name>
<id>988</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировокРасширеннаяПодсказка</name>
<id>989</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>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировокРасширеннаяПодсказка</name>
<id>987</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">
<representation>Auto</representation>
<importance>Normal</importance>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Стандартные команды</value>
</title>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьСтандартныеКомандыРасширеннаяПодсказка</name>
<id>991</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>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
@@ -3942,6 +3712,235 @@
</extendedTooltip> </extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/> <extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items> </items>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиОбщее</name>
<id>996</id>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиОбщееБуферОбмена</name>
<id>994</id>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиОбщееКопироватьВБуферОбмена</name>
<id>992</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееКопироватьВБуферОбменаРасширеннаяПодсказка</name>
<id>993</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CopyToClipboard</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>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееБуферОбменаРасширеннаяПодсказка</name>
<id>995</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>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиОбщееСвернутьРазвернуть</name>
<id>520</id>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиОбщееСвернутьВсеГруппы</name>
<id>522</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееСвернутьВсеГруппыРасширеннаяПодсказка</name>
<id>523</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CollapseAllGroups</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиОбщееРазвернутьВсеГруппы</name>
<id>524</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееРазвернутьВсеГруппыРасширеннаяПодсказка</name>
<id>525</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.ExpandAllGroups</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиОбщееМенюУровниГруппировок</name>
<id>986</id>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок</name>
<id>988</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировокРасширеннаяПодсказка</name>
<id>989</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>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееМенюУровниГруппировокРасширеннаяПодсказка</name>
<id>987</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">
<representation>Auto</representation>
<importance>Normal</importance>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Свернуть / Развернуть</value>
</title>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееСвернутьРазвернутьРасширеннаяПодсказка</name>
<id>521</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>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиОбщееСкомпоноватьРезультат</name>
<id>168</id>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееСкомпоноватьРезультатРасширеннаяПодсказка</name>
<id>169</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>
<extendedTooltip>
<name>КонтекстноеМенюОбластиОбщееРасширеннаяПодсказка</name>
<id>997</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>
</contextMenu> </contextMenu>
<type>SpreadsheetDocumentField</type> <type>SpreadsheetDocumentField</type>
<editMode>Enter</editMode> <editMode>Enter</editMode>
@@ -4850,6 +4849,7 @@
<verticalScroll>UseIfNecessary</verticalScroll> <verticalScroll>UseIfNecessary</verticalScroll>
<showTitle>auto</showTitle> <showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton> <showCloseButton>true</showCloseButton>
<conversationsRepresentation>Show</conversationsRepresentation>
<mobileDeviceCommandBarContent> <mobileDeviceCommandBarContent>
<value xsi:type="core:StringValue"> <value xsi:type="core:StringValue">
<value>СформироватьОтчет</value> <value>СформироватьОтчет</value>
@@ -536,7 +536,12 @@
&НаКлиенте &НаКлиенте
Процедура ОтчетТабличныйДокументПриАктивизации(Элемент) Процедура ОтчетТабличныйДокументПриАктивизации(Элемент)
#Если ВебКлиент Тогда
ПодключитьОбработчикОжидания("ПодготовитьКомандыКонтекстнойНастройки", 0.1, Истина); ПодключитьОбработчикОжидания("ПодготовитьКомандыКонтекстнойНастройки", 0.1, Истина);
#Иначе
ПодготовитьКомандыКонтекстнойНастройки();
#КонецЕсли
ПодключитьОбработчикОжидания("РассчитатьПоказателиДинамически", 0.2, Истина); ПодключитьОбработчикОжидания("РассчитатьПоказателиДинамически", 0.2, Истина);
КонецПроцедуры КонецПроцедуры
@@ -1022,7 +1027,7 @@
&НаКлиенте &НаКлиенте
Процедура Подключаемый_ПоказатьУровеньГруппировок(Команда) Процедура Подключаемый_ПоказатьУровеньГруппировок(Команда)
УровеньГруппировкиСтрокой = СтрЗаменить(Команда.Имя, Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя, ""); УровеньГруппировкиСтрокой = СтрЗаменить(Команда.Имя, Элементы.КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок.Имя, "");
ОписаниеЧисла = Новый ОписаниеТипов("Число"); ОписаниеЧисла = Новый ОписаниеТипов("Число");
УровеньГруппировки = ОписаниеЧисла.ПривестиЗначение(УровеньГруппировкиСтрокой); УровеньГруппировки = ОписаниеЧисла.ПривестиЗначение(УровеньГруппировкиСтрокой);
@@ -1634,7 +1639,7 @@
ИндексСтруктурыОтчета = Неопределено; ИндексСтруктурыОтчета = Неопределено;
Если ЭтоАдресВременногоХранилища(АдресИндексаСтруктурыОтчета) Тогда Если ЭтоАдресВременногоХранилища(АдресИндексаСтруктурыОтчета) Тогда
ИндексСтруктурыОтчета = ПолучитьИзВременногоХранилища(АдресИндексаСтруктурыОтчета); ИндексСтруктурыОтчета = ПолучитьИзВременногоХранилища(АдресИндексаСтруктурыОтчета); // ТаблицаЗначений
КонецЕсли; КонецЕсли;
ОчиститьМенюУровнейГруппировок(); ОчиститьМенюУровнейГруппировок();
@@ -1652,7 +1657,7 @@
&НаСервере &НаСервере
Процедура ОчиститьМенюУровнейГруппировок() Процедура ОчиститьМенюУровнейГруппировок()
Кнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы; Кнопки = Элементы.КонтекстноеМенюОбластиОбщееМенюУровниГруппировок.ПодчиненныеЭлементы;
Индекс = Кнопки.Количество() - 1; Индекс = Кнопки.Количество() - 1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
@@ -1660,7 +1665,7 @@
Кнопка = Кнопки[Индекс]; Кнопка = Кнопки[Индекс];
Индекс = Индекс - 1; Индекс = Индекс - 1;
Если Кнопка = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок Тогда Если Кнопка = Элементы.КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -1695,7 +1700,7 @@
Команда.Заголовок = Свойства.ПредставлениеУровняГруппировки; Команда.Заголовок = Свойства.ПредставлениеУровняГруппировки;
Команда.Действие = "Подключаемый_ПоказатьУровеньГруппировок"; Команда.Действие = "Подключаемый_ПоказатьУровеньГруппировок";
Кнопка = Элементы.Добавить(Свойства.ИмяКоманды, Тип("КнопкаФормы"), Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок); Кнопка = Элементы.Добавить(Свойства.ИмяКоманды, Тип("КнопкаФормы"), Элементы.КонтекстноеМенюОбластиОбщееМенюУровниГруппировок);
Кнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; Кнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
Кнопка.ИмяКоманды = Свойства.ИмяКоманды; Кнопка.ИмяКоманды = Свойства.ИмяКоманды;
Кнопка.Заголовок = Свойства.ПредставлениеУровняГруппировки; Кнопка.Заголовок = Свойства.ПредставлениеУровняГруппировки;
@@ -1723,7 +1728,7 @@
Для УровеньГруппировки = 1 По КоличествоУровнейГруппировок Цикл Для УровеньГруппировки = 1 По КоличествоУровнейГруппировок Цикл
Свойства = СвойстваМеню.Добавить(); Свойства = СвойстваМеню.Добавить();
Свойства.ИмяКоманды = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя + УровеньГруппировки; Свойства.ИмяКоманды = Элементы.КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок.Имя + УровеньГруппировки;
Свойства.УровеньГруппировки = УровеньГруппировки; Свойства.УровеньГруппировки = УровеньГруппировки;
Свойства.ПредставлениеУровняГруппировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Свойства.ПредставлениеУровняГруппировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Уровня %1'"), УровеньГруппировки); НСтр("ru = 'Уровня %1'"), УровеньГруппировки);
@@ -1763,10 +1768,10 @@
&НаСервере &НаСервере
Процедура УстановитьДоступностьМенюУровнейГруппировок() Процедура УстановитьДоступностьМенюУровнейГруппировок()
МенюЗаполнено = (Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы.Количество() > 1); МенюЗаполнено = (Элементы.КонтекстноеМенюОбластиОбщееМенюУровниГруппировок.ПодчиненныеЭлементы.Количество() > 1);
Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Видимость = Не МенюЗаполнено; Элементы.КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок.Видимость = Не МенюЗаполнено;
Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.Видимость = МенюЗаполнено; Элементы.КонтекстноеМенюОбластиОбщееМенюУровниГруппировок.Видимость = МенюЗаполнено;
КонецПроцедуры КонецПроцедуры
@@ -1792,13 +1797,13 @@
ВыбранныйУровеньГруппировок = УровеньГруппировки; ВыбранныйУровеньГруппировок = УровеньГруппировки;
Кнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы; Кнопки = Элементы.КонтекстноеМенюОбластиОбщееМенюУровниГруппировок.ПодчиненныеЭлементы;
Для Каждого Кнопка Из Кнопки Цикл Для Каждого Кнопка Из Кнопки Цикл
Кнопка.Пометка = Ложь; Кнопка.Пометка = Ложь;
КонецЦикла; КонецЦикла;
ИмяКнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя + УровеньГруппировки; ИмяКнопки = Элементы.КонтекстноеМенюОбластиОбщееПоказатьУровеньГруппировок.Имя + УровеньГруппировки;
Кнопка = Кнопки.Найти(ИмяКнопки); Кнопка = Кнопки.Найти(ИмяКнопки);
Если Кнопка <> Неопределено Тогда Если Кнопка <> Неопределено Тогда
@@ -1886,11 +1891,13 @@
КонецЕсли; КонецЕсли;
// Команды модификации Схемы. // Команды модификации Схемы.
Элементы.РедактироватьСхему.Видимость = НастройкиОтчета.РазрешеноРедактироватьСхему;
Элементы.ВосстановитьСтандартнуюСхему.Видимость = НастройкиОтчета.РазрешеноВосстанавливатьСтандартнуюСхему; Элементы.ВосстановитьСтандартнуюСхему.Видимость = НастройкиОтчета.РазрешеноВосстанавливатьСтандартнуюСхему;
Элементы.РедактироватьСхему.Видимость = НастройкиОтчета.РазрешеноРедактироватьСхему
И Не ОбщегоНазначения.РазделениеВключено(); // В модели сервиса редактирование СКД недоступна с точки зрения безопасности.
Элементы.ЗагрузитьСхему.Видимость = НастройкиОтчета.РазрешеноЗагружатьСхему Элементы.ЗагрузитьСхему.Видимость = НастройкиОтчета.РазрешеноЗагружатьСхему
// В модели сервиса загрузка произвольной СКД недоступна с точки зрения безопасности. И Не ОбщегоНазначения.РазделениеВключено(); // В модели сервиса загрузка произвольной СКД недоступна с точки зрения безопасности.
И Не ОбщегоНазначения.РазделениеВключено();
// Заголовок. // Заголовок.
ОтчетНаименованиеТекущегоВарианта = СокрЛП(ОтчетНаименованиеТекущегоВарианта); ОтчетНаименованиеТекущегоВарианта = СокрЛП(ОтчетНаименованиеТекущегоВарианта);
@@ -2624,6 +2631,8 @@
&НаКлиенте &НаКлиенте
Процедура СброситьТекущуюОбласть() Процедура СброситьТекущуюОбласть()
#Если ВебКлиент Тогда
ПолеДокумента = Элементы.ОтчетТабличныйДокумент; ПолеДокумента = Элементы.ОтчетТабличныйДокумент;
Область = ПолеДокумента.ТекущаяОбласть; Область = ПолеДокумента.ТекущаяОбласть;
@@ -2648,6 +2657,8 @@
КонецЕсли; КонецЕсли;
#КонецЕсли
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -55,6 +55,8 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
УстановитьОтключениеБезопасногоРежима(Истина);
Попытка Попытка
Соединение = Новый HTTPСоединение( Соединение = Новый HTTPСоединение(
@@ -1052,6 +1052,13 @@
КонецПроцедуры КонецПроцедуры
// Параметры:
// РезультатОтчета - ПолеФормы, РасширениеПоляФормыДляПоляТабличногоДокумента
// РазрезСвойствЗаголовков - см. СтандартныйРазрезСвойствЗаголовковОтчета
//
// Возвращаемое значение:
// СписокЗначений
//
Функция ГраницыРазделовОтчета(РезультатОтчета, РазрезСвойствЗаголовков) Функция ГраницыРазделовОтчета(РезультатОтчета, РазрезСвойствЗаголовков)
Границы = Новый СписокЗначений; Границы = Новый СписокЗначений;
@@ -1672,6 +1679,101 @@
#Область ЗначениеЯчейки #Область ЗначениеЯчейки
// Параметры:
// ПараметрыЗаполнения - Структура:
// * Значения - СписокЗначений
// * СвойстваЗаголовка - см. СтандартныеСвойстваЗаголовкаОтчета
// * Документ - ТабличныйДокумент
// * Заголовки - Соответствие
// * ГраницаРаздела - см. ГраницыРазделовОтчета
// * ДанныеРасшифровки - ДанныеРасшифровкиКомпоновкиДанных
// * КоличествоПервыхЧитаемыхСтрок - Число
// * ВыведеныВсеЗначенияРазделаОтчета - Булево
// * ДоступныеЗначения - СписокЗначений
//
// Возвращаемое значение:
// Структура:
// * Значения - СписокЗначений
// * КоличествоСтрокВРазделеОтчета - Число
// * ВыведеныВсеЗначенияРазделаОтчета - Булево
//
Функция ЗаполнитьЗначенияФильтра(ПараметрыЗаполнения) Экспорт
Значения = ПараметрыЗаполнения.Значения;
СвойстваЗаголовка = ПараметрыЗаполнения.СвойстваЗаголовка;
Документ = ПараметрыЗаполнения.Документ;
Заголовки = ПараметрыЗаполнения.Заголовки;
ГраницаРаздела = ПараметрыЗаполнения.ГраницаРаздела;
ДанныеРасшифровки = ПараметрыЗаполнения.ДанныеРасшифровки;
КоличествоПервыхЧитаемыхСтрок = ПараметрыЗаполнения.КоличествоПервыхЧитаемыхСтрок;
ВыведеныВсеЗначенияРазделаОтчета = ПараметрыЗаполнения.ВыведеныВсеЗначенияРазделаОтчета;
ДоступныеЗначения = ПараметрыЗаполнения.ДоступныеЗначения;
ДоступныеТипы = Значения.ТипЗначения;
КоличествоДоступныхТипов = ДоступныеТипы.Типы().Количество();
Индексы = Новый Соответствие;
КоличествоСтрокВРазделеОтчета = ГраницаРаздела - СвойстваЗаголовка.Низ;
Если ВыведеныВсеЗначенияРазделаОтчета Тогда
КоличествоЧитаемыхСтрок = КоличествоСтрокВРазделеОтчета;
Иначе
КоличествоЧитаемыхСтрок = Мин(КоличествоПервыхЧитаемыхСтрок + СвойстваЗаголовка.Низ, КоличествоСтрокВРазделеОтчета);
КонецЕсли;
Для НомерСтроки = СвойстваЗаголовка.Низ + 1 По Документ.ВысотаТаблицы Цикл
Если НомерСтроки > КоличествоЧитаемыхСтрок Тогда
Прервать;
КонецЕсли;
Ячейка = Документ.Область(НомерСтроки, СвойстваЗаголовка.Лево);
Если Заголовки[Ячейка.Имя] <> Неопределено
Или Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Прямоугольник
Или Не ЗначениеЗаполнено(Ячейка.Текст) Тогда
Продолжить;
КонецЕсли;
ЗначениеЯчейки = ЗначениеЯчейки(Ячейка, ДоступныеТипы, ДанныеРасшифровки);
Если Индексы[ЗначениеЯчейки.Значение] <> Неопределено
Или (КоличествоДоступныхТипов > 0
И Не ДоступныеТипы.СодержитТип(ТипЗнч(ЗначениеЯчейки.Значение))) Тогда
Продолжить;
КонецЕсли;
Индексы.Вставить(ЗначениеЯчейки.Значение, Истина);
ДоступноеЗначение = ДоступныеЗначения.НайтиПоЗначению(ЗначениеЯчейки.Значение);
Если ДоступноеЗначение = Неопределено Тогда
ЗаполнитьЗначенияСвойств(Значения.Добавить(), ЗначениеЯчейки);
Иначе
ДоступноеЗначение.Пометка = Истина;
ЗаполнитьЗначенияСвойств(Значения.Добавить(), ДоступноеЗначение);
КонецЕсли;
КонецЦикла;
ВыведеныВсеЗначенияРазделаОтчета = (КоличествоЧитаемыхСтрок = КоличествоСтрокВРазделеОтчета);
РезультатЗаполнения = Новый Структура;
РезультатЗаполнения.Вставить("Значения", Значения);
РезультатЗаполнения.Вставить("КоличествоСтрокВРазделеОтчета", КоличествоСтрокВРазделеОтчета);
РезультатЗаполнения.Вставить("ВыведеныВсеЗначенияРазделаОтчета", ВыведеныВсеЗначенияРазделаОтчета);
Возврат РезультатЗаполнения;
КонецФункции
// Параметры: // Параметры:
// Ячейка - ОбластьЯчеекТабличногоДокумента // Ячейка - ОбластьЯчеекТабличногоДокумента
// - Структура: // - Структура:
@@ -1019,6 +1019,10 @@
ВсеПараметры.Вставить("ПараметрыВыполнения", ПараметрыВыполнения); ВсеПараметры.Вставить("ПараметрыВыполнения", ПараметрыВыполнения);
ВсеПараметры.Вставить("БезопасныйРежим", БезопасныйРежим); ВсеПараметры.Вставить("БезопасныйРежим", БезопасныйРежим);
Если Не ПараметрыВыполнения.БезРасширений Тогда
Справочники.ВерсииРасширений.ВставитьЗарегистрированныйСоставУстановленныхРасширений(ВсеПараметры);
КонецЕсли;
ПараметрыПроцедурыФоновогоЗадания = Новый Массив; ПараметрыПроцедурыФоновогоЗадания = Новый Массив;
ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры); ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры);
@@ -1033,6 +1037,7 @@
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
ПараметрыСеанса.ПараметрыКлиентаНаСервере = ВсеПараметры.ПараметрыКлиентаНаСервере; ПараметрыСеанса.ПараметрыКлиентаНаСервере = ВсеПараметры.ПараметрыКлиентаНаСервере;
Справочники.ВерсииРасширений.ВосстановитьЗарегистрированныйСоставУстановленныхРасширений(ВсеПараметры);
Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений(); Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений();
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
@@ -283,7 +283,10 @@
КонецЕсли; КонецЕсли;
// Преобразование идентификатора в имя для использования в дальнейшем при установке отборе. // Преобразование идентификатора в имя для использования в дальнейшем при установке отборе.
СобытиеЖурнала.Пользователь = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(СобытиеЖурнала.Пользователь); ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(СобытиеЖурнала.Пользователь);
Если ПользовательИБ <> Неопределено Тогда
СобытиеЖурнала.Пользователь = ПользовательИБ.Имя;
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
КонецЦикла; КонецЦикла;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.4.207"; Описание.Версия = "3.1.4.220";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -76,7 +76,105 @@
КонецПроцедуры КонецПроцедуры
// См. ОбновлениеИнформационнойБазыПереопределяемый.ПослеОбновленияИнформационнойБазы. // Вызывается после завершения обновления данных ИБ.
// В зависимости от тех или иных условий можно отключить штатное открытие формы
// с описанием изменений в новой версии программы при первом входе в нее (после обновления),
// а также выполнить другие действия.
//
// Не рекомендуется выполнять в данной процедуре какую-либо обработку данных.
// Такие процедуры следует оформлять штатными обработчиками обновления, выполняемыми на каждую версию "*".
//
// Параметры:
// ПредыдущаяВерсияИБ - Строка - версия до обновления. "0.0.0.0" для "пустой" ИБ.
// ТекущаяВерсияИБ - Строка - версия после обновления. Как правило, соответствует Метаданные.Версия.
// ВыполненныеОбработчики - ДеревоЗначений - выполненные обработчики обновления с группировкой по версии.
// * НачальноеЗаполнение - Булево - если Истина, то обработчик должен срабатывать при запуске на "пустой" базе.
// * Версия - Строка - например, "2.1.3.39". Номер версии конфигурации, при переходе
// на которую должна быть выполнена процедура-обработчик обновления.
// Если указана пустая строка, то это обработчик только для начального заполнения
// (должно быть указано свойство НачальноеЗаполнение).
// * Процедура - Строка - полное имя процедуры-обработчика обновления/начального заполнения.
// Например, "ОбновлениеИнформационнойБазыУПП.ЗаполнитьНовыйРеквизит"
// Обязательно должна быть экспортной.
// * РежимВыполнения - Строка - режим выполнения обработчика обновления. Допустимые значения:
// Монопольно, Отложенно, Оперативно. Если значение не заполнено, обработчик
// считается монопольным.
// * ОбщиеДанные - Булево - если Истина, то обработчик должен срабатывать до
// выполнения любых обработчиков, использующих разделенные данные.
// Допустимо указывать только для обработчиков с режимом выполнения Монопольно и Оперативно.
// Если указать значение Истина для обработчика с режимом
// выполнения Отложенно, будет выдано исключение.
// * УправлениеОбработчиками - Булево - если Истина, то обработчик должен иметь параметр типа Структура, в котором
// есть свойство РазделенныеОбработчики - таблица значений со структурой,
// возвращаемой этой функцией.
// При этом колонка Версия игнорируется. В случае необходимости выполнения
// разделенного обработчика в данную таблицу необходимо добавить строку с
// описанием процедуры обработчика.
// Имеет смысл только для обязательных (Версия = *) обработчиков обновления
// с установленным флагом ОбщиеДанные.
// * Комментарий - Строка - описание действий, выполняемых обработчиком обновления.
// * Идентификатор - УникальныйИдентификатор - необходимо заполнять для обработчиков отложенного обновления,
// для остальных заполнение не требуется. Требуется для идентификации
// обработчика в случае его переименования.
//
// * БлокируемыеОбъекты - Строка - необходимо заполнять для обработчиков отложенного обновления,
// для остальных заполнение не требуется. Полные имена объектов через запятую,
// которые следует блокировать от изменения до завершения процедуры обработки данных.
// Если заполнено, то также требуется заполнить и свойство ПроцедураПроверки.
// * ПроцедураПроверки - Строка - необходимо заполнять для обработчиков отложенного обновления,
// для остальных заполнение не требуется. Имя функции, которая для переданного объекта
// определяет, завершена ли для него процедура обработки данных.
// Если переданный объект обработан, то следует вернуть значение Истина.
// Вызывается из процедуры ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан.
// Параметры, передаваемые в функцию:
// Параметры - см. ОбновлениеИнформационнойБазы.МетаданныеИОтборПоДанным.
// * ПроцедураЗаполненияДанныхОбновления - Строка - указывается процедура, которая регистрирует данные,
// подлежащие обновлению данным обработчиком.
// * ЗапускатьТолькоВГлавномУзле - Булево - только для обработчиков отложенного обновления с режимом выполнения Параллельно.
// Указать Истина, если обработчик обновления должен выполняться только в главном
// узле РИБ.
// * ЗапускатьИВПодчиненномУзлеРИБСФильтрами - Булево - только для обработчиков отложенного обновления с режимом
// выполнения Параллельно.
// Указать Истина, если обработчик обновления должен также выполняться в
// подчиненном узле РИБ с фильтрами.
// * ЧитаемыеОбъекты - Строка - объекты, которые обработчик обновления будет читать при обработке данных.
// * ИзменяемыеОбъекты - Строка - объекты, которые обработчик обновления будет изменять при обработке данных.
// * ПриоритетыВыполнения - ТаблицаЗначений - таблица приоритетов выполнения между отложенными обработчиками,
// изменяющими или читающими одни и те же данные. Подробнее см. в комментарии
// к функции ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика.
// * ВыполнятьВГруппеОбязательных - Булево - следует указывать, если обработчик требуется
// выполнять в одной группе с обработчиками на версии "*".
// При этом возможно менять порядок выполнения обработчика
// относительно других путем изменения приоритета.
// * Приоритет - Число - для внутреннего использования.
// * МонопольныйРежим - Неопределено
// - Булево - если указано Неопределено, то обработчик
// должен безусловно выполняться в монопольном режиме.
// Для обработчиков перехода на конкретную версию (версия <> *):
// Ложь - обработчик не требует монопольного режима для выполнения.
// Истина - обработчик требует монопольного режима для выполнения.
// Для обязательных обработчиков обновления (Версия = "*"):
// Ложь - обработчик не требует монопольного режима.
// Истина - обработчик может требовать монопольного режима для выполнения.
// В такие обработчики передается параметр типа структура
// со свойством МонопольныйРежим (типа Булево).
// При запуске обработчика в монопольном режиме передается
// значение Истина. В этом случае обработчик должен выполнить
// требуемые действия по обновлению. Изменение параметра
// в теле обработчика игнорируется.
// При запуске обработчика в немонопольном режиме передается
// значение Ложь. В этом случае обработчик не должен вносить никакие
// изменения в ИБ.
// Если в результате анализа выясняется, что обработчику требуется
// изменить данные ИБ, следует установить значение параметра в Истина
// и прекратить выполнение обработчика.
// В этом случае оперативное (немонопольное) обновление ИБ будет
// отменено и будет выдана ошибка с требованием выполнить обновление в
// монопольном режиме.
// ВыводитьОписаниеОбновлений - Булево - если установить Ложь, то не будет открыта форма
// с описанием изменений в новой версии программы. По умолчанию Истина.
// МонопольныйРежим - Булево - признак того, что обновление выполнилось в монопольном режиме.
//
Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсия, Знач ТекущаяВерсия, Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсия, Знач ТекущаяВерсия,
Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, Знач МонопольныйРежим) Экспорт Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, Знач МонопольныйРежим) Экспорт
@@ -1327,6 +1327,8 @@
Если Версия.Версия = "*" Тогда Если Версия.Версия = "*" Тогда
Сообщение = НСтр("ru = 'Выполнены обязательные процедуры обновления информационной базы.'"); Сообщение = НСтр("ru = 'Выполнены обязательные процедуры обновления информационной базы.'");
ИначеЕсли Версия.Версия = "ОтладкаОбработчика" Тогда
Сообщение = НСтр("ru = 'Выполнены отлаживаемые процедуры обновления информационной базы.'");
Иначе Иначе
Если ИтерацияОбновления.ЭтоОсновнаяКонфигурация Тогда Если ИтерацияОбновления.ЭтоОсновнаяКонфигурация Тогда
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Выполнено обновление информационной базы с версии %1 на версию %2.'"), Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Выполнено обновление информационной базы с версии %1 на версию %2.'"),
@@ -1338,7 +1340,7 @@
КонецЕсли; КонецЕсли;
ЗаписатьИнформацию(Сообщение); ЗаписатьИнформацию(Сообщение);
Если Версия.Версия <> "*" Тогда Если Версия.Версия <> "*" И Версия.Версия <> "ОтладкаОбработчика" Тогда
// Установка номера версии информационной базы. // Установка номера версии информационной базы.
УстановитьВерсиюИБ(ИдентификаторБиблиотеки, НоваяВерсияИБ, ИтерацияОбновления.ЭтоОсновнаяКонфигурация); УстановитьВерсиюИБ(ИдентификаторБиблиотеки, НоваяВерсияИБ, ИтерацияОбновления.ЭтоОсновнаяКонфигурация);
ТекущаяВерсияИБ = НоваяВерсияИБ; ТекущаяВерсияИБ = НоваяВерсияИБ;
@@ -2173,7 +2175,8 @@
// //
Функция ВесВерсии(Знач Версия) Экспорт Функция ВесВерсии(Знач Версия) Экспорт
Если Версия = "" Тогда Если Версия = ""
Или Версия = "ОтладкаОбработчика" Тогда
Возврат 0; Возврат 0;
КонецЕсли; КонецЕсли;
@@ -2712,9 +2715,7 @@
ОбработчикиПоВерсиям.Колонки.Добавить("ВерсияПорядок", Новый ОписаниеТипов("Число")); ОбработчикиПоВерсиям.Колонки.Добавить("ВерсияПорядок", Новый ОписаниеТипов("Число"));
Для Каждого СтрокаВерсия Из ОбработчикиПоВерсиям.Строки Цикл Для Каждого СтрокаВерсия Из ОбработчикиПоВерсиям.Строки Цикл
Версия = СтрокаВерсия.Версия; Версия = СтрокаВерсия.Версия;
Если Версия = "*" Тогда Если Версия = "*" Или Версия = "ОтладкаОбработчика" Или Не ЗначениеЗаполнено(Версия) Тогда
СтрокаВерсия.ВерсияПорядок = 0;
ИначеЕсли Не ЗначениеЗаполнено(Версия) Тогда
СтрокаВерсия.ВерсияПорядок = 0; СтрокаВерсия.ВерсияПорядок = 0;
Иначе Иначе
СтрокаВерсия.ВерсияПорядок = ВесВерсииИзМассиваСтрок(СтрРазделить(Версия, ".")); СтрокаВерсия.ВерсияПорядок = ВесВерсииИзМассиваСтрок(СтрРазделить(Версия, "."));
@@ -3348,6 +3349,8 @@
НомерВерсии = СтрокаВерсия.Версия; НомерВерсии = СтрокаВерсия.Версия;
Если НомерВерсии = "*" Тогда Если НомерВерсии = "*" Тогда
Результат = -1; Результат = -1;
ИначеЕсли НомерВерсии = "ОтладкаОбработчика" Тогда
Результат = 1;
Иначе Иначе
Результат = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(НомерВерсии, ПараллельноСВерсии); Результат = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(НомерВерсии, ПараллельноСВерсии);
КонецЕсли; КонецЕсли;
@@ -6525,7 +6528,8 @@
ОписаниеОшибки = НСтр("ru = 'У обработчика не заполнено свойство Версия или свойство НачальноеЗаполнение.'"); ОписаниеОшибки = НСтр("ru = 'У обработчика не заполнено свойство Версия или свойство НачальноеЗаполнение.'");
КонецЕсли; КонецЕсли;
ИначеЕсли Обработчик.Версия <> "*" Тогда ИначеЕсли Обработчик.Версия <> "*"
И Обработчик.Версия <> "ОтладкаОбработчика" Тогда
Попытка Попытка
НулеваяВерсия = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Обработчик.Версия, "0.0.0.0") = 0; НулеваяВерсия = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Обработчик.Версия, "0.0.0.0") = 0;
@@ -8095,7 +8099,9 @@
"ВЫБРАТЬ "ВЫБРАТЬ
| ОбработчикиОбновления.ИмяОбработчика КАК ИмяОбработчика, | ОбработчикиОбновления.ИмяОбработчика КАК ИмяОбработчика,
| ОбработчикиОбновления.Статус КАК Статус, | ОбработчикиОбновления.Статус КАК Статус,
| ОбработчикиОбновления.ЧислоПопыток КАК ЧислоПопыток | ОбработчикиОбновления.ЧислоПопыток КАК ЧислоПопыток,
| ОбработчикиОбновления.Многопоточный КАК Многопоточный,
| ОбработчикиОбновления.ОбрабатываемыеДанные КАК ОбрабатываемыеДанные
|ИЗ |ИЗ
| РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления | РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления
|ГДЕ |ГДЕ
@@ -723,6 +723,22 @@
УдаляемыеКоманды = РанееДобавленныеКоманды.НайтиСтроки(Новый Структура("КлючПараметровРазмещения", КлючПараметровРазмещения)); УдаляемыеКоманды = РанееДобавленныеКоманды.НайтиСтроки(Новый Структура("КлючПараметровРазмещения", КлючПараметровРазмещения));
УдалитьКоманды(Форма, УдаляемыеКоманды); УдалитьКоманды(Форма, УдаляемыеКоманды);
Для Каждого Команда Из УдаляемыеКоманды Цикл Для Каждого Команда Из УдаляемыеКоманды Цикл
КоллекцияКоманд = ПодключенныеКоманды.КомандыСПометкой;
Для Индекс = -КоллекцияКоманд.ВГраница() По 0 Цикл
КомандаПодменю = КоллекцияКоманд[-Индекс];
Если КомандаПодменю.ИмяВФорме = Команда.ИмяВФорме Тогда
КоллекцияКоманд.Удалить(-Индекс);
КонецЕсли;
КонецЦикла;
Для Каждого Подменю Из ПодключенныеКоманды.ПодменюСУсловиямиВидимости Цикл
КоллекцияКоманд = Подменю.КомандыСУсловиямиВидимости;
Для Индекс = -КоллекцияКоманд.ВГраница() По 0 Цикл
КомандаПодменю = КоллекцияКоманд[-Индекс];
Если КомандаПодменю.ИмяВФорме = Команда.ИмяВФорме Тогда
КоллекцияКоманд.Удалить(-Индекс);
КонецЕсли;
КонецЦикла;
КонецЦикла;
РанееДобавленныеКоманды.Удалить(Команда); РанееДобавленныеКоманды.Удалить(Команда);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -1343,9 +1343,20 @@
// //
Процедура ЗаполнитьМаскиНомераТелефона(СписокВыбора) Экспорт Процедура ЗаполнитьМаскиНомераТелефона(СписокВыбора) Экспорт
СписокВыбора.Добавить("+7(999) 999-99-99", СтроковыеФункции.ФорматированнаяСтрока(НСтр("ru='+7(999) 999-99-99, <span style=""color: ПоясняющийТекст""> (Пример: +7(910) 123-23-23)</span>'"))); МаскаНомера = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СписокВыбора.Добавить("##(99999) 999-99-99", СтроковыеФункции.ФорматированнаяСтрока(НСтр("ru='##(99999) 999-99-99, <span style=""color: ПоясняющийТекст""> (Пример: 8(4822) 12-34-56)</span>'"))); НСтр("ru='+7(999) 999-99-99, <span style=""color: %1""> (Пример: +7(910) 123-23-23)</span>'"),
СписокВыбора.Добавить("(999) 999-9999", СтроковыеФункции.ФорматированнаяСтрока(НСтр("ru='999999999, <span style=""color: ПоясняющийТекст""> (Пример: 9001234567)</span>'"))); "ПоясняющийТекст");
СписокВыбора.Добавить("+7(999) 999-99-99", СтроковыеФункции.ФорматированнаяСтрока(МаскаНомера));
МаскаНомера = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='##(99999) 999-99-99, <span style=""color: %1""> (Пример: 8(4822) 12-34-56)</span>'"),
"ПоясняющийТекст");
СписокВыбора.Добавить("##(99999) 999-99-99", СтроковыеФункции.ФорматированнаяСтрока(МаскаНомера));
МаскаНомера = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='999999999, <span style=""color: %1""> (Пример: 9001234567)</span>'"),
"ПоясняющийТекст");
СписокВыбора.Добавить("(999) 999-9999", СтроковыеФункции.ФорматированнаяСтрока(МаскаНомера));
КонецПроцедуры КонецПроцедуры
@@ -2585,9 +2596,11 @@
КодМуниципальногоРайона = ""; КодМуниципальногоРайона = "";
Если СтрДлина(ОКТМО) > 3 Тогда ОКТМОСтрокой = ОКТМОСтрокой(ОКТМО);
КодВторойСтупениКлассификации = Сред(ОКТМО, 3, 1); Если СтрДлина(ОКТМОСтрокой) > 3 Тогда
КодВторойСтупениКлассификации = Сред(ОКТМОСтрокой, 3, 1);
Если КодВторойСтупениКлассификации = "3" Если КодВторойСтупениКлассификации = "3"
ИЛИ ЭтоГородФедеральногоЗначения И КодВторойСтупениКлассификации = "9" Тогда ИЛИ ЭтоГородФедеральногоЗначения И КодВторойСтупениКлассификации = "9" Тогда
КодМуниципальногоРайона = "3"; КодМуниципальногоРайона = "3";
@@ -2597,11 +2610,15 @@
КодМуниципальногоРайона = "2"; КодМуниципальногоРайона = "2";
ИначеЕсли КодВторойСтупениКлассификации = "9" И НЕ ЭтоГородФедеральногоЗначения Тогда ИначеЕсли КодВторойСтупениКлассификации = "9" И НЕ ЭтоГородФедеральногоЗначения Тогда
КодМуниципальногоРайона = "4"; КодМуниципальногоРайона = "4";
ИначеЕсли КодВторойСтупениКлассификации = "8" Тогда ИначеЕсли КодВторойСтупениКлассификации = "5" Тогда
КодМуниципальногоРайона = "4"; КодМуниципальногоРайона = "4";
КонецЕсли; КонецЕсли;
Иначе КонецЕсли;
Если ЗначениеЗаполнено(КодМуниципальногоРайона) Тогда
Возврат КодМуниципальногоРайона;
КонецЕсли;
Если СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'м.р-н'")) = 0 Тогда Если СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'м.р-н'")) = 0 Тогда
КодМуниципальногоРайона = "1"; КодМуниципальногоРайона = "1";
@@ -2610,13 +2627,23 @@
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'вн.тер.'")) = 0 ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'вн.тер.'")) = 0
Или СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'вн.тер. г.'")) = 0 Тогда Или СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'вн.тер. г.'")) = 0 Тогда
КодМуниципальногоРайона = "3"; КодМуниципальногоРайона = "3";
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'мун. окр.'")) = 0 Тогда ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'мун. окр.'")) = 0
Или СтрСравнить(ТипМуниципальногоРайона, НСтр("ru = 'м.о.'")) = 0 Тогда
КодМуниципальногоРайона = "4"; КодМуниципальногоРайона = "4";
КонецЕсли; КонецЕсли;
Возврат КодМуниципальногоРайона;
КонецФункции
Функция ОКТМОСтрокой(ОКТМО)
Результат = СокрЛП(ОКТМО);
Если СтрДлина(Результат) = 7 Или СтрДлина(Результат) = 10 Тогда
Результат = "0" + Результат;
КонецЕсли; КонецЕсли;
Возврат КодМуниципальногоРайона; Возврат Результат;
КонецФункции КонецФункции
@@ -3121,7 +3121,12 @@
КонецЕсли; КонецЕсли;
ДвоичныеДанные = ЭлементДанных.ФайлХранилище.Получить(); ДвоичныеДанные = ЭлементДанных.ФайлХранилище.Получить();
Если ТипХраненияФайлов() = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда ТипХраненияФайла = ТипХраненияФайлов();
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
ТипХраненияФайла = РаботаСФайламиВТомахСлужебный.ТипХраненияФайла(ЭлементДанных.Расширение, ЭлементДанных.Размер);
КонецЕсли;
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
// По обмену пришел элемент с хранением в базе - но в базе приемнике принято хранить в томах. // По обмену пришел элемент с хранением в базе - но в базе приемнике принято хранить в томах.
// Из служебного реквизита файл размещаем на томе и меняем ТипХраненияФайла на ВТомахНаДиске. // Из служебного реквизита файл размещаем на томе и меняем ТипХраненияФайла на ВТомахНаДиске.
@@ -1183,7 +1183,7 @@
ОшибкаПредыдущегоШага = СвязиНеудаленных.Добавить(); ОшибкаПредыдущегоШага = СвязиНеудаленных.Добавить();
Если НЕ (Элемент.ТребуетсяУдаление) Тогда Если НЕ (Элемент.ТребуетсяУдаление) Тогда
ОшибкаПредыдущегоШага.УдаляемыйСсылка = Элемент.УдаляемыйСсылка; ОшибкаПредыдущегоШага.УдаляемыйСсылка = Элемент.ОбнаруженныйСсылка;
ОшибкаПредыдущегоШага.Представление = Элемент.ТекстОшибки; ОшибкаПредыдущегоШага.Представление = Элемент.ТекстОшибки;
ОшибкаПредыдущегоШага.ОбнаруженныйСсылка = Элемент.ТекстОшибки; ОшибкаПредыдущегоШага.ОбнаруженныйСсылка = Элемент.ТекстОшибки;
Иначе Иначе
@@ -35247,7 +35247,7 @@
?(СтрокиЧасти.Количество() < 3, СвойстваЧасти.СтрокаРазделителя, СтрокиЧасти[2]), ?(СтрокиЧасти.Количество() < 3, СвойстваЧасти.СтрокаРазделителя, СтрокиЧасти[2]),
ПодставитьКлючевыеСловаВСтроку(ВнутренниеДанные, ПодставитьКлючевыеСловаВСтроку(ВнутренниеДанные,
НСтр("ru = 'После ключевого слова ""%1"" нет ключевого слово ""%2""'"), НСтр("ru = 'После ключевого слова ""%1"" нет ключевого слово ""%2""'"),
"Список,Как")); "ЭтотСписок,Как"));
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -2313,8 +2313,8 @@
ИдентификаторДляФормул = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(КонтактнаяИнформацияОбъекта.Вид, "ИдентификаторДляФормул"); ИдентификаторДляФормул = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(КонтактнаяИнформацияОбъекта.Вид, "ИдентификаторДляФормул");
Если СтрСравнить(ИдентификаторДляФормул, ПараметрКонтактнойИнформации.Ключ) = 0 Тогда Если СтрСравнить(ИдентификаторДляФормул, ПараметрКонтактнойИнформации.Ключ) = 0 Тогда
Если ЗначениеЗаполнено(ПараметрыТекстаСообщения[ПараметрКонтактнойИнформации.Ключ]) Тогда Если ЗначениеЗаполнено(ПараметрОснования.Значение[ПараметрКонтактнойИнформации.Ключ]) Тогда
ПредыдущиеЗначение = ПараметрыТекстаСообщения[ПараметрКонтактнойИнформации.Ключ] +", "; ПредыдущиеЗначение = ПараметрОснования.Значение[ПараметрКонтактнойИнформации.Ключ] +", ";
Иначе Иначе
ПредыдущиеЗначение = ""; ПредыдущиеЗначение = "";
КонецЕсли; КонецЕсли;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="455a1ca6-7212-43ac-b5a2-cf85dd2f9c14"> <mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="455a1ca6-7212-43ac-b5a2-cf85dd2f9c14">
<name>КроссТаблица</name> <name>ОтчетКроссТаблица</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Кросс-таблица</value> <value>Кросс-таблица</value>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e7c366f7-c8e3-4ffe-bc5e-ca8a4619ec11"> <mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e7c366f7-c8e3-4ffe-bc5e-ca8a4619ec11">
<name>Таблица</name> <name>ОтчетТаблица</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Таблица</value> <value>Таблица</value>
@@ -691,6 +691,17 @@
</v8:item> </v8:item>
</dcsset:presentation> </dcsset:presentation>
</dcsset:item> </dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">Версия</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:string">ОтладкаОбработчика</dcsset:right>
<dcsset:presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>// Версия еще не известна, вызываются при каждом обновлении</v8:content>
</v8:item>
</dcsset:presentation>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemGroup"> <dcsset:item xsi:type="dcsset:FilterItemGroup">
<dcsset:groupType>AndGroup</dcsset:groupType> <dcsset:groupType>AndGroup</dcsset:groupType>
<dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:item xsi:type="dcsset:FilterItemComparison">
+11 -11
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="c0222860-92fb-11eb-9680-0242ac110002"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4a49dd8a-9d5b-11eb-7e8e-0242ac110002">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0222861-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="4a49dd8b-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c02228a6-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="4a49ddda-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c02228a7-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="4a49dde4-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c02228b0-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="4a49de02-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c02228b1-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="4a49de0c-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c02228ba-92fb-11eb-9680-0242ac110002"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="4a49de0d-9d5b-11eb-7e8e-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="07981975-b548-4e81-b25b-14df45a03a30"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="78046079-ef6d-4cbb-8918-78eaaee11577"/>
<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.1.4.207</version> <version>3.1.4.220</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>
@@ -281,7 +281,6 @@
<commonPictures>CommonPicture.КонтактнаяИнформация</commonPictures> <commonPictures>CommonPicture.КонтактнаяИнформация</commonPictures>
<commonPictures>CommonPicture.КонтактнаяИнформацияНеактуально</commonPictures> <commonPictures>CommonPicture.КонтактнаяИнформацияНеактуально</commonPictures>
<commonPictures>CommonPicture.КонтактнаяИнформацияПерейтиПоСсылке</commonPictures> <commonPictures>CommonPicture.КонтактнаяИнформацияПерейтиПоСсылке</commonPictures>
<commonPictures>CommonPicture.КроссТаблица</commonPictures>
<commonPictures>CommonPicture.КурсивноеНачертание</commonPictures> <commonPictures>CommonPicture.КурсивноеНачертание</commonPictures>
<commonPictures>CommonPicture.Максимум</commonPictures> <commonPictures>CommonPicture.Максимум</commonPictures>
<commonPictures>CommonPicture.МенюДополнительныеФункции</commonPictures> <commonPictures>CommonPicture.МенюДополнительныеФункции</commonPictures>
@@ -312,6 +311,8 @@
<commonPictures>CommonPicture.ОтправитьПолучитьПочту</commonPictures> <commonPictures>CommonPicture.ОтправитьПолучитьПочту</commonPictures>
<commonPictures>CommonPicture.ОтправитьЭлектронноеПисьмо</commonPictures> <commonPictures>CommonPicture.ОтправитьЭлектронноеПисьмо</commonPictures>
<commonPictures>CommonPicture.ОтсутствуетСогласие</commonPictures> <commonPictures>CommonPicture.ОтсутствуетСогласие</commonPictures>
<commonPictures>CommonPicture.ОтчетКроссТаблица</commonPictures>
<commonPictures>CommonPicture.ОтчетТаблица</commonPictures>
<commonPictures>CommonPicture.Отчеты</commonPictures> <commonPictures>CommonPicture.Отчеты</commonPictures>
<commonPictures>CommonPicture.Оформление</commonPictures> <commonPictures>CommonPicture.Оформление</commonPictures>
<commonPictures>CommonPicture.Ошибка32</commonPictures> <commonPictures>CommonPicture.Ошибка32</commonPictures>
@@ -463,7 +464,6 @@
<commonPictures>CommonPicture.Структура</commonPictures> <commonPictures>CommonPicture.Структура</commonPictures>
<commonPictures>CommonPicture.СтруктураПодчиненности</commonPictures> <commonPictures>CommonPicture.СтруктураПодчиненности</commonPictures>
<commonPictures>CommonPicture.Сумма</commonPictures> <commonPictures>CommonPicture.Сумма</commonPictures>
<commonPictures>CommonPicture.Таблица</commonPictures>
<commonPictures>CommonPicture.Телеграм16х16</commonPictures> <commonPictures>CommonPicture.Телеграм16х16</commonPictures>
<commonPictures>CommonPicture.ТелефонныйЗвонок</commonPictures> <commonPictures>CommonPicture.ТелефонныйЗвонок</commonPictures>
<commonPictures>CommonPicture.ТипБулево</commonPictures> <commonPictures>CommonPicture.ТипБулево</commonPictures>
@@ -1 +1 @@
{6,1,1,1d81e78e-92fc-11eb-b593-0242ac110002,1,061c26ae-92fc-11eb-198e-0242ac110002,"3.1.4.207","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6268,1,0,c0222860-92fb-11eb-9680-0242ac110002,c0222860-92fb-11eb-9680-0242ac110002,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated {6,1,1,a4f3b152-9d5b-11eb-628f-0242ac110002,1,8d278742-9d5b-11eb-4e8b-0242ac110002,"3.1.4.220","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6268,1,0,4a49dd8a-9d5b-11eb-7e8e-0242ac110002,4a49dd8a-9d5b-11eb-7e8e-0242ac110002,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
@@ -887,10 +887,10 @@
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
Процедура ЗарегистрироватьДействиеМестаИспользования(МестоИспользования, Действие, Параметр = Неопределено) Процедура ЗарегистрироватьДействиеМестаИспользования(РедактируемоеМестоИспользования, Действие, Параметр = Неопределено)
ДействиеПредставление = ?(Параметр = Неопределено, ДействиеПредставление = ?(Параметр = Неопределено,
ДействияМестИспользованияНеудаленных.НайтиПоЗначению(Действие), ДействияМестИспользованияНеудаленных.НайтиПоЗначению(Действие),
ПредставлениеКомандыЗаменитьНа(МестоИспользования, Параметр)); ПредставлениеКомандыЗаменитьНа(РедактируемоеМестоИспользования, Параметр));
Если Действие = Неопределено Тогда Если Действие = Неопределено Тогда
Возврат; Возврат;
@@ -899,7 +899,7 @@
Успешно = Истина; Успешно = Истина;
Если Действие = "Удалить" Тогда Если Действие = "Удалить" Тогда
Фильтр = Новый Структура("ОбнаруженныйСсылка",МестоИспользования.ОбнаруженныйСсылка); Фильтр = Новый Структура("ОбнаруженныйСсылка",РедактируемоеМестоИспользования.ОбнаруженныйСсылка);
ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр); ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр);
Если ЗарегистрированноеДействие.Количество() <> 0 Тогда Если ЗарегистрированноеДействие.Количество() <> 0 Тогда
@@ -910,42 +910,56 @@
ЗарегистрированноеДействие = ТаблицаДействий.Добавить(); ЗарегистрированноеДействие = ТаблицаДействий.Добавить();
ЗарегистрированноеДействие.Действие = Действие; ЗарегистрированноеДействие.Действие = Действие;
ЗарегистрированноеДействие.ОбнаруженныйСсылка = МестоИспользования.ОбнаруженныйСсылка; ЗарегистрированноеДействие.ОбнаруженныйСсылка = РедактируемоеМестоИспользования.ОбнаруженныйСсылка;
ЗарегистрированноеДействие.ПараметрДействия = Параметр; ЗарегистрированноеДействие.ПараметрДействия = Параметр;
ЗарегистрированноеДействие.Источник = МестоИспользования.УдаляемыйСсылка; ЗарегистрированноеДействие.Источник = РедактируемоеМестоИспользования.УдаляемыйСсылка;
ИначеЕсли Действие = "ЗаменитьСсылку" Тогда ИначеЕсли Действие = "ЗаменитьСсылку" Тогда
Фильтр = Новый Структура("ОбнаруженныйСсылка",МестоИспользования.ОбнаруженныйСсылка); Фильтр = Новый Структура("ОбнаруженныйСсылка",РедактируемоеМестоИспользования.ОбнаруженныйСсылка);
ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр); ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр);
Для каждого УдаляемоеДействие Из ЗарегистрированноеДействие Цикл Для каждого УдаляемоеДействие Из ЗарегистрированноеДействие Цикл
ТаблицаДействий.Удалить(УдаляемоеДействие); ТаблицаДействий.Удалить(УдаляемоеДействие);
КонецЦикла; КонецЦикла;
Фильтр = Новый Структура("Источник, Действие", МестоИспользования.УдаляемыйСсылка, "ЗаменитьСсылку"); Фильтр = Новый Структура("Источник, Действие", РедактируемоеМестоИспользования.УдаляемыйСсылка, "ЗаменитьСсылку");
ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр); ЗарегистрированноеДействие = ТаблицаДействий.НайтиСтроки(Фильтр);
Для каждого ИзменяемоеДействие Из ЗарегистрированноеДействие Цикл Для каждого ИзменяемоеДействие Из ЗарегистрированноеДействие Цикл
ИзменяемоеДействие.ПараметрДействия = Параметр; ИзменяемоеДействие.ПараметрДействия = Параметр;
КонецЦикла; КонецЦикла;
Если ЗарегистрированноеДействие.Количество() = 0 Тогда Если ЗарегистрированноеДействие.Количество() = 0 Тогда
ИзменяемоеДействие = ТаблицаДействий.Добавить();
ИзменяемоеДействие.Действие = Действие;
ИзменяемоеДействие.ОбнаруженныйСсылка = РедактируемоеМестоИспользования.ОбнаруженныйСсылка;
ИзменяемоеДействие.ПараметрДействия = Параметр;
ИзменяемоеДействие.Источник = РедактируемоеМестоИспользования.УдаляемыйСсылка;
КонецЕсли;
// Замена ссылки действует на все места использования, кроме удаляемых.
Для каждого МестоИспользования Из МестаИспользованияНеудаленных.ПолучитьЭлементы() Цикл
Фильтр = Новый Структура("ОбнаруженныйСсылка", МестоИспользования.ОбнаруженныйСсылка);
ТекущееДействие = ТаблицаДействий.НайтиСтроки(Фильтр);
Если ТекущееДействие.Количество() = 0 Тогда
ИзменяемоеДействие = ТаблицаДействий.Добавить(); ИзменяемоеДействие = ТаблицаДействий.Добавить();
ИзменяемоеДействие.Действие = Действие; ИзменяемоеДействие.Действие = Действие;
ИзменяемоеДействие.ОбнаруженныйСсылка = МестоИспользования.ОбнаруженныйСсылка; ИзменяемоеДействие.ОбнаруженныйСсылка = МестоИспользования.ОбнаруженныйСсылка;
ИзменяемоеДействие.ПараметрДействия = Параметр; ИзменяемоеДействие.ПараметрДействия = Параметр;
ИзменяемоеДействие.Источник = МестоИспользования.УдаляемыйСсылка; ИзменяемоеДействие.Источник = МестоИспользования.УдаляемыйСсылка;
КонецЕсли; КонецЕсли;
КонецЦикла;
Иначе Иначе
СообщениеПользователю = НСтр("ru='Для места использования %1 нельзя выбрать действие %2.'"); СообщениеПользователю = НСтр("ru='Для места использования %1 нельзя выбрать действие %2.'");
СообщениеПользователю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеПользователю, СообщениеПользователю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеПользователю,
МестоИспользования.ОбнаруженныйСсылка, РедактируемоеМестоИспользования.ОбнаруженныйСсылка,
МестоИспользования.ДействиеПредставление); РедактируемоеМестоИспользования.ДействиеПредставление);
Состояние(СообщениеПользователю); Состояние(СообщениеПользователю);
Успешно = Ложь; Успешно = Ложь;
КонецЕсли; КонецЕсли;
Если Успешно Тогда Если Успешно Тогда
МестоИспользования.Действие = Действие; РедактируемоеМестоИспользования.Действие = Действие;
МестоИспользования.ДействиеПредставление = ДействиеПредставление; РедактируемоеМестоИспользования.ДействиеПредставление = ДействиеПредставление;
КонецЕсли; КонецЕсли;
@@ -16,29 +16,93 @@ var ForWriting = 2 // Open a file for writing.
var OpenAsASCII = 0 var OpenAsASCII = 0
var outf = null var outf = null
var ConnectionString
var COMConnectorName
var fixFileNames
var removeFixNames
var Action
var outFileName
var COMConnector
var connection
var mainEvent = 'Удаление исправлений (патчей)'
try { try {
var ConnectionString = WScript.Arguments.Named.Item('ConnectionString') ConnectionString = WScript.Arguments.Named.Item('ConnectionString')
var COMConnectorName = WScript.Arguments.Named.Item('COMConnectorName') COMConnectorName = WScript.Arguments.Named.Item('COMConnectorName')
var fixFileNames = WScript.Arguments.Named.Item('FixFileNames') fixFileNames = WScript.Arguments.Named.Item('FixFileNames')
var removeFixNames = WScript.Arguments.Named.Item('RemoveFixNames') removeFixNames = WScript.Arguments.Named.Item('RemoveFixNames')
var Action = WScript.Arguments.Named.Item('Action') Action = WScript.Arguments.Named.Item('Action')
var outFileName = WScript.Arguments.Named.Item('Out') outFileName = WScript.Arguments.Named.Item('Out')
var outf = fso.OpenTextFile(outFileName, ForWriting, true, OpenAsASCII) outf = fso.OpenTextFile(outFileName, ForWriting, true, OpenAsASCII)
var COMConnector = new ActiveXObject(COMConnectorName) } catch (ex) {
var connection = COMConnector.Connect(ConnectionString)
if (outf != null) {
outf.WriteLine(mainEvent + ": Ошибка инициализации переменных: " + ex.message)
}
WScript.Quit(1)
}
try {
if (outf != null) {
outf.WriteLine(mainEvent + ": Создание объекта COM-соединителя...")
}
COMConnector = new ActiveXObject(COMConnectorName)
} catch (ex) {
if (outf != null) {
outf.WriteLine(mainEvent + ": Ошибка создания объекта COM-соединителя: " + ex.message)
}
WScript.Quit(1)
}
try {
if (outf != null) {
outf.WriteLine(mainEvent + ": Установка соединения с " + ConnectionString + "...")
}
connection = COMConnector.Connect(ConnectionString)
} catch (ex) {
if (outf != null) {
outf.WriteLine(mainEvent + ": Ошибка установки соединения с " + ConnectionString + ": " + ex.message)
}
WScript.Quit(1)
}
try {
if (Action == 'RemoveAll') { if (Action == 'RemoveAll') {
if (outf != null) {
outf.WriteLine(mainEvent + ": Вызов ОбновлениеКонфигурацииВызовСервера.УдалитьИсправленияИзСкрипта()...")
}
connection.ОбновлениеКонфигурацииВызовСервера.УдалитьИсправленияИзСкрипта(); connection.ОбновлениеКонфигурацииВызовСервера.УдалитьИсправленияИзСкрипта();
} else { } else {
if (outf != null) {
outf.WriteLine(mainEvent + ": Вызов ОбновлениеКонфигурацииВызовСервера.ОбновитьИсправленияИзСкрипта()...")
}
connection.ОбновлениеКонфигурацииВызовСервера.ОбновитьИсправленияИзСкрипта(fixFileNames, removeFixNames) connection.ОбновлениеКонфигурацииВызовСервера.ОбновитьИсправленияИзСкрипта(fixFileNames, removeFixNames)
} }
} catch (ex) { } catch (ex) {
if (outf != null) { if (outf != null) {
outf.WriteLine(ex.message) outf.WriteLine(mainEvent + ": Ошибка БСП: " + ex.message)
} }
WScript.Quit(1) WScript.Quit(1)
} }
@@ -76,6 +76,12 @@
#Область ОбработчикиСобытий #Область ОбработчикиСобытий
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровкиОбъект, СтандартнаяОбработка, АдресХранилища) Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровкиОбъект, СтандартнаяОбработка, АдресХранилища)
Если ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение НСтр("ru = 'Работа отчета в приложении в интернете не поддерживается.'");
КонецЕсли;
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
Период = НастройкиОтчета.ПараметрыДанных.Элементы.Найти("Период").Значение; // СтандартныйПериод Период = НастройкиОтчета.ПараметрыДанных.Элементы.Найти("Период").Значение; // СтандартныйПериод
@@ -11,7 +11,7 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Параметры.Пользователь) Тогда Если Не ЗначениеЗаполнено(Параметры.Пользователь) Тогда
Если УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа() Тогда Если УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа() Тогда
ВызватьИсключение ВызватьИсключение
НСтр("ru = 'Чтобы открыть отчет откройте карточку пользователя, НСтр("ru = 'Чтобы открыть отчет откройте карточку пользователя,
@@ -24,13 +24,13 @@
КонецЕсли; КонецЕсли;
Если Параметры.Пользователь <> Пользователи.АвторизованныйПользователь() Если Параметры.Пользователь <> Пользователи.АвторизованныйПользователь()
И НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда И Не Пользователи.ЭтоПолноправныйПользователь() Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для просмотра отчета.'"); ВызватьИсключение НСтр("ru = 'Недостаточно прав для просмотра отчета.'");
КонецЕсли; КонецЕсли;
Элементы.ПодробныеСведенияОПравахДоступа.Видимость = Элементы.ПодробныеСведенияОПравахДоступа.Видимость =
НЕ УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа(); Не УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа();
ВывестиОтчет(Параметры.Пользователь); ВывестиОтчет(Параметры.Пользователь);
@@ -86,7 +86,7 @@
ВывестиЗаголовокОтчета(Макет, Свойства, ПользовательИлиГруппа); ВывестиЗаголовокОтчета(Макет, Свойства, ПользовательИлиГруппа);
// Вывод свойств пользователя ИБ для пользователя и внешнего пользователя. // Вывод свойств пользователя ИБ для пользователя и внешнего пользователя.
Если НЕ ВыводПравГруппы Тогда Если Не ВыводПравГруппы Тогда
ВывестиСвойстваПользователяИБ(Макет, ПользовательИлиГруппа); ВывестиСвойстваПользователяИБ(Макет, ПользовательИлиГруппа);
КонецЕсли; КонецЕсли;
@@ -142,14 +142,14 @@
"ВЫБРАТЬ "ВЫБРАТЬ
| ПраваРолейРасширений.ОбъектМетаданных КАК ОбъектМетаданных, | ПраваРолейРасширений.ОбъектМетаданных КАК ОбъектМетаданных,
| ПраваРолейРасширений.Роль КАК Роль, | ПраваРолейРасширений.Роль КАК Роль,
| ПраваРолейРасширений.Добавление КАК Добавление, | ПраваРолейРасширений.Добавление КАК ПравоДобавление,
| ПраваРолейРасширений.Изменение КАК Изменение, | ПраваРолейРасширений.Изменение КАК ПравоИзменение,
| ПраваРолейРасширений.ЧтениеБезОграничения КАК ЧтениеБезОграничения, | ПраваРолейРасширений.ЧтениеБезОграничения КАК ПравоЧтениеБезОграничения,
| ПраваРолейРасширений.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения, | ПраваРолейРасширений.ДобавлениеБезОграничения КАК ПравоДобавлениеБезОграничения,
| ПраваРолейРасширений.ИзменениеБезОграничения КАК ИзменениеБезОграничения, | ПраваРолейРасширений.ИзменениеБезОграничения КАК ПравоИзменениеБезОграничения,
| ПраваРолейРасширений.Просмотр КАК Просмотр, | ПраваРолейРасширений.Просмотр КАК ПравоПросмотр,
| ПраваРолейРасширений.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление, | ПраваРолейРасширений.ИнтерактивноеДобавление КАК ПравоИнтерактивноеДобавление,
| ПраваРолейРасширений.Редактирование КАК Редактирование, | ПраваРолейРасширений.Редактирование КАК ПравоРедактирование,
| ПраваРолейРасширений.ВидИзмененияСтроки КАК ВидИзмененияСтроки | ПраваРолейРасширений.ВидИзмененияСтроки КАК ВидИзмененияСтроки
|ПОМЕСТИТЬ ПраваРолейРасширений |ПОМЕСТИТЬ ПраваРолейРасширений
|ИЗ |ИЗ
@@ -160,14 +160,14 @@
|ВЫБРАТЬ |ВЫБРАТЬ
| ПраваРолейРасширений.ОбъектМетаданных КАК ОбъектМетаданных, | ПраваРолейРасширений.ОбъектМетаданных КАК ОбъектМетаданных,
| ПраваРолейРасширений.Роль КАК Роль, | ПраваРолейРасширений.Роль КАК Роль,
| ПраваРолейРасширений.Добавление КАК Добавление, | ПраваРолейРасширений.ПравоДобавление КАК ПравоДобавление,
| ПраваРолейРасширений.Изменение КАК Изменение, | ПраваРолейРасширений.ПравоИзменение КАК ПравоИзменение,
| ПраваРолейРасширений.ЧтениеБезОграничения КАК ЧтениеБезОграничения, | ПраваРолейРасширений.ПравоЧтениеБезОграничения КАК ПравоЧтениеБезОграничения,
| ПраваРолейРасширений.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения, | ПраваРолейРасширений.ПравоДобавлениеБезОграничения КАК ПравоДобавлениеБезОграничения,
| ПраваРолейРасширений.ИзменениеБезОграничения КАК ИзменениеБезОграничения, | ПраваРолейРасширений.ПравоИзменениеБезОграничения КАК ПравоИзменениеБезОграничения,
| ПраваРолейРасширений.Просмотр КАК Просмотр, | ПраваРолейРасширений.ПравоПросмотр КАК ПравоПросмотр,
| ПраваРолейРасширений.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление, | ПраваРолейРасширений.ПравоИнтерактивноеДобавление КАК ПравоИнтерактивноеДобавление,
| ПраваРолейРасширений.Редактирование КАК Редактирование | ПраваРолейРасширений.ПравоРедактирование КАК ПравоРедактирование
|ПОМЕСТИТЬ ПраваРолей |ПОМЕСТИТЬ ПраваРолей
|ИЗ |ИЗ
| ПраваРолейРасширений КАК ПраваРолейРасширений | ПраваРолейРасширений КАК ПраваРолейРасширений
@@ -204,7 +204,7 @@
| НЕ ТИПЗНАЧЕНИЯ(ГруппыДоступаПользователи.Пользователь) В ( | НЕ ТИПЗНАЧЕНИЯ(ГруппыДоступаПользователи.Пользователь) В (
| ТИП(Справочник.Пользователи), | ТИП(Справочник.Пользователи),
| ТИП(Справочник.ВнешниеПользователи)) КАК ГрупповоеУчастие, | ТИП(Справочник.ВнешниеПользователи)) КАК ГрупповоеУчастие,
| ГруппыДоступа.Ответственный | ГруппыДоступа.Ответственный КАК Ответственный
|ПОМЕСТИТЬ ГруппыДоступаПользователя |ПОМЕСТИТЬ ГруппыДоступаПользователя
|ИЗ |ИЗ
| Справочник.ГруппыДоступа КАК ГруппыДоступа | Справочник.ГруппыДоступа КАК ГруппыДоступа
@@ -414,8 +414,8 @@
| ПраваРолейПрофилей.Роль.Имя КАК Роль, | ПраваРолейПрофилей.Роль.Имя КАК Роль,
| ПраваРолейПрофилей.Роль.Синоним КАК ПредставлениеРоли, | ПраваРолейПрофилей.Роль.Синоним КАК ПредставлениеРоли,
| ПраваРолейПрофилей.ВидРолей КАК ВидРолей, | ПраваРолейПрофилей.ВидРолей КАК ВидРолей,
| ПраваРолейПрофилей.ЧтениеБезОграничения КАК ЧтениеБезОграничения, | ПраваРолейПрофилей.ПравоЧтениеБезОграничения КАК ПравоЧтениеБезОграничения,
| ПраваРолейПрофилей.Просмотр КАК Просмотр, | ПраваРолейПрофилей.ПравоПросмотр КАК ПравоПросмотр,
| ПраваРолейПрофилей.ГруппаДоступа КАК ГруппаДоступа, | ПраваРолейПрофилей.ГруппаДоступа КАК ГруппаДоступа,
| ПРЕДСТАВЛЕНИЕ(ПраваРолейПрофилей.ГруппаДоступа) КАК ПредставлениеГруппыДоступа, | ПРЕДСТАВЛЕНИЕ(ПраваРолейПрофилей.ГруппаДоступа) КАК ПредставлениеГруппыДоступа,
| ПраваРолейПрофилей.ВидДоступа КАК ВидДоступа, | ПраваРолейПрофилей.ВидДоступа КАК ВидДоступа,
@@ -428,20 +428,20 @@
| ПраваРолей.ОбъектМетаданных КАК Таблица, | ПраваРолей.ОбъектМетаданных КАК Таблица,
| РолиПрофилей.Ссылка КАК Профиль, | РолиПрофилей.Ссылка КАК Профиль,
| ВЫБОР | ВЫБОР
| КОГДА ПраваРолей.Просмотр | КОГДА ПраваРолей.ПравоПросмотр
| И ПраваРолей.ЧтениеБезОграничения | И ПраваРолей.ПравоЧтениеБезОграничения
| ТОГДА 0 | ТОГДА 0
| КОГДА НЕ ПраваРолей.Просмотр | КОГДА НЕ ПраваРолей.ПравоПросмотр
| И ПраваРолей.ЧтениеБезОграничения | И ПраваРолей.ПравоЧтениеБезОграничения
| ТОГДА 1 | ТОГДА 1
| КОГДА ПраваРолей.Просмотр | КОГДА ПраваРолей.ПравоПросмотр
| И НЕ ПраваРолей.ЧтениеБезОграничения | И НЕ ПраваРолей.ПравоЧтениеБезОграничения
| ТОГДА 2 | ТОГДА 2
| ИНАЧЕ 3 | ИНАЧЕ 3
| КОНЕЦ КАК ВидРолей, | КОНЕЦ КАК ВидРолей,
| ПраваРолей.Роль КАК Роль, | ПраваРолей.Роль КАК Роль,
| ПраваРолей.ЧтениеБезОграничения КАК ЧтениеБезОграничения, | ПраваРолей.ПравоЧтениеБезОграничения КАК ПравоЧтениеБезОграничения,
| ПраваРолей.Просмотр КАК Просмотр, | ПраваРолей.ПравоПросмотр КАК ПравоПросмотр,
| НЕОПРЕДЕЛЕНО КАК ГруппаДоступа, | НЕОПРЕДЕЛЕНО КАК ГруппаДоступа,
| НЕОПРЕДЕЛЕНО КАК ВидДоступа, | НЕОПРЕДЕЛЕНО КАК ВидДоступа,
| """" КАК ПредставлениеВидаДоступа, | """" КАК ПредставлениеВидаДоступа,
@@ -487,8 +487,8 @@
| МАКСИМУМ(ПредставлениеОбъекта), | МАКСИМУМ(ПредставлениеОбъекта),
| МАКСИМУМ(ПредставлениеПрофиля), | МАКСИМУМ(ПредставлениеПрофиля),
| МАКСИМУМ(ПредставлениеРоли), | МАКСИМУМ(ПредставлениеРоли),
| МАКСИМУМ(ЧтениеБезОграничения), | МАКСИМУМ(ПравоЧтениеБезОграничения),
| МАКСИМУМ(Просмотр), | МАКСИМУМ(ПравоПросмотр),
| МАКСИМУМ(ПредставлениеГруппыДоступа), | МАКСИМУМ(ПредставлениеГруппыДоступа),
| МАКСИМУМ(ПредставлениеВидаДоступа), | МАКСИМУМ(ПредставлениеВидаДоступа),
| МАКСИМУМ(ВсеРазрешены) | МАКСИМУМ(ВсеРазрешены)
@@ -515,12 +515,12 @@
| ПраваРолейПрофилей.Роль.Имя КАК Роль, | ПраваРолейПрофилей.Роль.Имя КАК Роль,
| ПраваРолейПрофилей.Роль.Синоним КАК ПредставлениеРоли, | ПраваРолейПрофилей.Роль.Синоним КАК ПредставлениеРоли,
| ПраваРолейПрофилей.ВидРолей КАК ВидРолей, | ПраваРолейПрофилей.ВидРолей КАК ВидРолей,
| ПраваРолейПрофилей.Добавление КАК Добавление, | ПраваРолейПрофилей.ПравоДобавление КАК ПравоДобавление,
| ПраваРолейПрофилей.Изменение КАК Изменение, | ПраваРолейПрофилей.ПравоИзменение КАК ПравоИзменение,
| ПраваРолейПрофилей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения, | ПраваРолейПрофилей.ПравоДобавлениеБезОграничения КАК ПравоДобавлениеБезОграничения,
| ПраваРолейПрофилей.ИзменениеБезОграничения КАК ИзменениеБезОграничения, | ПраваРолейПрофилей.ПравоИзменениеБезОграничения КАК ПравоИзменениеБезОграничения,
| ПраваРолейПрофилей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление, | ПраваРолейПрофилей.ПравоИнтерактивноеДобавление КАК ПравоИнтерактивноеДобавление,
| ПраваРолейПрофилей.Редактирование КАК Редактирование, | ПраваРолейПрофилей.ПравоРедактирование КАК ПравоРедактирование,
| ПраваРолейПрофилей.ГруппаДоступа КАК ГруппаДоступа, | ПраваРолейПрофилей.ГруппаДоступа КАК ГруппаДоступа,
| ПРЕДСТАВЛЕНИЕ(ПраваРолейПрофилей.ГруппаДоступа) КАК ПредставлениеГруппыДоступа, | ПРЕДСТАВЛЕНИЕ(ПраваРолейПрофилей.ГруппаДоступа) КАК ПредставлениеГруппыДоступа,
| ПраваРолейПрофилей.ВидДоступа КАК ВидДоступа, | ПраваРолейПрофилей.ВидДоступа КАК ВидДоступа,
@@ -533,46 +533,46 @@
| ПраваРолей.ОбъектМетаданных КАК Таблица, | ПраваРолей.ОбъектМетаданных КАК Таблица,
| РолиПрофилей.Ссылка КАК Профиль, | РолиПрофилей.Ссылка КАК Профиль,
| ВЫБОР | ВЫБОР
| КОГДА ПраваРолей.ДобавлениеБезОграничения | КОГДА ПраваРолей.ПравоДобавлениеБезОграничения
| И ПраваРолей.ИзменениеБезОграничения | И ПраваРолей.ПравоИзменениеБезОграничения
| ТОГДА 0 | ТОГДА 0
| КОГДА НЕ ПраваРолей.ДобавлениеБезОграничения | КОГДА НЕ ПраваРолей.ПравоДобавлениеБезОграничения
| И ПраваРолей.ИзменениеБезОграничения | И ПраваРолей.ПравоИзменениеБезОграничения
| ТОГДА 100 | ТОГДА 100
| КОГДА ПраваРолей.ДобавлениеБезОграничения | КОГДА ПраваРолей.ПравоДобавлениеБезОграничения
| И НЕ ПраваРолей.ИзменениеБезОграничения | И НЕ ПраваРолей.ПравоИзменениеБезОграничения
| ТОГДА 200 | ТОГДА 200
| ИНАЧЕ 300 | ИНАЧЕ 300
| КОНЕЦ + ВЫБОР | КОНЕЦ + ВЫБОР
| КОГДА ПраваРолей.Добавление | КОГДА ПраваРолей.ПравоДобавление
| И ПраваРолей.Изменение | И ПраваРолей.ПравоИзменение
| ТОГДА 0 | ТОГДА 0
| КОГДА НЕ ПраваРолей.Добавление | КОГДА НЕ ПраваРолей.ПравоДобавление
| И ПраваРолей.Изменение | И ПраваРолей.ПравоИзменение
| ТОГДА 10 | ТОГДА 10
| КОГДА ПраваРолей.Добавление | КОГДА ПраваРолей.ПравоДобавление
| И НЕ ПраваРолей.Изменение | И НЕ ПраваРолей.ПравоИзменение
| ТОГДА 20 | ТОГДА 20
| ИНАЧЕ 30 | ИНАЧЕ 30
| КОНЕЦ + ВЫБОР | КОНЕЦ + ВЫБОР
| КОГДА ПраваРолей.ИнтерактивноеДобавление | КОГДА ПраваРолей.ПравоИнтерактивноеДобавление
| И ПраваРолей.Редактирование | И ПраваРолей.ПравоРедактирование
| ТОГДА 0 | ТОГДА 0
| КОГДА НЕ ПраваРолей.ИнтерактивноеДобавление | КОГДА НЕ ПраваРолей.ПравоИнтерактивноеДобавление
| И ПраваРолей.Редактирование | И ПраваРолей.ПравоРедактирование
| ТОГДА 1 | ТОГДА 1
| КОГДА ПраваРолей.ИнтерактивноеДобавление | КОГДА ПраваРолей.ПравоИнтерактивноеДобавление
| И НЕ ПраваРолей.Редактирование | И НЕ ПраваРолей.ПравоРедактирование
| ТОГДА 2 | ТОГДА 2
| ИНАЧЕ 3 | ИНАЧЕ 3
| КОНЕЦ КАК ВидРолей, | КОНЕЦ КАК ВидРолей,
| ПраваРолей.Роль КАК Роль, | ПраваРолей.Роль КАК Роль,
| ПраваРолей.Добавление КАК Добавление, | ПраваРолей.ПравоДобавление КАК ПравоДобавление,
| ПраваРолей.Изменение КАК Изменение, | ПраваРолей.ПравоИзменение КАК ПравоИзменение,
| ПраваРолей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения, | ПраваРолей.ПравоДобавлениеБезОграничения КАК ПравоДобавлениеБезОграничения,
| ПраваРолей.ИзменениеБезОграничения КАК ИзменениеБезОграничения, | ПраваРолей.ПравоИзменениеБезОграничения КАК ПравоИзменениеБезОграничения,
| ПраваРолей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление, | ПраваРолей.ПравоИнтерактивноеДобавление КАК ПравоИнтерактивноеДобавление,
| ПраваРолей.Редактирование КАК Редактирование, | ПраваРолей.ПравоРедактирование КАК ПравоРедактирование,
| НЕОПРЕДЕЛЕНО КАК ГруппаДоступа, | НЕОПРЕДЕЛЕНО КАК ГруппаДоступа,
| НЕОПРЕДЕЛЕНО КАК ВидДоступа, | НЕОПРЕДЕЛЕНО КАК ВидДоступа,
| """" КАК ПредставлениеВидаДоступа, | """" КАК ПредставлениеВидаДоступа,
@@ -584,8 +584,8 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя
| ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль | ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль
| ПО ПраваРолей.Роль = РолиПрофилей.Роль | ПО ПраваРолей.Роль = РолиПрофилей.Роль
| И (ПраваРолей.Добавление | И (ПраваРолей.ПравоДобавление
| ИЛИ ПраваРолей.Изменение) | ИЛИ ПраваРолей.ПравоИзменение)
| |
| ОБЪЕДИНИТЬ | ОБЪЕДИНИТЬ
| |
@@ -611,7 +611,7 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя
| ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль | ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль
| ПО ПраваРолей.Роль = РолиПрофилей.Роль | ПО ПраваРолей.Роль = РолиПрофилей.Роль
| И (ПраваРолей.Добавление) | И (ПраваРолей.ПравоДобавление)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыИЗначенияДоступа КАК ВидыИЗначенияДоступа | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыИЗначенияДоступа КАК ВидыИЗначенияДоступа
| ПО (ПрофилиПользователя.Профиль = ВидыИЗначенияДоступа.Профиль) | ПО (ПрофилиПользователя.Профиль = ВидыИЗначенияДоступа.Профиль)
| ЛЕВОЕ СОЕДИНЕНИЕ ВидыОграниченийПрав КАК ВидыОграниченийПрав | ЛЕВОЕ СОЕДИНЕНИЕ ВидыОграниченийПрав КАК ВидыОграниченийПрав
@@ -643,7 +643,7 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПрофилиПользователя КАК ПрофилиПользователя
| ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль | ПО РолиПрофилей.Ссылка = ПрофилиПользователя.Профиль
| ПО ПраваРолей.Роль = РолиПрофилей.Роль | ПО ПраваРолей.Роль = РолиПрофилей.Роль
| И (ПраваРолей.Изменение) | И (ПраваРолей.ПравоИзменение)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыИЗначенияДоступа КАК ВидыИЗначенияДоступа | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидыИЗначенияДоступа КАК ВидыИЗначенияДоступа
| ПО (ПрофилиПользователя.Профиль = ВидыИЗначенияДоступа.Профиль) | ПО (ПрофилиПользователя.Профиль = ВидыИЗначенияДоступа.Профиль)
| ЛЕВОЕ СОЕДИНЕНИЕ ВидыОграниченийПрав КАК ВидыОграниченийПрав | ЛЕВОЕ СОЕДИНЕНИЕ ВидыОграниченийПрав КАК ВидыОграниченийПрав
@@ -657,12 +657,12 @@
| МАКСИМУМ(ПредставлениеОбъекта), | МАКСИМУМ(ПредставлениеОбъекта),
| МАКСИМУМ(ПредставлениеПрофиля), | МАКСИМУМ(ПредставлениеПрофиля),
| МАКСИМУМ(ПредставлениеРоли), | МАКСИМУМ(ПредставлениеРоли),
| МАКСИМУМ(Добавление), | МАКСИМУМ(ПравоДобавление),
| МАКСИМУМ(Изменение), | МАКСИМУМ(ПравоИзменение),
| МАКСИМУМ(ДобавлениеБезОграничения), | МАКСИМУМ(ПравоДобавлениеБезОграничения),
| МАКСИМУМ(ИзменениеБезОграничения), | МАКСИМУМ(ПравоИзменениеБезОграничения),
| МАКСИМУМ(ИнтерактивноеДобавление), | МАКСИМУМ(ПравоИнтерактивноеДобавление),
| МАКСИМУМ(Редактирование), | МАКСИМУМ(ПравоРедактирование),
| МАКСИМУМ(ПредставлениеГруппыДоступа), | МАКСИМУМ(ПредставлениеГруппыДоступа),
| МАКСИМУМ(ПредставлениеВидаДоступа), | МАКСИМУМ(ПредставлениеВидаДоступа),
| МАКСИМУМ(ВсеРазрешены) | МАКСИМУМ(ВсеРазрешены)
@@ -716,7 +716,7 @@
ВладельцыНастроекПрав = ВозможныеПрава.ПоТипамСсылок; ВладельцыНастроекПрав = ВозможныеПрава.ПоТипамСсылок;
Для каждого ОписаниеВидаОбъектов Из ПраваОбъектов.Строки Цикл Для Каждого ОписаниеВидаОбъектов Из ПраваОбъектов.Строки Цикл
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаЗаголовок"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаЗаголовок");
Если УпрощенныйИнтерфейс Тогда Если УпрощенныйИнтерфейс Тогда
Область.Параметры.ПредставлениеПрофилиИлиГруппыДоступа = НСтр("ru = 'Профили'"); Область.Параметры.ПредставлениеПрофилиИлиГруппыДоступа = НСтр("ru = 'Профили'");
@@ -735,21 +735,21 @@
Область.Параметры.Заполнить(ОписаниеВидаОбъектов); Область.Параметры.Заполнить(ОписаниеВидаОбъектов);
Документ.Вывести(Область, 3); Документ.Вывести(Область, 3);
Для каждого ОписаниеОбъекта Из ОписаниеВидаОбъектов.Строки Цикл Для Каждого ОписаниеОбъекта Из ОписаниеВидаОбъектов.Строки Цикл
НачальнаяСтрокаОбластиОбъекта = Неопределено; НачальнаяСтрокаОбластиОбъекта = Неопределено;
КонечнаяСтрокаОбластиОбъекта = Неопределено; КонечнаяСтрокаОбластиОбъекта = Неопределено;
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрока"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрока");
Область.Параметры.ОткрытьФормуСписка = "ОткрытьФормуСписка: " + ОписаниеОбъекта.Таблица; Область.Параметры.ОткрытьФормуСписка = "ОткрытьФормуСписка: " + ОписаниеОбъекта.Таблица;
Если ОписаниеОбъекта.ЧтениеБезОграничения Тогда Если ОписаниеОбъекта.ПравоЧтениеБезОграничения Тогда
Если ОписаниеОбъекта.Просмотр Тогда Если ОписаниеОбъекта.ПравоПросмотр Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр, не ограничен)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр, не ограничен)'");
Иначе Иначе
УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр*, не ограничен)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр*, не ограничен)'");
КонецЕсли; КонецЕсли;
Иначе Иначе
Если ОписаниеОбъекта.Просмотр Тогда Если ОписаниеОбъекта.ПравоПросмотр Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр, ограничен)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр, ограничен)'");
Иначе Иначе
УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр*, ограничен)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(просмотр*, ограничен)'");
@@ -759,20 +759,20 @@
Область.Параметры.ПредставлениеОбъекта = Область.Параметры.ПредставлениеОбъекта =
ОписаниеОбъекта.ПредставлениеОбъекта + Символы.ПС + УточнениеПредставленияОбъекта; ОписаниеОбъекта.ПредставлениеОбъекта + Символы.ПС + УточнениеПредставленияОбъекта;
Для каждого ОписаниеПрофиля Из ОписаниеОбъекта.Строки Цикл Для Каждого ОписаниеПрофиля Из ОписаниеОбъекта.Строки Цикл
ПредставлениеРолейПрофиля = ""; ПредставлениеРолейПрофиля = "";
КоличествоРолей = 0; КоличествоРолей = 0;
ВсеРолиСОграничением = Истина; ВсеРолиСОграничением = Истина;
Для каждого ОписаниеВидаРолей Из ОписаниеПрофиля.Строки Цикл Для Каждого ОписаниеВидаРолей Из ОписаниеПрофиля.Строки Цикл
Если ОписаниеВидаРолей.ВидРолей < 1000 Тогда Если ОписаниеВидаРолей.ВидРолей < 1000 Тогда
// Описание роли с/без ограничений. // Описание роли с/без ограничений.
Для каждого ОписаниеРоли Из ОписаниеВидаРолей.Строки Цикл Для Каждого ОписаниеРоли Из ОписаниеВидаРолей.Строки Цикл
Если ОписаниеВидаРолей.ЧтениеБезОграничения Тогда Если ОписаниеВидаРолей.ПравоЧтениеБезОграничения Тогда
ВсеРолиСОграничением = Ложь; ВсеРолиСОграничением = Ложь;
КонецЕсли; КонецЕсли;
Если НЕ ПодробныеСведенияОПравахДоступа Тогда Если Не ПодробныеСведенияОПравахДоступа Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -801,7 +801,7 @@
КонецЦикла; КонецЦикла;
ИначеЕсли ОписаниеВидаРолей.Строки[0].Строки.Количество() > 0 Тогда ИначеЕсли ОписаниеВидаРолей.Строки[0].Строки.Количество() > 0 Тогда
// Описание ограничений доступа для ролей с ограничениями. // Описание ограничений доступа для ролей с ограничениями.
Для каждого ОписаниеГруппыДоступа Из ОписаниеВидаРолей.Строки[0].Строки Цикл Для Каждого ОписаниеГруппыДоступа Из ОписаниеВидаРолей.Строки[0].Строки Цикл
Индекс = ОписаниеГруппыДоступа.Строки.Количество()-1; Индекс = ОписаниеГруппыДоступа.Строки.Количество()-1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
Если ОписаниеГруппыДоступа.Строки[Индекс].ВидДоступа = Неопределено Тогда Если ОписаниеГруппыДоступа.Строки[Индекс].ВидДоступа = Неопределено Тогда
@@ -854,7 +854,7 @@
КонецЕсли; КонецЕсли;
Если ВсеРолиСОграничением Тогда Если ВсеРолиСОграничением Тогда
Если ПолучитьФункциональнуюОпцию("ОграничиватьДоступНаУровнеЗаписей") Тогда Если ПолучитьФункциональнуюОпцию("ОграничиватьДоступНаУровнеЗаписей") Тогда
Для каждого ОписаниеВидаДоступа Из ОписаниеГруппыДоступа.Строки Цикл Для Каждого ОписаниеВидаДоступа Из ОписаниеГруппыДоступа.Строки Цикл
Индекс = ОписаниеВидаДоступа.Строки.Количество()-1; Индекс = ОписаниеВидаДоступа.Строки.Количество()-1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
Если ОписаниеВидаДоступа.Строки[Индекс].ЗначениеДоступа = Неопределено Тогда Если ОписаниеВидаДоступа.Строки[Индекс].ЗначениеДоступа = Неопределено Тогда
@@ -882,7 +882,7 @@
КонечнаяСтрокаОбластиОбъекта, КонечнаяСтрокаОбластиОбъекта,
НачальнаяСтрокаОбластиГруппыДоступа); НачальнаяСтрокаОбластиГруппыДоступа);
Для каждого ОписаниеЗначенияДоступа Из ОписаниеВидаДоступа.Строки Цикл Для Каждого ОписаниеЗначенияДоступа Из ОписаниеВидаДоступа.Строки Цикл
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрокаЗначенияДоступа"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрокаЗначенияДоступа");
Область.Параметры.ПредставлениеЗначенияДоступа = ОписаниеЗначенияДоступа.ПредставлениеЗначенияДоступа; Область.Параметры.ПредставлениеЗначенияДоступа = ОписаниеЗначенияДоступа.ПредставлениеЗначенияДоступа;
@@ -963,7 +963,7 @@
Область = Макет.ПолучитьОбласть("РедактированиеОбъектовЛегенда"); Область = Макет.ПолучитьОбласть("РедактированиеОбъектовЛегенда");
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
Для каждого ОписаниеВидаОбъектов Из ПраваОбъектов.Строки Цикл Для Каждого ОписаниеВидаОбъектов Из ПраваОбъектов.Строки Цикл
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаЗаголовок"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаЗаголовок");
Если УпрощенныйИнтерфейс Тогда Если УпрощенныйИнтерфейс Тогда
Область.Параметры.ПредставлениеПрофилиИлиГруппыДоступа = НСтр("ru = 'Профили'"); Область.Параметры.ПредставлениеПрофилиИлиГруппыДоступа = НСтр("ru = 'Профили'");
@@ -984,7 +984,7 @@
ДобавлениеИспользуется = СтандартныеПодсистемыСервер.ЭтоТаблицаРегистра(ОписаниеВидаОбъектов.Таблица); ДобавлениеИспользуется = СтандартныеПодсистемыСервер.ЭтоТаблицаРегистра(ОписаниеВидаОбъектов.Таблица);
Для каждого ОписаниеОбъекта Из ОписаниеВидаОбъектов.Строки Цикл Для Каждого ОписаниеОбъекта Из ОписаниеВидаОбъектов.Строки Цикл
НачальнаяСтрокаОбластиОбъекта = Неопределено; НачальнаяСтрокаОбластиОбъекта = Неопределено;
КонечнаяСтрокаОбластиОбъекта = Неопределено; КонечнаяСтрокаОбластиОбъекта = Неопределено;
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрока"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрока");
@@ -992,105 +992,105 @@
Область.Параметры.ОткрытьФормуСписка = "ОткрытьФормуСписка: " + ОписаниеОбъекта.Таблица; Область.Параметры.ОткрытьФормуСписка = "ОткрытьФормуСписка: " + ОписаниеОбъекта.Таблица;
Если ДобавлениеИспользуется Тогда Если ДобавлениеИспользуется Тогда
Если ОписаниеОбъекта.Добавление И ОписаниеОбъекта.Изменение Тогда Если ОписаниеОбъекта.ПравоДобавление И ОписаниеОбъекта.ПравоИзменение Тогда
Если ОписаниеОбъекта.ДобавлениеБезОграничения И ОписаниеОбъекта.ИзменениеБезОграничения Тогда Если ОписаниеОбъекта.ПравоДобавлениеБезОграничения И ОписаниеОбъекта.ПравоИзменениеБезОграничения Тогда
Если ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено
|изменение, не ограничено)'"); |изменение, не ограничено)'");
ИначеЕсли НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено
|изменение, не ограничено)'"); |изменение, не ограничено)'");
ИначеЕсли ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Тогда ИначеЕсли ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено
|изменение*, не ограничено)'"); |изменение*, не ограничено)'");
Иначе // НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено
|изменение*, не ограничено)'"); |изменение*, не ограничено)'");
КонецЕсли; КонецЕсли;
ИначеЕсли НЕ ОписаниеОбъекта.ДобавлениеБезОграничения И ОписаниеОбъекта.ИзменениеБезОграничения Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоДобавлениеБезОграничения И ОписаниеОбъекта.ПравоИзменениеБезОграничения Тогда
Если ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено
|изменение, не ограничено)'"); |изменение, не ограничено)'");
ИначеЕсли НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено
|изменение, не ограничено)'"); |изменение, не ограничено)'");
ИначеЕсли ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Тогда ИначеЕсли ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено
|изменение*, не ограничено)'"); |изменение*, не ограничено)'");
Иначе // НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено
|изменение*, не ограничено)'"); |изменение*, не ограничено)'");
КонецЕсли; КонецЕсли;
ИначеЕсли ОписаниеОбъекта.ДобавлениеБезОграничения И НЕ ОписаниеОбъекта.ИзменениеБезОграничения Тогда ИначеЕсли ОписаниеОбъекта.ПравоДобавлениеБезОграничения И Не ОписаниеОбъекта.ПравоИзменениеБезОграничения Тогда
Если ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено
|изменение, ограничено)'"); |изменение, ограничено)'");
ИначеЕсли НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено
|изменение, ограничено)'"); |изменение, ограничено)'");
ИначеЕсли ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Тогда ИначеЕсли ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, не ограничено
|изменение*, ограничено)'"); |изменение*, ограничено)'");
Иначе // НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, не ограничено
|изменение*, ограничено)'"); |изменение*, ограничено)'");
КонецЕсли; КонецЕсли;
Иначе // НЕ ОписаниеОбъекта.ДобавлениеБезОграничения И НЕ ОписаниеОбъекта.ИзменениеБезОграничения Иначе // Не ОписаниеОбъекта.ПравоДобавлениеБезОграничения И Не ОписаниеОбъекта.ПравоИзменениеБезОграничения
Если ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено
|изменение, ограничено)'"); |изменение, ограничено)'");
ИначеЕсли НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И ОписаниеОбъекта.Редактирование Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено
|изменение, ограничено)'"); |изменение, ограничено)'");
ИначеЕсли ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Тогда ИначеЕсли ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление, ограничено
|изменение*, ограничено)'"); |изменение*, ограничено)'");
Иначе // НЕ ОписаниеОбъекта.ИнтерактивноеДобавление И НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоИнтерактивноеДобавление И Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено УточнениеПредставленияОбъекта = НСтр("ru = '(добавление*, ограничено
|изменение*, ограничено)'"); |изменение*, ограничено)'");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ИначеЕсли НЕ ОписаниеОбъекта.Добавление И ОписаниеОбъекта.Изменение Тогда ИначеЕсли Не ОписаниеОбъекта.ПравоДобавление И ОписаниеОбъекта.ПравоИзменение Тогда
Если ОписаниеОбъекта.ИзменениеБезОграничения Тогда Если ОписаниеОбъекта.ПравоИзменениеБезОграничения Тогда
Если ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно
|изменение, не ограничено)'"); |изменение, не ограничено)'");
Иначе // НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно
|изменение*, не ограничено)'"); |изменение*, не ограничено)'");
КонецЕсли; КонецЕсли;
Иначе // НЕ ОписаниеОбъекта.ИзменениеБезОграничения Иначе // Не ОписаниеОбъекта.ПравоИзменениеБезОграничения
Если ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно
|изменение, ограничено)'"); |изменение, ограничено)'");
Иначе // НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно
|изменение*, ограничено)'"); |изменение*, ограничено)'");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Иначе // НЕ ОписаниеОбъекта.Добавление И НЕ ОписаниеОбъекта.Изменение Иначе // Не ОписаниеОбъекта.ПравоДобавление И Не ОписаниеОбъекта.ПравоИзменение
УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно УточнениеПредставленияОбъекта = НСтр("ru = '(добавление не доступно
|изменение не доступно)'"); |изменение не доступно)'");
КонецЕсли; КонецЕсли;
Иначе Иначе
Если ОписаниеОбъекта.Изменение Тогда Если ОписаниеОбъекта.ПравоИзменение Тогда
Если ОписаниеОбъекта.ИзменениеБезОграничения Тогда Если ОписаниеОбъекта.ПравоИзменениеБезОграничения Тогда
Если ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(изменение, не ограничено)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(изменение, не ограничено)'");
Иначе // НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(изменение*, не ограничено)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(изменение*, не ограничено)'");
КонецЕсли; КонецЕсли;
Иначе Иначе
Если ОписаниеОбъекта.Редактирование Тогда Если ОписаниеОбъекта.ПравоРедактирование Тогда
УточнениеПредставленияОбъекта = НСтр("ru = '(изменение, ограничено)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(изменение, ограничено)'");
Иначе // НЕ ОписаниеОбъекта.Редактирование Иначе // Не ОписаниеОбъекта.ПравоРедактирование
УточнениеПредставленияОбъекта = НСтр("ru = '(изменение*, ограничено)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(изменение*, ограничено)'");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Иначе // НЕ ОписаниеОбъекта.Изменение Иначе // Не ОписаниеОбъекта.ПравоИзменение
УточнениеПредставленияОбъекта = НСтр("ru = '(изменение не доступно)'"); УточнениеПредставленияОбъекта = НСтр("ru = '(изменение не доступно)'");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1098,22 +1098,22 @@
Область.Параметры.ПредставлениеОбъекта = Область.Параметры.ПредставлениеОбъекта =
ОписаниеОбъекта.ПредставлениеОбъекта + Символы.ПС + УточнениеПредставленияОбъекта; ОписаниеОбъекта.ПредставлениеОбъекта + Символы.ПС + УточнениеПредставленияОбъекта;
Для каждого ОписаниеПрофиля Из ОписаниеОбъекта.Строки Цикл Для Каждого ОписаниеПрофиля Из ОписаниеОбъекта.Строки Цикл
ПредставлениеРолейПрофиля = ""; ПредставлениеРолейПрофиля = "";
КоличествоРолей = 0; КоличествоРолей = 0;
ВсеРолиСОграничением = Истина; ВсеРолиСОграничением = Истина;
Для каждого ОписаниеВидаРолей Из ОписаниеПрофиля.Строки Цикл Для Каждого ОписаниеВидаРолей Из ОписаниеПрофиля.Строки Цикл
Если ОписаниеВидаРолей.ВидРолей < 1000 Тогда Если ОписаниеВидаРолей.ВидРолей < 1000 Тогда
// Описание роли с/без ограничений. // Описание роли с/без ограничений.
Для каждого ОписаниеРоли Из ОписаниеВидаРолей.Строки Цикл Для Каждого ОписаниеРоли Из ОписаниеВидаРолей.Строки Цикл
Если ОписаниеВидаРолей.ДобавлениеБезОграничения Если ОписаниеВидаРолей.ПравоДобавлениеБезОграничения
И ОписаниеВидаРолей.ИзменениеБезОграничения Тогда И ОписаниеВидаРолей.ПравоИзменениеБезОграничения Тогда
ВсеРолиСОграничением = Ложь; ВсеРолиСОграничением = Ложь;
КонецЕсли; КонецЕсли;
Если НЕ ПодробныеСведенияОПравахДоступа Тогда Если Не ПодробныеСведенияОПравахДоступа Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -1139,7 +1139,7 @@
КонецЦикла; КонецЦикла;
ИначеЕсли ОписаниеВидаРолей.Строки[0].Строки.Количество() > 0 Тогда ИначеЕсли ОписаниеВидаРолей.Строки[0].Строки.Количество() > 0 Тогда
// Описание ограничений доступа для ролей с ограничениями. // Описание ограничений доступа для ролей с ограничениями.
Для каждого ОписаниеГруппыДоступа Из ОписаниеВидаРолей.Строки[0].Строки Цикл Для Каждого ОписаниеГруппыДоступа Из ОписаниеВидаРолей.Строки[0].Строки Цикл
Индекс = ОписаниеГруппыДоступа.Строки.Количество()-1; Индекс = ОписаниеГруппыДоступа.Строки.Количество()-1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
Если ОписаниеГруппыДоступа.Строки[Индекс].ВидДоступа = Неопределено Тогда Если ОписаниеГруппыДоступа.Строки[Индекс].ВидДоступа = Неопределено Тогда
@@ -1187,7 +1187,7 @@
КонецЕсли; КонецЕсли;
Если ВсеРолиСОграничением Тогда Если ВсеРолиСОграничением Тогда
Если ПолучитьФункциональнуюОпцию("ОграничиватьДоступНаУровнеЗаписей") Тогда Если ПолучитьФункциональнуюОпцию("ОграничиватьДоступНаУровнеЗаписей") Тогда
Для каждого ОписаниеВидаДоступа Из ОписаниеГруппыДоступа.Строки Цикл Для Каждого ОписаниеВидаДоступа Из ОписаниеГруппыДоступа.Строки Цикл
Индекс = ОписаниеВидаДоступа.Строки.Количество()-1; Индекс = ОписаниеВидаДоступа.Строки.Количество()-1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
Если ОписаниеВидаДоступа.Строки[Индекс].ЗначениеДоступа = Неопределено Тогда Если ОписаниеВидаДоступа.Строки[Индекс].ЗначениеДоступа = Неопределено Тогда
@@ -1213,7 +1213,7 @@
КонечнаяСтрокаОбластиОбъекта, КонечнаяСтрокаОбластиОбъекта,
НачальнаяСтрокаОбластиГруппыДоступа); НачальнаяСтрокаОбластиГруппыДоступа);
Для каждого ОписаниеЗначенияДоступа Из ОписаниеВидаДоступа.Строки Цикл Для Каждого ОписаниеЗначенияДоступа Из ОписаниеВидаДоступа.Строки Цикл
Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрокаЗначенияДоступа"); Область = Макет.ПолучитьОбласть("ПраваОбъектовТаблицаСтрокаЗначенияДоступа");
Область.Параметры.ПредставлениеЗначенияДоступа = ОписаниеЗначенияДоступа.ПредставлениеЗначенияДоступа; Область.Параметры.ПредставлениеЗначенияДоступа = ОписаниеЗначенияДоступа.ПредставлениеЗначенияДоступа;
Область.Параметры.ЗначениеДоступа = ОписаниеЗначенияДоступа.ЗначениеДоступа; Область.Параметры.ЗначениеДоступа = ОписаниеЗначенияДоступа.ЗначениеДоступа;
@@ -1281,14 +1281,14 @@
НастройкиПрав.Колонки.Добавить("ПредставлениеВидаОбъектов"); НастройкиПрав.Колонки.Добавить("ПредставлениеВидаОбъектов");
НастройкиПрав.Колонки.Добавить("ПолноеНаименование"); НастройкиПрав.Колонки.Добавить("ПолноеНаименование");
Для каждого ОписаниеТипаОбъектов Из НастройкиПрав.Строки Цикл Для Каждого ОписаниеТипаОбъектов Из НастройкиПрав.Строки Цикл
МетаданныеТипа = Метаданные.НайтиПоТипу(ОписаниеТипаОбъектов.ТипОбъектов); МетаданныеТипа = Метаданные.НайтиПоТипу(ОписаниеТипаОбъектов.ТипОбъектов);
ОписаниеТипаОбъектов.ТипОбъектовПолноеИмя = МетаданныеТипа.ПолноеИмя(); ОписаниеТипаОбъектов.ТипОбъектовПолноеИмя = МетаданныеТипа.ПолноеИмя();
ОписаниеТипаОбъектов.ПредставлениеВидаОбъектов = МетаданныеТипа.Представление(); ОписаниеТипаОбъектов.ПредставлениеВидаОбъектов = МетаданныеТипа.Представление();
КонецЦикла; КонецЦикла;
НастройкиПрав.Строки.Сортировать("ПредставлениеВидаОбъектов Возр"); НастройкиПрав.Строки.Сортировать("ПредставлениеВидаОбъектов Возр");
Для каждого ОписаниеТипаОбъектов Из НастройкиПрав.Строки Цикл Для Каждого ОписаниеТипаОбъектов Из НастройкиПрав.Строки Цикл
ОписаниеПрав = ВозможныеПрава.ПоТипамСсылок.Получить(ОписаниеТипаОбъектов.ТипОбъектов); ОписаниеПрав = ВозможныеПрава.ПоТипамСсылок.Получить(ОписаниеТипаОбъектов.ТипОбъектов);
@@ -1298,7 +1298,7 @@
КорневыеЭлементыТипаОбъектов = КорневыеЭлементыТипаОбъектов(ОписаниеТипаОбъектов.ТипОбъектов); КорневыеЭлементыТипаОбъектов = КорневыеЭлементыТипаОбъектов(ОписаниеТипаОбъектов.ТипОбъектов);
КонецЕсли; КонецЕсли;
Для каждого ОписаниеОбъекта Из ОписаниеТипаОбъектов.Строки Цикл Для Каждого ОписаниеОбъекта Из ОписаниеТипаОбъектов.Строки Цикл
ОписаниеОбъекта.ПолноеНаименование = ОписаниеОбъекта.Объект.ПолноеНаименование(); ОписаниеОбъекта.ПолноеНаименование = ОписаниеОбъекта.Объект.ПолноеНаименование();
КонецЦикла; КонецЦикла;
ОписаниеТипаОбъектов.Строки.Сортировать("ПолноеНаименование Возр"); ОписаниеТипаОбъектов.Строки.Сортировать("ПолноеНаименование Возр");
@@ -1339,7 +1339,7 @@
// Подготовка макета строки // Подготовка макета строки
МакетШапки = Новый ТабличныйДокумент; МакетШапки = Новый ТабличныйДокумент;
МакетСтроки = Новый ТабличныйДокумент; МакетСтроки = Новый ТабличныйДокумент;
ВывестиГруппыПользователя = ОписаниеТипаОбъектов.ГрупповоеУчастие И НЕ ВыводПравГруппы; ВывестиГруппыПользователя = ОписаниеТипаОбъектов.ГрупповоеУчастие И Не ВыводПравГруппы;
КоличествоКолонок = ОписаниеПрав.Количество() + ?(ВывестиГруппыПользователя, 2, 1); КоличествоКолонок = ОписаниеПрав.Количество() + ?(ВывестиГруппыПользователя, 2, 1);
Для НомерКолонки = 1 По КоличествоКолонок Цикл Для НомерКолонки = 1 По КоличествоКолонок Цикл
@@ -1387,7 +1387,7 @@
ТекстНет = НСтр("ru = 'Нет'"); ТекстНет = НСтр("ru = 'Нет'");
// Вывод строк таблицы // Вывод строк таблицы
Для каждого ОписаниеОбъекта Из ОписаниеТипаОбъектов.Строки Цикл Для Каждого ОписаниеОбъекта Из ОписаниеТипаОбъектов.Строки Цикл
Если КорневыеЭлементыТипаОбъектов = Неопределено Если КорневыеЭлементыТипаОбъектов = Неопределено
ИЛИ КорневыеЭлементыТипаОбъектов.Получить(ОписаниеОбъекта.Объект) <> Неопределено Тогда ИЛИ КорневыеЭлементыТипаОбъектов.Получить(ОписаниеОбъекта.Объект) <> Неопределено Тогда
@@ -1401,7 +1401,7 @@
Область.Параметры.Заполнить(ОписаниеОбъекта); Область.Параметры.Заполнить(ОписаниеОбъекта);
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
Для каждого ОписаниеПользователя Из ОписаниеОбъекта.Строки Цикл Для Каждого ОписаниеПользователя Из ОписаниеОбъекта.Строки Цикл
Для НомерОбластиПрава = 1 По КоличествоКолонок Цикл Для НомерОбластиПрава = 1 По КоличествоКолонок Цикл
НомерЯчейки = "R1C" + Формат(НомерОбластиПрава, "ЧГ="); НомерЯчейки = "R1C" + Формат(НомерОбластиПрава, "ЧГ=");
@@ -1414,7 +1414,7 @@
КонецЕсли; КонецЕсли;
ПраваВладельца = ВозможныеПрава.ПоТипам.Получить(ОписаниеТипаОбъектов.ТипОбъектов); ПраваВладельца = ВозможныеПрава.ПоТипам.Получить(ОписаниеТипаОбъектов.ТипОбъектов);
Для каждого ОписаниеТекущегоПрава Из ОписаниеПользователя.Строки Цикл Для Каждого ОписаниеТекущегоПрава Из ОписаниеПользователя.Строки Цикл
ПравоВладельца = ПраваВладельца.Получить(ОписаниеТекущегоПрава.Право); ПравоВладельца = ПраваВладельца.Получить(ОписаниеТекущегоПрава.Право);
Если ПравоВладельца <> Неопределено Тогда Если ПравоВладельца <> Неопределено Тогда
НомерОбластиПрава = ПравоВладельца.ИндексПрава + Смещение; НомерОбластиПрава = ПравоВладельца.ИндексПрава + Смещение;
@@ -1499,7 +1499,7 @@
Область.Параметры.РежимЗапускаПредставление = Область.Параметры.РежимЗапускаПредставление =
ПредставлениеРежимаЗапуска(СвойстваПользователяИБ.РежимЗапуска); ПредставлениеРежимаЗапуска(СвойстваПользователяИБ.РежимЗапуска);
Если НЕ ЗначениеЗаполнено(СвойстваПользователяИБ.ПользовательОС) Тогда Если Не ЗначениеЗаполнено(СвойстваПользователяИБ.ПользовательОС) Тогда
Область.Параметры.ПользовательОС = НСтр("ru = 'Не указан'"); Область.Параметры.ПользовательОС = НСтр("ru = 'Не указан'");
КонецЕсли; КонецЕсли;
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
@@ -1557,8 +1557,8 @@
Документ.Вывести(Область, 1); Документ.Вывести(Область, 1);
Документ.Вывести(ОбластьОтступ, 2); Документ.Вывести(ОбластьОтступ, 2);
Для каждого ОписаниеГруппыДоступа Из ОписанияГруппДоступа Цикл Для Каждого ОписаниеГруппыДоступа Из ОписанияГруппДоступа Цикл
Если НЕ ОднаПерсональнаяГруппа Тогда Если Не ОднаПерсональнаяГруппа Тогда
Область = Макет.ПолучитьОбласть("ГруппаДоступаГруппировка"); Область = Макет.ПолучитьОбласть("ГруппаДоступаГруппировка");
Область.Параметры.Заполнить(ОписаниеГруппыДоступа); Область.Параметры.Заполнить(ОписаниеГруппыДоступа);
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
@@ -1583,7 +1583,7 @@
"ГруппаДоступаДеталиПользовательВходитВГруппуКакУчастникГруппПользователей"); "ГруппаДоступаДеталиПользовательВходитВГруппуКакУчастникГруппПользователей");
Документ.Вывести(Область, 3); Документ.Вывести(Область, 3);
Для каждого ОписаниеГруппыПользователя Из ОписанияГруппПользователей Цикл Для Каждого ОписаниеГруппыПользователя Из ОписанияГруппПользователей Цикл
Область = Макет.ПолучитьОбласть( Область = Макет.ПолучитьОбласть(
"ГруппаДоступаДеталиПользовательВходитВГруппаКакПредставлениеУчастника"); "ГруппаДоступаДеталиПользовательВходитВГруппаКакПредставлениеУчастника");
@@ -1594,7 +1594,7 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если НЕ ОднаПерсональнаяГруппа Тогда Если Не ОднаПерсональнаяГруппа Тогда
// Вывод профиля. // Вывод профиля.
Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиПрофиль"); Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиПрофиль");
Область.Параметры.Заполнить(ОписаниеГруппыДоступа); Область.Параметры.Заполнить(ОписаниеГруппыДоступа);
@@ -1602,14 +1602,14 @@
КонецЕсли; КонецЕсли;
// Вывод ответственного за состав участников. // Вывод ответственного за состав участников.
Если НЕ ОднаПерсональнаяГруппа И ЗначениеЗаполнено(ОписаниеГруппыДоступа.Ответственный) Тогда Если Не ОднаПерсональнаяГруппа И ЗначениеЗаполнено(ОписаниеГруппыДоступа.Ответственный) Тогда
Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиОтветственный"); Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиОтветственный");
Область.Параметры.Заполнить(ОписаниеГруппыДоступа); Область.Параметры.Заполнить(ОписаниеГруппыДоступа);
Документ.Вывести(Область, 3); Документ.Вывести(Область, 3);
КонецЕсли; КонецЕсли;
// Вывод описания. // Вывод описания.
Если НЕ ОднаПерсональнаяГруппа И ЗначениеЗаполнено(ОписаниеГруппыДоступа.Комментарий) Тогда Если Не ОднаПерсональнаяГруппа И ЗначениеЗаполнено(ОписаниеГруппыДоступа.Комментарий) Тогда
Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиКомментарий"); Область = Макет.ПолучитьОбласть("ГруппаДоступаДеталиКомментарий");
Область.Параметры.Заполнить(ОписаниеГруппыДоступа); Область.Параметры.Заполнить(ОписаниеГруппыДоступа);
Документ.Вывести(Область, 3); Документ.Вывести(Область, 3);
@@ -1634,11 +1634,11 @@
Документ.Вывести(Область, 1); Документ.Вывести(Область, 1);
Документ.Вывести(ОбластьОтступ, 2); Документ.Вывести(ОбластьОтступ, 2);
Для каждого ОписаниеПрофиля Из РолиПоПрофилям.Строки Цикл Для Каждого ОписаниеПрофиля Из РолиПоПрофилям.Строки Цикл
Область = Макет.ПолучитьОбласть("РолиПоПрофилямПрофильПредставление"); Область = Макет.ПолучитьОбласть("РолиПоПрофилямПрофильПредставление");
Область.Параметры.Заполнить(ОписаниеПрофиля); Область.Параметры.Заполнить(ОписаниеПрофиля);
Документ.Вывести(Область, 2); Документ.Вывести(Область, 2);
Для каждого ОписаниеРоли Из ОписаниеПрофиля.Строки Цикл Для Каждого ОписаниеРоли Из ОписаниеПрофиля.Строки Цикл
Область = Макет.ПолучитьОбласть("РолиПоПрофилямРольПредставление"); Область = Макет.ПолучитьОбласть("РолиПоПрофилямРольПредставление");
Область.Параметры.Заполнить(ОписаниеРоли); Область.Параметры.Заполнить(ОписаниеРоли);
Документ.Вывести(Область, 3); Документ.Вывести(Область, 3);
@@ -1803,7 +1803,7 @@
ПредставлениеЯзыка = ""; ПредставлениеЯзыка = "";
Для каждого МетаданныеЯзыка Из Метаданные.Языки Цикл Для Каждого МетаданныеЯзыка Из Метаданные.Языки Цикл
Если МетаданныеЯзыка.Имя = Язык Тогда Если МетаданныеЯзыка.Имя = Язык Тогда
ПредставлениеЯзыка = МетаданныеЯзыка.Синоним; ПредставлениеЯзыка = МетаданныеЯзыка.Синоним;
@@ -1594,6 +1594,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>
@@ -3852,93 +3939,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.СообщениеОбменаДаннымиИзГлавногоУзла</name> <name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
<right> <right>
@@ -81,4 +81,11 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonCommand.НачатьИнтервью</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
</Rights> </Rights>
@@ -92,6 +92,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonCommand.НачатьИнтервью</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ДоступныеАнкеты</name> <name>DataProcessor.ДоступныеАнкеты</name>
<right> <right>
@@ -21,6 +21,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name> <name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right> <right>
@@ -76,37 +107,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -127,6 +127,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonCommand.НачатьИнтервью</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>ChartOfCharacteristicTypes.ВопросыДляАнкетирования</name> <name>ChartOfCharacteristicTypes.ВопросыДляАнкетирования</name>
<right> <right>
@@ -2191,6 +2191,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>
@@ -5368,45 +5407,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.СообщениеОбменаДаннымиИзГлавногоУзла</name> <name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
<right> <right>
@@ -89,6 +89,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonCommand.НачатьИнтервью</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Report.АналитическийОтчетПоАнкетированию</name> <name>Report.АналитическийОтчетПоАнкетированию</name>
<right> <right>
@@ -94,6 +94,12 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ФильтрПоЗначению</name> <name>ФильтрПоЗначению</name>
<id>16</id> <id>16</id>
<items xsi:type="form:FormGroup">
<name>ФильтрПоЗначениюСтраницы</name>
<id>404</id>
<items xsi:type="form:FormGroup">
<name>ЗначенияФильтра</name>
<id>406</id>
<items xsi:type="form:Table"> <items xsi:type="form:Table">
<name>Значения</name> <name>Значения</name>
<id>18</id> <id>18</id>
@@ -838,6 +844,414 @@
<searchStringLocation>CommandBar</searchStringLocation> <searchStringLocation>CommandBar</searchStringLocation>
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
</items> </items>
<items xsi:type="form:FormGroup">
<name>ОпцииЗаполненияФильтраПоЗначению</name>
<id>435</id>
<items xsi:type="form:Decoration">
<name>СтатистикаФильтраПоЗначению</name>
<id>415</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<toolTipRepresentation>Button</toolTipRepresentation>
<extendedTooltip>
<name>СтатистикаФильтраПоЗначениюРасширеннаяПодсказка</name>
<id>417</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СтатистикаФильтраПоЗначениюКонтекстноеМеню</name>
<id>416</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ВывестиВсеЗначенияРазделаОтчета</name>
<id>437</id>
<title>
<key>ru</key>
<value>Вывести все</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<toolTipRepresentation>Button</toolTipRepresentation>
<extendedTooltip>
<name>ВывестиВсеЗначенияРазделаОтчетаРасширеннаяПодсказка</name>
<id>439</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВывестиВсеЗначенияРазделаОтчетаКонтекстноеМеню</name>
<id>438</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<handlers>
<event>Click</event>
<name>ВывестиВсеЗначенияРазделаОтчетаНажатие</name>
</handlers>
<hyperlink>true</hyperlink>
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Опции заполнения фильтра по значению</value>
</title>
<extendedTooltip>
<name>ОпцииЗаполненияФильтраПоЗначениюРасширеннаяПодсказка</name>
<id>436</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Значения</value>
</title>
<extendedTooltip>
<name>ЗначенияФильтраРасширеннаяПодсказка</name>
<id>407</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>Ожидание</name>
<id>408</id>
<items xsi:type="form:FormGroup">
<name>СтатусыОжидания</name>
<id>423</id>
<items xsi:type="form:FormGroup">
<name>ОжиданиеЗаполнения</name>
<id>421</id>
<items xsi:type="form:Decoration">
<name>ИндикаторДлительнойОперации</name>
<id>410</id>
<title>
<key>ru</key>
<value>Индикатор длительной операции</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ИндикаторДлительнойОперацииРасширеннаяПодсказка</name>
<id>412</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИндикаторДлительнойОперацииКонтекстноеМеню</name>
<id>411</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ДлительнаяОперация48</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ПредставлениеДлительнойОперации</name>
<id>418</id>
<title>
<key>ru</key>
<value>Выполняется чтение строк поля</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПредставлениеДлительнойОперацииРасширеннаяПодсказка</name>
<id>420</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПредставлениеДлительнойОперацииКонтекстноеМеню</name>
<id>419</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<groupVerticalAlign>Center</groupVerticalAlign>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Ожидание заполнения</value>
</title>
<extendedTooltip>
<name>ОжиданиеЗаполненияРасширеннаяПодсказка</name>
<id>422</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>AlwaysHorizontal</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ОшибкаЗаполнения</name>
<id>425</id>
<items xsi:type="form:Decoration">
<name>ИндикаторОшибки</name>
<id>430</id>
<title>
<key>ru</key>
<value>Индикатор ошибки</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ИндикаторОшибкиРасширеннаяПодсказка</name>
<id>432</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИндикаторОшибкиКонтекстноеМеню</name>
<id>431</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение32</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ОписаниеОшибкиЗаполнения</name>
<id>427</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОписаниеОшибкиЗаполненияРасширеннаяПодсказка</name>
<id>429</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОписаниеОшибкиЗаполненияКонтекстноеМеню</name>
<id>428</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<groupVerticalAlign>Center</groupVerticalAlign>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Ошибка заполнения</value>
</title>
<extendedTooltip>
<name>ОшибкаЗаполненияРасширеннаяПодсказка</name>
<id>426</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>AlwaysHorizontal</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Статусы ожидания</value>
</title>
<verticalStretch>true</verticalStretch>
<extendedTooltip>
<name>СтатусыОжиданияРасширеннаяПодсказка</name>
<id>424</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Pages</type>
<extInfo xsi:type="form:PagesGroupExtInfo">
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Ожидание</value>
</title>
<extendedTooltip>
<name>ОжиданиеРасширеннаяПодсказка</name>
<id>409</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Фильтр по значению</value>
</title>
<extendedTooltip>
<name>ФильтрПоЗначениюСтраницыРасширеннаяПодсказка</name>
<id>405</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Pages</type>
<extInfo xsi:type="form:PagesGroupExtInfo">
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -2836,6 +3250,81 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>КоличествоСтрокВРазделеОтчета</name>
<id>17</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВыведеныВсеЗначенияРазделаОтчета</name>
<id>15</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>КоличествоПервыхЧитаемыхСтрок</name>
<id>16</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>АдресДанныхРасшифровки</name>
<id>18</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>Документ</name>
<id>19</id>
<valueType>
<types>SpreadsheetDocument</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:SpreadsheetDocumentExtInfo"/>
</attributes>
<formCommands> <formCommands>
<name>СортироватьПоВозрастанию</name> <name>СортироватьПоВозрастанию</name>
<title> <title>
@@ -14,20 +14,11 @@
УстановитьУсловноеОформление(); УстановитьУсловноеОформление();
ОпределитьПоведениеВМобильномКлиенте(); ОпределитьПоведениеВМобильномКлиенте();
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "НастройкиОтчета, СвойстваЗаголовка, КомпоновщикНастроек"); ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "НастройкиОтчета, КомпоновщикНастроек, СвойстваЗаголовка, Документ");
АдресДанныхРасшифровки = Параметры.ДанныеРасшифровки;
НастройкиОтчета.Вставить("КэшЗначенийОтборов", Параметры.КэшЗначенийОтборов); НастройкиОтчета.Вставить("КэшЗначенийОтборов", Параметры.КэшЗначенийОтборов);
ЗаголовокПоля = СвойстваЗаголовка.Текст; Инициализировать();
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Настройка поля: %1'"), ЗаголовокПоля);
ПредставлениеПоля = ЗаголовокПоля;
УстановитьСвойстваФильтраПоУсловию(ЗаголовокПоля);
ЗаполнитьЗначения();
ОбновитьИндексыГруппИЭлементов();
УточнитьДоступныеТипыЗначений();
ОпределитьДоступностьДополнительныхВозможностей();
КонецПроцедуры КонецПроцедуры
@@ -408,6 +399,24 @@
#КонецОбласти #КонецОбласти
#Область Общее
&НаКлиенте
Процедура ВывестиВсеЗначенияРазделаОтчетаНажатие(Элемент)
Обработчик = Новый ОписаниеОповещения("ПослеЗаполненияЗначений", ЭтотОбъект);
РезультатЗаполнения = НачатьЗаполнениеЗначений(УникальныйИдентификатор);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
Обработчик = Новый ОписаниеОповещения("ПриЗаполненииЗначений", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(РезультатЗаполнения, Обработчик, ПараметрыОжидания);
КонецПроцедуры
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -450,6 +459,27 @@
#Область ИнициализацияДанныхФормы #Область ИнициализацияДанныхФормы
&НаСервере
Процедура Инициализировать()
ЗаголовокПоля = СвойстваЗаголовка.Текст;
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Настройка поля: %1'"), ЗаголовокПоля);
ПредставлениеПоля = ЗаголовокПоля;
КоличествоПервыхЧитаемыхСтрок = 500;
УстановитьСвойстваФильтраПоУсловию(ЗаголовокПоля);
ОпределитьВидыИерархииЗначений();
ЗаполнитьЗначения();
ОбновитьИндексыГруппИЭлементов();
УточнитьДоступныеТипыЗначений();
ОпределитьДоступностьДополнительныхВозможностей();
КонецПроцедуры
&НаСервере &НаСервере
Процедура УстановитьСвойстваФильтраПоУсловию(ЗаголовокПоля) Процедура УстановитьСвойстваФильтраПоУсловию(ЗаголовокПоля)
@@ -634,18 +664,75 @@
#Область ЗаполнениеЗначений #Область ЗаполнениеЗначений
&НаСервере
Функция НачатьЗаполнениеЗначений(ИдентификаторЗадания)
ВыведеныВсеЗначенияРазделаОтчета = Истина;
Элементы.ОпцииЗаполненияФильтраПоЗначению.Видимость = Не ВыведеныВсеЗначенияРазделаОтчета;
Элементы.ФильтрПоЗначениюСтраницы.ТекущаяСтраница = Элементы.Ожидание;
Элементы.СтатусыОжидания.ТекущаяСтраница = Элементы.ОжиданиеЗаполнения;
Элементы.ПредставлениеДлительнойОперации.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выполняется чтение строк поля: %1'"), ПредставлениеПоля);
ПараметрыМетода = ДлительныеОперации.ПараметрыВыполненияФункции(ИдентификаторЗадания);
ПараметрыМетода.НаименованиеФоновогоЗадания = НСтр("ru = 'Заполнение фильтра по значению'");
ПараметрыМетода.ЗапуститьВФоне = Истина;
РезультатЗаполнения = ДлительныеОперации.ВыполнитьФункцию(
ПараметрыМетода,
"ВариантыОтчетовСлужебный.ЗаполнитьЗначенияФильтра",
ПараметрыЗаполненияЗначений());
Возврат РезультатЗаполнения;
КонецФункции
&НаКлиенте
Процедура ПриЗаполненииЗначений(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.Статус = "Ошибка"
Или Результат.Статус = "Выполнено" Тогда
ПослеЗаполненияЗначений(Результат, ДополнительныеПараметры);
КонецЕсли;
КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьЗначения() Процедура ЗаполнитьЗначения()
ОпределитьВидыИерархииЗначений(); ДанныеРасшифровки = ПолучитьИзВременногоХранилища(АдресДанныхРасшифровки);
РезультатЗаполнения = Неопределено;
ДанныеРасшифровки = ПолучитьИзВременногоХранилища(Параметры.ДанныеРасшифровки);
Если ТипЗнч(СвойстваЗаголовка.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда Если ТипЗнч(СвойстваЗаголовка.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
ЗаполнитьЗначенияГруппировкиКолонки(ДанныеРасшифровки); ЗаполнитьЗначенияГруппировкиКолонки(ДанныеРасшифровки);
Иначе Иначе
ЗаполнитьЗначенияГруппировкиСтрок(ДанныеРасшифровки) РезультатЗаполнения = ВариантыОтчетовСлужебный.ЗаполнитьЗначенияФильтра(ПараметрыЗаполненияЗначений());
РезультатЗаполнения.Удалить("Значения");
КонецЕсли;
ЗавершитьЗаполнениеЗначений(РезультатЗаполнения);
КонецПроцедуры
&НаСервере
Процедура ЗавершитьЗаполнениеЗначений(РезультатЗаполнения = Неопределено)
Если РезультатЗаполнения <> Неопределено Тогда
КоличествоСтрокВРазделеОтчета = РезультатЗаполнения.КоличествоСтрокВРазделеОтчета;
ВыведеныВсеЗначенияРазделаОтчета = РезультатЗаполнения.ВыведеныВсеЗначенияРазделаОтчета;
Если РезультатЗаполнения.Свойство("Значения") Тогда
ОбщегоНазначенияКлиентСервер.ЗаполнитьКоллекциюСвойств(РезультатЗаполнения.Значения, Значения);
КонецЕсли;
КонецЕсли; КонецЕсли;
Фильтр = Фильтр(КомпоновщикНастроек, СвойстваЗаголовка); Фильтр = Фильтр(КомпоновщикНастроек, СвойстваЗаголовка);
@@ -656,62 +743,48 @@
Значения.СортироватьПоЗначению(); Значения.СортироватьПоЗначению();
ПоказатьСтатистикуЗаполненияЗначений();
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаполненияЗначений(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.Статус = "Ошибка" Тогда
ОбработатьОшибкуЗаполненияЗначений(Результат.КраткоеПредставлениеОшибки, Результат.ПодробноеПредставлениеОшибки);
ИначеЕсли Результат.Статус = "Выполнено" Тогда
РезультатЗаполнения = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
ЗавершитьЗаполнениеЗначений(РезультатЗаполнения);
Элементы.ФильтрПоЗначениюСтраницы.ТекущаяСтраница = Элементы.ЗначенияФильтра;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьЗначенияГруппировкиСтрок(ДанныеРасшифровки) Процедура ОбработатьОшибкуЗаполненияЗначений(КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки)
Документ = Параметры.Документ; ШаблонКомментария = НСтр("ru = 'Не удалось заполнить фильтр по значению по причине: %1'");
СвойстваРезультата = НастройкиОтчета.СвойстваРезультата; // см. ВариантыОтчетовСлужебный.СвойстваРезультатаОтчета Элементы.СтатусыОжидания.ТекущаяСтраница = Элементы.ОшибкаЗаполнения;
Заголовки = СвойстваРезультата.Заголовки; Элементы.ОписаниеОшибкиЗаполнения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ГраницаРаздела = СвойстваРезультата.ГраницыРазделов[СвойстваЗаголовка.ПорядокРаздела - 1].Значение; ШаблонКомментария, КраткоеПредставлениеОшибки);
ДоступныеТипы = Значения.ТипЗначения; Комменатий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, ПодробноеПредставлениеОшибки);
КоличествоДоступныхТипов = ДоступныеТипы.Типы().Количество();
Индексы = Новый Соответствие; ЗаписьЖурналаРегистрации(
НСтр("ru = 'Настройка поля отчета.Заполнение фильтра по значению'"),
Для НомерСтроки = СвойстваЗаголовка.Низ + 1 По Документ.ВысотаТаблицы Цикл УровеньЖурналаРегистрации.Ошибка,,
НастройкиОтчета.ВариантСсылка,
Если НомерСтроки > ГраницаРаздела Тогда Комменатий);
Прервать;
КонецЕсли;
Ячейка = Документ.Область(НомерСтроки, СвойстваЗаголовка.Лево);
Если Заголовки[Ячейка.Имя] <> Неопределено
Или Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Прямоугольник
Или Не ЗначениеЗаполнено(Ячейка.Текст) Тогда
Продолжить;
КонецЕсли;
ЗначениеЯчейки = ВариантыОтчетовСлужебный.ЗначениеЯчейки(Ячейка, ДоступныеТипы, ДанныеРасшифровки);
Если Индексы[ЗначениеЯчейки.Значение] <> Неопределено
Или (КоличествоДоступныхТипов > 0
И Не ДоступныеТипы.СодержитТип(ТипЗнч(ЗначениеЯчейки.Значение))) Тогда
Продолжить;
КонецЕсли;
Индексы.Вставить(ЗначениеЯчейки.Значение, Истина);
ДоступноеЗначение = ДоступныеЗначения.НайтиПоЗначению(ЗначениеЯчейки.Значение);
Если ДоступноеЗначение = Неопределено Тогда
ЗаполнитьЗначенияСвойств(Значения.Добавить(), ЗначениеЯчейки);
Иначе
ДоступноеЗначение.Пометка = Истина;
ЗаполнитьЗначенияСвойств(Значения.Добавить(), ДоступноеЗначение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -761,6 +834,8 @@
КонецЦикла; КонецЦикла;
ВыведеныВсеЗначенияРазделаОтчета = Истина;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -1011,6 +1086,31 @@
КонецФункции КонецФункции
&НаСервере
Функция ПараметрыЗаполненияЗначений()
Значения.Очистить();
СвойстваРезультата = НастройкиОтчета.СвойстваРезультата; // см. ВариантыОтчетовСлужебный.СвойстваРезультатаОтчета
ГраницаРаздела = СвойстваРезультата.ГраницыРазделов[СвойстваЗаголовка.ПорядокРаздела - 1].Значение;
ДанныеРасшифровки = ПолучитьИзВременногоХранилища(АдресДанныхРасшифровки);
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("Значения", Значения);
ПараметрыЗаполнения.Вставить("СвойстваЗаголовка", СвойстваЗаголовка);
ПараметрыЗаполнения.Вставить("Документ", Документ);
ПараметрыЗаполнения.Вставить("Заголовки", СвойстваРезультата.Заголовки);
ПараметрыЗаполнения.Вставить("ГраницаРаздела", ГраницаРаздела);
ПараметрыЗаполнения.Вставить("ДанныеРасшифровки", ДанныеРасшифровки);
ПараметрыЗаполнения.Вставить("ДоступныеЗначения", ДоступныеЗначения);
ПараметрыЗаполнения.Вставить("КоличествоПервыхЧитаемыхСтрок", КоличествоПервыхЧитаемыхСтрок);
ПараметрыЗаполнения.Вставить("ВыведеныВсеЗначенияРазделаОтчета", ВыведеныВсеЗначенияРазделаОтчета);
Возврат ПараметрыЗаполнения;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -1285,4 +1385,25 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ПоказатьСтатистикуЗаполненияЗначений()
Если ВыведеныВсеЗначенияРазделаОтчета Тогда
Элементы.ОпцииЗаполненияФильтраПоЗначению.Видимость = Не ВыведеныВсеЗначенияРазделаОтчета;
Возврат;
КонецЕсли;
Элементы.СтатистикаФильтраПоЗначению.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выведено %1 первых значений.'"), Значения.Количество());
Элементы.ВывестиВсеЗначенияРазделаОтчета.РасширеннаяПодсказка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выведено %1 уникальных значений из первых %2 строк отчета. Всего строк в разделе отчета - %3.'"),
Значения.Количество(),
КоличествоПервыхЧитаемыхСтрок,
КоличествоСтрокВРазделеОтчета);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -96,8 +96,8 @@
<content>CommonPicture.ВысотаСтроки</content> <content>CommonPicture.ВысотаСтроки</content>
<content>CommonPicture.ШиринаКолонки</content> <content>CommonPicture.ШиринаКолонки</content>
<content>CommonPicture.Группировка</content> <content>CommonPicture.Группировка</content>
<content>CommonPicture.Таблица</content> <content>CommonPicture.ОтчетТаблица</content>
<content>CommonPicture.КроссТаблица</content> <content>CommonPicture.ОтчетКроссТаблица</content>
<content>CommonPicture.ПереместитьГруппировкуВыше</content> <content>CommonPicture.ПереместитьГруппировкуВыше</content>
<content>CommonPicture.ПереместитьКолонкуВлево</content> <content>CommonPicture.ПереместитьКолонкуВлево</content>
<content>CommonPicture.ПереместитьГруппировкуНиже</content> <content>CommonPicture.ПереместитьГруппировкуНиже</content>