3_1_2_150
This commit is contained in:
1 parent
28f5f6c774
commit
ccbf98d8bf
1114 files changed
+74111
-42158
No files matched your search
@@ -6,16 +6,11 @@
|
||||
<GridHorizontalStep>20</GridHorizontalStep>
|
||||
<GridVerticalStep>20</GridVerticalStep>
|
||||
<PrintParameters>
|
||||
<Paper xsi:type="xs:decimal">9</Paper>
|
||||
<PageOrientation>Portrait</PageOrientation>
|
||||
<Collate xsi:type="xs:decimal">1</Collate>
|
||||
<Copies>1</Copies>
|
||||
<TopMargin>10</TopMargin>
|
||||
<LeftMargin>10</LeftMargin>
|
||||
<BottomMargin>10</BottomMargin>
|
||||
<RightMargin>10</RightMargin>
|
||||
<BlackAndWhite>false</BlackAndWhite>
|
||||
<PaperSource xsi:type="xs:decimal">7</PaperSource>
|
||||
<FitPageMode>Auto</FitPageMode>
|
||||
</PrintParameters>
|
||||
<Items>
|
||||
|
||||
@@ -354,13 +354,6 @@
|
||||
<key>ru</key>
|
||||
<value>Номер и важность</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаНомерИВажностьExtendedTooltip</name>
|
||||
<id>181</id>
|
||||
@@ -725,13 +718,6 @@
|
||||
<key>ru</key>
|
||||
<value>Содержание</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСодержаниеExtendedTooltip</name>
|
||||
<id>187</id>
|
||||
@@ -1758,5 +1744,9 @@
|
||||
<event>BeforeWriteAtServer</event>
|
||||
<name>ПередЗаписьюНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnWriteAtServer</event>
|
||||
<name>ПриЗаписиНаСервере</name>
|
||||
</handlers>
|
||||
</extInfo>
|
||||
</form:Form>
|
||||
@@ -61,7 +61,11 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Запись объекта бизнес-процесса.
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
ЗаписатьРеквизитыБизнесПроцесса(ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -227,7 +231,9 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьЗадание(Команда)
|
||||
|
||||
Записать();
|
||||
Если Модифицированность Тогда
|
||||
Записать();
|
||||
КонецЕсли;
|
||||
ПоказатьЗначение(,Объект.БизнесПроцесс);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -289,17 +295,18 @@
|
||||
ЗаданиеРезультатВыполнения = ЗаданиеОбъект.РезультатВыполнения;
|
||||
ЗаданиеСодержание = ЗаданиеОбъект.Содержание;
|
||||
|
||||
КонецПроцедуры
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаписатьРеквизитыБизнесПроцесса(ЗадачаОбъект)
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ЗаданиеОбъект = ЗадачаОбъект.БизнесПроцесс.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(ЗаданиеОбъект.Ссылка);
|
||||
ЗаданиеОбъект.Выполнено = ЗаданиеВыполнено;
|
||||
ЗаданиеОбъект.Записать();
|
||||
|
||||
БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы(ЗадачаОбъект.БизнесПроцесс);
|
||||
БизнесПроцессОбъект = ЗадачаОбъект.БизнесПроцесс.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(БизнесПроцессОбъект.Ссылка);
|
||||
БизнесПроцессОбъект.Выполнено = ЗаданиеВыполнено;
|
||||
БизнесПроцессОбъект.Записать(); // АПК:1327 Блокировка установлена в БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
|
||||
@@ -392,13 +392,6 @@
|
||||
<key>ru</key>
|
||||
<value>Номер и важность</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаНомерИВажностьExtendedTooltip</name>
|
||||
<id>202</id>
|
||||
@@ -440,7 +433,7 @@
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<group>AlwaysHorizontal</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
@@ -1883,5 +1876,9 @@
|
||||
<event>BeforeWriteAtServer</event>
|
||||
<name>ПередЗаписьюНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnWriteAtServer</event>
|
||||
<name>ПриЗаписиНаСервере</name>
|
||||
</handlers>
|
||||
</extInfo>
|
||||
</form:Form>
|
||||
@@ -69,8 +69,11 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
ЗаписатьРеквизитыБизнесПроцесса(ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -216,8 +219,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьЗаданиеВыполнить(Команда)
|
||||
|
||||
Записать();
|
||||
ПоказатьЗначение(,ЗаданиеСсылка);
|
||||
Если Модифицированность Тогда
|
||||
Записать();
|
||||
КонецЕсли;
|
||||
ПоказатьЗначение(, ЗаданиеСсылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -307,11 +312,12 @@
|
||||
Процедура ЗаписатьРеквизитыБизнесПроцесса(ЗадачаОбъект)
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы(ЗадачаОбъект.БизнесПроцесс);
|
||||
ЗаданиеОбъект = ЗадачаОбъект.БизнесПроцесс.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(ЗаданиеОбъект.Ссылка);
|
||||
ЗаданиеОбъект.Выполнено = ЗаданиеВыполнено;
|
||||
ЗаданиеОбъект.Подтверждено = ЗаданиеПодтверждено;
|
||||
ЗаданиеОбъект.Записать();
|
||||
ЗаданиеОбъект.Записать(); // АПК:1327 Блокировка установлена в БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -529,13 +529,6 @@
|
||||
<key>ru</key>
|
||||
<value>Исполнение</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаИсполнениеExtendedTooltip</name>
|
||||
<id>115</id>
|
||||
@@ -1135,13 +1128,6 @@
|
||||
<key>ru</key>
|
||||
<value>Автор</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаОбщиеСведенияExtendedTooltip</name>
|
||||
<id>128</id>
|
||||
|
||||
@@ -1358,7 +1358,7 @@
|
||||
ИЗ
|
||||
БизнесПроцесс.Задание КАК БизнесПроцессЗадание
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцессыДляЗапуска КАК ПроцессыДляЗапуска
|
||||
ПО БизнесПроцессЗадание.Ссылка = ПроцессыДляЗапуска.БизнесПроцесс</queryText>
|
||||
ПО БизнесПроцессЗадание.Ссылка = ПроцессыДляЗапуска.Владелец</queryText>
|
||||
<mainTable>BusinessProcess.Задание</mainTable>
|
||||
<dynamicDataRead>true</dynamicDataRead>
|
||||
<autoFillAvailableFields>true</autoFillAvailableFields>
|
||||
|
||||
@@ -66,12 +66,15 @@
|
||||
//
|
||||
Процедура ПриПеренаправленииЗадачи(ЗадачаСсылка, НоваяЗадачаСсылка) Экспорт
|
||||
|
||||
// АПК:1327-выкл Блокировка бизнес-процесса установлена ранее
|
||||
// в вызывающей функции БизнесПроцессыИЗадачиВызовСервера.ПеренаправитьЗадачи.
|
||||
БизнесПроцессОбъект = ЗадачаСсылка.БизнесПроцесс.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(БизнесПроцессОбъект.Ссылка);
|
||||
БизнесПроцессОбъект.РезультатВыполнения = РезультатВыполненияПриПеренаправлении(ЗадачаСсылка)
|
||||
+ БизнесПроцессОбъект.РезультатВыполнения;
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
БизнесПроцессОбъект.Записать();
|
||||
// АПК:1327-вкл
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -84,22 +87,35 @@
|
||||
//
|
||||
Процедура ОбработкаВыполненияПоУмолчанию(ЗадачаСсылка, БизнесПроцессСсылка, ТочкаМаршрутаБизнесПроцесса) Экспорт
|
||||
|
||||
// Устанавливаем значения по умолчанию для пакетного выполнения задач.
|
||||
Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить Тогда
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ЗаданиеОбъект = БизнесПроцессСсылка.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(ЗаданиеОбъект.Ссылка);
|
||||
ЗаданиеОбъект.Выполнено = Истина;
|
||||
ЗаданиеОбъект.Записать();
|
||||
ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.Задание.ТочкиМаршрута.Проверить Тогда
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ЗаданиеОбъект = БизнесПроцессСсылка.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(ЗаданиеОбъект.Ссылка);
|
||||
ЗаданиеОбъект.Выполнено = Истина;
|
||||
ЗаданиеОбъект.Подтверждено = Истина;
|
||||
ЗаданиеОбъект.Записать();
|
||||
ЭтоТочкаМаршрутаВыполнить = (ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить);
|
||||
ЭтоТочкаМаршрутаПроверить = (ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.Задание.ТочкиМаршрута.Проверить);
|
||||
Если Не ЭтоТочкаМаршрутаВыполнить И Не ЭтоТочкаМаршрутаПроверить Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Устанавливаем значения по умолчанию для пакетного выполнения задач.
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы(БизнесПроцессСсылка);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ЗаданиеОбъект = БизнесПроцессСсылка.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(ЗаданиеОбъект.Ссылка);
|
||||
|
||||
Если ЭтоТочкаМаршрутаВыполнить Тогда
|
||||
ЗаданиеОбъект.Выполнено = Истина;
|
||||
ИначеЕсли ЭтоТочкаМаршрутаПроверить Тогда
|
||||
ЗаданиеОбъект.Выполнено = Истина;
|
||||
ЗаданиеОбъект.Подтверждено = Истина;
|
||||
КонецЕсли;
|
||||
ЗаданиеОбъект.Записать(); // АПК:1327 Блокировка в БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы.
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Конец СтандартныеПодсистемы.БизнесПроцессыИЗадачи
|
||||
@@ -141,6 +157,40 @@
|
||||
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
|
||||
// Определяет список команд создания на основании.
|
||||
//
|
||||
// Параметры:
|
||||
// КомандыСозданияНаОсновании - ТаблицаЗначений - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.
|
||||
// Параметры - Структура - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.
|
||||
//
|
||||
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для использования в процедуре ДобавитьКомандыСозданияНаОсновании других модулей менеджеров объектов.
|
||||
// Добавляет в список команд создания на основании этот объект.
|
||||
//
|
||||
// Параметры:
|
||||
// КомандыСозданияНаОсновании - ТаблицаЗначений - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СтрокаТаблицыЗначений, Неопределено - описание добавленной команды.
|
||||
//
|
||||
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||
МодульСозданиеНаОсновании = ОбщегоНазначения.ОбщийМодуль("СозданиеНаОсновании");
|
||||
Возврат МодульСозданиеНаОсновании.ДобавитьКомандуСозданияНаОсновании(КомандыСозданияНаОсновании, Метаданные.БизнесПроцессы.Задание);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
// СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
// См. УправлениеДоступом.ЗаполнитьНаборыЗначенийДоступа.
|
||||
//
|
||||
// Параметры:
|
||||
// Таблица - ТаблицаЗначений - см. УправлениеДоступом.ТаблицаНаборыЗначенийДоступа.
|
||||
//
|
||||
Процедура ЗаполнитьНаборыЗначенийДоступа(Таблица) Экспорт
|
||||
|
||||
БизнесПроцессыИЗадачиПереопределяемый.ПриЗаполненииНаборовЗначенийДоступа(ЭтотОбъект, Таблица);
|
||||
|
||||
@@ -363,10 +363,7 @@
|
||||
</synonym>
|
||||
<comment>Объект системы, "по поводу" которого был создан бизнес-процесс.</comment>
|
||||
<type>
|
||||
<types>DocumentRef</types>
|
||||
<types>TaskRef</types>
|
||||
<types>ChartOfCharacteristicTypesRef</types>
|
||||
<types>CatalogRef</types>
|
||||
<types>DefinedType.ПредметЗадачи</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
|
||||
@@ -754,7 +754,7 @@
|
||||
<id>2</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Загрузить курсы валют с веб-сайта 1С</value>
|
||||
<value>Загрузить курсы валют из Интернета</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
СтрокаСписка = Строки[Выборка.Валюта];
|
||||
СтрокаСписка.Данные["Курс"] = Выборка.Курс;
|
||||
Если Выборка.Кратность <> 1 Тогда
|
||||
Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'руб. за %1 %2'"),
|
||||
Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'за %1 %2'"),
|
||||
Выборка.Кратность, СтрокаСписка.Данные["Наименование"]);
|
||||
СтрокаСписка.Данные["Кратность"] = Пояснение;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
<div><strong>Наименование валюты</strong> - полное наименование валюты.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Цифровой код</strong> - уникальный числовой код, принят международным стандартом, служит для идентификации валюты при загрузке курсов из сети Интернет (с портала 1С:ИТС).</div>
|
||||
<div><strong>Цифровой код</strong> - уникальный числовой код, служит для идентификации валюты при загрузке курсов из сети Интернет (с портала 1С:ИТС).</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Символьный код</strong> - принят международным стандартом, используется как краткое наименование и основное представление валюты.</div>
|
||||
<div><strong>Символьный код</strong> - используется как краткое наименование и основное представление валюты.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Курс валюты</strong> - переключатель установлен в положение <b>з</b><strong>агружается из интернета</strong>, если курс валюты может загружаться с портала 1С:ИТС. </div></li></ul><h3>Особенности использования переключателя Курс валюты</h3>
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриИзмененииПараметровПрописиВалюты(Результат, ДополнительныеПараметры) Экспорт
|
||||
Если Результат = Неопределено Тогда
|
||||
Если Результат = Неопределено Или Результат = КодВозвратаДиалога.Отмена Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -8,21 +8,17 @@
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div><strong>Цифр. код</strong> - уникальный числовой код, принят международным стандартом, служит для идентификации валюты при загрузке курсов из сети Интернет.</div></div>
|
||||
<div><strong>Цифр. код</strong> - уникальный цифровой код, служит для идентификации валюты при загрузке курсов из сети Интернет. Например, 840 для доллара США.</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Симв. код</strong> - принят международным стандартом, используется как основное представление валюты.</div>
|
||||
<div><strong>Симв. код</strong> - символьный код валюты, используется в качестве представления в полях ввода. Например, EUR (Евро).</div>
|
||||
</li>
|
||||
<li><strong>Курс</strong> - значение <a href="InformationRegister.КурсыВалют/Help">курса</a> на текущую дату.
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Кратность</strong> - по умолчанию заполнено единицей и не выводится. Если курс какой-либо валюты очень низкий (точность составляет меньше четырех знаков дробной части), то в этом поле указывается количество котировочных единиц. Например, курс вьетнамского донга (VND) составляет 16,1574 руб. за 10000 VND. Состоит из трех вспомогательных колонок, в которых размещается данное выражение:</div>
|
||||
<ul><li>
|
||||
<div><strong>Руб</strong>.<strong> за</strong> - логическая связка.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Кратность</strong> - проставляется количество котировочных единиц.</div>
|
||||
</li>
|
||||
<div><strong>Кратность</strong> - проставляется количество котировочных единиц.</div></li>
|
||||
<li>
|
||||
<div><strong>Краткое наименование</strong> - указывается символьный код валюты</div></li></ul></li></ul><h3>Добавление валюты из Общероссийского классификатора валют (ОКВ)</h3>
|
||||
<ul><li>
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыполняетсяФоновыйПересчетКурсов() Тогда
|
||||
Если ДополнительныеСвойства.Свойство("ОбновитьКурсы") И ВыполняетсяФоновыйПересчетКурсов() Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Не удалось записать валюту, так как еще не завершился фоновый пересчет курсов.
|
||||
|Попробуйте записать валюту позже.'");
|
||||
КонецЕсли;
|
||||
@@ -141,6 +141,10 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ВыполняетсяФоновыйПересчетКурсов()
|
||||
|
||||
ПараметрыЗадания = Новый Структура;
|
||||
|
||||
@@ -86,8 +86,9 @@
|
||||
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоПодсистем.Важность");
|
||||
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ОтборЭлемента.ПравоеЗначение = Новый ПолеКомпоновкиДанных("СмешаннаяВажность");
|
||||
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЗаблокированныйРеквизитЦвет);
|
||||
|
||||
ЦветЗаблокированногоРеквизита = Метаданные.ЭлементыСтиля.ЗаблокированныйРеквизитЦвет;
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветЗаблокированногоРеквизита.Значение);
|
||||
|
||||
ВариантыОтчетов.УстановитьУсловноеОформлениеДереваПодсистем(ЭтотОбъект);
|
||||
|
||||
|
||||
@@ -599,6 +599,82 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОбменВариантамиОтчетов</name>
|
||||
<id>200</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОбновитьВариантОтчетаИзФайла</name>
|
||||
<id>196</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ОбновитьВариантОтчетаИзФайлаРасширеннаяПодсказка</name>
|
||||
<id>197</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ОбновитьВариантОтчетаИзФайла</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СохранитьВариантОтчетаВФайл</name>
|
||||
<id>198</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СохранитьВариантОтчетаВФайлРасширеннаяПодсказка</name>
|
||||
<id>199</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>201</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -1832,6 +1908,9 @@
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.Отчет</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.ПолноеИмяОтчета</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.ТипОтчета</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
@@ -1849,7 +1928,7 @@
|
||||
ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
|
||||
НЕОПРЕДЕЛЕНО,
|
||||
ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
|
||||
ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка))
|
||||
ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка))
|
||||
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
|
||||
КОГДА &ЭтоОсновнойЯзык
|
||||
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
|
||||
@@ -1870,13 +1949,15 @@
|
||||
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
|
||||
КОНЕЦ КАК Описание,
|
||||
ВЫБОР
|
||||
КОГДА ВариантыОтчетов.ТипОтчета В (ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Внутренний),
|
||||
ВариантыОтчетов.ТипОтчета = ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Расширение))
|
||||
КОГДА ВариантыОтчетов.ТипОтчета В (
|
||||
ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Внутренний),
|
||||
ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Расширение))
|
||||
ТОГДА ВариантыОтчетов.Отчет.Имя
|
||||
КОГДА ВариантыОтчетов.ТипОтчета = ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Дополнительный)
|
||||
ТОГДА ВариантыОтчетов.Отчет
|
||||
ИНАЧЕ ПОДСТРОКА(ВЫРАЗИТЬ(ВариантыОтчетов.Отчет КАК СТРОКА(150)), 14, 137)
|
||||
КОНЕЦ КАК ИмяОтчета,
|
||||
СведенияОРасширениях.ПолноеИмяОбъекта КАК ПолноеИмяОтчета,
|
||||
ВЫБОР
|
||||
КОГДА ВариантыОтчетов.ПометкаУдаления = ИСТИНА
|
||||
ТОГДА 4
|
||||
@@ -1886,19 +1967,22 @@
|
||||
КОНЕЦ КАК ИндексКартинки
|
||||
ИЗ
|
||||
Справочник.ВариантыОтчетов КАК ВариантыОтчетов
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ВариантыКонфигурации
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ВариантыКонфигурации
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияВариантов
|
||||
ПО ВариантыОтчетов.Ссылка = ПредставленияВариантов.Ссылка
|
||||
И (ПредставленияВариантов.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
|
||||
И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка
|
||||
И (ПредставленияИзРасширений.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияВариантов
|
||||
ПО ВариантыОтчетов.Ссылка = ПредставленияВариантов.Ссылка
|
||||
И (ПредставленияВариантов.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
|
||||
И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
|
||||
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка
|
||||
И (ПредставленияИзРасширений.КодЯзыка = &КодЯзыка)
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК СведенияОРасширениях
|
||||
ПО СведенияОРасширениях.ВерсияРасширений = &ВерсияРасширений
|
||||
И СведенияОРасширениях.Идентификатор = ВариантыОтчетов.Отчет
|
||||
ГДЕ
|
||||
ВариантыОтчетов.Отчет В(&ДоступныеОтчеты)
|
||||
И ВЫБОР
|
||||
@@ -1907,7 +1991,6 @@
|
||||
ИНАЧЕ ВариантыОтчетов.Ссылка В (&ВариантыПользователя)
|
||||
КОНЕЦ</queryText>
|
||||
<mainTable>Catalog.ВариантыОтчетов</mainTable>
|
||||
<dynamicDataRead>true</dynamicDataRead>
|
||||
<autoFillAvailableFields>true</autoFillAvailableFields>
|
||||
<customQuery>true</customQuery>
|
||||
<autoSaveUserSettings>true</autoSaveUserSettings>
|
||||
@@ -2180,6 +2263,58 @@
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>СохранитьВариантОтчетаВФайл</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сохранить в файл...</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Сохранить вариант отчета в файл</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.СохранитьФайлКак</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>СохранитьВариантОтчетаВФайл</name>
|
||||
</handler>
|
||||
</action>
|
||||
<representation>TextPicture</representation>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ОбновитьВариантОтчетаИзФайла</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Обновить из файла...</value>
|
||||
</title>
|
||||
<id>4</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Обновить вариант отчета из файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.ОбновитьФайлИзФайлаНаДиске</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ОбновитьВариантОтчетаИзФайла</name>
|
||||
</handler>
|
||||
</action>
|
||||
<representation>TextPicture</representation>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
<name>ТолькоВарианты</name>
|
||||
<valueType>
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
Список.Параметры.УстановитьЗначениеПараметра("ОтключенныеВариантыПрограммы", Новый Массив(ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()));
|
||||
Список.Параметры.УстановитьЗначениеПараметра("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
|
||||
Список.Параметры.УстановитьЗначениеПараметра("КодЯзыка", ТекущийЯзык().КодЯзыка);
|
||||
Список.Параметры.УстановитьЗначениеПараметра("ВерсияРасширений", ПараметрыСеанса.ВерсияРасширений);
|
||||
|
||||
ТекущийЭлемент = Элементы.Список;
|
||||
|
||||
@@ -181,7 +182,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРазмещения = Новый Структура("Варианты, Действие, Приемник, Источник"); //МассивВариантов, Всего, Представление
|
||||
ПараметрыРазмещения = Новый Структура("Варианты, Действие, Приемник, Источник");
|
||||
ПараметрыРазмещения.Варианты = Новый Структура("Массив, Всего, Представление");
|
||||
ПараметрыРазмещения.Варианты.Массив = ПараметрыПеретаскивания.Значение;
|
||||
ПараметрыРазмещения.Варианты.Всего = ПараметрыПеретаскивания.Значение.Количество();
|
||||
@@ -290,6 +291,44 @@
|
||||
ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(Элементы.Список.ТекущаяСтрока);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьВариантОтчетаВФайл(Команда)
|
||||
ВариантОтчета = Элементы.Список.ТекущаяСтрока;
|
||||
Если Не ЗначениеЗаполнено(ВариантОтчета) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыСохранения = Новый Структура(ВариантыОтчетовКлиентСервер.СвойстваСохраненияВариантаОтчета());
|
||||
ПараметрыСохранения.ВариантОтчета = ВариантОтчета;
|
||||
|
||||
ОткрытьФорму(
|
||||
"ХранилищеНастроек.ХранилищеВариантовОтчетов.Форма.СохранениеВариантаОтчетаВФайл",
|
||||
ПараметрыСохранения,
|
||||
ЭтотОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьВариантОтчетаИзФайла(Команда)
|
||||
Ссылка = Элементы.Список.ТекущаяСтрока;
|
||||
|
||||
Если ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ВариантыОтчетов") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваВариантаОтчета = ВариантыОтчетовКлиент.СвойстваВариантаОтчетаОснования();
|
||||
СвойстваВариантаОтчета.Ссылка = Ссылка;
|
||||
СвойстваВариантаОтчета.ПредставлениеВарианта = Строка(Ссылка);
|
||||
|
||||
Обработчик = Новый ОписаниеОповещения(
|
||||
"ОбновитьВариантОтчетаИзФайла", ВариантыОтчетовКлиент, СвойстваВариантаОтчета);
|
||||
|
||||
ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
|
||||
ПараметрыЗагрузки.Диалог.Фильтр = НСтр("ru = 'Архив ZIP (*.zip)|*.zip'");
|
||||
ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;
|
||||
|
||||
ФайловаяСистемаКлиент.ЗагрузитьФайл(Обработчик, ПараметрыЗагрузки);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -334,8 +373,9 @@
|
||||
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Описание");
|
||||
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
|
||||
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ПоясняющийТекст);
|
||||
|
||||
ЦветПоясняющегоТекста = Метаданные.ЭлементыСтиля.ПоясняющийТекст;
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветПоясняющегоТекста.Значение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -530,8 +570,13 @@
|
||||
Размещено = 0;
|
||||
УжеРазмещены = "";
|
||||
НеМогутРазмещаться = "";
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЗаблокироватьВариантыОтчетовПередРазмещением(Блокировка, ПараметрыРазмещения.Варианты.Массив);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Для Каждого ВариантСсылка Из ПараметрыРазмещения.Варианты.Массив Цикл
|
||||
Если ВариантСсылка.ТипОтчета = Перечисления.ТипыОтчетов.Внешний Тогда
|
||||
НеМогутРазмещаться = ?(НеМогутРазмещаться = "", "", НеМогутРазмещаться + Символы.ПС)
|
||||
@@ -599,6 +644,7 @@
|
||||
+ Строка(ВариантСсылка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
@@ -610,9 +656,26 @@
|
||||
ОбновитьСодержимоеСписка();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Новый Структура("Размещено,УжеРазмещены,НеМогутРазмещаться", Размещено, УжеРазмещены, НеМогутРазмещаться);
|
||||
Возврат Новый Структура("Размещено, УжеРазмещены, НеМогутРазмещаться", Размещено, УжеРазмещены, НеМогутРазмещаться);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаблокироватьВариантыОтчетовПередРазмещением(Блокировка, ВариантыОтчетов)
|
||||
|
||||
ИсточникДанных = Новый ТаблицаЗначений;
|
||||
ИсточникДанных.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("СправочникСсылка.ВариантыОтчетов"));
|
||||
|
||||
Для Каждого ВариантОтчета Из ВариантыОтчетов Цикл
|
||||
Строка = ИсточникДанных.Добавить();
|
||||
Строка.Ссылка = ВариантОтчета;
|
||||
КонецЦикла;
|
||||
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВариантыОтчетов");
|
||||
ЭлементБлокировки.ИсточникДанных = ИсточникДанных;
|
||||
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Ссылка", "Ссылка");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьСодержимоеСпискаКлиент(Событие)
|
||||
Замер = НачатьЗамер(Событие);
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -2,27 +2,35 @@
|
||||
<p>Предназначен для хранения <a href="Catalog.ВариантыОтчетов/Help">вариантов отчетов</a> и настройки их размещения в командном интерфейсе.</p>
|
||||
<h3><a name="Реквизиты">Сведения</a> о варианте отчета</h3>
|
||||
<ul><li>Заполните <strong>Наименование</strong> варианта отчета, которое выводится в списках программы и в панели отчетов.
|
||||
</li><li>Напишите <strong>Описание - </strong>подробную информацию о варианте отчета, которая выводится как подсказка в панелях отчетов и в списках вариантов отчетов.
|
||||
</li><li>Нажмите переключатель <strong>Доступен</strong> для того чтобы определить, кому будет виден данный вариант отчета:
|
||||
<ul><li><strong>Только для автора</strong> - варианта отчета виден только автору, которого можно <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> из списка <a href="Catalog.Пользователи/Help">пользователей</a>. При этом имеется возможность назначить отчету другого автора, если это необходимо, например, ответственный за этот отчет поменялся.
|
||||
</li><li><strong>Всем пользователям</strong> - доступность всем пользователям данного отчета.
|
||||
<ul><li><strong>По умолчанию виден в панели отчетов</strong> - включите флажок, чтобы отчет был всегда виден всем пользователям в <a href="CommonForm.ПанельОтчетов/Help">панели отчетов</a>.</li></ul></li></ul></li></ul><p></p>
|
||||
</li>
|
||||
<li>Напишите <strong>Описание - </strong>подробную информацию о варианте отчета, которая выводится как подсказка в панелях отчетов и в списках вариантов отчетов.
|
||||
</li>
|
||||
<li>Укажите <b>Автора</b> отчета, выбрав из списка пользователей. Например, так можно закрепить варианты отчетов за конкретными сотрудниками, назначив из ответственными за актуальность варианта отчета. </li></ul><h3>Доступность</h3>
|
||||
<div>На вкладке <b>Пользователи</b> с помощью переключателя <strong>Доступен</strong> можно указать, кому будет виден данный вариант отчета:</div>
|
||||
<div>
|
||||
<ul><li><strong>Только автору</strong>;</li>
|
||||
<li><b>Указанным пользователям</b>.</li></ul></div>
|
||||
<div>С помощью кнопки <b>Подобрать</b> можно выбрать из списка <a href="Catalog.Пользователи/Help">пользователей</a>, которым будет доступен отчет. </div>
|
||||
<div>Для указанных пользователей отчет будет отображаться в <a href="CommonForm.ПанельОтчетов/Help">панели отчетов</a>, подменю и окне выбора варианта отчета. Остальным пользователям, имеющим права на отчет, он будет доступен из списка Все отчеты, а также в режиме настройки панели отчетов.</div>
|
||||
<div>
|
||||
<p></p>
|
||||
<h3><a name="Размещение">Размещение в панелях отчетов</a></h3>
|
||||
<p>Размещение вариантов отчетов могут менять администраторы вариантов отчетов и авторы.</p>
|
||||
<p>Размещение вариантов отчетов на вкладке <b>Разделы</b> могут менять администраторы вариантов отчетов и авторы.</p>
|
||||
<ul><li>Включите один или несколько флажков в колонке <strong>Раздел, группа</strong> для размещения варианта отчетов в разделах или группах программы. При размещении в разделе вариант отчета будет выводиться в верхней части панели отчетов раздела, без размещения в группах.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>В колонке <strong>Важность</strong> выберите способ выделения варианта отчета в группе: </div>
|
||||
<ul><li>
|
||||
<div><strong>Важный</strong> – вариант отчета будет выделен жирным шрифтом.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>См. также</strong> – вариант отчета будет выведен в отдельной группе внизу панели отчетов.</div></li></ul></li></ul><p></p>
|
||||
<h3><a name="Команды">Формирование отчета</a></h3>
|
||||
<ul><li>Нажмите <strong>Открыть</strong>, укажите необходимые для <a href="CommonForm.ФормаОтчета/Help">отчета</a> <a href="CommonForm.ФормаНастроекОтчета/Help">параметры</a>, затем нажмите <strong>Сформировать</strong>.</li></ul><h3>Сброс настроек</h3>
|
||||
<ul><li>
|
||||
<div>Сброс настроек может быть необходим, если они ошибочны и затрудняют работу с отчетом. Выполните команды:</div>
|
||||
</li><li>
|
||||
<div><strong>Еще - Сбросить настройки размещения</strong> - сбросить настройки размещения по данному варианту отчета;</div>
|
||||
</li><li>
|
||||
<div><strong>Еще - Сбросить настройки пользователей</strong> - сбросить пользовательские настройки в панелях отчетов по данному варианту отчета.</div></li></ul><h3>См. также:</h3>
|
||||
<p></p>
|
||||
<ul><li><strong>Еще - Сбросить настройки размещения</strong> - сбросить настройки размещения по данному варианту отчета;</li>
|
||||
<li><strong>Еще - Сбросить настройки пользователей</strong> - сбросить пользовательские настройки в панелях отчетов по данному варианту отчета.</li></ul><p></p>
|
||||
<h3>См. также:</h3>
|
||||
<ul><li>
|
||||
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>
|
||||
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></div></body></html>
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
|
||||
|
||||
Доступен = ?(Объект.ТолькоДляАвтора, "1", "2");
|
||||
Доступен = ?(Объект.ТолькоДляАвтора, "ТолькоДляАвтора", "УказаннымПользователям");
|
||||
|
||||
ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты();
|
||||
ПравоНаЭтотВариант = ПолныеПраваНаВарианты Или Объект.Автор = Пользователи.АвторизованныйПользователь();
|
||||
@@ -45,7 +45,6 @@
|
||||
|
||||
Элементы.Доступен.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
|
||||
Элементы.Автор.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
|
||||
Элементы.ВидимостьПоУмолчанию.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
|
||||
Элементы.ТехническаяИнформация.Видимость = ПолныеПраваНаВарианты;
|
||||
|
||||
// Заполнение имени отчета для команды "Просмотр".
|
||||
@@ -60,19 +59,22 @@
|
||||
|
||||
ПерезаполнитьДерево(Ложь);
|
||||
|
||||
ЛокализуемыеЭлементы = Новый Массив;
|
||||
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
|
||||
ЛокализуемыеЭлементы.Добавить(Элементы.Описание);
|
||||
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
|
||||
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
ВариантыОтчетов.ОпределитьПоведениеСпискаПользователейВариантаОтчета(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
Если ПараметрыОткрытияФормыОтчета <> Неопределено Тогда
|
||||
Отказ = Истина;
|
||||
ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Неопределено, ПараметрыОткрытияФормыОтчета);
|
||||
КонецЕсли;
|
||||
|
||||
ВариантыОтчетовКлиент.ОформитьПользователейВариантаОтчета(ЭтотОбъект, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -87,15 +89,14 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
// Запись свойств, связанных с предопределенным вариантом отчета.
|
||||
ОписаниеИзменено = Ложь;
|
||||
Если ЭтоПредопределенный Тогда
|
||||
|
||||
ПредопределенныйВариант = ТекущийОбъект.ПредопределенныйВариант.ПолучитьОбъект();
|
||||
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ПредопределенныйВариант);
|
||||
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ПредопределенныйВариант);
|
||||
|
||||
ТекущийОбъект.ВидимостьПоУмолчаниюПереопределена =
|
||||
Объект.ВидимостьПоУмолчанию <> ПредопределенныйВариант.ВидимостьПоУмолчанию;
|
||||
ОписаниеИзменено = Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) <> НРег(СокрЛП(ПредопределенныйВариант.Описание));
|
||||
Если Не ОписаниеИзменено Тогда
|
||||
ТекущийОбъект.Описание = "";
|
||||
@@ -114,10 +115,13 @@
|
||||
КонецЕсли;
|
||||
ВариантыОтчетов.ДеревоПодсистемЗаписать(ТекущийОбъект, ИзмененныеРазделы);
|
||||
|
||||
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
Если ЭтоПредопределенный И Не ОписаниеИзменено Тогда
|
||||
ТекущийОбъект.Представления.Очистить();
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийОбъект.ДополнительныеСвойства.Вставить("ПользователиВарианта", ПользователиВарианта);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -132,7 +136,7 @@
|
||||
|
||||
ПерезаполнитьДерево(Ложь);
|
||||
ЗаполнитьИзПредопределенного(ТекущийОбъект);
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -152,7 +156,10 @@
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
ЗаполнитьИзПредопределенного(ТекущийОбъект);
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
|
||||
РегистрыСведений.НастройкиВариантовОтчетов.ПрочитатьНастройкиДоступностиВариантаОтчета(
|
||||
ТекущийОбъект.Ссылка, ПользователиВарианта, ИспользоватьГруппыПользователей, ИспользоватьВнешнихПользователей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -163,22 +170,64 @@
|
||||
&НаКлиенте
|
||||
Процедура ОписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ВариантыОтчетовКлиент.РедактироватьМногострочныйТекст(ЭтотОбъект, Элемент.ТекстРедактирования, Объект, "Описание", НСтр("ru = 'Описание'"));
|
||||
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект, "Описание", НСтр("ru = 'Описание'"));
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДоступенПриИзменении(Элемент)
|
||||
Объект.ТолькоДляАвтора = (ЭтотОбъект.Доступен = "1");
|
||||
|
||||
Объект.ТолькоДляАвтора = (Доступен = "ТолькоДляАвтора");
|
||||
ВариантыОтчетовКлиент.ОформитьПользователейВариантаОтчета(ЭтотОбъект, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
|
||||
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
|
||||
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыПользователиВарианта
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПользователиВариантаПриИзменении(Элемент)
|
||||
|
||||
ВариантыОтчетовКлиент.ОформитьПользователейВариантаОтчета(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОписаниеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Описание", СтандартнаяОбработка);
|
||||
Процедура ПользователиВариантаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
|
||||
|
||||
Отказ = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПользователиВариантаПередУдалением(Элемент, Отказ)
|
||||
|
||||
Если Не ИспользоватьГруппыПользователей
|
||||
И Не ИспользоватьВнешнихПользователей Тогда
|
||||
|
||||
Отказ = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПользователиВариантаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
ВариантыОтчетовКлиент.ПользователиВариантаОтчетаОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПользователиВариантаПометкаПриИзменении(Элемент)
|
||||
|
||||
ВариантыОтчетовКлиент.ОформитьПользователейВариантаОтчета(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -197,12 +246,32 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодобратьПользователей(Команда)
|
||||
|
||||
ВариантыОтчетовКлиент.ПодобратьПользователейВариантаОтчета(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодобратьГруппыВнешнихПользователей(Команда)
|
||||
|
||||
ВариантыОтчетовКлиент.ПодобратьПользователейВариантаОтчета(ЭтотОбъект, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьУсловноеОформление()
|
||||
|
||||
УсловноеОформление.Элементы.Очистить();
|
||||
|
||||
ВариантыОтчетов.УстановитьУсловноеОформлениеСпискаПользователейВариантаОтчета(ЭтотОбъект);
|
||||
ВариантыОтчетов.УстановитьУсловноеОформлениеДереваПодсистем(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -228,13 +297,10 @@
|
||||
И ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант);
|
||||
Если Не ЭтоПредопределенный Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПредопределенныйВариант = ВариантОбъект.ПредопределенныйВариант.ПолучитьОбъект();
|
||||
Если ВариантОбъект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда
|
||||
ВариантОбъект.ВидимостьПоУмолчанию = ПредопределенныйВариант.ВидимостьПоУмолчанию;
|
||||
КонецЕсли;
|
||||
|
||||
ПредопределенныйВариант = ВариантОбъект.ПредопределенныйВариант.ПолучитьОбъект();
|
||||
|
||||
ВариантОбъект.Наименование = ПредопределенныйВариант.Наименование;
|
||||
|
||||
ПредставленияВарианта = ВариантОбъект.Представления.Выгрузить();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body class="">
|
||||
<p>Предназначен для управления вариантами отчетов, для настройки размещения в панелях отчетов разделов программы.</p>
|
||||
<p>Программа позволяет сохранять и использовать несколько вариантов одного и того же отчета. Предусмотрены предопределенные варианты отчетов. Также можно создавать свои собственные варианты отчетов, изменяя настройки существующих: <a href="v8help://mngui/reportFormMain">настройки</a> формирования и внешнего вида (состав полей, сортировки, группировки, условное оформление).</p>
|
||||
<p>В программе предусмотрена возможность создавать общие варианты отчетов. Общие варианты отчетов доступны всем пользователям этого отчета.</p>
|
||||
@@ -9,63 +9,95 @@
|
||||
<p>Список состоит из двух частей: </p>
|
||||
<ul><li>в левой части расположено дерево разделов и групп командного интерфейса программы, в которых имеются панели отчетов.
|
||||
<ul><li>При перемещении по узлам дерева список автоматически фильтруется по выбранному разделу или группе.
|
||||
</li><li>При помощи флажка <strong>Включая подчиненные</strong> можно показать все отчеты раздела или группы, включая варианты отчетов вложенных групп. </li></ul></li><li>В правой части размещается список отчетов. </li></ul><p>В списке выводится: </p>
|
||||
</li>
|
||||
<li>При помощи флажка <strong>Включая подчиненные</strong> можно показать все отчеты раздела или группы, включая варианты отчетов вложенных групп. </li></ul></li>
|
||||
<li>В правой части размещается список отчетов. </li></ul><p>В списке выводится: </p>
|
||||
<ul><li>
|
||||
<div><strong>Наименование</strong> - полное наименование варианта отчета, которое выводится в списках.</div>
|
||||
</li><li><strong>Автор</strong> - полное имя пользователя, который является автором варианта отчета.
|
||||
</li><li><strong>Описание</strong> - подробная информация о варианте отчета.</li></ul><p>Для того чтобы добавить колонки в список, нажмите <strong>Еще - Изменить форму</strong> (настройки сохраняются):</p>
|
||||
</li>
|
||||
<li><strong>Автор</strong> - полное имя пользователя, который является автором варианта отчета.
|
||||
</li>
|
||||
<li><strong>Описание</strong> - подробная информация о варианте отчета.</li></ul><p>Для того чтобы добавить колонки в список, нажмите <strong>Еще - Изменить форму</strong> (настройки сохраняются):</p>
|
||||
<ul><li>
|
||||
<div>Картинка <strong>Доступен всем пользователям:</strong></div>
|
||||
<ul><li>
|
||||
<div>видна - вариант отчета доступен всем пользователям, </div>
|
||||
</li><li>
|
||||
<div>не видна - вариант отчета доступен только автору.</div></li></ul></li><li><strong>Техническая информация</strong>:
|
||||
</li>
|
||||
<li>
|
||||
<div>не видна - вариант отчета доступен только автору.</div></li></ul></li>
|
||||
<li><strong>Техническая информация</strong>:
|
||||
<ul><li>
|
||||
<div><strong>Имя отчета</strong> - имя, под которым отчет зарегистрирован в программе. </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Отчет</strong> - полное наименование отчета (представление). </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Тип отчета</strong> - существуют три типа отчетов: </div>
|
||||
<ul><li>
|
||||
<div><strong>Внутренний</strong> </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Дополнительный</strong> </div>
|
||||
</li><li>
|
||||
<div><strong>Внешний</strong> - варианты внешних отчетов не могут размещаться в панели отчетов.</div></li></ul></li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Внешний</strong> - варианты внешних отчетов не могут размещаться в панели отчетов.</div></li></ul></li>
|
||||
<li>
|
||||
<div><strong>Ключ варианта</strong> - имя предопределенного или уникальный идентификатор пользовательского варианта отчета. </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Наименования параметров и отборов</strong> - перечисляются параметры и отборы отчетов.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Наименования полей</strong> - перечисляются наименования полей отчетов.</div></li></ul></li></ul><h3>Поиск</h3>
|
||||
<p>Если список вариантов отчетов большой, то с помощью поиска можно быстро найти нужный вариант отчета. </p>
|
||||
<ul><li>В поле <strong>Поиск</strong> наберите искомое значение, нажмите <strong>Найти</strong>. Поиск проводится в выделенном разделе (группе).
|
||||
<ul><li>
|
||||
<p>Отчеты можно искать по слову (части слова), также возможен поиск по нескольким словам. Поиск осуществляется: </p>
|
||||
<ul><li>в наименованиях отчета;
|
||||
</li><li>в описаниях варианта отчета;
|
||||
</li><li>в представлениях полей варианта отчета;
|
||||
</li><li>в представлениях параметров и отборов варианта отчета;
|
||||
</li><li>в наименованиях пользовательских настроек варианта отчета;
|
||||
</li><li>в наименованиях разделов и групп программы и панели отчетов.</li></ul></li></ul></li></ul><h3>Формирование отчета</h3>
|
||||
</li>
|
||||
<li>в описаниях варианта отчета;
|
||||
</li>
|
||||
<li>в представлениях полей варианта отчета;
|
||||
</li>
|
||||
<li>в представлениях параметров и отборов варианта отчета;
|
||||
</li>
|
||||
<li>в наименованиях пользовательских настроек варианта отчета;
|
||||
</li>
|
||||
<li>в наименованиях разделов и групп программы и панели отчетов.</li></ul></li></ul></li></ul><h3>Формирование отчета</h3>
|
||||
<ul><li>
|
||||
<div>Выделите один из вариантов отчетов, нажмите <strong>Открыть</strong>, произведите необходимые настройки, нажмите <strong>Сформировать</strong>.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>В списке <strong>Все отчеты</strong> также можно воспользоваться двойным щелчком мыши на нужном варианте отчета.</div></li></ul><h3>Настройка варианта отчета</h3>
|
||||
<ul><li>
|
||||
<div>Выберите вариант отчета, нажмите <strong>Изменить</strong>, отредактируйте необходимые <a href="Catalog.ВариантыОтчетов.Form.ФормаЭлемента/Help">поля</a>.</div>
|
||||
</li><li>
|
||||
<div>В списке <strong>Варианты отчетов</strong>, предназначенном только для администратора, также можно воспользоваться двойным щелчком мыши на нужном варианте отчета.</div></li></ul><h3>Удаление варианта отчета</h3>
|
||||
</li>
|
||||
<li>
|
||||
<div>В списке <strong>Варианты отчетов</strong>, предназначенном только для администратора, также можно воспользоваться двойным щелчком мыши на нужном варианте отчета.</div></li></ul><h3>Обновление варианта отчета из файла</h3>
|
||||
<p></p>
|
||||
<ul><li>С помощью кнопки <img src="CommonPicture.ОбновитьФайлИзФайлаНаДиске"></img> <b>Обновить из файла</b> можно загрузить вариант отчета, сохраненный вместе с пользовательскими настройками в архивный файл на компьютере. Укажите путь к архиву с вариантом отчета.</li>
|
||||
<li>Данная возможность предназначена для обмена настройками вариантов отчета между информационными базами идентичной структуры.</li></ul><p></p>
|
||||
<h3>Сохранение варианта отчета в файл</h3>
|
||||
<p></p>
|
||||
<ul><li>С помощью кнопки <img src="CommonPicture.СохранитьФайлКак"></img> <b>Сохранить в файл</b> можно записать вариант отчета (с включением пользовательских настроек). Укажите путь к архивному файлу на компьютере. Вместе с вариантом отчета по умолчанию сохраняются и пользовательские настройки. Можно отменить сохранение всех или некоторых настроек с помощью флажков.</li>
|
||||
<li>Данная возможность предназначена для обмена настройками вариантов отчета между информационными базами идентичной структуры.</li></ul><h3>Удаление варианта отчета</h3>
|
||||
<ul><li>Пользовательский вариант отчета с помощью команды меню <strong>Еще</strong> можно <strong>Пометить на удаление</strong>. Также можно воспользоваться клавишей <strong>Del</strong>.
|
||||
</li><li>Повторно выполните эту команду, для того чтобы <strong>Снять пометку удаления</strong>.
|
||||
</li><li>Эта возможность недоступна для предопределенных вариантов отчетов.</li></ul><h3>Размещение вариантов отчетов в разделах программы </h3>
|
||||
</li>
|
||||
<li>Повторно выполните эту команду, для того чтобы <strong>Снять пометку удаления</strong>.
|
||||
</li>
|
||||
<li>Эта возможность недоступна для предопределенных вариантов отчетов.</li></ul><h3>Размещение вариантов отчетов в разделах программы </h3>
|
||||
<p><a href="Catalog.ВариантыОтчетов.Form.РазмещениеВРазделах/Help">Размещение</a> варианта отчета может быть изменено автором отчета или администратором.</p>
|
||||
<ul><li>Варианты отчетов можно перемещать из текущего раздела/группы в другие при помощи перетаскивания мышью. Если при перетаскивании зажать клавишу <strong>Ctrl</strong>, то вариант отчета будет добавлен в новую группу, а также останется в текущей группе. Программа запрашивает подтверждение размещения варианта отчета. Для подтверждения нажмите <strong>Да</strong>.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<p>С помощью команды <strong>Еще - Разместить в разделах</strong> можно настроить размещение сразу для нескольких вариантов отчетов, указав, в каких разделах и группах командного интерфейса программы они должны располагаться.</p>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<p>Предусмотрены дополнительные возможности по настройке внешнего вида панели отчетов в программе: можно выделить тот или иной вариант отчета как <strong>Важный</strong> или поместить в группу <strong>См. также</strong>.</p></li></ul><ul><li>
|
||||
<p> В списке <strong>Варианты отчетов</strong>, предназначенном только для администратора, команда <strong>Разместить в разделах</strong> для удобства управления вариантами отчетов выведена в командную панель списка.</p></li></ul><h3>Сброс настроек</h3>
|
||||
<ul><li>
|
||||
<div>Нажмите <strong>Еще - Сбросить настройки размещения</strong>, для того чтобы восстановить исходные настройки выбранных вариантов отчетов: размещение в разделах программы, доступность и видимость по умолчанию. Может выполняться только для предопределенных вариантов отчетов; </div>
|
||||
</li><li>Нажмите <strong>Еще - Сбросить настройки пользователей</strong>, для того чтобы сбросить пользовательские настройки выбранных вариантов отчетов: видимость и быстрый доступ.</li></ul><h3>См. также: </h3>
|
||||
</li>
|
||||
<li>Нажмите <strong>Еще - Сбросить настройки пользователей</strong>, для того чтобы сбросить пользовательские настройки выбранных вариантов отчетов: видимость и быстрый доступ.</li></ul><h3>См. также: </h3>
|
||||
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
|
||||
@@ -135,8 +135,8 @@
|
||||
Если ЭтоПредопределенный Тогда
|
||||
Данные.Ссылка = Данные.ПредопределенныйВариант;
|
||||
КонецЕсли;
|
||||
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
|
||||
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -10,7 +10,14 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
|
||||
|
||||
ИнициализироватьОбъект(ДанныеЗаполнения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
ИсключаемыеРеквизиты = Новый Массив;
|
||||
|
||||
Если Не Пользовательский Тогда
|
||||
@@ -25,19 +32,24 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" занято, необходимо указать другое наименование.'"), Наименование),
|
||||
,
|
||||
"Наименование");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПередЗаписью(Отказ)
|
||||
|
||||
Если ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") Тогда
|
||||
ПроверитьЗаполнениеПредопределенного(Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
|
||||
|
||||
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
|
||||
|
||||
ПользователемИзмененаПометкаУдаления = (
|
||||
Не ЭтоНовый()
|
||||
И ПометкаУдаления <> Ссылка.ПометкаУдаления
|
||||
@@ -88,20 +100,110 @@
|
||||
КонецЦикла;
|
||||
|
||||
ЗаполнитьПоляДляПоиска();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриЗаписи(Отказ)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПользователиВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ПользователиВарианта");
|
||||
ЭтоНовый = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь);
|
||||
|
||||
РегистрыСведений.НастройкиВариантовОтчетов.ЗаписатьНастройкиДоступностиВариантаОтчета(
|
||||
Ссылка, ЭтоНовый, ПользователиВарианта);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ИнициализироватьОбъект(ДанныеЗаполнения)
|
||||
|
||||
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
|
||||
НастройкиВариантаОтчета = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеЗаполнения, "Настройки");
|
||||
|
||||
Если ТипЗнч(НастройкиВариантаОтчета) = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
|
||||
Настройки = Новый ХранилищеЗначения(НастройкиВариантаОтчета);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
#Область УстановкаТипаОтчета
|
||||
|
||||
Если ТипЗнч(Отчет) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда
|
||||
|
||||
ТипОтчета = Перечисления.ТипыОтчетов.Внутренний;
|
||||
|
||||
ИначеЕсли ТипЗнч(Отчет) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений") Тогда
|
||||
|
||||
ТипОтчета = Перечисления.ТипыОтчетов.Расширение;
|
||||
|
||||
ИначеЕсли ТипЗнч(Отчет) = Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки") Тогда
|
||||
|
||||
ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный;
|
||||
|
||||
ИначеЕсли ТипЗнч(Отчет) = Тип("Строка") Тогда
|
||||
|
||||
ТипОтчета = Перечисления.ТипыОтчетов.Внешний;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область УстановкаДанныхВЗависимостиОтЗначенияАвтора
|
||||
|
||||
Если ЗначениеЗаполнено(Автор) Тогда
|
||||
|
||||
Пользовательский = ЗначениеЗаполнено(Автор);
|
||||
|
||||
ПользователиВарианта = Новый СписокЗначений;
|
||||
ПользователиВарианта.Добавить(Автор);
|
||||
|
||||
ДополнительныеСвойства.Вставить("ПользователиВарианта", ПользователиВарианта);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область УстановкаРодителя
|
||||
|
||||
Основание = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеЗаполнения, "Основание");
|
||||
|
||||
Если ТипЗнч(Основание) = ТипЗнч(Ссылка) Тогда
|
||||
|
||||
СвойстваОснования = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Основание, "Родитель, Отчет, Пользовательский");
|
||||
|
||||
Если СвойстваОснования.Отчет = Отчет Тогда
|
||||
Родитель = ?(СвойстваОснования.Пользовательский, СвойстваОснования.Родитель, Основание);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Родитель) Тогда
|
||||
ЗаполнитьРодителя();
|
||||
КонецЕсли;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполнение реквизитов НаименованияПолей и НаименованияПараметровИОтборов.
|
||||
Процедура ЗаполнитьПоляДляПоиска()
|
||||
|
||||
Дополнительный = (ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный);
|
||||
Если Не Пользовательский И Не Дополнительный Тогда
|
||||
Возврат;
|
||||
@@ -118,48 +220,66 @@
|
||||
ТекстОшибки = ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ВариантыОтчетов.ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Ошибка, ТекстОшибки, Ссылка);
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет родителя варианта отчета, основываясь на ссылке отчета и предопределенных настройках.
|
||||
Процедура ЗаполнитьРодителя() Экспорт
|
||||
ТекстЗапроса =
|
||||
|
||||
Запрос = Новый Запрос(
|
||||
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
|
||||
| Предопределенные.Ссылка КАК ПредопределенныйВариант
|
||||
|ПОМЕСТИТЬ втПредопределенные
|
||||
| ПредопределенныеВарианты.Ссылка,
|
||||
| ПредопределенныеВарианты.Включен
|
||||
|ПОМЕСТИТЬ ПредопределенныеВарианты
|
||||
|ИЗ
|
||||
| Справочник.ПредопределенныеВариантыОтчетов КАК Предопределенные
|
||||
| Справочник.ПредопределенныеВариантыОтчетов КАК ПредопределенныеВарианты
|
||||
|ГДЕ
|
||||
| Предопределенные.Отчет = &Отчет
|
||||
| И Предопределенные.ПометкаУдаления = ЛОЖЬ
|
||||
| И Предопределенные.ГруппироватьПоОтчету
|
||||
| ТИПЗНАЧЕНИЯ(&Отчет) <> ТИП(Справочник.ИдентификаторыОбъектовРасширений)
|
||||
| И ПредопределенныеВарианты.Отчет = &Отчет
|
||||
| И НЕ ПредопределенныеВарианты.ПометкаУдаления
|
||||
| И ПредопределенныеВарианты.ГруппироватьПоОтчету
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ПредопределенныеВарианты.Ссылка,
|
||||
| ПредопределенныеВарианты.Включен
|
||||
|ИЗ
|
||||
| Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ПредопределенныеВарианты
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредопределенныеВариантыОтчетовВерсийРасширений КАК ДоступныеВарианты
|
||||
| ПО ДоступныеВарианты.Вариант = ПредопределенныеВарианты.Ссылка
|
||||
|ГДЕ
|
||||
| ТИПЗНАЧЕНИЯ(&Отчет) = ТИП(Справочник.ИдентификаторыОбъектовРасширений)
|
||||
| И ПредопределенныеВарианты.Отчет = &Отчет
|
||||
| И ПредопределенныеВарианты.ГруппироватьПоОтчету
|
||||
| И НЕ ДоступныеВарианты.Вариант ЕСТЬ NULL
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Предопределенные.Включен УБЫВ
|
||||
| ПредопределенныеВарианты.Включен УБЫВ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
|
||||
| ВариантыОтчетов.Ссылка
|
||||
|ИЗ
|
||||
| втПредопределенные КАК втПредопределенные
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ВариантыОтчетов
|
||||
| ПО втПредопределенные.ПредопределенныйВариант = ВариантыОтчетов.ПредопределенныйВариант
|
||||
| ПредопределенныеВарианты КАК ПредопределенныеВарианты
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ВариантыОтчетов
|
||||
| ПО ПредопределенныеВарианты.Ссылка = ВариантыОтчетов.ПредопределенныйВариант
|
||||
|ГДЕ
|
||||
| ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ";
|
||||
Если ТипОтчета = Перечисления.ТипыОтчетов.Расширение Тогда
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ".ПредопределенныеВариантыОтчетов", ".ПредопределенныеВариантыОтчетовРасширений");
|
||||
КонецЕсли;
|
||||
Запрос = Новый Запрос;
|
||||
| НЕ ВариантыОтчетов.ПометкаУдаления");
|
||||
|
||||
Запрос.УстановитьПараметр("Отчет", Отчет);
|
||||
Запрос.Текст = ТекстЗапроса;
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если Выборка.Следующий() Тогда
|
||||
Родитель = Выборка.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Базовые проверки корректности данных предопределенных вариантов отчетов.
|
||||
Процедура ПроверитьЗаполнениеПредопределенного(Отказ)
|
||||
|
||||
Если ПометкаУдаления Или Не Предопределенный Тогда
|
||||
Возврат;
|
||||
ИначеЕсли Не ЗначениеЗаполнено(Отчет) Тогда
|
||||
@@ -175,11 +295,15 @@
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НеЗаполненоПоле(ИмяПоля)
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не заполнено поле ""%1""'"), ИмяПоля);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -348,6 +348,7 @@
|
||||
<key>ru</key>
|
||||
<value>Отчет</value>
|
||||
</synonym>
|
||||
<comment>АПК:1329 - в таблице предполагается мало записей (в ERP ~ 1200) - оптимизация не требуется</comment>
|
||||
<type>
|
||||
<types>CatalogRef.ИдентификаторыОбъектовРасширений</types>
|
||||
<types>String</types>
|
||||
@@ -359,7 +360,7 @@
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Ссылка отчета или его полное имя.</value>
|
||||
<value>Ссылка отчета или полное имя внешнего отчета.</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
|
||||
@@ -117,6 +117,10 @@
|
||||
Процедура ЗарегистрироватьИспользованиеВерсииРасширений() Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
|
||||
МодульУправлениеДоступомСлужебный.ПриРегистрацииИспользованияВерсииРасширенийВНеразделенномСеансе();
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -689,9 +693,10 @@
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если Выборка.Следующий() И Выборка.Количество() = 1 Тогда
|
||||
Объект = Выборка.Ссылка.ПолучитьОбъект();
|
||||
// АПК:143-выкл - требуется ТекущаяДата(), так как именно она устанавливается в поле НачалоСеанса.
|
||||
// АПК:143-выкл - №643.2.1 Требуется ТекущаяДата сервера, а не ТекущаяДатаСеанса,
|
||||
// так как именно ТекущаяДата устанавливается в поле НачалоСеанса.
|
||||
Объект.ПоследняяДатаДобавленияВторойВерсии = ТекущаяДата();
|
||||
// АПК:143-вкл
|
||||
// АПК:143-вкл.
|
||||
Объект.ОбменДанными.Загрузка = Истина;
|
||||
Объект.Записать();
|
||||
ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Истина);
|
||||
@@ -754,11 +759,27 @@
|
||||
Если Выгрузка.Количество() = 1
|
||||
И Не ЗначениеЗаполнено(Выгрузка[0].ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
|
||||
|
||||
Объект = Выгрузка[0].Ссылка.ПолучитьОбъект();
|
||||
// АПК:143-выкл - требуется ТекущаяДата(), так как именно она устанавливается в поле НачалоСеанса.
|
||||
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата();
|
||||
// АПК:143-вкл
|
||||
Объект.Записать();
|
||||
ВерсияРасширенийСсылка = Выгрузка[0].Ссылка;
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВерсияРасширенийСсылка);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Объект = ВерсияРасширенийСсылка.ПолучитьОбъект();
|
||||
Если Не ЗначениеЗаполнено(Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
|
||||
// АПК:143-выкл. См. 643.2.1. Требуется ТекущаяДата сервера, а не ТекущаяДатаСеанса,
|
||||
// так как именно ТекущаяДата устанавливается в поле НачалоСеанса.
|
||||
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата();
|
||||
// АПК:143-вкл.
|
||||
Объект.Записать();
|
||||
КонецЕсли;
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
|
||||
Если ЧислоВыделенныхСтрок <> 2 И ЧислоВыделенныхСтрок <> 1 Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru='Для просмотра отличий необходимо выбрать две версии файла.'"));
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Для просмотра отличий необходимо выбрать две версии файла.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -91,28 +91,13 @@
|
||||
Процедура ПередУдалением(Отказ)
|
||||
|
||||
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
|
||||
Если НЕ Том.Пустая() И ОбщегоНазначения.СсылкаСуществует(Том) Тогда
|
||||
ПолныйПуть = РаботаСФайламиСлужебный.ПолныйПутьТома(Том) + ПутьКФайлу;
|
||||
Попытка
|
||||
Файл = Новый Файл(ПолныйПуть);
|
||||
Файл.УстановитьТолькоЧтение(Ложь);
|
||||
УдалитьФайлы(ПолныйПуть);
|
||||
|
||||
ПутьСПодкаталогом = Файл.Путь;
|
||||
МассивФайловВКаталоге = НайтиФайлы(ПутьСПодкаталогом, ПолучитьМаскуВсеФайлы());
|
||||
Если МассивФайловВКаталоге.Количество() = 0 Тогда
|
||||
УдалитьФайлы(ПутьСПодкаталогом);
|
||||
КонецЕсли;
|
||||
|
||||
Исключение
|
||||
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Ошибка удаления файла.'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,,
|
||||
Файл, ОписаниеОшибки());
|
||||
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваФайла = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
|
||||
ЗаполнитьЗначенияСвойств(СвойстваФайла, ЭтотОбъект);
|
||||
|
||||
РаботаСФайламиВТомахСлужебный.УдалитьФайл(
|
||||
РаботаСФайламиВТомахСлужебный.ПолноеИмяФайлаВТоме(СвойстваФайла));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Проверку ОбменДанными.Загрузка следует выполнять начиная с этой строки.
|
||||
|
||||
@@ -362,20 +362,12 @@
|
||||
КОНЕЦ
|
||||
КОНЕЦ КАК ИндексПиктограммы,
|
||||
СправочникВидыКонтактнойИнформации.Ссылка,
|
||||
СправочникВидыКонтактнойИнформации.ПометкаУдаления,
|
||||
СправочникВидыКонтактнойИнформации.Предопределенный,
|
||||
СправочникВидыКонтактнойИнформации.Родитель,
|
||||
СправочникВидыКонтактнойИнформации.ЭтоГруппа,
|
||||
ВЫБОР
|
||||
КОГДА &ЭтоОсновнойЯзык
|
||||
ТОГДА СправочникВидыКонтактнойИнформации.Наименование
|
||||
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВидыКонтактнойИнформацииПредставления.Наименование, СправочникВидыКонтактнойИнформации.Наименование) КАК СТРОКА(150))
|
||||
КОНЕЦ КАК Наименование,
|
||||
СправочникВидыКонтактнойИнформации.Тип,
|
||||
СправочникВидыКонтактнойИнформации.РеквизитДопУпорядочивания,
|
||||
СправочникВидыКонтактнойИнформации.РедактированиеТолькоВДиалоге,
|
||||
СправочникВидыКонтактнойИнформации.МожноИзменятьСпособРедактирования,
|
||||
СправочникВидыКонтактнойИнформации.ТолькоНациональныйАдрес,
|
||||
СправочникВидыКонтактнойИнформации.Используется
|
||||
ИЗ
|
||||
Справочник.ВидыКонтактнойИнформации КАК СправочникВидыКонтактнойИнформации
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
Если Копирование И Группа Тогда
|
||||
Отказ = Истина;
|
||||
|
||||
ПоказатьПредупреждение(, НСтр("ru='Добавление новых групп в справочнике запрещено.'"));
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Добавление новых групп в справочнике запрещено.'"));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -45,12 +45,17 @@
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_ВыполнитьКоманду(Команда)
|
||||
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
|
||||
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
|
||||
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
|
||||
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат);
|
||||
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
|
||||
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
@@ -121,10 +121,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>НаименованиеОткрытие</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<chooseType>true</chooseType>
|
||||
@@ -246,24 +242,27 @@
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>РедактированиеТолькоВДиалоге</name>
|
||||
<id>9</id>
|
||||
<name>ВидРедактирования</name>
|
||||
<id>168</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Редактировать</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.РедактированиеТолькоВДиалоге</segments>
|
||||
<segments>Объект.ВидРедактирования</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>РедактированиеТолькоВДиалогеПриИзменении</name>
|
||||
<name>ВидРедактированияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>РедактированиеТолькоВДиалогеExtendedTooltip</name>
|
||||
<id>93</id>
|
||||
<name>ВидРедактированияРасширеннаяПодсказка</name>
|
||||
<id>170</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -272,16 +271,51 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>РедактированиеТолькоВДиалогеКонтекстноеМеню</name>
|
||||
<id>10</id>
|
||||
<name>ВидРедактированияКонтекстноеМеню</name>
|
||||
<id>169</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>15</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<listChoiceMode>true</listChoiceMode>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>В диалоге</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>Диалог</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>В поле ввода</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ПолеВвода</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<choiceList>
|
||||
<presentation>
|
||||
<key>ru</key>
|
||||
<value>В диалоге и поле ввода</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ПолеВводаИДиалог</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаХранитьИсториюИзменений</name>
|
||||
|
||||
@@ -28,12 +28,16 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.Ссылка.Пустая() Тогда
|
||||
Объект.ВидРедактирования = "ПолеВводаИДиалог";
|
||||
КонецЕсли;
|
||||
|
||||
СсылкаРодителя = Объект.Родитель;
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Объект.РедактированиеТолькоВДиалоге;
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Объект.ВидРедактирования = "Диалог";
|
||||
Элементы.РазрешитьВводНесколькихЗначений.Доступность = НЕ Объект.ХранитьИсториюИзменений;
|
||||
|
||||
Если Не Объект.МожноИзменятьСпособРедактирования Тогда
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Доступность = Ложь;
|
||||
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Ложь;
|
||||
Элементы.ГруппаНаименованиеНастройкиПоТипам.Доступность = Ложь;
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
|
||||
@@ -72,7 +76,7 @@
|
||||
ДоступныДополнительныеНастройкиАдреса = (Метаданные.Обработки.Найти("РасширенныйВводКонтактнойИнформации") <> Неопределено
|
||||
И Метаданные.Обработки["РасширенныйВводКонтактнойИнформации"].Формы.Найти("НастройкиАдреса") <> Неопределено);
|
||||
|
||||
ЛокализацияСервер.ПриСозданииНаСервере(Элементы.Наименование);
|
||||
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -84,7 +88,7 @@
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -95,7 +99,7 @@
|
||||
Отказ = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -110,7 +114,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -141,9 +145,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура РедактированиеТолькоВДиалогеПриИзменении(Элемент)
|
||||
Процедура ВидРедактированияПриИзменении(Элемент)
|
||||
|
||||
Если Объект.РедактированиеТолькоВДиалоге Тогда
|
||||
Если Объект.ВидРедактирования = "Диалог" Тогда
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Истина;
|
||||
Иначе
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
|
||||
@@ -187,10 +191,8 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
|
||||
|
||||
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
|
||||
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -228,32 +230,35 @@
|
||||
|
||||
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ВидРедактирования.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ДополнительныеНастройкиАдреса.Видимость = ДоступныДополнительныеНастройкиАдреса;
|
||||
Элементы.ДополнительныеНастройкиАдреса.Доступность = Не Объект.МеждународныйФорматАдреса;
|
||||
Элементы.ВидРедактирования.Видимость = Истина;
|
||||
Иначе
|
||||
Элементы.ДополнительныеНастройкиАдреса.Видимость = Ложь;
|
||||
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.АдресЭлектроннойПочты;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Видимость = Ложь;
|
||||
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Skype") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Skype;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Видимость = Ложь;
|
||||
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Истина;
|
||||
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
|
||||
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Телефон;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ВидРедактирования.Доступность = Объект.МожноИзменятьСпособРедактирования;
|
||||
Элементы.ВидРедактирования.Видимость = Истина;
|
||||
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Другое") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Видимость = Ложь;
|
||||
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.ВебСтраница") Тогда
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Прочие;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Видимость = Ложь;
|
||||
Элементы.ВидРедактирования.Видимость = Ложь;
|
||||
Элементы.ГруппаХранитьИсториюИзменений.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Прочие;
|
||||
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
|
||||
Элементы.ВидРедактирования.Доступность = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -270,12 +275,12 @@
|
||||
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
|
||||
|
||||
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
|
||||
Объект.РедактированиеТолькоВДиалоге = Ложь;
|
||||
Объект.ВидРедактирования = "ПолеВвода";
|
||||
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
|
||||
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
|
||||
// Нет изменений
|
||||
Иначе
|
||||
Объект.РедактированиеТолькоВДиалоге = Ложь;
|
||||
Объект.ВидРедактирования = "ПолеВводаИДиалог";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -45,6 +45,123 @@
|
||||
|
||||
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
|
||||
|
||||
// СтандартныеПодсистемы.ПоискИУдалениеДублей
|
||||
|
||||
// Анализирует пары ссылок справочника на возможность замены одной на другую
|
||||
// во всех местах использования с прикладной точки зрения.
|
||||
// Проверки на запрет замены групп и ссылок разных типов производятся автоматически при начале замены.
|
||||
//
|
||||
// Параметры:
|
||||
// ПарыЗамен - Соответствие - Ключ - что будет заменено, значение - на что будет заменено.
|
||||
// Параметры - Структура - Набор флагов, описывающих действие с заменяемыми элементами.
|
||||
// Содержит необязательные реквизиты:
|
||||
// * СпособУдаления - Строка, может принимать значения:
|
||||
// "Непосредственно" - Если после замены ссылка нигде не используется,
|
||||
// то она будет удалена непосредственно
|
||||
// "Пометка" - Если после замены ссылка не используется, то
|
||||
// она будет помечена на удаление.
|
||||
// Любые другие значения говорят о том, что заменяемая ссылка не будет изменена.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие - Ключ - исходная ссылка, значение - строка - описание, почему замена недопустима.
|
||||
// Если все замены допустимы, то возвращается пустое соответствие;
|
||||
//
|
||||
Функция ВозможностьЗаменыЭлементов(Знач ПарыЗамен, Знач Параметры = Неопределено) Экспорт
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Для Каждого КлючЗначение Из ПарыЗамен Цикл
|
||||
ТекущаяСсылка = КлючЗначение.Ключ;
|
||||
ЦелеваяСсылка = КлючЗначение.Значение;
|
||||
|
||||
Если ТекущаяСсылка = ЦелеваяСсылка Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
// Разрешаем заменять вид контактной информации на другой, только если они относятся к одной группе.
|
||||
МожноЗаменять = ТекущаяСсылка.Родитель = ЦелеваяСсылка.Родитель;
|
||||
Если Не МожноЗаменять Тогда
|
||||
Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Элемент ""%1"" относится к ""%2"", а ""%3"" - к ""%4""'"),
|
||||
ТекущаяСсылка, ТекущаяСсылка.Родитель, ЦелеваяСсылка, ЦелеваяСсылка.Родитель);
|
||||
Результат.Вставить(ТекущаяСсылка, Ошибка);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
// Вызывается для определения прикладных параметров поиска дублей.
|
||||
//
|
||||
// Параметры:
|
||||
//
|
||||
// ПараметрыПоиска - Структура - Предлагаемые параметры поиска. Содержит поля:
|
||||
//
|
||||
// * ПравилаПоиска - ТаблицаЗначений - Предлагаемые правила сравнения для объектов.
|
||||
// Может быть изменена для установки новых вариантов. Содержит колонки.
|
||||
// ** Реквизит - Строка - Имя реквизита для сравнения.
|
||||
// ** Правило - Строка - Правило сравнения: "Равно" - сравнение по равенству, "Подобно" -подобие строк,
|
||||
// "" - пустая строка - не сравнивать.
|
||||
//
|
||||
// * КомпоновщикОтбора - КомпоновщикНастроекКомпоновкиДанных - Инициализированный компоновщик для
|
||||
// предварительного отбора. Может быть изменен, например, для
|
||||
// усиления отборов.
|
||||
//
|
||||
// * ОграниченияСравнения - Массив - Предназначен для заполнения описания прикладных правил-ограничений.
|
||||
// Должен быть дополнен структурами с полями:
|
||||
// ** Представление - Строка - Описание правила-ограничения для пользователя.
|
||||
// ** ДополнительныеПоля - Строка - Список дополнительных реквизитов запятую, необходимых для
|
||||
// дополнительного анализа.
|
||||
//
|
||||
// * КоличествоЭлементовДляСравнения - Число - Количество кандидатов в дубли, передаваемых одним вызовом
|
||||
// обработчику.
|
||||
//
|
||||
// ДополнительныеПараметры - Произвольный - Значение, переданное при вызове программного интерфейса
|
||||
// ОбщегоНазначения.НайтиДублиЭлементов.
|
||||
// При вызове пользователем из обработки "ПоискИЗаменаДублей" равно Неопределено.
|
||||
//
|
||||
Процедура ПараметрыПоискаДублей(ПараметрыПоиска, ДополнительныеПараметры = Неопределено) Экспорт
|
||||
|
||||
Ограничение = Новый Структура;
|
||||
Ограничение.Вставить("Представление", НСтр("ru = 'Относятся к одной группе и одного типа (адрес, телефон и пр.).'"));
|
||||
Ограничение.Вставить("ДополнительныеПоля", "Родитель, Тип");
|
||||
ПараметрыПоиска.ОграниченияСравнения.Добавить(Ограничение);
|
||||
|
||||
// Размер таблицы для передачи в обработчик.
|
||||
ПараметрыПоиска.КоличествоЭлементовДляСравнения = 100;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается для определения дублей по прикладным правилам.
|
||||
//
|
||||
// Параметры:
|
||||
//
|
||||
// ТаблицаКандидатов - ТаблицаЗначений - Описывает кандидатов в дубли. Содержит колонки:
|
||||
// - Ссылка1 - ЛюбаяСсылка - Ссылка на элемент первого кандидата.
|
||||
// - Ссылка2 - ЛюбаяСсылка - Ссылка на элемент второго кандидата.
|
||||
// - ЭтоДубли - Булево - Флаг того, что кандидаты действительно являются дублями. По умолчанию содержит
|
||||
// значение Ложь, может быть изменено на Истина, если кандидаты - действительно
|
||||
// дубли.
|
||||
// - Поля1 - Структура - Содержит поля Код, Наименование и дополнительные поля первого кандидата,
|
||||
// указанные в ПараметрыПоискаДублей.
|
||||
// - Поля2 - Структура - Содержит поля Код, Наименование и дополнительные поля второго кандидата,
|
||||
// указанные в ПараметрыПоискаДублей.
|
||||
//
|
||||
// ДополнительныеПараметры - Произвольный - Значение, переданное при вызове программного интерфейса
|
||||
// ОбщегоНазначения.НайтиДублиЭлементов.
|
||||
// При вызове пользователем из обработки "ПоискИЗаменаДублей" равно Неопределено.
|
||||
//
|
||||
Процедура ПриПоискеДублей(ТаблицаКандидатов, ДополнительныеПараметры = Неопределено) Экспорт
|
||||
|
||||
Для Каждого Вариант Из ТаблицаКандидатов Цикл
|
||||
Если Вариант.Поля1.Родитель = Вариант.Поля2.Родитель И Вариант.Поля1.Тип = Вариант.Поля2.Тип Тогда
|
||||
Вариант.ЭтоДубли = Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Конец СтандартныеПодсистемы.ПоискИУдалениеДублей
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -54,7 +171,87 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
|
||||
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
#КонецОбласти
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Регистрирует к обработке виды контактной информации другое у которых необходимо заполнить поле ВидРедактирования.
|
||||
//
|
||||
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| ВидыКонтактнойИнформации.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|
||||
|ГДЕ
|
||||
| ВидыКонтактнойИнформации.ЭтоГруппа = ЛОЖЬ";
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры,
|
||||
РезультатЗапроса.ВыгрузитьКолонку("Ссылка"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
ВидКонтактнойИнформацииСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
|
||||
|
||||
ПроблемныхОбъектов = 0;
|
||||
ОбъектовОбработано = 0;
|
||||
|
||||
Пока ВидКонтактнойИнформацииСсылка.Следующий() Цикл
|
||||
Попытка
|
||||
ВидКонтактнойИнформации = ВидКонтактнойИнформацииСсылка.Ссылка.ПолучитьОбъект();
|
||||
Если ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда
|
||||
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
|
||||
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
|
||||
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Skype
|
||||
Или ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
|
||||
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВвода";
|
||||
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
||||
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
|
||||
Иначе
|
||||
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог";
|
||||
КонецЕсли;
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВидКонтактнойИнформации);
|
||||
ОбъектовОбработано = ОбъектовОбработано + 1;
|
||||
|
||||
Исключение
|
||||
// Если не удалось обработать какой-либо вид контактной информации, повторяем попытку снова.
|
||||
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось обработать вид контактной информации: %1 по причине: %2'"),
|
||||
ВидКонтактнойИнформацииСсылка.Ссылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
|
||||
Метаданные.Справочники.ВидыКонтактнойИнформации, ВидКонтактнойИнформацииСсылка.Ссылка, ТекстСообщения);
|
||||
КонецПопытки;
|
||||
КонецЦикла;
|
||||
|
||||
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
|
||||
|
||||
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Процедуре ЗаполнитьВидыКонтактнойИнформации не удалось обработать некоторые виды контактной информации (пропущены): %1'"),
|
||||
ПроблемныхОбъектов);
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
Иначе
|
||||
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
|
||||
Метаданные.Справочники.ВидыКонтактнойИнформации,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Процедура ЗаполнитьВидыКонтактнойИнформации обработала очередную порцию видов контактной информации: %1'"),
|
||||
ОбъектовОбработано));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#КонецЕсли
|
||||
@@ -16,6 +16,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрНачинаетсяС(ИмяПредопределенныхДанных, "Удалить") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЭтоГруппа Тогда
|
||||
Результат = УправлениеКонтактнойИнформациейСлужебный.ПроверитьПараметрыВидаКонтактнойИнформации(ЭтотОбъект);
|
||||
Если Результат.ЕстьОшибки Тогда
|
||||
@@ -32,23 +36,32 @@
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
Если СтрНачинаетсяС(ИмяПредопределенныхДанных, "Удалить") Тогда
|
||||
ПроверяемыеРеквизиты.Очистить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоГруппа Тогда
|
||||
|
||||
НепроверяемыеРеквизиты = Новый Массив;
|
||||
НепроверяемыеРеквизиты.Добавить("Родитель");
|
||||
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриКопировании(ОбъектКопирования)
|
||||
ИмяПредопределенногоВида = "";
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -185,6 +185,29 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="322645d4-e3fb-467b-a55d-d8e74cff2ea3">
|
||||
<name>ВидРедактирования</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Вид редактирования</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>20</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Редактировать контактную информацию в только в поле ввода или только в диалоге (ручной ввод информации невозможен).</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="0f314b6b-5ed1-46ed-bdfd-cf53330c2783">
|
||||
<name>ВидПоляДругое</name>
|
||||
<synonym>
|
||||
@@ -368,10 +391,10 @@
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="45a2569e-820c-4d7d-ba74-4a781d26bb2b">
|
||||
<name>РедактированиеТолькоВДиалоге</name>
|
||||
<name>УдалитьРедактированиеТолькоВДиалоге</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Редактирование только в диалоге</value>
|
||||
<value>(не используется) Редактирование только в диалоге</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
|
||||
@@ -172,6 +172,7 @@
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<indexing>Index</indexing>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
@@ -203,6 +204,7 @@
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<indexing>Index</indexing>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
Оповещение = Новый ОписаниеОповещения("ЗагрузитьКомпонентуПослеПомещенияФайла", ЭтотОбъект, Контекст);
|
||||
|
||||
ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
|
||||
ПараметрыЗагрузки.Диалог.Фильтр = НСтр("ru = 'Внешняя компонента (*.zip)|*.zip|Все файлы(*.*)|*.*'");
|
||||
ПараметрыЗагрузки.Диалог.Фильтр = НСтр("ru = 'Внешняя компонента (*.zip)|*.zip|Все файлы (*.*)|*.*'");
|
||||
ПараметрыЗагрузки.Диалог.Заголовок = НСтр("ru = 'Выберите файл внешней компоненты'");
|
||||
ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;
|
||||
|
||||
@@ -266,15 +266,11 @@
|
||||
Иначе
|
||||
Оповещение = Новый ОписаниеОповещения("ЗагрузитьКомпонентуПослеОтображенияОшибки", ЭтотОбъект);
|
||||
|
||||
СтрокаСПредупреждением = Новый ФорматированнаяСтрока(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1
|
||||
|Необходимо указать zip-архив с внешней компонентой.
|
||||
|Подробнее:'"),
|
||||
ОписаниеОшибки),
|
||||
Новый ФорматированнаяСтрока("https://its.1c.ru/db/metod8dev/content/3221",,,,
|
||||
"https://its.1c.ru/db/metod8dev/content/3221"), ".");
|
||||
|
||||
СтрокаСПредупреждением = НСтр("ru = '%1
|
||||
|Необходимо указать zip-архив с внешней компонентой.
|
||||
|Подробнее см. <a href = ""https://its.1c.ru/db/metod8dev/content/3221"">Технология создания внешних компонент</a>'");
|
||||
СтрокаСПредупреждением = СтроковыеФункцииКлиент.ФорматированнаяСтрока(СтрокаСПредупреждением, ОписаниеОшибки);
|
||||
|
||||
ПоказатьПредупреждение(Оповещение, СтрокаСПредупреждением);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -355,7 +351,7 @@
|
||||
|
||||
Если ОбъектСправочника.Идентификатор <> Информация.Реквизиты.Идентификатор Тогда
|
||||
Результат.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Текущий идентификатор %1 отличается от загружаемого %2
|
||||
НСтр("ru = 'Текущий идентификатор %1 отличается от загружаемого %2
|
||||
|Обновление невозможно.'"),
|
||||
ОбъектСправочника.Идентификатор,
|
||||
Информация.Реквизиты.Идентификатор);
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
// Контроль уникальности идентификатора и версии компоненты.
|
||||
Если Не ЭтоУникальнаяКомпонента() Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Внешняя компонента со значениями Идентификатор ""%1"" и версия ""%2"" уже загружена в программу.'"),
|
||||
НСтр("ru = 'Внешняя компонента с таким идентификатором ""%1"" и датой ""%2"" уже загружена в программу.'"),
|
||||
Идентификатор,
|
||||
Версия);
|
||||
ДатаВерсии);
|
||||
КонецЕсли;
|
||||
|
||||
// Помещение двоичных данных компоненты
|
||||
@@ -110,6 +110,11 @@
|
||||
|
||||
Процедура ПерезаписатьКомпонентыМладшихВерсий()
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВнешниеКомпоненты");
|
||||
ЭлементБлокировки.УстановитьЗначение("Идентификатор", Идентификатор);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Идентификатор", Идентификатор);
|
||||
Запрос.УстановитьПараметр("ДатаВерсии", ДатаВерсии);
|
||||
@@ -127,6 +132,7 @@
|
||||
Выборка = Результат.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Объект = Выборка.Ссылка.ПолучитьОбъект();
|
||||
Объект.Заблокировать();
|
||||
Объект.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<dataLockFields>Catalog.ВнешниеКомпоненты.Attribute.Идентификатор</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -356,21 +356,9 @@
|
||||
Неопределено);
|
||||
Иначе
|
||||
ГруппаПомеченаНаУдаление = Элементы.ГруппыВнешнихПользователей.ДанныеСтроки(Строка).ПометкаУдаления;
|
||||
|
||||
КоличествоПользователей = ПараметрыПеретаскивания.Значение.Количество();
|
||||
|
||||
ДействиеИсключитьПользователя = (ХранимыеПараметры.ГруппаВсеПользователи = Строка);
|
||||
|
||||
ДействиеСПользователем =
|
||||
?((ХранимыеПараметры.ГруппаВсеПользователи = ТекущаяСтрокаГруппы) ИЛИ ГруппаСТипомВсеОбъектыАвторизации,
|
||||
НСтр("ru = 'Включить'"),
|
||||
?(Перемещение, НСтр("ru = 'Переместить'"), НСтр("ru = 'Скопировать'")));
|
||||
|
||||
Если ГруппаПомеченаНаУдаление Тогда
|
||||
ШаблонДействия = ?(Перемещение, НСтр("ru = 'Группа ""%1"" помечена на удаление. %2'"),
|
||||
НСтр("ru = 'Группа ""%1"" помечена на удаление. %2'"));
|
||||
ДействиеСПользователем = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДействия, Строка(Строка), ДействиеСПользователем);
|
||||
КонецЕсли;
|
||||
ВключитьВГруппу = (ХранимыеПараметры.ГруппаВсеПользователи = ТекущаяСтрокаГруппы) ИЛИ ГруппаСТипомВсеОбъектыАвторизации;
|
||||
|
||||
Если КоличествоПользователей = 1 Тогда
|
||||
Если ДействиеИсключитьПользователя Тогда
|
||||
@@ -380,15 +368,30 @@
|
||||
Строка(Элементы.ГруппыВнешнихПользователей.ТекущаяСтрока));
|
||||
|
||||
ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Включить пользователя ""%1"" в группу ""%2""?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Переместить пользователя ""%1"" в группу ""%2""?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Скопировать пользователя ""%1"" в группу ""%2""?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователя ""%2"" в группу ""%3""?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(ПараметрыПеретаскивания.Значение[0]),
|
||||
Строка(Строка));
|
||||
Иначе
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Включить пользователя ""%2"" в эту группу?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Переместить пользователя ""%2"" в эту группу?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Скопировать пользователя ""%2"" в эту группу?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователя ""%2"" в эту группу?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(Строка),
|
||||
Строка(ПараметрыПеретаскивания.Значение[0]));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
@@ -399,15 +402,30 @@
|
||||
Строка(Элементы.ГруппыВнешнихПользователей.ТекущаяСтрока));
|
||||
|
||||
ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Включить пользователей (%1) в группу ""%2""?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Переместить пользователей (%1) в группу ""%2""?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Скопировать пользователей (%1) в группу ""%2""?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователей (%2) в группу ""%3""?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
КоличествоПользователей,
|
||||
Строка(Строка));
|
||||
Иначе
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Включить пользователей (%2) в эту группу?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Переместить пользователей (%2) в эту группу?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Скопировать пользователей (%2) в эту группу?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователей (%2) в эту группу?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(Строка),
|
||||
КоличествоПользователей);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2746,6 +2746,19 @@
|
||||
</edit>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения</name>
|
||||
<id>3</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ПоказатьТолькоВыбранныеРоли</name>
|
||||
<title>
|
||||
|
||||
@@ -65,7 +65,6 @@
|
||||
|
||||
Объект.ОбъектАвторизации = Параметры.ОбъектАвторизацииНовогоВнешнегоПользователя;
|
||||
ОбъектАвторизацииЗаданПриОткрытии = ЗначениеЗаполнено(Объект.ОбъектАвторизации);
|
||||
ОбъектАвторизацииПриИзмененииНаКлиентеНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(ГруппаНовогоВнешнегоПользователя) Тогда
|
||||
|
||||
@@ -112,7 +111,11 @@
|
||||
ОбработатьИнтерфейсРолей("НастроитьИнтерфейсРолейПриСозданииФормы", Истина);
|
||||
НачальноеОписаниеПользователяИБ = НачальноеОписаниеПользователяИБ();
|
||||
|
||||
ОбщаяНастройкаФормы(Объект, Истина);
|
||||
НастроитьФорму(Объект, Истина);
|
||||
|
||||
Если ОбъектАвторизацииЗаданПриОткрытии Тогда
|
||||
ОбъектАвторизацииПриИзмененииНаКлиентеНаСервере(ЭтотОбъект, Объект);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
||||
Элементы.ГруппаШапка.ТолькоПросмотр = Истина;
|
||||
@@ -172,7 +175,7 @@
|
||||
МодульУправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
ОбщаяНастройкаФормы(ТекущийОбъект);
|
||||
НастроитьФорму(ТекущийОбъект);
|
||||
|
||||
ТекущееПредставлениеОбъектаАвторизации = Строка(Объект.ОбъектАвторизации);
|
||||
|
||||
@@ -201,7 +204,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбщаяНастройкаФормы(ТекущийОбъект, ПриСозданииНаСервере = Ложь, ПараметрыЗаписи = Неопределено)
|
||||
Процедура НастроитьФорму(ТекущийОбъект, ПриСозданииНаСервере = Ложь, ПараметрыЗаписи = Неопределено)
|
||||
|
||||
Если НачальноеОписаниеПользователяИБ = Неопределено Тогда
|
||||
Возврат; // Вызов ПриЧтенииНаСервере до вызова ПриСозданииНаСервере.
|
||||
@@ -373,7 +376,7 @@
|
||||
ТекущийОбъект.ДополнительныеСвойства.ОписаниеПользователяИБ.РезультатДействия);
|
||||
КонецЕсли;
|
||||
|
||||
ОбщаяНастройкаФормы(ТекущийОбъект, , ПараметрыЗаписи);
|
||||
НастроитьФорму(ТекущийОбъект, , ПараметрыЗаписи);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
||||
@@ -468,7 +471,7 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" не найдена в метаданных.'"), Строка.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %%1 не найдена в метаданных.'"), Строка.Синоним));
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 не найдена в метаданных.'"), Строка.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНедоступнаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
@@ -476,7 +479,7 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"), Строка.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %%1 недоступна для внешних пользователей.'"), Строка.Синоним));
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"), Строка.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки, Отказ);
|
||||
@@ -512,10 +515,18 @@
|
||||
|
||||
Если Объект.Недействителен Тогда
|
||||
ВходВПрограммуРазрешен = Ложь;
|
||||
Иначе
|
||||
ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения
|
||||
И (ПользовательИБАутентификацияOpenID
|
||||
Или ПользовательИБАутентификацияСтандартная);
|
||||
Если Не ПользовательИБАутентификацияOpenID
|
||||
И Не ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения
|
||||
И ПользовательИБАутентификацияСтандартная Тогда
|
||||
|
||||
ПользовательИБАутентификацияСтандартная = Ложь;
|
||||
КонецЕсли;
|
||||
ИначеЕсли ВходВПрограммуРазрешенЗначениеПрямогоИзменения Тогда
|
||||
Если Не ПользовательИБАутентификацияСтандартная
|
||||
И Не ПользовательИБАутентификацияOpenID Тогда
|
||||
ПользовательИБАутентификацияСтандартная = Истина;
|
||||
КонецЕсли;
|
||||
ВходВПрограммуРазрешен = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьДоступностьСвойств(ЭтотОбъект);
|
||||
@@ -533,6 +544,14 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ВходВПрограммуРазрешен
|
||||
И Не ПользовательИБАутентификацияOpenID
|
||||
И Не ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения
|
||||
И ПользовательИБАутентификацияСтандартная Тогда
|
||||
|
||||
ПользовательИБАутентификацияСтандартная = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьИмяДляВхода(ЭтотОбъект);
|
||||
|
||||
Если ВходВПрограммуРазрешен
|
||||
@@ -577,6 +596,7 @@
|
||||
Процедура ПользовательИБАутентификацияСтандартнаяПриИзменении(Элемент)
|
||||
|
||||
АутентификацияПриИзменении();
|
||||
ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения = ПользовательИБАутентификацияСтандартная;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -746,6 +766,17 @@
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
|
||||
// Настройка необходимости заполнения.
|
||||
Если ТребуетсяЗаписьПользователяИБ(Форма, Ложь) Тогда
|
||||
НоваяСтраница = Элементы.ИмяСОтметкойНезаполненного;
|
||||
Иначе
|
||||
НоваяСтраница = Элементы.ИмяБезОтметкиНезаполненного;
|
||||
КонецЕсли;
|
||||
|
||||
Если Элементы.ИмяПереключениеОтметкиНезаполненного.ТекущаяСтраница <> НоваяСтраница Тогда
|
||||
Элементы.ИмяПереключениеОтметкиНезаполненного.ТекущаяСтраница = НоваяСтраница;
|
||||
КонецЕсли;
|
||||
|
||||
Если Форма.ПользовательИБСуществует Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -755,7 +786,8 @@
|
||||
|
||||
Если Элементы.ИмяПереключениеОтметкиНезаполненного.ТекущаяСтраница = Элементы.ИмяБезОтметкиНезаполненного Тогда
|
||||
|
||||
Если Не ЗначениеЗаполнено(Форма.ПользовательИБИмяЗначениеПрямогоИзменения)
|
||||
Если (Не ЗначениеЗаполнено(Форма.ПользовательИБИмяЗначениеПрямогоИзменения)
|
||||
Или Форма.ПользовательИБИмяЗначениеПрямогоИзменения = КраткоеИмя)
|
||||
И Форма.ПользовательИБИмя = КраткоеИмя Тогда
|
||||
|
||||
Форма.ПользовательИБИмя = "";
|
||||
@@ -773,8 +805,6 @@
|
||||
&НаКлиенте
|
||||
Процедура АутентификацияПриИзменении()
|
||||
|
||||
УстановитьДоступностьСвойств(ЭтотОбъект);
|
||||
|
||||
Если НЕ ПользовательИБАутентификацияOpenID
|
||||
И НЕ ПользовательИБАутентификацияСтандартная Тогда
|
||||
|
||||
@@ -784,6 +814,8 @@
|
||||
ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьДоступностьСвойств(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры СменитьПароль.
|
||||
@@ -1064,7 +1096,6 @@
|
||||
|
||||
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
|
||||
ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
|
||||
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
|
||||
ОписаниеПользователяИБ.Роли = Новый Массив;
|
||||
|
||||
Возврат ОписаниеПользователяИБ;
|
||||
@@ -1091,6 +1122,7 @@
|
||||
Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда
|
||||
ВходВПрограммуРазрешен = Истина;
|
||||
ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина;
|
||||
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Копирование свойств и ролей пользователяИБ.
|
||||
@@ -1186,6 +1218,11 @@
|
||||
ПользовательИБАутентификацияСтандартная = ХранимыеСвойства.АутентификацияСтандартная;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПользовательИБСуществует Тогда
|
||||
ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения
|
||||
= ПользовательИБАутентификацияСтандартная;
|
||||
КонецЕсли;
|
||||
|
||||
ОбработатьИнтерфейсРолей("ЗаполнитьРоли", ОписаниеПользователяИБ.Роли);
|
||||
|
||||
ПриЧтенииВходВПрограммуРазрешен = ВходВПрограммуРазрешен;
|
||||
@@ -1367,16 +1404,6 @@
|
||||
Элементы.Комментарий.ТолькоПросмотр =
|
||||
Не (ДействияВФорме.СвойстваЭлемента = "Редактирование" И УровеньДоступа.УправлениеСписком);
|
||||
|
||||
// Настройка необходимости заполнения.
|
||||
Если ТребуетсяЗаписьПользователяИБ(Форма, Ложь) Тогда
|
||||
НоваяСтраница = Элементы.ИмяСОтметкойНезаполненного;
|
||||
Иначе
|
||||
НоваяСтраница = Элементы.ИмяБезОтметкиНезаполненного;
|
||||
КонецЕсли;
|
||||
|
||||
Если Элементы.ИмяПереключениеОтметкиНезаполненного.ТекущаяСтраница <> НоваяСтраница Тогда
|
||||
Элементы.ИмяПереключениеОтметкиНезаполненного.ТекущаяСтраница = НоваяСтраница;
|
||||
КонецЕсли;
|
||||
ОбновитьИмяДляВхода(Форма);
|
||||
|
||||
// Настройка доступности связанных элементов.
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<key>ru</key>
|
||||
<value>Внешние пользователи</value>
|
||||
</synonym>
|
||||
<comment>АПК:413 - №744.2.1.1 Допустимо не отключать историю выбора, так как она используется, а переопределение отбора фиксированное, то есть служебные и недействительные пользователи в нее не попадут, но если как-то попали, то это не является проблемой</comment>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.ВнешниеПользователи.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
@@ -139,6 +140,7 @@
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<dataLockFields>Catalog.ВнешниеПользователи.Attribute.ИдентификаторПользователяИБ</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockFields>Catalog.ВопросыШаблонаАнкеты.StandardAttribute.Owner</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<createOnInput>DontUse</createOnInput>
|
||||
<dataLockFields>Catalog.ВстречаПрисоединенныеФайлы.Attribute.ВладелецФайла</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
Иначе
|
||||
Заголовок = НСтр("ru = 'Выбор группы внешних пользователей'");
|
||||
КонецЕсли;
|
||||
|
||||
АвтоЗаголовок = Ложь;
|
||||
Иначе
|
||||
Элементы.Список.РежимВыбора = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
<value>Выбранные пользователи указанных видов</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ВыбранныеПользователиВидов</value>
|
||||
<value>ВыбранныеПользователиУказанныхВидов</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<choiceList>
|
||||
@@ -203,7 +203,7 @@
|
||||
<value>Все пользователи указанных видов</value>
|
||||
</presentation>
|
||||
<value xsi:type="core:StringValue">
|
||||
<value>ВсеПользователиВидов</value>
|
||||
<value>ВсеПользователиУказанныхВидов</value>
|
||||
</value>
|
||||
</choiceList>
|
||||
<backColor xsi:type="core:ColorRef">
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
Элементы.Состав.Видимость = ЗначениеЗаполнено(ДействияВФорме.СоставГруппы);
|
||||
Элементы.ОтображениеРолей.Видимость = ЗначениеЗаполнено(ДействияВФорме.Роли);
|
||||
|
||||
УчастникиГруппы = ?(Объект.ВсеОбъектыАвторизации, "ВсеПользователиВидов", "ВыбранныеПользователиВидов");
|
||||
УчастникиГруппы = ?(Объект.ВсеОбъектыАвторизации, "ВсеПользователиУказанныхВидов", "ВыбранныеПользователиУказанныхВидов");
|
||||
|
||||
ЭтоГруппаВсеВнешниеПользователи =
|
||||
Объект.Ссылка = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи;
|
||||
@@ -174,7 +174,7 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" не найдена в метаданных.'"), Строка.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %%1 не найдена в метаданных.'"), Строка.Синоним));
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 не найдена в метаданных.'"), Строка.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНедоступнаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
@@ -182,7 +182,7 @@
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"), Строка.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %%1 недоступна для внешних пользователей.'"), Строка.Синоним));
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"), Строка.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -216,7 +216,7 @@
|
||||
&НаКлиенте
|
||||
Процедура СоставУчастниковПриИзменении(Элемент)
|
||||
|
||||
Объект.ВсеОбъектыАвторизации = (УчастникиГруппы = "ВсеПользователиВидов");
|
||||
Объект.ВсеОбъектыАвторизации = (УчастникиГруппы = "ВсеПользователиУказанныхВидов");
|
||||
Если Объект.ВсеОбъектыАвторизации Тогда
|
||||
Объект.Состав.Очистить();
|
||||
КонецЕсли;
|
||||
@@ -445,7 +445,7 @@
|
||||
И Объект.Родитель <> Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда
|
||||
|
||||
Элементы.ТипПользователей.Доступность = Ложь;
|
||||
УчастникиГруппы = Элементы.УчастникиГруппы.СписокВыбора.НайтиПоЗначению("ВыбранныеПользователиВидов").Значение;
|
||||
УчастникиГруппы = Элементы.УчастникиГруппы.СписокВыбора.НайтиПоЗначению("ВыбранныеПользователиУказанныхВидов").Значение;
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
@@ -570,13 +570,6 @@
|
||||
<key>ru</key>
|
||||
<value>Участники группы</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ПользователиГруппыExtendedTooltip</name>
|
||||
<id>344</id>
|
||||
@@ -1042,6 +1035,10 @@
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ЗначенияДоступаНомерСтрокиПоВиду</name>
|
||||
<id>308</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>N</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -1137,6 +1134,47 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ЗначенияДоступаВключаяНижестоящие</name>
|
||||
<id>448</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ЗначенияДоступа.ВключаяНижестоящие</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Включая нижестоящие (с иерархией)</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаВключаяНижестоящиеРасширеннаяПодсказка</name>
|
||||
<id>450</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗначенияДоступаВключаяНижестоящиеКонтекстноеМеню</name>
|
||||
<id>449</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerPicture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.ИерархическийСписок</picture>
|
||||
</headerPicture>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ЗначенияДоступаКоманднаяПанель</name>
|
||||
<id>68</id>
|
||||
@@ -1252,6 +1290,7 @@
|
||||
<heightInTableRows>2</heightInTableRows>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
@@ -1309,13 +1348,6 @@
|
||||
<key>ru</key>
|
||||
<value>Ограничения доступа</value>
|
||||
</title>
|
||||
<titleFont xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</titleFont>
|
||||
<extendedTooltip>
|
||||
<name>ДоступExtendedTooltip</name>
|
||||
<id>362</id>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
Если НЕ ДействияСПользователемСервиса.ИзменениеАдминистративногоДоступа Тогда
|
||||
ВызватьИсключение
|
||||
НСтр("ru = 'Не достаточно прав доступа для изменения состава администраторов.'");
|
||||
НСтр("ru = 'Недостаточно прав доступа для изменения состава администраторов.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -50,10 +50,6 @@
|
||||
|
||||
ВыполненаПроцедураПриСозданииНаСервере = Истина;
|
||||
|
||||
Если КлиентскоеПриложение.ТекущийВариантИнтерфейса() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда
|
||||
Элементы.ПользователиДобавить.ТолькоВоВсехДействиях = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
||||
Если Не Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы
|
||||
И Не УправлениеДоступомСлужебный.ЭтоПрофильОткрытиеВнешнихОтчетовИОбработок(Объект.Профиль) Тогда
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
// элементам в процессе обновления конфигурации базы данных.
|
||||
//
|
||||
// Параметры:
|
||||
// ЕстьИзменения - Булево (возвращаемое значение) - если производилась запись,
|
||||
// ЕстьИзменения - Булево - (возвращаемое значение) - если производилась запись,
|
||||
// устанавливается Истина, иначе не изменяется.
|
||||
//
|
||||
Процедура ПометитьНаУдалениеГруппыДоступаПомеченныхПрофилей(ЕстьИзменения = Неопределено) Экспорт
|
||||
@@ -326,7 +326,7 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Отбор = Новый Структура("ВидДоступа, ЗначениеДоступа");
|
||||
Отбор = Новый Структура("ВидДоступа, ЗначениеДоступа, ВключаяНижестоящие");
|
||||
Для Каждого Строка Из ТекущийОбъект.ЗначенияДоступа Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, Строка);
|
||||
Если ЗначенияДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
|
||||
@@ -561,32 +561,44 @@
|
||||
// Только для внутреннего использования.
|
||||
Процедура УдалитьУчастниковГруппыДоступаАдминистраторыБезПользователяИБ() Экспорт
|
||||
|
||||
ГруппаДоступаАдминистраторы = Администраторы.ПолучитьОбъект();
|
||||
|
||||
Индекс = ГруппаДоступаАдминистраторы.Пользователи.Количество() - 1;
|
||||
Пока Индекс >= 0 Цикл
|
||||
ТекущийПользователь = ГруппаДоступаАдминистраторы.Пользователи[Индекс].Пользователь;
|
||||
Если ТипЗнч(ТекущийПользователь) = Тип("СправочникСсылка.Пользователи") Тогда
|
||||
ИдентификаторПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущийПользователь,
|
||||
"ИдентификаторПользователяИБ");
|
||||
Иначе
|
||||
ИдентификаторПользователяИБ = Неопределено;
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыДоступа");
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Администраторы);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ГруппаДоступаАдминистраторы = Администраторы.ПолучитьОбъект();
|
||||
|
||||
Индекс = ГруппаДоступаАдминистраторы.Пользователи.Количество() - 1;
|
||||
Пока Индекс >= 0 Цикл
|
||||
ТекущийПользователь = ГруппаДоступаАдминистраторы.Пользователи[Индекс].Пользователь;
|
||||
Если ТипЗнч(ТекущийПользователь) = Тип("СправочникСсылка.Пользователи") Тогда
|
||||
ИдентификаторПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущийПользователь,
|
||||
"ИдентификаторПользователяИБ");
|
||||
Иначе
|
||||
ИдентификаторПользователяИБ = Неопределено;
|
||||
КонецЕсли;
|
||||
Если ТипЗнч(ИдентификаторПользователяИБ) = Тип("УникальныйИдентификатор") Тогда
|
||||
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
|
||||
ИдентификаторПользователяИБ);
|
||||
Иначе
|
||||
ПользовательИБ = Неопределено;
|
||||
КонецЕсли;
|
||||
Если ПользовательИБ = Неопределено Тогда
|
||||
ГруппаДоступаАдминистраторы.Пользователи.Удалить(Индекс);
|
||||
КонецЕсли;
|
||||
Индекс = Индекс - 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если ГруппаДоступаАдминистраторы.Модифицированность() Тогда
|
||||
ГруппаДоступаАдминистраторы.Записать();
|
||||
КонецЕсли;
|
||||
Если ТипЗнч(ИдентификаторПользователяИБ) = Тип("УникальныйИдентификатор") Тогда
|
||||
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
|
||||
ИдентификаторПользователяИБ);
|
||||
Иначе
|
||||
ПользовательИБ = Неопределено;
|
||||
КонецЕсли;
|
||||
Если ПользовательИБ = Неопределено Тогда
|
||||
ГруппаДоступаАдминистраторы.Пользователи.Удалить(Индекс);
|
||||
КонецЕсли;
|
||||
Индекс = Индекс - 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если ГруппаДоступаАдминистраторы.Модифицированность() Тогда
|
||||
ГруппаДоступаАдминистраторы.Записать();
|
||||
КонецЕсли;
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -97,14 +97,27 @@
|
||||
// При снятии пометки удаления с группы доступа выполняется
|
||||
// снятие пометки удаления с профиля этой группы доступа.
|
||||
Если Не ПометкаУдаления И СтарыеЗначения.ПометкаУдаления = Истина Тогда
|
||||
ПометкаУдаленияПрофиля = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Профиль, "ПометкаУдаления");
|
||||
ПометкаУдаленияПрофиля = ?(ПометкаУдаленияПрофиля = Неопределено, Ложь, ПометкаУдаленияПрофиля);
|
||||
Если ПометкаУдаленияПрофиля Тогда
|
||||
ЗаблокироватьДанныеДляРедактирования(Профиль);
|
||||
ПрофильОбъект = Профиль.ПолучитьОбъект();
|
||||
ПрофильОбъект.ПометкаУдаления = Ложь;
|
||||
ПрофильОбъект.Записать();
|
||||
КонецЕсли;
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ПрофилиГруппДоступа");
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Профиль);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ПометкаУдаленияПрофиля = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Профиль, "ПометкаУдаления");
|
||||
ПометкаУдаленияПрофиля = ?(ПометкаУдаленияПрофиля = Неопределено, Ложь, ПометкаУдаленияПрофиля);
|
||||
Если ПометкаУдаленияПрофиля Тогда
|
||||
ЗаблокироватьДанныеДляРедактирования(Профиль);
|
||||
ПрофильОбъект = Профиль.ПолучитьОбъект();
|
||||
ПрофильОбъект.ПометкаУдаления = Ложь;
|
||||
ПрофильОбъект.Записать();
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -399,6 +399,20 @@
|
||||
<indexing>Index</indexing>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="11c5930d-f882-46bd-9e7b-63e5344f6604">
|
||||
<name>ВключаяНижестоящие</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Включая нижестоящие</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
<forms uuid="ade21e2e-349f-414b-8f35-6ae3b6a4064d">
|
||||
<name>ФормаЭлемента</name>
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -231,11 +231,13 @@
|
||||
ЗаполнитьКоманды();
|
||||
УстановитьВидимостьДоступность();
|
||||
|
||||
Если Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма
|
||||
Если Объект.Публикация <> Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена
|
||||
И Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
МодульУправлениеПечатью.ОтключитьКомандыПечати(ВыбранныеОбъектыНазначения().ВыгрузитьЗначения(), ОтключаемыеКоманды().ВыгрузитьЗначения());
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -74,6 +74,9 @@
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
ОповеститьОбИзменении(Объект.Ссылка);
|
||||
Если ЗначениеЗаполнено(Объект.Предмет) Тогда
|
||||
ОповеститьОбИзменении(Объект.Предмет);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -115,6 +115,8 @@
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<dataLockFields>Catalog.Заметки.Attribute.Автор</dataLockFields>
|
||||
<dataLockFields>Catalog.Заметки.Attribute.Предмет</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
@@ -160,14 +162,7 @@
|
||||
<value>Предмет</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>ExchangePlanRef</types>
|
||||
<types>BusinessProcessRef</types>
|
||||
<types>DocumentRef</types>
|
||||
<types>ChartOfCalculationTypesRef</types>
|
||||
<types>TaskRef</types>
|
||||
<types>ChartOfCharacteristicTypesRef</types>
|
||||
<types>ChartOfAccountsRef</types>
|
||||
<types>CatalogRef</types>
|
||||
<types>DefinedType.ПредметЗаметок</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
|
||||
+1
@@ -95,6 +95,7 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<createOnInput>DontUse</createOnInput>
|
||||
<dataLockFields>Catalog.ЗапланированноеВзаимодействиеПрисоединенныеФайлы.Attribute.ВладелецФайла</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -40,10 +40,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>НаименованиеОткрытие</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
|
||||
@@ -23,15 +23,13 @@
|
||||
|
||||
УстановитьЗаголовок();
|
||||
|
||||
ЛокализуемыеЭлементы = Новый Массив;
|
||||
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
|
||||
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
|
||||
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -45,7 +43,7 @@
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
УстановитьЗаголовок();
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -57,7 +55,7 @@
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -65,8 +63,8 @@
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
|
||||
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
|
||||
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>НаименованиеОткрытие</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<chooseType>true</chooseType>
|
||||
|
||||
@@ -38,9 +38,7 @@
|
||||
|
||||
УстановитьЗаголовок();
|
||||
|
||||
ЛокализуемыеЭлементы = Новый Массив;
|
||||
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
|
||||
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
|
||||
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -62,7 +60,7 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -76,7 +74,7 @@
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
УстановитьЗаголовок();
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -97,7 +95,7 @@
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -105,8 +103,8 @@
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
|
||||
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
|
||||
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
|
||||
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -42,7 +42,7 @@
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
|
||||
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>НаименованиеОткрытие</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<chooseType>true</chooseType>
|
||||
|
||||
@@ -38,9 +38,7 @@
|
||||
|
||||
УстановитьЗаголовок();
|
||||
|
||||
ЛокализуемыеЭлементы = Новый Массив;
|
||||
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
|
||||
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
|
||||
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -62,7 +60,7 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -76,7 +74,7 @@
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
УстановитьЗаголовок();
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -97,7 +95,7 @@
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -105,8 +103,8 @@
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
|
||||
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
|
||||
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
|
||||
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
|
||||
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
|
||||
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -498,6 +498,42 @@
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСсылка</name>
|
||||
<id>18</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Ref</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокСсылкаРасширеннаяПодсказка</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСсылкаКонтекстноеМеню</name>
|
||||
<id>19</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСиноним</name>
|
||||
<id>4</id>
|
||||
@@ -507,9 +543,7 @@
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<userVisible/>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Синоним</segments>
|
||||
</dataPath>
|
||||
@@ -573,40 +607,6 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСсылка</name>
|
||||
<id>18</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible/>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Ref</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокСсылкаРасширеннаяПодсказка</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСсылкаКонтекстноеМеню</name>
|
||||
<id>19</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>СписокКоманднаяПанель</name>
|
||||
|
||||
@@ -1,5 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Ссылка</name>
|
||||
<id>59</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Ref</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Вычисляемое представление идентификатора объекта метаданных</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>СсылкаРасширеннаяПодсказка</name>
|
||||
<id>61</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СсылкаКонтекстноеМеню</name>
|
||||
<id>60</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>60</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<dropListButton>false</dropListButton>
|
||||
<openButton>false</openButton>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Наименование</name>
|
||||
<id>1</id>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
// Возвращает реквизиты справочника, которые образуют естественный ключ для элементов справочника.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив(Строка) - массив имен реквизитов, образующих естественный ключ.
|
||||
// Массив Из Строка - массив имен реквизитов, образующих естественный ключ.
|
||||
//
|
||||
Функция ПоляЕстественногоКлюча() Экспорт
|
||||
|
||||
@@ -51,6 +51,37 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка) Экспорт
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
Поля.Добавить("Ссылка");
|
||||
Поля.Добавить("Наименование");
|
||||
Поля.Добавить("ПолноеИмя");
|
||||
Поля.Добавить("ПолныйСиноним");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) Экспорт
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
Представление = СтандартныеПодсистемыПовтИсп.ПредставлениеИдентификатораОбъектаМетаданных(Данные.Ссылка);
|
||||
#Иначе
|
||||
Представление = СтандартныеПодсистемыКлиентПовтИсп.ПредставлениеИдентификатораОбъектаМетаданных(Данные.Ссылка);
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Только для внутреннего использования.
|
||||
@@ -456,10 +487,10 @@
|
||||
// Процедура обновляет данные справочника по метаданным конфигурации.
|
||||
//
|
||||
// Параметры:
|
||||
// ЕстьИзменения - Булево (возвращаемое значение) - в этот параметр возвращается
|
||||
// ЕстьИзменения - Булево - (возвращаемое значение) - в этот параметр возвращается
|
||||
// значение Истина, если производилась запись, иначе не изменяется.
|
||||
//
|
||||
// ЕстьУдаленные - Булево (возвращаемое значение) - в этот параметр возвращается
|
||||
// ЕстьУдаленные - Булево - (возвращаемое значение) - в этот параметр возвращается
|
||||
// значение Истина, если хотя бы один элемент справочника был помечен
|
||||
// на удаление, иначе не изменяется.
|
||||
//
|
||||
@@ -1468,9 +1499,8 @@
|
||||
|
||||
Если ОбъектыРасширений
|
||||
И СвойстваРасширений.ИменаНеподключенныхРасширений[Свойства.ИмяРасширения] <> Неопределено Тогда
|
||||
// Элементы неподключенных расширений остаются неизменными для возможности
|
||||
// использования после исправления ошибок в расширениях так, чтобы обработка
|
||||
// удаления помеченных не удалила связанные данные.
|
||||
// Для случаев, когда расширение было временно отключено, а затем подключено обратно,
|
||||
// предотвращаем удаление помеченных элементов и связанных с ними данных.
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1628,109 +1658,111 @@
|
||||
Процедура ОбновитьИдентификаторыОбъектовМетаданных(Выгрузка, СвойстваОбъектовМетаданных, ОбъектыРасширений,
|
||||
СвойстваРасширений, ВерсияРасширений, ЕстьИзменения, ТолькоПроверка)
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
НаборЗаписей = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.ВерсияРасширений.Установить(ВерсияРасширений);
|
||||
НаборЗаписей.Прочитать();
|
||||
ТаблицаЗаписей = НаборЗаписей.Выгрузить();
|
||||
ТаблицаЗаписей.Колонки.Добавить("Удалить", Новый ОписаниеТипов("Булево"));
|
||||
ТаблицаЗаписей.ЗаполнитьЗначения(Истина, "Удалить");
|
||||
ТаблицаЗаписей.Индексы.Добавить("Идентификатор, ПолноеИмяОбъекта, ВерсияРасширений");
|
||||
ОбновитьНаборЗаписей = Ложь;
|
||||
// АПК:1327-выкл - №783.1.4.1 Управляемая блокировка устанавливается в вызывающем коде.
|
||||
Если ОбъектыРасширений Тогда
|
||||
НаборЗаписей = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.ВерсияРасширений.Установить(ВерсияРасширений);
|
||||
НаборЗаписей.Прочитать();
|
||||
ТаблицаЗаписей = НаборЗаписей.Выгрузить();
|
||||
ТаблицаЗаписей.Колонки.Добавить("Удалить", Новый ОписаниеТипов("Булево"));
|
||||
ТаблицаЗаписей.ЗаполнитьЗначения(Истина, "Удалить");
|
||||
ТаблицаЗаписей.Индексы.Добавить("Идентификатор, ПолноеИмяОбъекта, ВерсияРасширений");
|
||||
ОбновитьНаборЗаписей = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Свойства Из Выгрузка Цикл
|
||||
|
||||
// Обновление родителей идентификаторов объектов метаданных.
|
||||
Если Не Свойства.ЭтоКоллекция Тогда
|
||||
СвойстваОбъекта = СвойстваОбъектовМетаданных.Найти(Свойства.ПолноеИмя, "ПолноеИмя");
|
||||
НовыйРодитель = ПустаяСсылкаСправочника(ОбъектыРасширений);
|
||||
|
||||
Если СвойстваОбъекта <> Неопределено Тогда
|
||||
Если Не ЗначениеЗаполнено(СвойстваОбъекта.ПолноеИмяРодителя) Тогда
|
||||
// Коллекция объектов метаданных.
|
||||
НовыйРодитель = СвойстваОбъекта.Родитель;
|
||||
Иначе
|
||||
// Не коллекция объектов метаданных, например, подсистема.
|
||||
ОписаниеРодителя = Выгрузка.Найти(СвойстваОбъекта.ПолноеИмяРодителя, "ПолноеИмя");
|
||||
Если ОписаниеРодителя <> Неопределено Тогда
|
||||
НовыйРодитель = ОписаниеРодителя.Ссылка;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Свойства.Родитель <> НовыйРодитель Тогда
|
||||
Свойства.Родитель = НовыйРодитель;
|
||||
Свойства.Обновлен = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектыРасширений
|
||||
И Свойства.ПометкаУдаления = Ложь
|
||||
И СвойстваРасширений.ИменаНеподключенныхРасширений[Свойства.ИмяРасширения] = Неопределено Тогда
|
||||
|
||||
Отбор = Новый Структура;
|
||||
Отбор.Вставить("ВерсияРасширений", ВерсияРасширений);
|
||||
Отбор.Вставить("Идентификатор", Свойства.Ссылка);
|
||||
Отбор.Вставить("ПолноеИмяОбъекта", Свойства.ПолноеИмя);
|
||||
Строки = ТаблицаЗаписей.НайтиСтроки(Отбор);
|
||||
Если Строки.Количество() = 0 Тогда
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
ЗаполнитьЗначенияСвойств(ТаблицаЗаписей.Добавить(), Отбор);
|
||||
Иначе
|
||||
Строки[0].Удалить = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Свойства Из Выгрузка Цикл
|
||||
|
||||
// Обновление родителей идентификаторов объектов метаданных.
|
||||
Если Не Свойства.ЭтоКоллекция Тогда
|
||||
СвойстваОбъекта = СвойстваОбъектовМетаданных.Найти(Свойства.ПолноеИмя, "ПолноеИмя");
|
||||
НовыйРодитель = ПустаяСсылкаСправочника(ОбъектыРасширений);
|
||||
|
||||
Если СвойстваОбъекта <> Неопределено Тогда
|
||||
Если Не ЗначениеЗаполнено(СвойстваОбъекта.ПолноеИмяРодителя) Тогда
|
||||
// Коллекция объектов метаданных.
|
||||
НовыйРодитель = СвойстваОбъекта.Родитель;
|
||||
Иначе
|
||||
// Не коллекция объектов метаданных, например, подсистема.
|
||||
ОписаниеРодителя = Выгрузка.Найти(СвойстваОбъекта.ПолноеИмяРодителя, "ПолноеИмя");
|
||||
Если ОписаниеРодителя <> Неопределено Тогда
|
||||
НовыйРодитель = ОписаниеРодителя.Ссылка;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Свойства.Родитель <> НовыйРодитель Тогда
|
||||
Свойства.Родитель = НовыйРодитель;
|
||||
Свойства.Обновлен = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектыРасширений
|
||||
И Свойства.ПометкаУдаления = Ложь
|
||||
И СвойстваРасширений.ИменаНеподключенныхРасширений[Свойства.ИмяРасширения] = Неопределено Тогда
|
||||
|
||||
Отбор = Новый Структура;
|
||||
Отбор.Вставить("ВерсияРасширений", ВерсияРасширений);
|
||||
Отбор.Вставить("Идентификатор", Свойства.Ссылка);
|
||||
Отбор.Вставить("ПолноеИмяОбъекта", Свойства.ПолноеИмя);
|
||||
Строки = ТаблицаЗаписей.НайтиСтроки(Отбор);
|
||||
Если Строки.Количество() = 0 Тогда
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
ЗаполнитьЗначенияСвойств(ТаблицаЗаписей.Добавить(), Отбор);
|
||||
Иначе
|
||||
Строки[0].Удалить = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Обновление идентификаторов объектов метаданных.
|
||||
Если Свойства.ЭтоНовый Тогда
|
||||
ТаблицаОбъект = СоздатьЭлементСправочника(ОбъектыРасширений);
|
||||
ТаблицаОбъект.УстановитьСсылкуНового(Свойства.Ссылка);
|
||||
|
||||
ИначеЕсли Свойства.Обновлен Тогда
|
||||
ТаблицаОбъект = Свойства.Ссылка.ПолучитьОбъект();
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
// Обновление идентификаторов объектов метаданных.
|
||||
Если Свойства.ЭтоНовый Тогда
|
||||
ТаблицаОбъект = СоздатьЭлементСправочника(ОбъектыРасширений);
|
||||
ТаблицаОбъект.УстановитьСсылкуНового(Свойства.Ссылка);
|
||||
|
||||
ИначеЕсли Свойства.Обновлен Тогда
|
||||
ТаблицаОбъект = Свойства.Ссылка.ПолучитьОбъект();
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьИзменения = Истина;
|
||||
Если ТолькоПроверка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ТаблицаОбъект, Свойства);
|
||||
ТаблицаОбъект.КлючОбъектаМетаданных = Новый ХранилищеЗначения(Свойства.КлючОбъектаМетаданных);
|
||||
ТаблицаОбъект.ОбменДанными.Загрузка = Истина;
|
||||
ПроверитьОбъектПередЗаписью(ТаблицаОбъект, Истина);
|
||||
ТаблицаОбъект.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
ТаблицаЗаписей.Индексы.Добавить("Удалить");
|
||||
Строки = ТаблицаЗаписей.НайтиСтроки(Новый Структура("Удалить", Истина));
|
||||
Если Строки.Количество() > 0 Тогда
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТаблицаЗаписей.Удалить(Строка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если ТаблицаЗаписей.Количество() = 0
|
||||
И ЗначениеЗаполнено(ВерсияРасширений) Тогда
|
||||
// Добавление записи, если в расширении нет объектов метаданных,
|
||||
// чтобы при проверке наличия кэша, получить значение Истина.
|
||||
ТаблицаЗаписей.Добавить().ВерсияРасширений = ВерсияРасширений;
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
КонецЕсли;
|
||||
Если ОбновитьНаборЗаписей Тогда
|
||||
ЕстьИзменения = Истина;
|
||||
Если ТолькоПроверка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ТаблицаОбъект, Свойства);
|
||||
ТаблицаОбъект.КлючОбъектаМетаданных = Новый ХранилищеЗначения(Свойства.КлючОбъектаМетаданных);
|
||||
ТаблицаОбъект.ОбменДанными.Загрузка = Истина;
|
||||
ПроверитьОбъектПередЗаписью(ТаблицаОбъект, Истина);
|
||||
ТаблицаОбъект.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
ТаблицаЗаписей.Индексы.Добавить("Удалить");
|
||||
Строки = ТаблицаЗаписей.НайтиСтроки(Новый Структура("Удалить", Истина));
|
||||
Если Строки.Количество() > 0 Тогда
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТаблицаЗаписей.Удалить(Строка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если ТаблицаЗаписей.Количество() = 0
|
||||
И ЗначениеЗаполнено(ВерсияРасширений) Тогда
|
||||
// Добавление записи, если в расширении нет объектов метаданных,
|
||||
// чтобы при проверке наличия кэша, получить значение Истина.
|
||||
ТаблицаЗаписей.Добавить().ВерсияРасширений = ВерсияРасширений;
|
||||
ОбновитьНаборЗаписей = Истина;
|
||||
КонецЕсли;
|
||||
Если ОбновитьНаборЗаписей Тогда
|
||||
ЕстьИзменения = Истина;
|
||||
Если ТолькоПроверка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
НаборЗаписей.Загрузить(ТаблицаЗаписей);
|
||||
НаборЗаписей.Записать();
|
||||
КонецЕсли;
|
||||
НаборЗаписей.Загрузить(ТаблицаЗаписей);
|
||||
НаборЗаписей.Записать();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
// АПК:1327-вкл.
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбновитьСвойстваПомеченногоНаУдаление(Свойства, СвойстваОбновлены = Ложь, ЕстьУдаленные = Ложь, ЭтоДубль = Ложь)
|
||||
@@ -2500,7 +2532,7 @@
|
||||
|
||||
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
|
||||
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
|
||||
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
|
||||
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
|
||||
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
ЭлементПорядка.Использование = Истина;
|
||||
|
||||
@@ -2516,6 +2548,12 @@
|
||||
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
ЭлементПорядка.Использование = Истина;
|
||||
|
||||
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
|
||||
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ПометкаБудущегоУдаления");
|
||||
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
|
||||
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
ЭлементПорядка.Использование = Истина;
|
||||
|
||||
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
|
||||
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Синоним");
|
||||
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
|
||||
@@ -2523,25 +2561,27 @@
|
||||
ЭлементПорядка.Использование = Истина;
|
||||
|
||||
// Оформление.
|
||||
ЭлементУсловногоОформления = Форма.УсловноеОформление.Элементы.Добавить();
|
||||
ЭлементОформления = Форма.Список.КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы.Добавить();
|
||||
ЭлементОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
|
||||
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
|
||||
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
|
||||
ЭлементЦветаОформления.Использование = Истина;
|
||||
ЭлементЦвета = ЭлементОформления.Оформление.Элементы.Найти("TextColor");
|
||||
ЭлементЦвета.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
|
||||
ЭлементЦвета.Использование = Истина;
|
||||
|
||||
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаБудущегоУдаления");
|
||||
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбораДанных.ПравоеЗначение = Истина;
|
||||
ЭлементОтбораДанных.Использование = Истина;
|
||||
ЭлементГруппыОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
|
||||
ЭлементГруппыОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
|
||||
|
||||
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
|
||||
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Синоним");
|
||||
ЭлементОформляемогоПоля.Использование = Истина;
|
||||
ЭлементОтбора = ЭлементГруппыОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Истина;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
|
||||
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("ПолноеИмя");
|
||||
ЭлементОформляемогоПоля.Использование = Истина;
|
||||
ЭлементОтбора = ЭлементГруппыОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаБудущегоУдаления");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Истина;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2787,11 +2827,11 @@
|
||||
НомерОшибки = НомерОшибки + 1;
|
||||
ТекстВсехОшибок = ТекстВсехОшибок + ?(НомерОшибки = 1, "", Разделитель) + ОписаниеОшибки;
|
||||
Если НомерОшибки = 3 И КоличествоОшибок > 5 Тогда
|
||||
ПредставлениеКоличества = СтроковыеФункцииКлиентСервер.СтрокаСЧисломДляЛюбогоЯзыка(
|
||||
НСтр("ru = ';%1 ошибка;; %1 ошибки; %1 ошибок; %1 ошибки'"), (КоличествоОшибок - НомерОшибки));
|
||||
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '... И еще %1'"),
|
||||
ПредставлениеКоличества);
|
||||
|
||||
ОписаниеОшибки = "... " + СтроковыеФункцииКлиентСервер.СтрокаСЧисломДляЛюбогоЯзыка(
|
||||
НСтр("ru = ';И еще %1 ошибка;;И еще %1 ошибки;И еще %1 ошибок;И еще %1 ошибки'"),
|
||||
(КоличествоОшибок - НомерОшибки));
|
||||
|
||||
ТекстВсехОшибок = ТекстВсехОшибок + Разделитель + ОписаниеОшибки;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
@@ -3124,6 +3164,68 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры ОбработкаПолученияПредставления.
|
||||
Функция ПредставлениеИдентификатора(Ссылка) Экспорт
|
||||
|
||||
ОбъектыРасширений = ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных");
|
||||
СвойстваКоллекций = СтандартныеПодсистемыПовтИсп.СвойстваКоллекцийОбъектовМетаданных(ОбъектыРасширений);
|
||||
|
||||
СвойстваКоллекции = СвойстваКоллекций.Найти(Ссылка.УникальныйИдентификатор(), "Идентификатор");
|
||||
Если СвойстваКоллекции <> Неопределено Тогда
|
||||
Возврат СвойстваКоллекции.Синоним;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||||
Запрос.УстановитьПараметр("ВерсияРасширений", ПараметрыСеанса.ВерсияРасширений);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ЕСТЬNULL(ИдентификаторыОбъектовВерсийРасширений.ПолноеИмяОбъекта, ИдентификаторыОбъектовРасширений.ПолноеИмя) КАК ПолноеИмя
|
||||
|ИЗ
|
||||
| Справочник.ИдентификаторыОбъектовРасширений КАК ИдентификаторыОбъектовРасширений
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК ИдентификаторыОбъектовВерсийРасширений
|
||||
| ПО (ИдентификаторыОбъектовВерсийРасширений.Идентификатор = ИдентификаторыОбъектовРасширений.Ссылка)
|
||||
| И (ИдентификаторыОбъектовВерсийРасширений.ВерсияРасширений = &ВерсияРасширений)
|
||||
|ГДЕ
|
||||
| ИдентификаторыОбъектовРасширений.Ссылка = &Ссылка";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если Выборка.Следующий() Тогда
|
||||
ПолноеИмя = Выборка.ПолноеИмя;
|
||||
Иначе
|
||||
ПолноеИмя = Неопределено;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ПолноеИмя = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПолноеИмя");
|
||||
КонецЕсли;
|
||||
|
||||
Если ПолноеИмя = Неопределено Тогда
|
||||
Возврат НСтр("ru = 'Объект не найден.'")
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмя);
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Если СтрНачинаетсяС(ПолноеИмя, "?") Тогда
|
||||
Возврат "? " + СтрРазделить(ПолноеИмя, " ")[1];
|
||||
Иначе
|
||||
Возврат ПолноеИмя;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПозицияТочки = СтрНайти(ПолноеИмя, ".");
|
||||
ИмяБазовогоТипа = Лев(ПолноеИмя, ПозицияТочки -1);
|
||||
|
||||
Отбор = Новый Структура("ИмяВЕдЧисле", ИмяБазовогоТипа);
|
||||
Строки = СвойстваКоллекций.НайтиСтроки(Отбор);
|
||||
|
||||
Если Строки.Количество() <> 1 Тогда
|
||||
Возврат ПолноеИмя;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеОбъектаМетаданных(ОбъектМетаданных, Строки[0]);
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Процедуры и функции замены идентификатора в базе данных.
|
||||
|
||||
@@ -3227,6 +3329,9 @@
|
||||
//
|
||||
Функция ВыполнитьЗаменуЭлементов(Знач Заменяемые, Знач ТаблицаСсылок, Знач ОтключатьКонтрольЗаписи = Ложь, Знач ОбъектыРасширений = Ложь)
|
||||
|
||||
// АПК:1327-выкл - №783.1.4.1 Во-первых, нетранзакционная операция, так как может быть длительной.
|
||||
// Во-вторых, выполняется после загрузки данных из главного узла в режиме обновление информационной базы.
|
||||
// В третьих, выполняется только тогда, когда найдены дубли идентификаторов объектов метаданных (редкий случай).
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Для Каждого РегистрБухгалтерии Из Метаданные.РегистрыБухгалтерии Цикл
|
||||
@@ -3634,8 +3739,11 @@
|
||||
СообщитьОбОшибке(ТекстОшибки, ОбъектыРасширений);
|
||||
КонецПопытки;
|
||||
Иначе
|
||||
СообщитьОбОшибке(НСтр("ru = 'Значения не заменяются в данных типа'")
|
||||
+ ": " + Строка(СтрокаТаблицы.Метаданные), ОбъектыРасширений);
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Значения не заменяются в данных типа: %1'"),
|
||||
Строка(СтрокаТаблицы.Метаданные));
|
||||
|
||||
СообщитьОбОшибке(ТекстОшибки, ОбъектыРасширений);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -3668,6 +3776,7 @@
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Не БылиИсключения;
|
||||
// АПК:1327-вкл.
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+12
-9
@@ -12,6 +12,7 @@
|
||||
<key>ru</key>
|
||||
<value>Идентификаторы объектов метаданных</value>
|
||||
</synonym>
|
||||
<comment>АПК:304 - №697.1.2 Обновление предопределенных данных вместо Авто требуется установить Не обновлять автоматически, так как предопределенные элементы сопоставляются с данными программно</comment>
|
||||
<inputByString>Catalog.ИдентификаторыОбъектовМетаданных.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<standardAttributes>
|
||||
@@ -35,7 +36,7 @@
|
||||
<name>Ref</name>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Ссылка на объект метаданных в базе данных</value>
|
||||
<value>Ссылка на объект метаданных в информационной базе</value>
|
||||
</toolTip>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
@@ -96,7 +97,7 @@
|
||||
</synonym>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Представление идентификатора объекта метаданных</value>
|
||||
<value>Сохраняемое представление идентификатора объекта метаданных</value>
|
||||
</toolTip>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
@@ -125,7 +126,7 @@
|
||||
</objectPresentation>
|
||||
<explanation>
|
||||
<key>ru</key>
|
||||
<value>Идентификаторы объектов метаданных для использования в базе данных.</value>
|
||||
<value>Идентификаторы объектов метаданных для использования в информационной базе.</value>
|
||||
</explanation>
|
||||
<hierarchical>true</hierarchical>
|
||||
<hierarchyType>HierarchyOfItems</hierarchyType>
|
||||
@@ -1096,12 +1097,6 @@
|
||||
<value></value>
|
||||
</code>
|
||||
</items>
|
||||
<items id="65ee6d7a-6352-4696-9fd2-35c7a02c4144">
|
||||
<name>РегистрСведенийИнцидентыОграничениеСкоростиОтсылки</name>
|
||||
<code xsi:type="core:StringValue">
|
||||
<value></value>
|
||||
</code>
|
||||
</items>
|
||||
<items id="0345cafd-9567-4c6b-b69c-6224324c3c65">
|
||||
<name>РегистрСведенийИнцидентыОткрытые</name>
|
||||
<code xsi:type="core:StringValue">
|
||||
@@ -1168,6 +1163,12 @@
|
||||
<value></value>
|
||||
</code>
|
||||
</items>
|
||||
<items id="65ee6d7a-6352-4696-9fd2-35c7a02c4144">
|
||||
<name>РегистрСведенийОграничениеСкоростиОтсылкиИнцидентов</name>
|
||||
<code xsi:type="core:StringValue">
|
||||
<value></value>
|
||||
</code>
|
||||
</items>
|
||||
</predefined>
|
||||
<predefinedDataUpdate>DontAutoUpdate</predefinedDataUpdate>
|
||||
<editType>InDialog</editType>
|
||||
@@ -1318,6 +1319,7 @@
|
||||
<key>ru</key>
|
||||
<value>Значение пустой ссылки</value>
|
||||
</synonym>
|
||||
<comment>АПК:1330 - №728.2.1 Допустимо использование универсального ссылочного типа, так как это универсальный механизм и мало данных</comment>
|
||||
<type>
|
||||
<types>ExchangePlanRef</types>
|
||||
<types>BusinessProcessRef</types>
|
||||
@@ -1384,6 +1386,7 @@
|
||||
<key>ru</key>
|
||||
<value>Форма списка</value>
|
||||
</synonym>
|
||||
<comment>АПК:149 - #std702,1 Поле Ссылка используется вместо поля Наименование для динамического представления на разных языках</comment>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
|
||||
@@ -498,6 +498,42 @@
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСсылка</name>
|
||||
<id>18</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Ref</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокСсылкаРасширеннаяПодсказка</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСсылкаКонтекстноеМеню</name>
|
||||
<id>19</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСиноним</name>
|
||||
<id>4</id>
|
||||
@@ -507,9 +543,7 @@
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<userVisible/>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Синоним</segments>
|
||||
</dataPath>
|
||||
@@ -573,40 +607,6 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокСсылка</name>
|
||||
<id>18</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible/>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Ref</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокСсылкаРасширеннаяПодсказка</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСсылкаКонтекстноеМеню</name>
|
||||
<id>19</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>СписокКоманднаяПанель</name>
|
||||
|
||||
@@ -1,5 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Ссылка</name>
|
||||
<id>62</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Ref</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Вычисляемое представление идентификатора объекта расширения</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>СсылкаРасширеннаяПодсказка</name>
|
||||
<id>64</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СсылкаКонтекстноеМеню</name>
|
||||
<id>63</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>60</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<dropListButton>false</dropListButton>
|
||||
<openButton>false</openButton>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Наименование</name>
|
||||
<id>1</id>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
// Возвращает реквизиты справочника, которые образуют естественный ключ для элементов справочника.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив(Строка) - массив имен реквизитов, образующих естественный ключ.
|
||||
// Массив Из Строка - массив имен реквизитов, образующих естественный ключ.
|
||||
//
|
||||
Функция ПоляЕстественногоКлюча() Экспорт
|
||||
|
||||
@@ -46,6 +46,28 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
|
||||
|
||||
Справочники.ИдентификаторыОбъектовМетаданных.ОбработкаПолученияПолейПредставления(Поля,
|
||||
СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
|
||||
|
||||
Справочники.ИдентификаторыОбъектовМетаданных.ОбработкаПолученияПредставления(Данные,
|
||||
Представление, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ПолныеИменаТаблицСДанными() Экспорт
|
||||
|
||||
+6
-3
@@ -12,6 +12,7 @@
|
||||
<key>ru</key>
|
||||
<value>Идентификаторы объектов расширений</value>
|
||||
</synonym>
|
||||
<comment>АПК:304 - №697.1.2 Обновление предопределенных данных вместо Авто требуется установить Не обновлять автоматически, так как предопределенные элементы сопоставляются с данными программно</comment>
|
||||
<inputByString>Catalog.ИдентификаторыОбъектовРасширений.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<standardAttributes>
|
||||
@@ -35,7 +36,7 @@
|
||||
<name>Ref</name>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Ссылка на объект метаданных в базе данных</value>
|
||||
<value>Ссылка на объект метаданных в информационной базе</value>
|
||||
</toolTip>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
@@ -96,7 +97,7 @@
|
||||
</synonym>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Представление идентификатора объекта метаданных</value>
|
||||
<value>Сохраняемое представление идентификатора объекта расширений</value>
|
||||
</toolTip>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
@@ -125,7 +126,7 @@
|
||||
</objectPresentation>
|
||||
<explanation>
|
||||
<key>ru</key>
|
||||
<value>Идентификаторы объектов метаданных расширений для использования в базе данных.</value>
|
||||
<value>Идентификаторы объектов метаданных расширений для использования в информационной базе.</value>
|
||||
</explanation>
|
||||
<hierarchical>true</hierarchical>
|
||||
<hierarchyType>HierarchyOfItems</hierarchyType>
|
||||
@@ -284,6 +285,7 @@
|
||||
<key>ru</key>
|
||||
<value>Значение пустой ссылки</value>
|
||||
</synonym>
|
||||
<comment>АПК:1330 - №728.2.1 Допустимо использование универсального ссылочного типа, так как это универсальный механизм и мало данных</comment>
|
||||
<type>
|
||||
<types>ExchangePlanRef</types>
|
||||
<types>BusinessProcessRef</types>
|
||||
@@ -390,6 +392,7 @@
|
||||
<key>ru</key>
|
||||
<value>Форма списка</value>
|
||||
</synonym>
|
||||
<comment>АПК:149 - #std702,1 Поле Ссылка используется вместо поля Наименование для динамического представления на разных языках</comment>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
|
||||
@@ -56,14 +56,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<format>
|
||||
<key>ru</key>
|
||||
<value>ДФ=ЧЧ:мм; ДП=</value>
|
||||
</format>
|
||||
<editFormat>
|
||||
<key>ru</key>
|
||||
<value>ДФ=ЧЧ:мм</value>
|
||||
</editFormat>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
@@ -109,14 +101,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<format>
|
||||
<key>ru</key>
|
||||
<value>ДФ=ЧЧ:мм; ДП=</value>
|
||||
</format>
|
||||
<editFormat>
|
||||
<key>ru</key>
|
||||
<value>ДФ=ЧЧ:мм</value>
|
||||
</editFormat>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
РасписаниеДня = Параметры.РасписаниеРаботы;
|
||||
УточнитьФорматПолейВремени();
|
||||
|
||||
Для Каждого ОписаниеИнтервала Из РасписаниеДня Цикл
|
||||
ЗаполнитьЗначенияСвойств(РасписаниеРаботы.Добавить(), ОписаниеИнтервала);
|
||||
@@ -129,4 +130,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УточнитьФорматПолейВремени()
|
||||
|
||||
ФорматВремени = НСтр("ru = 'ДФ=ЧЧ:мм; ДП='");
|
||||
|
||||
Элементы.РасписаниеРаботыВремяНачала.Формат = ФорматВремени;
|
||||
Элементы.РасписаниеРаботыВремяНачала.ФорматРедактирования = ФорматВремени;
|
||||
|
||||
Элементы.РасписаниеРаботыВремяОкончания.Формат = ФорматВремени;
|
||||
Элементы.РасписаниеРаботыВремяОкончания.ФорматРедактирования = ФорматВремени;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -678,7 +678,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>8</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -1814,13 +1813,6 @@
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<groupVerticalAlign>Bottom</groupVerticalAlign>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</font>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
@@ -2284,13 +2276,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</font>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
// то записываем их как есть, остальные периоды обновляем по шаблону.
|
||||
|
||||
Если МодифицированностьРезультата Тогда
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(ТекущийОбъект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(ТекущийОбъект.Ссылка, ДниГрафика,
|
||||
Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
КонецЕсли;
|
||||
ЗаписатьПризнакРучногоРедактирования(ТекущийОбъект, НомерГода);
|
||||
|
||||
@@ -586,7 +587,10 @@
|
||||
Если СтрокаРасписания.НомерДня <> НомерДня Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1-%2, ", Формат(СтрокаРасписания.ВремяНачала, "ДФ=ЧЧ:мм; ДП="), Формат(СтрокаРасписания.ВремяОкончания, "ДФ=ЧЧ:мм; ДП="));
|
||||
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"%1-%2, ",
|
||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяНачала),
|
||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяОкончания));
|
||||
ПредставлениеИнтервалов = ПредставлениеИнтервалов + ПредставлениеИнтервала;
|
||||
Если Не ЗначениеЗаполнено(СтрокаРасписания.ВремяОкончания) Тогда
|
||||
СекундИнтервала = КонецДня(СтрокаРасписания.ВремяОкончания) - СтрокаРасписания.ВремяНачала + 1;
|
||||
@@ -607,6 +611,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ПредставлениеВремениСуток(Знач ВремяСуток)
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВремяСуток) Тогда
|
||||
ВремяСуток = Дата(1980, 1, 1);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Формат(ВремяСуток, НСтр("ru = 'ДФ=ЧЧ:мм'"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция РасписаниеРаботы(НомерДня)
|
||||
|
||||
@@ -679,7 +694,7 @@
|
||||
Если Не ЗначениеЗаполнено(Форма.Объект.ГоризонтПланирования) Тогда
|
||||
ИнформационныйТекст = НСтр("ru = 'График работы заполнен до %1'");
|
||||
Форма.ЗаполненностьИнформационныйТекст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ИнформационныйТекст, Формат(Форма.ДатаЗаполненности, "ДЛФ=D"));
|
||||
Иначе
|
||||
Иначе
|
||||
#Если ВебКлиент Или ТонкийКлиент ИЛИ МобильныйКлиент Тогда
|
||||
ТекущаяДата = ОбщегоНазначенияКлиент.ДатаСеанса();
|
||||
#Иначе
|
||||
@@ -747,7 +762,10 @@
|
||||
|
||||
ДниГрафика = Новый ФиксированноеСоответствие(ДниГрафикаСоответствие);
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
Если Не РезультатЗаполненПоШаблону Тогда
|
||||
УстановитьСнятьМодифицированностьРезультата(ЭтотОбъект, Истина);
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -839,7 +857,8 @@
|
||||
&НаСервере
|
||||
Процедура ЗаписатьДанныеГрафикаРаботыНаГод(НомерГода)
|
||||
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(Объект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(Объект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1),
|
||||
Дата(НомерГода, 12, 31), Истина);
|
||||
ЗаписатьПризнакРучногоРедактирования(Объект, НомерГода);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>Владелец графика</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef</types>
|
||||
<types>DefinedType.ВладелецГрафикаРаботы</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
|
||||
@@ -266,10 +266,6 @@
|
||||
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
|
||||
</extInfo>
|
||||
</attributes>
|
||||
<parameters>
|
||||
<name>Отбор</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -11,12 +11,6 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ОценкаПроизводительностиКлиентСервер.УстановитьЭлементОтбора(
|
||||
Список.Отбор,
|
||||
"Ссылка",
|
||||
Параметры.Отбор,
|
||||
ВидСравненияКомпоновкиДанных.НеВСписке);
|
||||
|
||||
ОценкаПроизводительностиКлиентСервер.УстановитьЭлементОтбора(
|
||||
Список.Отбор,
|
||||
"ПометкаУдаления",
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
ТекстСообщения = НСтр("ru = 'Ключевая операция с приоритетом ""%1"" уже существует (%2).'");
|
||||
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Строка(Приоритет));
|
||||
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Выборка.Наименование);
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Справочник.КлючевыеОперации.МодульОбъекта.ПередЗаписью'", Метаданные.ОсновнойЯзык.КодЯзыка),
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Справочник.КлючевыеОперации.МодульОбъекта.ПередЗаписью'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,
|
||||
,
|
||||
НСтр("ru = 'Оценка производительности'"),
|
||||
|
||||
@@ -421,7 +421,7 @@
|
||||
<key>ru</key>
|
||||
<value>Форма списка</value>
|
||||
</synonym>
|
||||
<comment>АПК:494 - допустимо, так как объем данных небольшой (от единиц до нескольких тысяч).</comment>
|
||||
<comment>АПК:494 - №656 Соединение с вложенным запросом допустимо, так как объем данных небольшой (от единиц до нескольких тысяч).</comment>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
|
||||
File renamed without changes.
+593
-305
File diff suppressed because it is too large.
Load diff
+292
-175
@@ -24,11 +24,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЦветФормы = Элементы.Свойства.ЦветФона;
|
||||
ОформитьНаборыИСвойства();
|
||||
|
||||
НастроитьИспользованиеКоманд();
|
||||
|
||||
НастроитьОтображениеНаборов();
|
||||
ОформитьНаборыИСвойства();
|
||||
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПоискИУдалениеДублей") Тогда
|
||||
Элементы.ПоискИУдалениеДублей.Видимость = Ложь;
|
||||
@@ -61,12 +59,6 @@
|
||||
ВыбратьУказанныеСтроки(Параметр);
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ИмяСобытия = "Запись_НаборКонстант" Тогда
|
||||
|
||||
Если Источник = "ИспользоватьОбщиеДополнительныеЗначения"
|
||||
ИЛИ Источник = "ИспользоватьОбщиеДополнительныеРеквизитыИСведения" Тогда
|
||||
НастроитьИспользованиеКоманд();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -79,9 +71,16 @@
|
||||
Процедура ЭтоНаборыДополнительныхСведенийПриИзменении(Элемент)
|
||||
|
||||
НастроитьОтображениеНаборов();
|
||||
ОформитьНаборыИСвойства();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьНеиспользуемыеРеквизитыПриИзменении(Элемент)
|
||||
ПереключитьСписокНаборов();
|
||||
ПриИзмененииТекущегоНабора();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыНаборыСвойств
|
||||
@@ -104,6 +103,10 @@
|
||||
Процедура НаборыСвойствПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
Если Строка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Элементы.НаборыСвойств.ДанныеСтроки(Строка).ЭтоГруппа Тогда
|
||||
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
|
||||
КонецЕсли;
|
||||
@@ -128,6 +131,43 @@
|
||||
ДобавитьРеквизитВНабор(ПеретаскиваемыйЭлемент, Строка);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура НаборыСвойствПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
|
||||
|
||||
ЭтоОсновнойЯзык = (ТекущийЯзык() = Метаданные.ОсновнойЯзык);
|
||||
|
||||
Для Каждого СтрокаДинамическогоСписка Из Строки Цикл
|
||||
Данные = СтрокаДинамическогоСписка.Значение.Данные;
|
||||
Если Данные.ЭтоГруппа Тогда
|
||||
Данные.Представление = Строка(Данные.Ссылка);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Данные.ЭтоСведения Тогда
|
||||
Если Не ЗначениеЗаполнено(Данные.КоличествоСведений) Тогда
|
||||
Данные.Представление = Строка(Данные.Ссылка);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(Данные.НаименованиеНаДругихЯзыках) Тогда
|
||||
Данные.Представление = Данные.НаименованиеНаДругихЯзыках + " (" + Данные.КоличествоСведений + ")";
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Данные.Представление = Строка(Данные.Ссылка) + " (" + Данные.КоличествоСведений + ")";
|
||||
Иначе
|
||||
Если Не ЗначениеЗаполнено(Данные.КоличествоРеквизитов) Тогда
|
||||
Данные.Представление = Строка(Данные.Ссылка);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(Данные.НаименованиеНаДругихЯзыках) Тогда
|
||||
Данные.Представление = Данные.НаименованиеНаДругихЯзыках + " (" + Данные.КоличествоРеквизитов + ")";
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Данные.Представление = Строка(Данные.Ссылка) + " (" + Данные.КоличествоРеквизитов + ")";
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыСвойства
|
||||
@@ -343,7 +383,7 @@
|
||||
КопируемыйРеквизит.Вставить("ОбщиеЗначения", Элементы.Свойства.ТекущиеДанные.ОбщиеЗначения);
|
||||
КопируемыйРеквизит.Вставить("ВладелецДополнительныхЗначений", Элементы.Свойства.ТекущиеДанные.ВладелецДополнительныхЗначений);
|
||||
|
||||
Элементы.ВставитьРеквизит.Доступность = Истина;
|
||||
Элементы.ВставитьРеквизит.Доступность = Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -416,7 +456,7 @@
|
||||
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
|
||||
|
||||
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Font");
|
||||
ЭлементЦветаОформления.Значение = Новый Шрифт(, , Истина);
|
||||
ЭлементЦветаОформления.Значение = ШрифтыСтиля.ОсновнойЭлементСписка;
|
||||
ЭлементЦветаОформления.Использование = Истина;
|
||||
|
||||
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
@@ -458,6 +498,27 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПереключитьСписокНаборов()
|
||||
|
||||
Если Не ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
Элементы.СтраницыНаборы.ТекущаяСтраница = Элементы.Основная;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.СтраницыНаборы.ТекущаяСтраница = Элементы.Неиспользуемые;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
|
||||
НеиспользуемыеНаборы, "ЭтоДополнительноеСведение", (ЭтоНаборыДополнительныхСведений = 1), Истина);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
|
||||
НеиспользуемыеНаборы, "ОбщиеДополнительныеСведения", НСтр("ru = 'Неиспользуемые дополнительные сведения'"), Истина);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
|
||||
НеиспользуемыеНаборы, "ОбщиеДополнительныеРеквизиты", НСтр("ru = 'Неиспользуемые дополнительные реквизиты'"), Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ПреобразоватьСтрокиВСсылки(Описание)
|
||||
|
||||
@@ -469,27 +530,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура НастроитьИспользованиеКоманд()
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьОбщиеДополнительныеЗначения")
|
||||
ИЛИ ПолучитьФункциональнуюОпцию("ИспользоватьОбщиеДополнительныеРеквизитыИСведения") Тогда
|
||||
|
||||
Элементы.СвойстваТолькоСоздать.Видимость = Ложь;
|
||||
Элементы.СвойстваПодменюДобавить.Видимость = Истина;
|
||||
|
||||
Элементы.СвойстваКонтекстноеМенюТолькоСоздать.Видимость = Ложь;
|
||||
Элементы.СвойстваКонтекстноеМенюПодменюДобавить.Видимость = Истина
|
||||
Иначе
|
||||
Элементы.СвойстваТолькоСоздать.Видимость = Истина;
|
||||
Элементы.СвойстваПодменюДобавить.Видимость = Ложь;
|
||||
|
||||
Элементы.СвойстваКонтекстноеМенюТолькоСоздать.Видимость = Истина;
|
||||
Элементы.СвойстваКонтекстноеМенюПодменюДобавить.Видимость = Ложь
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура НастроитьОтображениеНаборов()
|
||||
|
||||
@@ -526,6 +566,8 @@
|
||||
Элементы.СвойстваОбщиеЗначения.Подсказка =
|
||||
НСтр("ru = 'Сведение использует список значений сведения-образца.'");
|
||||
|
||||
Элементы.ПоказатьНеиспользуемыеРеквизиты.Заголовок = НСтр("ru = 'Показать неиспользуемые сведения'");
|
||||
|
||||
Элементы.СвойстваОбщее.Заголовок = НСтр("ru = 'Общее'");
|
||||
Элементы.СвойстваОбщее.Подсказка = НСтр("ru = 'Общее дополнительное сведение, которое используется в
|
||||
|нескольких наборах дополнительных сведений.'");
|
||||
@@ -555,6 +597,8 @@
|
||||
Элементы.СвойстваОбщиеЗначения.Подсказка =
|
||||
НСтр("ru = 'Реквизит использует список значений реквизита-образца.'");
|
||||
|
||||
Элементы.ПоказатьНеиспользуемыеРеквизиты.Заголовок = НСтр("ru = 'Показать неиспользуемые реквизиты'");
|
||||
|
||||
Элементы.СвойстваОбщее.Заголовок = НСтр("ru = 'Общий'");
|
||||
Элементы.СвойстваОбщее.Подсказка = НСтр("ru = 'Общий дополнительный реквизит, который используется в
|
||||
|нескольких наборах дополнительных реквизитов.'");
|
||||
@@ -605,7 +649,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриИзмененииТекущегоНабора()
|
||||
|
||||
Если Элементы.НаборыСвойств.ТекущиеДанные = Неопределено Тогда
|
||||
Если ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
ТекущийНабор = Неопределено;
|
||||
ПриИзмененииТекущегоНабораНаСервере();
|
||||
ИначеЕсли Элементы.НаборыСвойств.ТекущиеДанные = Неопределено Тогда
|
||||
Если ЗначениеЗаполнено(ТекущийНабор) Тогда
|
||||
ТекущийНабор = Неопределено;
|
||||
ПриИзмененииТекущегоНабораНаСервере();
|
||||
@@ -634,22 +681,22 @@
|
||||
Если Элементы.Свойства.ТекущиеДанные <> Неопределено Тогда
|
||||
|
||||
Если ЭтоНаборыДополнительныхСведений Тогда
|
||||
Если Элементы.Свойства.ТекущиеДанные.Общее Тогда
|
||||
ТекстВопроса = НСтр("ru ='Исключить текущее общее сведения из набора?'");
|
||||
Если Не ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
ТекстВопроса = НСтр("ru = 'Исключить сведение из набора?'");
|
||||
|
||||
ИначеЕсли Элементы.Свойства.ТекущиеДанные.ПометкаУдаления Тогда
|
||||
ТекстВопроса = НСтр("ru ='Снять с текущего сведения пометку на удаление?'");
|
||||
ТекстВопроса = НСтр("ru = 'Снять с текущего сведения пометку на удаление?'");
|
||||
Иначе
|
||||
ТекстВопроса = НСтр("ru ='Пометить текущее сведение на удаление?'");
|
||||
ТекстВопроса = НСтр("ru = 'Пометить текущее сведение на удаление?'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если Элементы.Свойства.ТекущиеДанные.Общее Тогда
|
||||
ТекстВопроса = НСтр("ru ='Исключить текущий общий реквизит из набора?'");
|
||||
Если Не ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
ТекстВопроса = НСтр("ru = 'Исключить реквизит из набора?'");
|
||||
|
||||
ИначеЕсли Элементы.Свойства.ТекущиеДанные.ПометкаУдаления Тогда
|
||||
ТекстВопроса = НСтр("ru ='Снять с текущего реквизита пометку на удаление?'");
|
||||
ТекстВопроса = НСтр("ru = 'Снять с текущего реквизита пометку на удаление?'");
|
||||
Иначе
|
||||
ТекстВопроса = НСтр("ru ='Пометить текущий реквизит на удаление?'");
|
||||
ТекстВопроса = НСтр("ru = 'Пометить текущий реквизит на удаление?'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -678,7 +725,8 @@
|
||||
Процедура ПриИзмененииТекущегоНабораНаСервере()
|
||||
|
||||
Если ЗначениеЗаполнено(ТекущийНабор)
|
||||
И НЕ ТекущийНаборЭтоГруппа Тогда
|
||||
И НЕ ТекущийНаборЭтоГруппа
|
||||
Или ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
|
||||
ТекущаяДоступность = Истина;
|
||||
Если Элементы.Свойства.ЦветФона <> Элементы.НаборыСвойств.ЦветФона Тогда
|
||||
@@ -707,6 +755,7 @@
|
||||
Процедура СвойстваУстановитьДоступностьКоманд(Контекст)
|
||||
|
||||
Элементы = Контекст.Элементы;
|
||||
ПоказатьНеиспользуемыеРеквизиты = Контекст.ПоказатьНеиспользуемыеРеквизиты;
|
||||
|
||||
ОбщаяДоступность = НЕ Элементы.Свойства.ТолькоПросмотр;
|
||||
ДоступностьВставки = ОбщаяДоступность И (Контекст.КопируемыйРеквизит <> Неопределено);
|
||||
@@ -714,12 +763,13 @@
|
||||
ДоступностьДляСтроки = ОбщаяДоступность
|
||||
И Контекст.Элементы.Свойства.ТекущаяСтрока <> Неопределено;
|
||||
|
||||
ОбщаяДоступность = ОбщаяДоступность И Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
|
||||
// Настройка команд командной панели.
|
||||
Элементы.ДобавитьИзНабора.Доступность = ОбщаяДоступность;
|
||||
Элементы.СвойстваСоздать.Доступность = ОбщаяДоступность;
|
||||
Элементы.СвойстваТолькоСоздать.Доступность = ОбщаяДоступность;
|
||||
|
||||
Элементы.СвойстваСкопировать.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.СвойстваСкопировать.Доступность = ДоступностьДляСтроки И Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
Элементы.СвойстваИзменить.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.СвойстваПометитьНаУдаление.Доступность = ДоступностьДляСтроки;
|
||||
|
||||
@@ -727,19 +777,18 @@
|
||||
Элементы.СвойстваПереместитьВниз.Доступность = ДоступностьДляСтроки;
|
||||
|
||||
Элементы.КопироватьРеквизит.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.ВставитьРеквизит.Доступность = ДоступностьВставки;
|
||||
Элементы.ВставитьРеквизит.Доступность = ДоступностьВставки И Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
|
||||
// Настройка команд контекстного меню.
|
||||
Элементы.СвойстваКонтекстноеМенюСоздать.Доступность = ОбщаяДоступность;
|
||||
Элементы.СвойстваКонтекстноеМенюТолькоСоздать.Доступность = ОбщаяДоступность;
|
||||
Элементы.СвойстваКонтекстноеМенюДобавитьИзНабора.Доступность = ОбщаяДоступность;
|
||||
|
||||
Элементы.СвойстваКонтекстноеМенюСкопировать.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.СвойстваКонтекстноеМенюСкопировать.Доступность = ДоступностьДляСтроки И Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
Элементы.СвойстваКонтекстноеМенюИзменить.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.СвойстваКонтекстноеМенюПометитьНаУдаление.Доступность = ДоступностьДляСтроки;
|
||||
|
||||
Элементы.СвойстваКонтекстноеМенюКопироватьРеквизит.Доступность = ДоступностьДляСтроки;
|
||||
Элементы.СвойстваКонтекстноеМенюВставитьРеквизит.Доступность = ДоступностьВставки;
|
||||
Элементы.СвойстваКонтекстноеМенюВставитьРеквизит.Доступность = ДоступностьВставки И Не ПоказатьНеиспользуемыеРеквизиты;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -751,52 +800,102 @@
|
||||
Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
|
||||
Запрос.УстановитьПараметр("КодЯзыка", ТекущийЯзык().КодЯзыка);
|
||||
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| СвойстваНаборов.НомерСтроки,
|
||||
| СвойстваНаборов.Свойство,
|
||||
| СвойстваНаборов.ПометкаУдаления,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.Заголовок
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, Свойства.Заголовок) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК Заголовок,
|
||||
| Свойства.ВладелецДополнительныхЗначений,
|
||||
| Свойства.ЗаполнятьОбязательно,
|
||||
| Свойства.ТипЗначения КАК ТипЗначения,
|
||||
| ВЫБОР
|
||||
| КОГДА Свойства.Ссылка ЕСТЬ NULL
|
||||
| ТОГДА ИСТИНА
|
||||
| КОГДА Свойства.НаборСвойств = ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка)
|
||||
| ТОГДА ИСТИНА
|
||||
| ИНАЧЕ ЛОЖЬ
|
||||
| КОНЕЦ КАК Общее,
|
||||
| ВЫБОР
|
||||
| КОГДА СвойстваНаборов.ПометкаУдаления = ИСТИНА
|
||||
| ТОГДА 4
|
||||
| ИНАЧЕ 3
|
||||
| КОНЕЦ КАК НомерКартинки
|
||||
|ИЗ
|
||||
| Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК СвойстваНаборов
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
| ПО СвойстваНаборов.Свойство = Свойства.Ссылка
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
|
||||
| ПО (СвойстваПредставления.Ссылка = Свойства.Ссылка)
|
||||
| И СвойстваПредставления.КодЯзыка = &КодЯзыка
|
||||
|ГДЕ
|
||||
| СвойстваНаборов.Ссылка = &Набор
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| СвойстваНаборов.НомерСтроки
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Наборы.ВерсияДанных КАК ВерсияДанных
|
||||
|ИЗ
|
||||
| Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы
|
||||
|ГДЕ
|
||||
| Наборы.Ссылка = &Набор";
|
||||
Если Не ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| СвойстваНаборов.НомерСтроки,
|
||||
| СвойстваНаборов.Свойство,
|
||||
| СвойстваНаборов.ПометкаУдаления,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.Заголовок
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, Свойства.Заголовок) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК Заголовок,
|
||||
| Свойства.ВладелецДополнительныхЗначений,
|
||||
| Свойства.ЗаполнятьОбязательно,
|
||||
| Свойства.ТипЗначения КАК ТипЗначения,
|
||||
| ИСТИНА КАК Общее,
|
||||
| ВЫБОР
|
||||
| КОГДА СвойстваНаборов.ПометкаУдаления = ИСТИНА
|
||||
| ТОГДА 4
|
||||
| ИНАЧЕ 3
|
||||
| КОНЕЦ КАК НомерКартинки
|
||||
|ИЗ
|
||||
| Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК СвойстваНаборов
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
| ПО СвойстваНаборов.Свойство = Свойства.Ссылка
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
|
||||
| ПО (СвойстваПредставления.Ссылка = Свойства.Ссылка)
|
||||
| И СвойстваПредставления.КодЯзыка = &КодЯзыка
|
||||
|ГДЕ
|
||||
| СвойстваНаборов.Ссылка = &Набор
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| СвойстваНаборов.НомерСтроки
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Наборы.ВерсияДанных КАК ВерсияДанных
|
||||
|ИЗ
|
||||
| Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы
|
||||
|ГДЕ
|
||||
| Наборы.Ссылка = &Набор";
|
||||
Иначе
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Свойства.Ссылка КАК Свойство,
|
||||
| Свойства.ПометкаУдаления КАК ПометкаУдаления,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.Заголовок
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, Свойства.Заголовок) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК Заголовок,
|
||||
| Свойства.ВладелецДополнительныхЗначений,
|
||||
| Свойства.ТипЗначения КАК ТипЗначения,
|
||||
| ИСТИНА КАК Общее,
|
||||
| ВЫБОР
|
||||
| КОГДА Свойства.ПометкаУдаления = ИСТИНА
|
||||
| ТОГДА 4
|
||||
| ИНАЧЕ 3
|
||||
| КОНЕЦ КАК НомерКартинки,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.Подсказка
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Подсказка, Свойства.Подсказка) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК Подсказка,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.ЗаголовокФормыЗначения
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.ЗаголовокФормыЗначения, Свойства.ЗаголовокФормыЗначения) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК ЗаголовокФормыЗначения,
|
||||
| ВЫБОР
|
||||
| КОГДА &ЭтоОсновнойЯзык
|
||||
| ТОГДА Свойства.ЗаголовокФормыВыбораЗначения
|
||||
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.ЗаголовокФормыВыбораЗначения, Свойства.ЗаголовокФормыВыбораЗначения) КАК СТРОКА(150))
|
||||
| КОНЕЦ КАК ЗаголовокФормыВыбораЗначения
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
|
||||
| ПО Свойства.Ссылка = СвойстваПредставления.Ссылка
|
||||
| И СвойстваПредставления.КодЯзыка = &КодЯзыка
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаборыДополнительныхРеквизитовИСведений.[ИмяТаблицы] КАК СоставНабора
|
||||
| ПО Свойства.Ссылка = СоставНабора.Свойство
|
||||
|
|
||||
|ГДЕ
|
||||
| Свойства.ЭтоДополнительноеСведение = &ЭтоДополнительноеСведение
|
||||
| И СоставНабора.Свойство ЕСТЬ NULL
|
||||
|
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ""ВерсияДанных"" КАК ВерсияДанных";
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ИмяТаблицы]",
|
||||
?(ЭтоНаборыДополнительныхСведений, "ДополнительныеСведения", "ДополнительныеРеквизиты"));
|
||||
Запрос.УстановитьПараметр("ЭтоДополнительноеСведение", (ЭтоНаборыДополнительныхСведений = 1));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоНаборыДополнительныхСведений Тогда
|
||||
Запрос.Текст = СтрЗаменить(
|
||||
@@ -990,6 +1089,24 @@
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", ТекущийНабор);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Строка = Свойства.НайтиПоИдентификатору(Элементы.Свойства.ТекущаяСтрока);
|
||||
ИзменитьПометкуУдаленияИВладельцаЗначений(Строка.Свойство, Неопределено);
|
||||
ПриИзмененииТекущегоНабораНаСервере();
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
ЗаблокироватьДанныеДляРедактирования(ТекущийНабор);
|
||||
НачатьТранзакцию();
|
||||
@@ -1071,7 +1188,6 @@
|
||||
ТекущийНаборОбъект.Записать();
|
||||
|
||||
ИзменитьПометкуУдаленияИВладельцаЗначений(
|
||||
ТекущийНаборОбъект.Ссылка,
|
||||
ТабличнаяЧасть[Индекс].Свойство,
|
||||
ТабличнаяЧасть[Индекс].ПометкаУдаления);
|
||||
КонецЕсли;
|
||||
@@ -1094,7 +1210,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ИзменитьПометкуУдаленияИВладельцаЗначений(ТекущийНабор, ТекущееСвойство, ПометкаУдаленияСвойства)
|
||||
Процедура ИзменитьПометкуУдаленияИВладельцаЗначений(ТекущееСвойство, ПометкаУдаленияСвойства)
|
||||
|
||||
СтарыйВладелецЗначений = ТекущееСвойство;
|
||||
|
||||
@@ -1103,91 +1219,92 @@
|
||||
|
||||
СвойствоОбъект = ТекущееСвойство.ПолучитьОбъект();
|
||||
|
||||
Если ЗначениеЗаполнено(СвойствоОбъект.НаборСвойств) Тогда
|
||||
Если ПометкаУдаленияСвойства = Неопределено Тогда
|
||||
ПометкаУдаленияСвойства = Не СвойствоОбъект.ПометкаУдаления;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПометкаУдаленияСвойства Тогда
|
||||
// При пометке уникального свойства:
|
||||
// - пометить свойство,
|
||||
// - если есть созданные по образцу не помеченные на удаление
|
||||
// тогда установить нового владельца значений,
|
||||
// и всем свойствам указать новый образец,
|
||||
// иначе пометить на удаление все значения.
|
||||
СвойствоОбъект.ПометкаУдаления = Истина;
|
||||
|
||||
Если ПометкаУдаленияСвойства Тогда
|
||||
// При пометке уникального свойства:
|
||||
// - пометить свойство,
|
||||
// - если есть созданные по образцу не помеченные на удаление
|
||||
// тогда установить нового владельца значений,
|
||||
// и всем свойствам указать новый образец,
|
||||
// иначе пометить на удаление все значения.
|
||||
СвойствоОбъект.ПометкаУдаления = Истина;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СвойствоОбъект.ВладелецДополнительныхЗначений) Тогда
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Свойство", СвойствоОбъект.Ссылка);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Свойства.Ссылка,
|
||||
| Свойства.ПометкаУдаления
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
|ГДЕ
|
||||
| Свойства.ВладелецДополнительныхЗначений = &Свойство";
|
||||
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||
НайденнаяСтрока = Выгрузка.Найти(Ложь, "ПометкаУдаления");
|
||||
Если НайденнаяСтрока <> Неопределено Тогда
|
||||
НовыйВладелецЗначений = НайденнаяСтрока.Ссылка;
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
Для каждого Строка Из Выгрузка Цикл
|
||||
ТекущийОбъект = Строка.Ссылка.ПолучитьОбъект();
|
||||
Если ТекущийОбъект.Ссылка = НовыйВладелецЗначений Тогда
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = Неопределено;
|
||||
Иначе
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
КонецЕсли;
|
||||
ТекущийОбъект.Записать();
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
НоваяПометкаЗначений = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
СвойствоОбъект.Записать();
|
||||
Иначе
|
||||
Если СвойствоОбъект.ПометкаУдаления Тогда
|
||||
СвойствоОбъект.ПометкаУдаления = Ложь;
|
||||
СвойствоОбъект.Записать();
|
||||
КонецЕсли;
|
||||
// При снятии пометки с уникального свойства:
|
||||
// - снять пометку со свойства,
|
||||
// - если свойство создано по образцу
|
||||
// тогда если образец помечен на удаление
|
||||
// тогда установить нового владельца значений (текущего)
|
||||
// для всех свойств и снять пометку удаления со значений
|
||||
// иначе снять пометку удаления со значений.
|
||||
Если НЕ ЗначениеЗаполнено(СвойствоОбъект.ВладелецДополнительныхЗначений) Тогда
|
||||
НоваяПометкаЗначений = Ложь;
|
||||
|
||||
ИначеЕсли ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений, "ПометкаУдаления") Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Свойство", СвойствоОбъект.ВладелецДополнительныхЗначений);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Свойства.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
|ГДЕ
|
||||
| Свойства.ВладелецДополнительныхЗначений = &Свойство";
|
||||
Массив = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
Массив.Добавить(СвойствоОбъект.ВладелецДополнительныхЗначений);
|
||||
НовыйВладелецЗначений = СвойствоОбъект.Ссылка;
|
||||
Для каждого ТекущаяСсылка Из Массив Цикл
|
||||
Если ТекущаяСсылка = НовыйВладелецЗначений Тогда
|
||||
Продолжить;
|
||||
Если НЕ ЗначениеЗаполнено(СвойствоОбъект.ВладелецДополнительныхЗначений) Тогда
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Свойство", СвойствоОбъект.Ссылка);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Свойства.Ссылка,
|
||||
| Свойства.ПометкаУдаления
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
|ГДЕ
|
||||
| Свойства.ВладелецДополнительныхЗначений = &Свойство";
|
||||
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||
НайденнаяСтрока = Выгрузка.Найти(Ложь, "ПометкаУдаления");
|
||||
Если НайденнаяСтрока <> Неопределено Тогда
|
||||
НовыйВладелецЗначений = НайденнаяСтрока.Ссылка;
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
Для каждого Строка Из Выгрузка Цикл
|
||||
ТекущийОбъект = Строка.Ссылка.ПолучитьОбъект();
|
||||
Если ТекущийОбъект.Ссылка = НовыйВладелецЗначений Тогда
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = Неопределено;
|
||||
Иначе
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
КонецЕсли;
|
||||
ТекущийОбъект = ТекущаяСсылка.ПолучитьОбъект();
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
ТекущийОбъект.Записать();
|
||||
КонецЦикла;
|
||||
СтарыйВладелецЗначений = СвойствоОбъект.ВладелецДополнительныхЗначений;
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений = Неопределено;
|
||||
СвойствоОбъект.Записать();
|
||||
НоваяПометкаЗначений = Ложь;
|
||||
Иначе
|
||||
НоваяПометкаЗначений = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
СвойствоОбъект.Записать();
|
||||
Иначе
|
||||
Если СвойствоОбъект.ПометкаУдаления Тогда
|
||||
СвойствоОбъект.ПометкаУдаления = Ложь;
|
||||
СвойствоОбъект.Записать();
|
||||
КонецЕсли;
|
||||
// При снятии пометки с уникального свойства:
|
||||
// - снять пометку со свойства,
|
||||
// - если свойство создано по образцу
|
||||
// тогда если образец помечен на удаление
|
||||
// тогда установить нового владельца значений (текущего)
|
||||
// для всех свойств и снять пометку удаления со значений
|
||||
// иначе снять пометку удаления со значений.
|
||||
Если НЕ ЗначениеЗаполнено(СвойствоОбъект.ВладелецДополнительныхЗначений) Тогда
|
||||
НоваяПометкаЗначений = Ложь;
|
||||
|
||||
ИначеЕсли ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений, "ПометкаУдаления") Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Свойство", СвойствоОбъект.ВладелецДополнительныхЗначений);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Свойства.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
|
||||
|ГДЕ
|
||||
| Свойства.ВладелецДополнительныхЗначений = &Свойство";
|
||||
Массив = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
Массив.Добавить(СвойствоОбъект.ВладелецДополнительныхЗначений);
|
||||
НовыйВладелецЗначений = СвойствоОбъект.Ссылка;
|
||||
Для каждого ТекущаяСсылка Из Массив Цикл
|
||||
Если ТекущаяСсылка = НовыйВладелецЗначений Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ТекущийОбъект = ТекущаяСсылка.ПолучитьОбъект();
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
ТекущийОбъект.Записать();
|
||||
КонецЦикла;
|
||||
СтарыйВладелецЗначений = СвойствоОбъект.ВладелецДополнительныхЗначений;
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений = Неопределено;
|
||||
СвойствоОбъект.Записать();
|
||||
НоваяПометкаЗначений = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяПометкаЗначений = Неопределено
|
||||
|
||||
-66
@@ -138,39 +138,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДополнительныеРеквизитыПометкаУдаления</name>
|
||||
<id>81</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ДополнительныеРеквизиты.ПометкаУдаления</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ДополнительныеРеквизитыПометкаУдаленияExtendedTooltip</name>
|
||||
<id>100</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДополнительныеРеквизитыПометкаУдаленияКонтекстноеМеню</name>
|
||||
<id>82</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>ДополнительныеРеквизитыКоманднаяПанель</name>
|
||||
@@ -346,39 +313,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДополнительныеСведенияПометкаУдаления</name>
|
||||
<id>92</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ДополнительныеСведения.ПометкаУдаления</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ДополнительныеСведенияПометкаУдаленияExtendedTooltip</name>
|
||||
<id>103</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДополнительныеСведенияПометкаУдаленияКонтекстноеМеню</name>
|
||||
<id>93</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>ДополнительныеСведенияКоманднаяПанель</name>
|
||||
|
||||
@@ -3,83 +3,125 @@
|
||||
<p>Можно настроить наборы дополнительных свойств для определенных объектов программы. </p>
|
||||
<p>Способ хранения дополнительного свойства в программе и место размещения в окне объекта программы зависит от типа свойства: </p>
|
||||
<ul><li><strong>Дополнительные реквизиты</strong> - хранятся в самом элементе справочника или документе (могут размещаться в специальном разделе или на специальной вкладке). Создаются для реализации таких свойств, которые являются неотъемлемой частью объекта, вводятся при его редактировании и доступны для редактирования тем же пользователям, которым доступен и сам объект со свойствами.
|
||||
</li><li><strong>Дополнительные сведения</strong> - предназначены для хранения сведений об элементе справочника или документе, которые не являются его неотъемлемой частью. Доступны, как правило, для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Редактируются в отдельном окне, которое можно открыть из окна объекта.</li></ul><p>Для разных объектов программы может быть предусмотрено использование дополнительных реквизитов и сведений в разных сочетаниях: или дополнительных реквизитов и сведений, или дополнительных реквизитов, или дополнительных сведений.</p>
|
||||
</li>
|
||||
<li><strong>Дополнительные сведения</strong> - предназначены для хранения сведений об элементе справочника или документе, которые не являются его неотъемлемой частью. Доступны, как правило, для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Редактируются в отдельном окне, которое можно открыть из окна объекта.</li></ul><p>Для разных объектов программы может быть предусмотрено использование дополнительных реквизитов и сведений в разных сочетаниях: или дополнительных реквизитов и сведений, или дополнительных реквизитов, или дополнительных сведений.</p>
|
||||
<p>Для того чтобы использовать дополнительные свойства, необходимо включить флажок <strong>Дополнительные реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>. После этого становятся доступными соответствующие команды.</p>
|
||||
<p>Работа с дополнительными реквизитами (сведениями) осуществляется в списках, которые открываются по команде <strong>Дополнительные реквизиты</strong> или <strong>Дополнительные сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>. </p>
|
||||
<p>Список наборов дополнительных реквизитов можно также открыть из объектов программы, для которых они настроены, по команде <strong>Еще</strong> <strong>- Изменить состав дополнительных реквизитов</strong>. </p>
|
||||
<p>Список наборов дополнительных сведений можно также открыть по команде <strong>Еще</strong> - <strong>Изменить состав дополнительных </strong><strong>сведений</strong> из окна <a href="CommonForm.РедактированиеДополнительныхСведений/Help">Дополнительные сведения</a> объекта программы.</p>
|
||||
<p>Список <strong>Дополнительные реквизиты</strong> (<strong>сведения</strong>) представляет собой таблицу из двух частей: </p>
|
||||
<ul><li>В левой части располагаются наборы дополнительных реквизитов и сведений, назначенных справочникам или документам, которые показаны в виде групп. Группы в наборах дополнительных реквизитов и сведений соответствуют некоему состоянию объекта (его виду), например, для номенклатуры наборы по имени соответствуют видам номенклатуры.
|
||||
</li><li>В правой части в виде таблицы располагается список дополнительных реквизитов (сведений), входящих в выделенный набор. Жирным шрифтом в списке дополнительных реквизитов отражаются реквизиты, обязательные для заполнения. Для дополнительных сведений такая возможность не предусмотрена.
|
||||
</li><li>В таблице выводится:
|
||||
</li>
|
||||
<li>В правой части в виде таблицы располагается список дополнительных реквизитов (сведений), входящих в выделенный набор. Жирным шрифтом в списке дополнительных реквизитов отражаются реквизиты, обязательные для заполнения. Для дополнительных сведений такая возможность не предусмотрена.
|
||||
</li>
|
||||
<li>В таблице выводится:
|
||||
<ul><li><strong>Дополнительный реквизит</strong> (<strong>сведение</strong>) - включает перечень наименований дополнительных реквизитов (сведений);
|
||||
</li><li><strong>Тип значения</strong> - указывается тип дополнительных реквизитов (сведений) и количество значений.</li></ul></li></ul><p>Предопределенные наборы дополнительных реквизитов и сведений соответствуют объектам программы (спискам или документам), в которых можно использовать дополнительные реквизиты и сведения. Добавление новых наборов в этом списке невозможно. Наборы автоматически создаются при создании групп в списках. </p>
|
||||
</li>
|
||||
<li><strong>Тип значения</strong> - указывается тип дополнительных реквизитов (сведений) и количество значений.</li></ul></li></ul><p>Предопределенные наборы дополнительных реквизитов и сведений соответствуют объектам программы (спискам или документам), в которых можно использовать дополнительные реквизиты и сведения. Добавление новых наборов в этом списке невозможно. Наборы автоматически создаются при создании групп в списках. </p>
|
||||
<p>Программа позволяет создать набор дополнительных реквизитов и сведений, как для всех элементов справочника, так и для части. В этом случае справочник является группой, а элементами группы являются реквизиты справочника или значения реквизитов справочника (в этом случае количество элементов группы будет равно количеству значений реквизита).</p>
|
||||
<h3>Назначение нового дополнительного реквизита (сведения) справочнику или документу</h3>
|
||||
<ul><li>В зависимости от настройки может быть доступна одна из команд ввода новых реквизитов (сведений):
|
||||
<ul><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Создать</strong>. По умолчанию дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаЭлемента/Help">поля</a>.
|
||||
</li><li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые поля.</li></ul></li></ul><h3>Общие наборы дополнительных реквизитов и сведений</h3>
|
||||
</li>
|
||||
<li>Выберите соответствующий этому справочнику или документу набор, нажмите <strong>Добавить - Новый </strong>(<strong>Новое</strong>) - аналогична команде <strong>Создать</strong>. С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые поля.</li></ul></li></ul><h3>Общие наборы дополнительных реквизитов и сведений</h3>
|
||||
<ul><li>Для некоторых справочников предусмотрены предопределенные наборы <strong>Общие</strong>. Введенные в такой набор дополнительные реквизиты и сведения по умолчанию становятся общими для всех элементов этих справочников.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Выберите набор <strong>Общий</strong>. </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Нажмите <strong>Создать</strong> или <strong>Добавить - Новый</strong> (<strong>Новое</strong>). Заполните необходимые поля.</div></li></ul><h3>Добавление из другого набора</h3>
|
||||
<ul><li>В программе предусмотрена возможность использовать ранее введенные дополнительные реквизиты и сведения для других наборов.
|
||||
</li><li>Наиболее актуален этот способ для дополнительных реквизитов и сведений типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>. Если проведены соответствующие настройки (включен хотя бы один из флажков в разделе <strong>Администрирование - Общие настройки</strong>), становится доступной кнопка <strong>Добавить</strong>.
|
||||
</li><li>Выберите набор дополнительных реквизитов (сведений), нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
|
||||
</li><li>Открывается помощник по добавлению дополнительного реквизита (сведения).
|
||||
<ul><li>В левой части первой страницы помощника отображается список ранее введенных реквизитов (сведений). В правой части отражаются значения и другие параметры выбранного реквизита.</li></ul></li><li>На первой странице помощника выберите дополнительный реквизит (сведение). Обратите внимание, что создать дополнительный реквизит или сведение в данном списке невозможно.
|
||||
</li>
|
||||
<li>Наиболее актуален этот способ для дополнительных реквизитов и сведений типа <strong>Дополнительное значение</strong> и <strong>Дополнительное значение (иерархия)</strong>. Если проведены соответствующие настройки (включен хотя бы один из флажков в разделе <strong>Администрирование - Общие настройки</strong>), становится доступной кнопка <strong>Добавить</strong>.
|
||||
</li>
|
||||
<li>Выберите набор дополнительных реквизитов (сведений), нажмите кнопку <strong>Добавить</strong>, в выпадающем меню выполните команду <strong>Из другого набора</strong>.
|
||||
</li>
|
||||
<li>Открывается помощник по добавлению дополнительного реквизита (сведения).
|
||||
<ul><li>В левой части первой страницы помощника отображается список ранее введенных реквизитов (сведений). В правой части отражаются значения и другие параметры выбранного реквизита.</li></ul></li>
|
||||
<li>На первой странице помощника выберите дополнительный реквизит (сведение). Обратите внимание, что создать дополнительный реквизит или сведение в данном списке невозможно.
|
||||
<ul><li>Для выбора варианта добавления дополнительного реквизита (сведения) нажмите кнопку <strong>Далее</strong>.
|
||||
</li><li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление дополнительного реквизита (сведения)</strong>.</li></ul></li><li>На второй странице помощника с помощью переключателя выберите вариант добавления дополнительного реквизита (сведения):
|
||||
</li>
|
||||
<li>Также можно добавить реквизит из одного набора в другой с помощью перетаскивания мышью. Если были произведены соответствующие настройки, открывается вторая страница помощника <strong>Добавление дополнительного реквизита (сведения)</strong>.</li></ul></li>
|
||||
<li>На второй странице помощника с помощью переключателя выберите вариант добавления дополнительного реквизита (сведения):
|
||||
<ul><li><a href="#1">Сделать копию реквизита</a> - в новом наборе будет создан такой же дополнительный реквизит (сведение).
|
||||
</li><li><a href="#2">Сделать копию реквизита по образцу</a> - создается дополнительный реквизит (сведение) с общим списком значений. Должен быть включен флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
|
||||
</li><li><a href="#3">Добавить общий реквизит в набор</a> - сделать дополнительный реквизит (сведение) общим. В этом случае общим становится не список значений, а сам реквизит. Должен быть включен флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.</li></ul></li></ul><h3><a name="1">Копирование дополнительных реквизитов (сведений)</a></h3>
|
||||
</li>
|
||||
<li><a href="#2">Сделать копию реквизита по образцу</a> - создается дополнительный реквизит (сведение) с общим списком значений. Должен быть включен флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
|
||||
</li>
|
||||
<li><a href="#3">Добавить общий реквизит в набор</a> - сделать дополнительный реквизит (сведение) общим. В этом случае общим становится не список значений, а сам реквизит. Должен быть включен флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.</li></ul></li></ul><h3><a name="1">Копирование дополнительных реквизитов (сведений)</a></h3>
|
||||
<ul><li>В программе предусмотрена возможность копирования дополнительных реквизитов (сведений).
|
||||
</li><li>В этом случае для набора дополнительных реквизитов (сведений) будет создана копия - самостоятельный дополнительный реквизит (сведение) со своим списком значений, никак не связанный с оригиналом, по которому был создан.
|
||||
</li><li>В зависимости от настроек производится несколькими способами:
|
||||
</li>
|
||||
<li>В этом случае для набора дополнительных реквизитов (сведений) будет создана копия - самостоятельный дополнительный реквизит (сведение) со своим списком значений, никак не связанный с оригиналом, по которому был создан.
|
||||
</li>
|
||||
<li>В зависимости от настроек производится несколькими способами:
|
||||
<ul><li>В помощнике добавления дополнительных реквизитов и сведений;
|
||||
<ul><li>Выделите набор дополнительных реквизитов в списке, нажмите <strong>Добавить - Из другого набора</strong>.
|
||||
</li><li>На первой странице помощника в списке выбора реквизитов для копирования выберите нужный реквизит, нажмите <strong>Далее</strong>.
|
||||
</li><li>На второй странице помощника с помощью переключателя выберите <strong>Сделать копию реквизита</strong>, нажмите <strong>Далее</strong>.
|
||||
</li><li>Заполните недостающие поля. После копирования реквизита список значений доступен для редактирования.</li></ul></li><li>перетаскиванием мышью;
|
||||
</li>
|
||||
<li>На первой странице помощника в списке выбора реквизитов для копирования выберите нужный реквизит, нажмите <strong>Далее</strong>.
|
||||
</li>
|
||||
<li>На второй странице помощника с помощью переключателя выберите <strong>Сделать копию реквизита</strong>, нажмите <strong>Далее</strong>.
|
||||
</li>
|
||||
<li>Заполните недостающие поля. После копирования реквизита список значений доступен для редактирования.</li></ul></li>
|
||||
<li>перетаскиванием мышью;
|
||||
<ul><li>Можно перетащить нужный дополнительный реквизит (сведение) из одного набора в другой с помощью мыши.
|
||||
</li><li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления дополнительного реквизита (сведения).
|
||||
</li><li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка дополнительного реквизита (сведения), который будет скопирован. Заполните недостающие поля.</li></ul></li><li>с помощью кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.
|
||||
</li>
|
||||
<li>Если в списке имеется кнопка <strong>Добавить</strong>, то открывается вторая страница помощника добавления дополнительного реквизита (сведения).
|
||||
</li>
|
||||
<li>Если в списке только кнопка <strong>Создать</strong>, то открывается карточка дополнительного реквизита (сведения), который будет скопирован. Заполните недостающие поля.</li></ul></li>
|
||||
<li>с помощью кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.
|
||||
<ul><li>Выделите дополнительный реквизит (сведение), нажмите кнопку <strong>Копировать</strong>. Выделите набор, в который нужно добавить дополнительный реквизит (сведение). Нажмите кнопку <strong>Вставить</strong>. Если были произведены соответствующие настройки, то открывается вторая страница помощника добавления дополнительных реквизитов (сведений). Если выбранный дополнительный реквизит (сведение) уже входит в какой-либо набор, то предлагается сделать его общим.
|
||||
</li><li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3><a name="2">Добавление по образцу</a></h3>
|
||||
</li>
|
||||
<li>Команды <strong>Копировать</strong> и <strong>Вставить</strong> также доступны в контекстном меню по правой кнопке мыши или в меню <strong>Еще</strong>.</li></ul></li></ul></li></ul><h3><a name="2">Добавление по образцу</a></h3>
|
||||
<ul><li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Реквизиты и сведения с общим списком значений</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
|
||||
</li><li>Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, <strong>Цвет двери</strong> по образцу реквизита <strong>Цвет</strong>). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.
|
||||
</li>
|
||||
<li>
|
||||
<div>Выберите набор из списка.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Нажмите <strong>Добавить - Из другого набора</strong>.</div>
|
||||
</li><li>
|
||||
<div>Будет открыт список всех дополнительных реквизитов (сведений), уже существующих в программе. Выберите дополнительный реквизит (сведение) из <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаВыбора/Help">списка</a> уже существующих в программе, нажмите <strong>Далее</strong>.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Будет открыт список всех дополнительных реквизитов (сведений), уже существующих в программе. Выберите дополнительный реквизит (сведение) из списка уже существующих в программе, нажмите <strong>Далее</strong>.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>С помощью переключателя выберите способ создания элемента <strong>Сделать копию реквизита по образцу</strong>, нажмите <strong>Далее</strong>.</div></div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Тип и все значения выбранного в качестве образца дополнительного реквизита (сведения) будут скопированы в новый элемент. </div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Заполните все необходимые поля. По умолчанию реквизит становится общим с набором, из которого был использован образец. Ввод новых значений в этом случае невозможен. Программа выводит напоминание, что список значений является общим с другим реквизитом.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>После сохранения дополнительного реквизита (сведения) с помощью ссылки можно просмотреть реквизит-образец и добавить значения, если необходимо.</div></li></ul><h3><a name="3">Добавление общих дополнительных реквизитов (сведений)</a></h3>
|
||||
<ul><li>Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита <strong>Цвет</strong> можно отобрать всю желтую одежду и обувь.
|
||||
</li><li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>Для того чтобы использовать эту возможность, необходимо включить флажок <strong>Общие реквизиты и сведения</strong> в разделе <strong>Администрирование - Общие настройки</strong>.
|
||||
</li>
|
||||
<li>
|
||||
<div>Для того чтобы добавить в набор общий дополнительный реквизит (сведение), выделите нужный набор, нажмите <strong>Добавить - Из другого набора</strong>.</div>
|
||||
</li><li>
|
||||
<div>Выберите из предлагаемого <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.Form.ФормаВыбора/Help">списка</a> уже существующий общий дополнительный реквизит (сведение).Нажмите кнопку <strong>Далее</strong>. </div>
|
||||
</li><li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Выберите из предлагаемого <a>списка</a> уже существующий общий дополнительный реквизит (сведение).Нажмите кнопку <strong>Далее</strong>. </div>
|
||||
</li>
|
||||
<li>Открывается вторая страница помощника. Выберите с помощью переключателя вариант добавления <strong>Сделать реквизит общим и добавить в набор</strong>, нажмите <strong>Далее</strong>. Открывается общий дополнительный реквизит.
|
||||
</li>
|
||||
<li>
|
||||
<div>Также можно добавить общий дополнительный реквизит (сведение) с помощью перетаскивания мышью или кнопок <strong>Копировать</strong> и <strong>Вставить</strong>.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.</div></li></ul><h3>Особенности удаления дополнительных реквизитов (сведений)</h3>
|
||||
<ul dir="ltr"><li>
|
||||
<div>Для того чтобы удалить общий дополнительный реквизит (сведение), необходимо удалить его из всех наборов, в который входил данный реквизит. Возможно, для окончательного удаления придется очистить дополнительные реквизиты от значений.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>При пометке на удаление свойства в наборе значения свойства сохраняется в объектах до тех пор, пока не будут очищены. Свойство, помеченное на удаление в наборе, будет отображаться в окне объекта или окне дополнительных сведений особым образом.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>При необходимости можно снять пометку удаления.</div></li></ul><h3>См. также:</h3>
|
||||
<ul><li><a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">Дополнительные реквизиты и сведения</a>;
|
||||
</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
|
||||
</li>
|
||||
<li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
|
||||
@@ -52,7 +52,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Данные.Родитель) Тогда
|
||||
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -78,9 +78,9 @@
|
||||
|
||||
// Обновляет состав наименований предопределенных наборов в
|
||||
// параметрах дополнительных реквизитов и сведений.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ЕстьИзменения - Булево (возвращаемое значение) - если производилась запись,
|
||||
// ЕстьИзменения - Булево - (возвращаемое значение) - если производилась запись,
|
||||
// устанавливается Истина, иначе не изменяется.
|
||||
//
|
||||
Процедура ОбновитьСоставНаименованийПредопределенныхНаборов(ЕстьИзменения = Неопределено) Экспорт
|
||||
@@ -187,27 +187,6 @@
|
||||
НоваяСтрокаСведения.ИмяПредопределенногоНабора = НовыйНаборОбъект.ИмяПредопределенногоНабора;
|
||||
КонецЦикла;
|
||||
|
||||
// Обновление реквизитов и сведений.
|
||||
Если Не ОбновляемыйНабор.ЭтоГруппа Тогда
|
||||
Для Каждого СтрокаТаблицы Из ОбновляемыйНабор.ДополнительныеРеквизиты Цикл
|
||||
РеквизитОбъект = СтрокаТаблицы.Свойство.ПолучитьОбъект();
|
||||
Если Не ЗначениеЗаполнено(РеквизитОбъект.НаборСвойств) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
РеквизитОбъект.НаборСвойств = НовыйНабор;
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(РеквизитОбъект);
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого СтрокаТаблицы Из ОбновляемыйНабор.ДополнительныеСведения Цикл
|
||||
СвойствоОбъект = СтрокаТаблицы.Свойство.ПолучитьОбъект();
|
||||
Если Не ЗначениеЗаполнено(СвойствоОбъект.НаборСвойств) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СвойствоОбъект.НаборСвойств = НовыйНабор;
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(СвойствоОбъект);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбновляемыйНабор.ЭтоГруппа Тогда
|
||||
КоличествоРеквизитов = Формат(НовыйНаборОбъект.ДополнительныеРеквизиты.НайтиСтроки(
|
||||
Новый Структура("ПометкаУдаления", Ложь)).Количество(), "ЧГ=");
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
|
||||
ДиалогОткрытияФайла.Каталог = РабочийКаталог;
|
||||
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
|
||||
Фильтр = НСтр("ru = 'Все файлы(*.*)|*.*'");
|
||||
Фильтр = НСтр("ru = 'Все файлы (*.*)|*.*'");
|
||||
ДиалогОткрытияФайла.Фильтр = Фильтр;
|
||||
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
|
||||
ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выберите каталог'");
|
||||
@@ -426,11 +426,9 @@
|
||||
|
||||
ВидимостьПояснения = Истина;
|
||||
|
||||
ЧастиСтроки = Новый Массив;
|
||||
ЧастиСтроки.Добавить(НСтр("ru = 'Работа с файлами ведется в облачном сервисе'"));
|
||||
ЧастиСтроки.Добавить(" ");
|
||||
ЧастиСтроки.Добавить(Новый ФорматированнаяСтрока(ВыборкаДетальныеЗаписи.УчетнаяЗаписьНаименование, , , , АдресПапкиВОблачномСервисе));
|
||||
Элементы.ДекорацияПояснение.Заголовок = Новый ФорматированнаяСтрока(ЧастиСтроки);
|
||||
Элементы.ДекорацияПояснение.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
|
||||
НСтр("ru = 'Работа с файлами ведется в облачном сервисе <a href=""%1"">%2</a>'"),
|
||||
Строка(АдресПапкиВОблачномСервисе), Строка(ВыборкаДетальныеЗаписи.УчетнаяЗаписьНаименование));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -72,4 +72,32 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Начальное заполнение
|
||||
|
||||
Процедура ПриНастройкеНачальногоЗаполненияЭлементов(Настройки) Экспорт
|
||||
|
||||
Настройки.ПриНачальномЗаполненииЭлемента = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается при начальном заполнении справочника ПапкиФайлов.
|
||||
//
|
||||
// Параметры:
|
||||
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
|
||||
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
|
||||
// справочника ПапкиФайлов.
|
||||
//
|
||||
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
|
||||
|
||||
Элемент = Элементы.Добавить();
|
||||
Элемент.ИмяПредопределенныхДанных = "Шаблоны";
|
||||
Элемент.Наименование = НСтр("ru = 'Шаблоны файлов'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#КонецЕсли
|
||||
@@ -151,6 +151,7 @@
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<dataLockFields>Catalog.ПапкиФайлов.StandardAttribute.Parent</dataLockFields>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
|
||||
@@ -9,10 +9,6 @@
|
||||
<items xsi:type="form:Table">
|
||||
<name>ТаблицаДоменов</name>
|
||||
<id>5</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Домены</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -370,10 +366,6 @@
|
||||
<items xsi:type="form:Table">
|
||||
<name>ТаблицаПользователейДомена</name>
|
||||
<id>8</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Пользователи</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -756,10 +748,6 @@
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Домены и пользователи</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ДоменыИПользователиExtendedTooltip</name>
|
||||
<id>29</id>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
|
||||
<p>Предназначена для установки ограничение на вход в программу только для этого <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>.</p>
|
||||
<p>С помощью переключателя можно установить ограничение:</p>
|
||||
<ul><li><strong>Согласно общим настройкам входа</strong> - как <a href="CommonForm.НастройкиВходаПользователей/Help">указано</a> для всех пользователей в настройке <b>Запрещать вход в программу пользователям, которые не работали в программе более: [k] дней</b>;
|
||||
</li>
|
||||
<li><strong>Без ограничения срока</strong> - бессрочный доступ, только для этого пользователя;
|
||||
</li>
|
||||
<li><strong>Вход разрешен до</strong> (установите срок - введите дату вручную или выберите из календаря с помощью кнопки <img src="StdPicture.InputFieldCalendar"></img>, удобно, если работник временно пользуется данной программой. Для защиты от несанкционированного доступа к программе у любого пользователя может быть настроен срок действия, который позволяет автоматически отключить пользователя после достижения указанной даты;
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Запретить вход, если не работает более</strong> (укажите количество дней) - если пользователь не войдет в программу больше указанного количества дней, то вход в программу будет невозможен. </div>
|
||||
<ul><li>В этом случае пользователь должен будет обратиться к администратору для возобновления работы в программе, также удобно для временных работников.</li></ul></li></ul>Ограничение отражается в карточке пользователя, после настройки ссылка принимает значение <b>Изменить ограничение</b>.</body></html>
|
||||
@@ -502,13 +502,28 @@
|
||||
&НаСервере
|
||||
Процедура ОтменитьСопоставлениеНаСервере()
|
||||
|
||||
ТекущаяСтрока = ПользователиИБ.НайтиПоИдентификатору(
|
||||
Элементы.ПользователиИБ.ТекущаяСтрока);
|
||||
ТекущаяСтрока = ПользователиИБ.НайтиПоИдентификатору(Элементы.ПользователиИБ.ТекущаяСтрока);
|
||||
Если ТипЗнч(ТекущаяСтрока.Ссылка) = Тип("СправочникСсылка.Пользователи") Тогда
|
||||
ИмяТаблицы = "Справочник.Пользователи";
|
||||
Иначе
|
||||
ИмяТаблицы = "Справочник.ВнешниеПользователи";
|
||||
КонецЕсли;
|
||||
|
||||
Объект = ТекущаяСтрока.Ссылка.ПолучитьОбъект();
|
||||
Объект.ИдентификаторПользователяИБ = Неопределено;
|
||||
Объект.ОбменДанными.Загрузка = Истина;
|
||||
Объект.Записать();
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить(ИмяТаблицы);
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", ТекущаяСтрока.Ссылка);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Объект = ТекущаяСтрока.Ссылка.ПолучитьОбъект();
|
||||
Объект.ИдентификаторПользователяИБ = Неопределено;
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
ЗаполнитьПользователейИБ();
|
||||
|
||||
|
||||
@@ -320,19 +320,8 @@
|
||||
|
||||
ГруппаПомеченаНаУдаление = Элементы.ГруппыПользователей.ДанныеСтроки(Строка).ПометкаУдаления;
|
||||
КоличествоПользователей = ПараметрыПеретаскивания.Значение.Количество();
|
||||
|
||||
ДействиеИсключитьПользователя = (ХранимыеПараметры.ГруппаВсеПользователи = Строка);
|
||||
|
||||
ДействиеСПользователем = ?((ХранимыеПараметры.ГруппаВсеПользователи = Элементы.ГруппыПользователей.ТекущаяСтрока),
|
||||
НСтр("ru = 'Включить'"),
|
||||
?(Перемещение, НСтр("ru = 'Переместить'"), НСтр("ru = 'Скопировать'")));
|
||||
|
||||
Если ГруппаПомеченаНаУдаление Тогда
|
||||
ШаблонДействия = ?(Перемещение,
|
||||
НСтр("ru = 'Группа ""%1"" помечена на удаление. %2'"),
|
||||
НСтр("ru = 'Группа ""%1"" помечена на удаление. %2'"));
|
||||
ДействиеСПользователем = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДействия, Строка(Строка), ДействиеСПользователем);
|
||||
КонецЕсли;
|
||||
ВключитьВГруппу = (ХранимыеПараметры.ГруппаВсеПользователи = Элементы.ГруппыПользователей.ТекущаяСтрока);
|
||||
|
||||
Если КоличествоПользователей = 1 Тогда
|
||||
Если ДействиеИсключитьПользователя Тогда
|
||||
@@ -342,16 +331,32 @@
|
||||
Строка(Элементы.ГруппыПользователей.ТекущаяСтрока));
|
||||
|
||||
ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Включить пользователя ""%1"" в группу ""%2""?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Переместить пользователя ""%1"" в группу ""%2""?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Скопировать пользователя ""%1"" в группу ""%2""?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователя ""%2"" в группу ""%3""?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(ПараметрыПеретаскивания.Значение[0]),
|
||||
Строка(Строка));
|
||||
Иначе
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Включить пользователя ""%2"" в эту группу?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Переместить пользователя ""%2"" в эту группу?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Скопировать пользователя ""%2"" в эту группу?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователя ""%2"" в эту группу?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(Строка),
|
||||
Строка(ПараметрыПеретаскивания.Значение[0]));
|
||||
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если ДействиеИсключитьПользователя Тогда
|
||||
@@ -361,15 +366,30 @@
|
||||
Строка(Элементы.ГруппыПользователей.ТекущаяСтрока));
|
||||
|
||||
ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Включить пользователей (%1) в группу ""%2""?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Переместить пользователей (%1) в группу ""%2""?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Скопировать пользователей (%1) в группу ""%2""?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователей (%2) в группу ""%3""?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
КоличествоПользователей,
|
||||
Строка(Строка));
|
||||
Иначе
|
||||
Если ВключитьВГруппу Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Включить пользователей (%2) в эту группу?'");
|
||||
ИначеЕсли Перемещение Тогда
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Переместить пользователей (%2) в эту группу?'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = 'Группа ""%1"" помечена на удаление. Скопировать пользователей (%2) в эту группу?'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 пользователей (%2) в эту группу?'"),
|
||||
ДействиеСПользователем,
|
||||
Шаблон,
|
||||
Строка(Строка),
|
||||
КоличествоПользователей);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -752,6 +772,11 @@
|
||||
КонецЕсли;
|
||||
Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки");
|
||||
ХранимыеПараметры.Вставить("ЗаголовокФормыПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора);
|
||||
|
||||
Если ПараметрыРасширеннойФормыПодбора.Свойство("ЗаголовокКнопкиЗавершенияПодбора") Тогда
|
||||
ХранимыеПараметры.Вставить("ЗаголовокКнопкиЗавершенияПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокКнопкиЗавершенияПодбора);
|
||||
КонецЕсли;
|
||||
|
||||
// Установка параметров расширенной формы подбора.
|
||||
Элементы.ЗавершитьИЗакрыть.Видимость = Истина;
|
||||
Элементы.ГруппаВыбратьПользователя.Видимость = Истина;
|
||||
@@ -931,11 +956,17 @@
|
||||
|
||||
Если ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
Заголовок = ХранимыеПараметры.ЗаголовокФормыПодбора;
|
||||
|
||||
Если ХранимыеПараметры.Свойство("ЗаголовокКнопкиЗавершенияПодбора") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ЗавершитьИЗакрыть", "Заголовок", ХранимыеПараметры.ЗаголовокКнопкиЗавершенияПодбора);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Заголовок = НСтр("ru = 'Подбор пользователей'");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
// Режим выбора.
|
||||
Если ВыборГруппПользователей Тогда
|
||||
|
||||
@@ -3302,6 +3302,19 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПользовательИБАутентификацияСтандартнаяЗначениеПрямогоИзменения</name>
|
||||
<id>3</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ПоказатьТолькоВыбранныеРоли</name>
|
||||
<title>
|
||||
|
||||
Loaded 100 of 1114 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user