This commit is contained in:
Компания 1С committed 2013-07-19 14:29:00 +03:00
1 parent 39fb383848
commit b4c3b3c785
1472 files changed
+113649 -29940

No files matched your search

@@ -1124,6 +1124,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>ChoiceProcessing</event>
<name>ОбработкаВыбора</name>
</handlers>
<handlers> <handlers>
<event>OnOpen</event> <event>OnOpen</event>
<name>ПриОткрытии</name> <name>ПриОткрытии</name>
@@ -2,6 +2,8 @@
Перем ОткрытаФормаВыбораИсполнителя; // признак того, что исполнитель выбирается из формы, а не быстрым вводом Перем ОткрытаФормаВыбораИсполнителя; // признак того, что исполнитель выбирается из формы, а не быстрым вводом
&НаКлиенте &НаКлиенте
Перем ОткрытаФормаВыбораПроверяющего; // признак того, что проверяющий выбирается из формы, а не быстрым вводом Перем ОткрытаФормаВыбораПроверяющего; // признак того, что проверяющий выбирается из формы, а не быстрым вводом
&НаКлиенте
Перем КонтекстВыбора;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
@@ -66,6 +68,32 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("ОбщаяФорма.ВыборРолиИсполнителя") Тогда
Если КонтекстВыбора = "ИсполнительПриИзменении" Тогда
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
Объект.Исполнитель = ВыбранноеЗначение.РольИсполнителя;
КонецЕсли;
УстановитьДоступностьПроверяющего(ЭтаФорма);
ИначеЕсли КонтекстВыбора = "ПроверяющийПриИзменении" Тогда
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
Объект.Проверяющий = ВыбранноеЗначение.РольИсполнителя;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере &НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
@@ -134,16 +162,18 @@
Если ТипЗнч(Объект.Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей") И ЗначениеЗаполнено(Объект.Исполнитель) Тогда Если ТипЗнч(Объект.Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей") И ЗначениеЗаполнено(Объект.Исполнитель) Тогда
Если ИспользуетсяСОбъектамиАдресации(Объект.Исполнитель) Тогда Если ИспользуетсяСОбъектамиАдресации(Объект.Исполнитель) Тогда
Результат = ОткрытьФормуМодально("ОбщаяФорма.ВыборРолиИсполнителя",
Новый Структура("РольИсполнителя, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации",
Объект.Исполнитель,
ОсновнойОбъектАдресации,
ДополнительныйОбъектАдресации),
ЭтаФорма);
Если ТипЗнч(Результат) = Тип("Структура") Тогда КонтекстВыбора = "ИсполнительПриИзменении";
Объект.Исполнитель = Результат.РольИсполнителя;
КонецЕсли; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РольИсполнителя", Объект.Исполнитель);
ПараметрыФормы.Вставить("ОсновнойОбъектАдресации", ОсновнойОбъектАдресации);
ПараметрыФормы.Вставить("ДополнительныйОбъектАдресации", ДополнительныйОбъектАдресации);
ОткрытьФорму("ОбщаяФорма.ВыборРолиИсполнителя", ПараметрыФормы, ЭтаФорма);
Возврат;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -205,16 +235,16 @@
Если ТипЗнч(Объект.Проверяющий) = Тип("СправочникСсылка.РолиИсполнителей") И ЗначениеЗаполнено(Объект.Проверяющий) Тогда Если ТипЗнч(Объект.Проверяющий) = Тип("СправочникСсылка.РолиИсполнителей") И ЗначениеЗаполнено(Объект.Проверяющий) Тогда
Если ИспользуетсяСОбъектамиАдресации(Объект.Проверяющий) Тогда Если ИспользуетсяСОбъектамиАдресации(Объект.Проверяющий) Тогда
Результат = ОткрытьФормуМодально("ОбщаяФорма.ВыборРолиИсполнителя",
Новый Структура("РольИсполнителя, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации",
Объект.Проверяющий,
ОсновнойОбъектАдресации,
ДополнительныйОбъектАдресации),
ЭтаФорма);
Если ТипЗнч(Результат) = Тип("Структура") Тогда КонтекстВыбора = "ПроверяющийПриИзменении";
Объект.Проверяющий = Результат.РольИсполнителя;
КонецЕсли; ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РольИсполнителя", Объект.Проверяющий);
ПараметрыФормы.Вставить("ОсновнойОбъектАдресации", ОсновнойОбъектАдресации);
ПараметрыФормы.Вставить("ДополнительныйОбъектАдресации", ДополнительныйОбъектАдресации);
ОткрытьФорму("ОбщаяФорма.ВыборРолиИсполнителя", ПараметрыФормы, ЭтаФорма);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ЗадачаИсточник</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="dcscor:DesignTimeValue">Задача.ЗадачаИсполнителя.ПустаяСсылка</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
@@ -9,6 +9,12 @@
КонецЕсли; КонецЕсли;
ПоАвтору = Пользователи.ТекущийПользователь(); ПоАвтору = Пользователи.ТекущийПользователь();
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ЗадачаИсточник", Задачи.ЗадачаИсполнителя.ПустаяСсылка(),
ВидСравненияКомпоновкиДанных.Равно, , ,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
УстановитьОтбор(); УстановитьОтбор();
КонецПроцедуры КонецПроцедуры
@@ -82,34 +88,34 @@
&НаСервере &НаСервере
Процедура УстановитьОтборСписка(ПараметрыОтбора) Процедура УстановитьОтборСписка(ПараметрыОтбора)
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор, "Завершен"); ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Завершен");
Если НЕ ПараметрыОтбора["ПоказыватьЗавершенныеЗадания"] Тогда Если НЕ ПараметрыОтбора["ПоказыватьЗавершенныеЗадания"] Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Завершен", Ложь); Список, "Завершен", Ложь);
КонецЕсли; КонецЕсли;
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор, "Остановлен"); ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Остановлен");
Если НЕ ПараметрыОтбора["ПоказыватьОстановленные"] Тогда Если НЕ ПараметрыОтбора["ПоказыватьОстановленные"] Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Остановлен", Ложь); Список, "Остановлен", Ложь);
КонецЕсли; КонецЕсли;
Если ПараметрыОтбора["ПоАвтору"].Пустая() Тогда Если ПараметрыОтбора["ПоАвтору"].Пустая() Тогда
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор, "Автор"); ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Автор");
Иначе Иначе
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Автор", ПараметрыОтбора["ПоАвтору"]); Список, "Автор", ПараметрыОтбора["ПоАвтору"]);
КонецЕсли; КонецЕсли;
Если ПараметрыОтбора["ПоИсполнителю"].Пустая() Тогда Если ПараметрыОтбора["ПоИсполнителю"].Пустая() Тогда
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор, "Исполнитель"); ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Исполнитель");
Иначе Иначе
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Исполнитель", ПараметрыОтбора["ПоИсполнителю"]); Список, "Исполнитель", ПараметрыОтбора["ПоИсполнителю"]);
КонецЕсли; КонецЕсли;
Если ПараметрыОтбора["ПоПроверяющему"].Пустая() Тогда Если ПараметрыОтбора["ПоПроверяющему"].Пустая() Тогда
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор, "Проверяющий"); ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Проверяющий");
Иначе Иначе
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Проверяющий", ПараметрыОтбора["ПоПроверяющему"]); Список, "Проверяющий", ПараметрыОтбора["ПоПроверяющему"]);
@@ -1,3 +1,3 @@
<!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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Этот бизнес-процесс состоит из двух шагов - исполнение и проверка, при этом проверяющий может вернуть задачу на доработку.</p> <p>Этот бизнес-процесс состоит из двух шагов - исполнение и проверка, при этом проверяющий может вернуть задачу на доработку.</p>
<p>См. также: <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">Общая информация о бизнес-процессах.</a></p></body></html> <p>См. также: <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">Общая информация о бизнес-процессах.</a></p></body></html>
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Общероссийский классификатор валют содержит общую информацию о валютах и предназначен для добавления новых валют.</p> <p>Общероссийский классификатор валют содержит общую информацию о валютах и предназначен для добавления новых валют.</p>
<h2><a name="Команды">Реквизиты:</a></h2> <h2><a name="Команды">Реквизиты:</a></h2>
<p></p> <p></p>
@@ -111,8 +111,7 @@
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
НСтр("ru = 'Валюты добавлены.'"), , НСтр("ru = 'Валюты добавлены.'"), ,
?(ОбщегоНазначенияПовтИсп.РазделениеВключено() И ЕстьКурсы, НСтр("ru = 'Курсы будут загружены автоматически через непродолжительное время.'"), ""), ?(ОбщегоНазначенияПовтИсп.РазделениеВключено() И ЕстьКурсы, НСтр("ru = 'Курсы будут загружены автоматически через непродолжительное время.'"), ""),
БиблиотекаКартинок.Информация32 БиблиотекаКартинок.Информация32);
);
Закрыть(); Закрыть();
КонецПроцедуры КонецПроцедуры
@@ -11,8 +11,7 @@
ДатаКурса = НачалоДня(ТекущаяДатаСеанса()); ДатаКурса = НачалоДня(ТекущаяДатаСеанса());
Элементы.Курс.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Элементы.Курс.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Курс на %1'"), НСтр("ru = 'Курс на %1'"),
Формат(ДатаКурса, "ДЛФ=DD") Формат(ДатаКурса, "ДЛФ=DD"));
);
Элементы.Курс.Подсказка = Элементы.Курс.Заголовок; Элементы.Курс.Подсказка = Элементы.Курс.Заголовок;
Список.Параметры.УстановитьЗначениеПараметра("КонецПериода", ДатаКурса); Список.Параметры.УстановитьЗначениеПараметра("КонецПериода", ДатаКурса);
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Справочник «Валюты» предназначен для хранения списка используемых валют и их курсов.</p> <p>Справочник «Валюты» предназначен для хранения списка используемых валют и их курсов.</p>
<h2><a name="Команды">Реквизиты:</a></h2> <h2><a name="Команды">Реквизиты:</a></h2>
<p></p> <p></p>
@@ -55,8 +55,7 @@
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Необходимо указать основную валюту'"), , НСтр("ru = 'Необходимо указать основную валюту'"), ,
"Объект.ОсновнаяВалюта", , "Объект.ОсновнаяВалюта", ,
Отказ Отказ);
);
КонецЕсли; КонецЕсли;
Иначе Иначе
Объект.ОсновнаяВалюта = Неопределено; Объект.ОсновнаяВалюта = Неопределено;
@@ -285,9 +284,6 @@
&НаКлиентеНаСервереБезКонтекста &НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСвойстваЭлементовГруппыЗависимойВалюты(Форма) Процедура УстановитьСвойстваЭлементовГруппыЗависимойВалюты(Форма)
// Управляет видимостью реквизитов зависимости от базовой валюты:
// ссылки на базовую валюту и коэфициента
Объект = Форма.Объект; Объект = Форма.Объект;
Элементы = Форма.Элементы; Элементы = Форма.Элементы;
+1 -1
View File
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Справочник «Валюты» предназначен для хранения списка используемых валют и их курсов.</p> <p>Справочник «Валюты» предназначен для хранения списка используемых валют и их курсов.</p>
<h2><a name="Команды">Реквизиты:</a></h2> <h2><a name="Команды">Реквизиты:</a></h2>
<p></p> <p></p>
@@ -7,15 +7,13 @@
Если ЗагружаетсяИзИнтернета И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда Если ЗагружаетсяИзИнтернета И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Зависимая валюта не может быть загружена с сайта РБК'") НСтр("ru = 'Зависимая валюта не может быть загружена с сайта РБК'"));
);
Отказ = Истина; Отказ = Истина;
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(ОсновнаяВалюта.ОсновнаяВалюта) Тогда Если ЗначениеЗаполнено(ОсновнаяВалюта.ОсновнаяВалюта) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Основная валюта не может быть зависимой.'") НСтр("ru = 'Основная валюта не может быть зависимой.'"));
);
Отказ = Истина; Отказ = Истина;
КонецЕсли; КонецЕсли;
@@ -29,8 +27,7 @@
И РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(Ссылка).Количество() > 0 И РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(Ссылка).Количество() > 0
И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Валюта не может быть подчиненной, так как она является основной для других валют.'") НСтр("ru = 'Валюта не может быть подчиненной, так как она является основной для других валют.'"));
);
Отказ = Истина; Отказ = Истина;
КонецЕсли; КонецЕсли;
@@ -107,6 +107,7 @@
<Item Code="704" CodeSymbol="VND" Name="Донг" Description="Вьетнам" RBCLoading="ложь"/> <Item Code="704" CodeSymbol="VND" Name="Донг" Description="Вьетнам" RBCLoading="ложь"/>
<Item Code="706" CodeSymbol="SOS" Name="Сомалийский шиллинг" Description="Сомали" RBCLoading="ложь"/> <Item Code="706" CodeSymbol="SOS" Name="Сомалийский шиллинг" Description="Сомали" RBCLoading="ложь"/>
<Item Code="710" CodeSymbol="ZAR" Name="Рэнд" Description="Лесото; Намибия; Южная Африка" RBCLoading="истина"/> <Item Code="710" CodeSymbol="ZAR" Name="Рэнд" Description="Лесото; Намибия; Южная Африка" RBCLoading="истина"/>
<Item Code="728" CodeSymbol="SSP" Name="Южносуданский фунт" Description="Южный Судан" RBCLoading="ложь"/>
<Item Code="748" CodeSymbol="SZL" Name="Лилангени" Description="Свазиленд" RBCLoading="ложь"/> <Item Code="748" CodeSymbol="SZL" Name="Лилангени" Description="Свазиленд" RBCLoading="ложь"/>
<Item Code="752" CodeSymbol="SEK" Name="Шведская крона" Description="Швеция" RBCLoading="истина"/> <Item Code="752" CodeSymbol="SEK" Name="Шведская крона" Description="Швеция" RBCLoading="истина"/>
<Item Code="756" CodeSymbol="CHF" Name="Швейцарский франк" Description="Лихтенштейн; Швейцария" RBCLoading="истина"/> <Item Code="756" CodeSymbol="CHF" Name="Швейцарский франк" Description="Лихтенштейн; Швейцария" RBCLoading="истина"/>
@@ -133,6 +134,7 @@
<Item Code="936" CodeSymbol="GHS" Name="Ганский седи" Description="Гана" RBCLoading="ложь"/> <Item Code="936" CodeSymbol="GHS" Name="Ганский седи" Description="Гана" RBCLoading="ложь"/>
<Item Code="937" CodeSymbol="VEF" Name="Боливар" Description="Венесуэла" RBCLoading="ложь"/> <Item Code="937" CodeSymbol="VEF" Name="Боливар" Description="Венесуэла" RBCLoading="ложь"/>
<Item Code="938" CodeSymbol="SDG" Name="Суданский фунт" Description="Судан" RBCLoading="ложь"/> <Item Code="938" CodeSymbol="SDG" Name="Суданский фунт" Description="Судан" RBCLoading="ложь"/>
<Item Code="940" CodeSymbol="UYI" Name="Уругвайское песо в индексированных единицах" Description="Уругвай" RBCLoading="ложь"/>
<Item Code="941" CodeSymbol="RSD" Name="Сербский динар" Description="Сербия" RBCLoading="ложь"/> <Item Code="941" CodeSymbol="RSD" Name="Сербский динар" Description="Сербия" RBCLoading="ложь"/>
<Item Code="943" CodeSymbol="MZN" Name="Мозамбикский метикал" Description="Мозамбик" RBCLoading="ложь"/> <Item Code="943" CodeSymbol="MZN" Name="Мозамбикский метикал" Description="Мозамбик" RBCLoading="ложь"/>
<Item Code="944" CodeSymbol="AZN" Name="Азербайджанский манат" Description="Азербайджан" RBCLoading="истина"/> <Item Code="944" CodeSymbol="AZN" Name="Азербайджанский манат" Description="Азербайджан" RBCLoading="истина"/>
@@ -9,6 +9,4 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Анкетирование.УстановитьПараметрыОтбораФормуВыбора(Параметры,Список.Отбор);
КонецПроцедуры КонецПроцедуры
@@ -12,9 +12,7 @@
Предупреждение( Предупреждение(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Пользовательские настройки выбранных вариантов отчетов (%1 шт) не заданы или уже сброшены.'"), НСтр("ru = 'Пользовательские настройки выбранных вариантов отчетов (%1 шт) не заданы или уже сброшены.'"),
Формат(КоличествоВариантов, "ЧГ=") Формат(КоличествоВариантов, "ЧГ=")));
)
);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -24,8 +22,7 @@
| |
|Нажмите ""Продолжить"" что бы сбросить пользовательские настройки |Нажмите ""Продолжить"" что бы сбросить пользовательские настройки
|быстрого доступа и видимости выбранных вариантов отчетов (%1 шт).'"), |быстрого доступа и видимости выбранных вариантов отчетов (%1 шт).'"),
Формат(КоличествоВариантов, "ЧГ=") Формат(КоличествоВариантов, "ЧГ="));
);
Кнопки = Новый СписокЗначений; Кнопки = Новый СписокЗначений;
Кнопки.Добавить(1, НСтр("ru = 'Продолжить'")); Кнопки.Добавить(1, НСтр("ru = 'Продолжить'"));
@@ -41,8 +38,7 @@
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
НСтр("ru = 'Сброшены пользовательские настройки варианта отчета'"), НСтр("ru = 'Сброшены пользовательские настройки варианта отчета'"),
ПолучитьНавигационнуюСсылку(МассивВариантов[0]), ПолучитьНавигационнуюСсылку(МассивВариантов[0]),
Строка(МассивВариантов[0]) Строка(МассивВариантов[0]));
);
Иначе Иначе
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
, ,
@@ -50,9 +46,7 @@
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сброшены пользовательские настройки НСтр("ru = 'Сброшены пользовательские настройки
|вариантов отчетов (%1 шт.).'"), |вариантов отчетов (%1 шт.).'"),
Формат(МассивВариантов.Количество(), "ЧН=0; ЧГ=0") Формат(МассивВариантов.Количество(), "ЧН=0; ЧГ=0")));
)
);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -18,9 +18,7 @@
|- Выбраны только пользовательские варианты отчетов. |- Выбраны только пользовательские варианты отчетов.
|- Выбранные варианты отчетов помечены на удаление. |- Выбранные варианты отчетов помечены на удаление.
|- Выбраны варианты дополнительных или внешних отчетов.'"), |- Выбраны варианты дополнительных или внешних отчетов.'"),
Формат(КоличествоПредопределенных, "ЧГ=") Формат(КоличествоПредопределенных, "ЧГ=")));
)
);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -30,8 +28,7 @@
| |
|Нажмите ""Продолжить"" что бы сбросить настройки размещения, |Нажмите ""Продолжить"" что бы сбросить настройки размещения,
|видимости и доступности выбранных вариантов отчетов (%1 шт).'"), |видимости и доступности выбранных вариантов отчетов (%1 шт).'"),
Формат(КоличествоПредопределенных, "ЧГ=") Формат(КоличествоПредопределенных, "ЧГ="));
);
Кнопки = Новый СписокЗначений; Кнопки = Новый СписокЗначений;
Кнопки.Добавить(1, НСтр("ru = 'Продолжить'")); Кнопки.Добавить(1, НСтр("ru = 'Продолжить'"));
@@ -48,8 +45,7 @@
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
НСтр("ru = 'Сброшены настройки размещения варианта отчета'"), НСтр("ru = 'Сброшены настройки размещения варианта отчета'"),
ПолучитьНавигационнуюСсылку(ВариантСсылка), ПолучитьНавигационнуюСсылку(ВариантСсылка),
Строка(ВариантСсылка) Строка(ВариантСсылка));
);
Иначе Иначе
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
, ,
@@ -57,9 +53,7 @@
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сброшены настройки размещения НСтр("ru = 'Сброшены настройки размещения
|вариантов отчетов (%1 шт.).'"), |вариантов отчетов (%1 шт.).'"),
Формат(МассивВариантов.Количество(), "ЧН=0; ЧГ=0") Формат(МассивВариантов.Количество(), "ЧН=0; ЧГ=0")));
)
);
КонецЕсли; КонецЕсли;
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы(); ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы();
@@ -1,3 +1,3 @@
<!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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Позволяет настраивать размещение нескольких вариантов отчетов в разделах программы.</p> <p>Позволяет настраивать размещение нескольких вариантов отчетов в разделах программы.</p>
<p>См. также: <a href="Catalog.ВариантыОтчетов.Form.ФормаЭлемента/Help">Вариант отчета</a>, <a href="v8help://frame/form_common">Общая информация о формах</a>.</p></body></html> <p>См. также: <a href="Catalog.ВариантыОтчетов.Form.ФормаЭлемента/Help">Вариант отчета</a>, <a href="v8help://frame/form_common">Общая информация о формах</a>.</p></body></html>
@@ -104,8 +104,7 @@
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить список ""Варианты отчетов""'"), НСтр("ru = 'Необходимо заполнить список ""Варианты отчетов""'"),
, ,
"ИзменяемыеВарианты" "ИзменяемыеВарианты");
);
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
Возврат Истина; Возврат Истина;
@@ -119,9 +118,7 @@
, ,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Изменены настройки вариантов отчетов (%1 шт.).'"), НСтр("ru = 'Изменены настройки вариантов отчетов (%1 шт.).'"),
Формат(ИзменяемыеВарианты.Количество(), "ЧН=0; ЧГ=0") Формат(ИзменяемыеВарианты.Количество(), "ЧН=0; ЧГ=0")));
)
);
Модифицированность = Ложь; Модифицированность = Ложь;
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы(); ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы();
@@ -320,14 +317,12 @@
ТекстСообщения = СтрЗаменить( ТекстСообщения = СтрЗаменить(
НСтр("ru = 'После проверки варианты отчетов (%1 шт.) были исключены из списка выбранных.'"), НСтр("ru = 'После проверки варианты отчетов (%1 шт.) были исключены из списка выбранных.'"),
"%1", "%1",
Формат(КоличествоОшибок, "ЧГ=") Формат(КоличествоОшибок, "ЧГ="));
);
Элементы.ДеревоПодсистем.Доступность = Истина; Элементы.ДеревоПодсистем.Доступность = Истина;
КонецЕсли; КонецЕсли;
РезультатВыполнения.Вставить("ВыводПредупреждения", РезультатВыполнения.Вставить("ВыводПредупреждения",
Новый Структура("Использование, Текст, ПутьКРеквизитуФормы, ТекстОшибок", Истина, ТекстСообщения, "ИзменяемыеВарианты", ТекстОшибок) Новый Структура("Использование, Текст, ПутьКРеквизитуФормы, ТекстОшибок", Истина, ТекстСообщения, "ИзменяемыеВарианты", ТекстОшибок));
);
РезультатВыполнения = Новый ФиксированнаяСтруктура(РезультатВыполнения); РезультатВыполнения = Новый ФиксированнаяСтруктура(РезультатВыполнения);
Иначе Иначе
Элементы.ДеревоПодсистем.Доступность = Истина; Элементы.ДеревоПодсистем.Доступность = Истина;
@@ -711,7 +711,6 @@
<initialTreeView>ExpandTopLevel</initialTreeView> <initialTreeView>ExpandTopLevel</initialTreeView>
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch> <verticalStretch>true</verticalStretch>
<enableStartDrag>true</enableStartDrag>
<enableDrag>true</enableDrag> <enableDrag>true</enableDrag>
<searchStringLocation>None</searchStringLocation> <searchStringLocation>None</searchStringLocation>
<viewStatusLocation>None</viewStatusLocation> <viewStatusLocation>None</viewStatusLocation>
@@ -1593,6 +1592,23 @@
<segments>ОтборАвтор</segments> <segments>ОтборАвтор</segments>
</settingsSavedData> </settingsSavedData>
</attributes> </attributes>
<attributes>
<name>КорневаяПодсистема</name>
<title>
<key>ru</key>
<value>Корневая подсистема</value>
</title>
<id>8</id>
<valueType>
<types>CatalogRef.ИдентификаторыОбъектовМетаданных</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes> <attributes>
<name>ОтборНаименование</name> <name>ОтборНаименование</name>
<title> <title>
@@ -9,6 +9,7 @@
ВключаяПодчиненные = Истина; ВключаяПодчиненные = Истина;
//КорневаяПодсистема = Справочники.ИдентификаторыОбъектовМетаданных.Подсистемы;
ДеревоЗначений = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя(); ДеревоЗначений = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя();
ЗначениеВРеквизитФормы(ДеревоЗначений, "ДеревоПодсистем"); ЗначениеВРеквизитФормы(ДеревоЗначений, "ДеревоПодсистем");
@@ -57,7 +58,6 @@
ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты(); ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты();
Если НЕ ПолныеПраваНаВарианты Тогда Если НЕ ПолныеПраваНаВарианты Тогда
Элементы.ОтборТипОтчета.Видимость = Ложь; Элементы.ОтборТипОтчета.Видимость = Ложь;
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Список.Отбор, "ПометкаУдаления", ВидСравненияКомпоновкиДанных.Равно, Ложь,,Истина,РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецЕсли; КонецЕсли;
СписокВыбора = Элементы.ОтборТипОтчета.СписокВыбора; СписокВыбора = Элементы.ОтборТипОтчета.СписокВыбора;
@@ -79,6 +79,12 @@
Список.Параметры.УстановитьЗначениеПараметра("ОтборТипОтчета", ОтборТипОтчета); Список.Параметры.УстановитьЗначениеПараметра("ОтборТипОтчета", ОтборТипОтчета);
ТекущийЭлемент = Элементы.Список; ТекущийЭлемент = Элементы.Список;
// Установка отбора динамического списка.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , ,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -105,11 +111,10 @@
Элементы.ОтборНаименование.СписокВыбора.ЗагрузитьЗначения(ОтборНаименованиеСписокВыбора); Элементы.ОтборНаименование.СписокВыбора.ЗагрузитьЗначения(ОтборНаименованиеСписокВыбора);
КонецЕсли; КонецЕсли;
ДеревоПодсистемУстановитьПараметрыСписка();
Список.Параметры.УстановитьЗначениеПараметра("ОтборНаименование", ОтборНаименование); Список.Параметры.УстановитьЗначениеПараметра("ОтборНаименование", ОтборНаименование);
Список.Параметры.УстановитьЗначениеПараметра("ОтборАвтор", ОтборАвтор); Список.Параметры.УстановитьЗначениеПараметра("ОтборАвтор", ОтборАвтор);
Список.Параметры.УстановитьЗначениеПараметра("ОтборТипОтчета", ОтборТипОтчета); Список.Параметры.УстановитьЗначениеПараметра("ОтборТипОтчета", ОтборТипОтчета);
//Список.Параметры.УстановитьЗначениеПараметра("ВключаяПодчиненные", ВключаяПодчиненные);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -161,6 +166,7 @@
&НаКлиенте &НаКлиенте
Процедура ВключаяПодчиненныеПриИзменении(Элемент) Процедура ВключаяПодчиненныеПриИзменении(Элемент)
//Список.Параметры.УстановитьЗначениеПараметра("ВключаяПодчиненные", ВключаяПодчиненные);
ДеревоПодсистемТекущаяСтрока = -1; ДеревоПодсистемТекущаяСтрока = -1;
ПодключитьОбработчикОжидания("ДеревоПодсистемОбработчикАктивизацииСтроки", 0.1, Истина); ПодключитьОбработчикОжидания("ДеревоПодсистемОбработчикАктивизацииСтроки", 0.1, Истина);
КонецПроцедуры КонецПроцедуры
@@ -261,8 +267,7 @@
Размещение.Варианты.Представление, Размещение.Варианты.Представление,
Формат(Размещение.Варианты.Всего, "ЧГ=0"), Формат(Размещение.Варианты.Всего, "ЧГ=0"),
Размещение.Источник.ПолноеПредставление, Размещение.Источник.ПолноеПредставление,
Размещение.Приемник.ПолноеПредставление Размещение.Приемник.ПолноеПредставление);
);
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, 60, КодВозвратаДиалога.Да); Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, 60, КодВозвратаДиалога.Да);
Если Ответ <> КодВозвратаДиалога.Да Тогда Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат; Возврат;
@@ -488,8 +493,7 @@
ВыводОповещения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВыводОповещения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Вариант отчета ""%1"" размещен в ""%2"".'"), НСтр("ru = 'Вариант отчета ""%1"" размещен в ""%2"".'"),
Размещение.Варианты.Представление, Размещение.Варианты.Представление,
Размещение.Приемник.ПолноеПредставление Размещение.Приемник.ПолноеПредставление);
);
ВыводОповещения.Текст = Размещение.Варианты.Представление; ВыводОповещения.Текст = Размещение.Варианты.Представление;
ВыводОповещения.Ссылка = ПолучитьНавигационнуюСсылку(Размещение.Варианты.Массив[0]); ВыводОповещения.Ссылка = ПолучитьНавигационнуюСсылку(Размещение.Варианты.Массив[0]);
Иначе Иначе
@@ -497,8 +501,7 @@
НСтр("ru = 'Варианты отчетов ""%1"" (%2 шт.) размещены в ""%3"".'"), НСтр("ru = 'Варианты отчетов ""%1"" (%2 шт.) размещены в ""%3"".'"),
Размещение.Варианты.Представление, Размещение.Варианты.Представление,
Формат(Размещение.Варианты.Всего, "ЧН=0; ЧГ=0"), Формат(Размещение.Варианты.Всего, "ЧН=0; ЧГ=0"),
Размещение.Приемник.ПолноеПредставление Размещение.Приемник.ПолноеПредставление);
);
КонецЕсли; КонецЕсли;
Иначе Иначе
РезультатВыполнения.Вставить("ВыводПредупреждения", Новый Структура("Использование, Текст, ТекстОшибок")); РезультатВыполнения.Вставить("ВыводПредупреждения", Новый Структура("Использование, Текст, ТекстОшибок"));
@@ -507,8 +510,7 @@
ВыводПредупреждения.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВыводПредупреждения.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Размещено вариантов отчетов: %1 из %2'"), НСтр("ru = 'Размещено вариантов отчетов: %1 из %2'"),
Формат(Размещено, "ЧН=0; ЧГ=0"), Формат(Размещено, "ЧН=0; ЧГ=0"),
Формат(Размещение.Варианты.Всего, "ЧН=0; ЧГ=0") Формат(Размещение.Варианты.Всего, "ЧН=0; ЧГ=0"));
);
ВыводПредупреждения.ТекстОшибок = НСтр("ru = 'Варианты отчетов, которые не могут размещаться в командном интерфейсе:'") ВыводПредупреждения.ТекстОшибок = НСтр("ru = 'Варианты отчетов, которые не могут размещаться в командном интерфейсе:'")
+ Символы.ПС + Символы.ПС
+ ТекстОшибок; + ТекстОшибок;
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Справочник предназначен для хранения вариантов отчетов и настройки их размещения в командном интерфейсе.</p> <p>Справочник предназначен для хранения вариантов отчетов и настройки их размещения в командном интерфейсе.</p>
<h2><a name="Реквизиты">Реквизиты:</a></h2> <h2><a name="Реквизиты">Реквизиты:</a></h2>
<p></p> <p></p>
@@ -120,8 +120,7 @@
Объект.Описание, Объект.Описание,
Объект.Описание, Объект.Описание,
Модифицированность, Модифицированность,
НСтр("ru = 'Описание'") НСтр("ru = 'Описание'"));
);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Редактирование, открытие и выбор вариантов отчетов.</p> <p>Редактирование, открытие и выбор вариантов отчетов.</p>
<p>В левой части формы расположено дерево разделов и групп командного интерфейса.<br>Перемещаясь по узлам дерева, список "<strong>Варианты отчетов</strong>" автоматически фильтруется по выбранному разделу или группе.<br>Варианты отчетов можно перемещать из текущего раздела/группы в другие при помощи перетаскивания. Если при перетаскивании зажать клавишу Ctrl, то вариант отчета будет добавлен в новую группу, а также останется в текущей группе.</p> <p>В левой части формы расположено дерево разделов и групп командного интерфейса.<br>Перемещаясь по узлам дерева, список "<strong>Варианты отчетов</strong>" автоматически фильтруется по выбранному разделу или группе.<br>Варианты отчетов можно перемещать из текущего раздела/группы в другие при помощи перетаскивания. Если при перетаскивании зажать клавишу Ctrl, то вариант отчета будет добавлен в новую группу, а также останется в текущей группе.</p>
<p>Чтобы быстро найти нужный вариант отчета в списке "<strong>Варианты отчетов</strong>" также можно применять быстрые отборы по <strong>Наименованию</strong> и <strong>Автору</strong>. Для этого нужно указать искомые значения в соответствующих полях, расположенных над списком.</p> <p>Чтобы быстро найти нужный вариант отчета в списке "<strong>Варианты отчетов</strong>" также можно применять быстрые отборы по <strong>Наименованию</strong> и <strong>Автору</strong>. Для этого нужно указать искомые значения в соответствующих полях, расположенных над списком.</p>
@@ -20,8 +20,7 @@
Наименование Наименование
), ),
, ,
"Наименование" "Наименование");
);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -33,8 +32,7 @@
ПользователемИзмененаПометкаУдаления = ( ПользователемИзмененаПометкаУдаления = (
НЕ ЭтоНовый() НЕ ЭтоНовый()
И ПометкаУдаления <> Ссылка.ПометкаУдаления И ПометкаУдаления <> Ссылка.ПометкаУдаления
И НЕ ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") И НЕ ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных"));
);
Если НЕ Пользовательский И ПользователемИзмененаПометкаУдаления Тогда Если НЕ Пользовательский И ПользователемИзмененаПометкаУдаления Тогда
Если ПометкаУдаления Тогда Если ПометкаУдаления Тогда
@@ -54,13 +52,11 @@
Если НаименованиеЗанято Тогда Если НаименованиеЗанято Тогда
ТекстОшибки = ТекстОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстОшибки = ТекстОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Наименование ""%1"" уже занято другим вариантом этого отчета.'"), НСтр("ru = 'Наименование ""%1"" уже занято другим вариантом этого отчета.'"),
Наименование Наименование);
);
Иначе Иначе
ТекстОшибки = ТекстОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстОшибки = ТекстОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ключ варианта ""%1"" уже занят другим вариантом этого отчета.'"), НСтр("ru = 'Ключ варианта ""%1"" уже занят другим вариантом этого отчета.'"),
КлючВарианта КлючВарианта);
);
КонецЕсли; КонецЕсли;
ТекстОшибки = ТекстОшибки + НСтр("ru = 'Перед снятием пометки удаления варианта отчета ТекстОшибки = ТекстОшибки + НСтр("ru = 'Перед снятием пометки удаления варианта отчета
|необходимо установить пометку удаления конфликтующего варианта отчета.'"); |необходимо установить пометку удаления конфликтующего варианта отчета.'");
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">DeletionMark</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
@@ -321,6 +321,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<width>70</width> <width>70</width>
<windowOpeningMode>LockOwner</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
@@ -0,0 +1,31 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Отбор не помеченных на удаление.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
// Оформление помеченных на удаление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.НедоступныеДанныеЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаУдаления");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Список");
ЭлементОформляемогоПоля.Использование = Истина;
КонецПроцедуры
@@ -137,7 +137,7 @@
<horizontalAlign>Right</horizontalAlign> <horizontalAlign>Right</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<excludedCommands>CustomizeForm</excludedCommands> <excludedCommands>CustomizeForm</excludedCommands>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
<group>Vertical</group> <group>Vertical</group>
@@ -20,6 +20,8 @@
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассивИОбновитьПовторноИспользуемыеЗначения( ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассивИОбновитьПовторноИспользуемыеЗначения(
МассивСтруктур); МассивСтруктур);
Закрыть(КодВозвратаДиалога.ОК); РезультатВыбора = КодВозвратаДиалога.ОК;
ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры КонецПроцедуры
@@ -1,41 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<use>false</use>
<field>ДатаСоздания</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
<conditionalAppearance> <conditionalAppearance>
<item>
<selection/>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">true</right>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>ЦветТекста</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">web:Gray</dcscor:value>
</dcscor:item>
</appearance>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID> <userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID>
</conditionalAppearance> </conditionalAppearance>
@@ -657,6 +657,10 @@
<event>NotificationProcessing</event> <event>NotificationProcessing</event>
<name>ОбработкаОповещения</name> <name>ОбработкаОповещения</name>
</handlers> </handlers>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<excludedCommands>Copy</excludedCommands> <excludedCommands>Copy</excludedCommands>
<excludedCommands>Create</excludedCommands> <excludedCommands>Create</excludedCommands>
<excludedCommands>Delete</excludedCommands> <excludedCommands>Delete</excludedCommands>
@@ -1,6 +1,32 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Оформление помеченных на удаление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.НедоступныеДанныеЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаУдаления");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Список");
ЭлементОформляемогоПоля.Использование = Истина;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
@@ -1,45 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">DeletionMark</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<use>false</use>
<field>ДатаСоздания</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
<conditionalAppearance> <conditionalAppearance>
<item>
<selection/>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">true</right>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>ЦветТекста</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">web:Gray</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>Шрифт</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Font" ref="sys:DefaultGUIFont" bold="false" italic="false" underline="false" strikeout="true" kind="WindowsFont"/>
</dcscor:item>
</appearance>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID> <userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID>
</conditionalAppearance> </conditionalAppearance>
@@ -948,6 +948,10 @@
</items> </items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>ChoiceProcessing</event>
<name>ОбработкаВыбора</name>
</handlers>
<handlers> <handlers>
<event>NotificationProcessing</event> <event>NotificationProcessing</event>
<name>ОбработкаОповещения</name> <name>ОбработкаОповещения</name>
@@ -1,3 +1,9 @@
&НаКлиенте
Перем Ссылка1;
&НаКлиенте
Перем Ссылка2;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
@@ -8,12 +14,25 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Элементы.ФормаСравнить.Видимость = Не ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент();
УникальныйИдентификаторКарточкиФайла = Параметры.УникальныйИдентификаторКарточкиФайла; УникальныйИдентификаторКарточкиФайла = Параметры.УникальныйИдентификаторКарточкиФайла;
ЗаполнитьДеревоВерсий(); ЗаполнитьДеревоВерсий();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.ВерсииФайлов.Форма.ФормаВыбораСпособаСравненияВерсий") Тогда
Если ВыбранноеЗначение <> КодВозвратаДиалога.ОК Тогда
Возврат;
КонецЕсли;
СпособСравненияВерсийФайлов = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами().СпособСравненияВерсийФайлов;
ПродолжитьСравнениеВерсий(СпособСравненияВерсийФайлов);
КонецЕсли;
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ
@@ -139,9 +158,6 @@
// Сравнить 2 выбранные версии. // Сравнить 2 выбранные версии.
&НаКлиенте &НаКлиенте
Процедура Сравнить(Команда) Процедура Сравнить(Команда)
Перем Ссылка1;
Перем Ссылка2;
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество(); ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
Если ЧислоВыделенныхСтрок = 2 ИЛИ ЧислоВыделенныхСтрок = 1 Тогда Если ЧислоВыделенныхСтрок = 2 ИЛИ ЧислоВыделенныхСтрок = 1 Тогда
@@ -180,63 +196,18 @@
Если Расширение = "odt" Тогда Если Расширение = "odt" Тогда
СпособСравненияВерсийФайлов = "OpenOfficeOrgWriter"; СпособСравненияВерсийФайлов = "OpenOfficeOrgWriter";
КонецЕсли; ИначеЕсли Расширение = "htm" ИЛИ Расширение = "html" Тогда
Если Расширение = "htm" ИЛИ Расширение = "html" Тогда
СпособСравненияВерсийФайлов = "MicrosoftOfficeWord"; СпособСравненияВерсийФайлов = "MicrosoftOfficeWord";
КонецЕсли; ИначеЕсли СпособСравненияВерсийФайлов = Неопределено Тогда
Если СпособСравненияВерсийФайлов = Неопределено Тогда
СпособСравненияВерсийФайлов = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами().СпособСравненияВерсийФайлов; СпособСравненияВерсийФайлов = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами().СпособСравненияВерсийФайлов;
КонецЕсли; Если СпособСравненияВерсийФайлов = Неопределено Тогда // первый вызов - еще не инициализирована настройка
ПараметрыФормы = Новый Структура;
Если СпособСравненияВерсийФайлов = Неопределено Тогда // первый вызов - еще не инициализирована настройка ОткрытьФорму("Справочник.ВерсииФайлов.Форма.ФормаВыбораСпособаСравненияВерсий", ПараметрыФормы, ЭтаФорма);
Результат = ОткрытьФормуМодально("Справочник.ВерсииФайлов.Форма.ФормаВыбораСпособаСравненияВерсий");
Если Результат <> КодВозвратаДиалога.ОК Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
СпособСравненияВерсийФайлов = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами().СпособСравненияВерсийФайлов;
КонецЕсли; КонецЕсли;
Если СпособСравненияВерсийФайлов = Неопределено Тогда ПродолжитьСравнениеВерсий(СпособСравненияВерсийФайлов);
Возврат;
КонецЕсли;
ДанныеФайла1 = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаДляОткрытия(Неопределено, Ссылка1, УникальныйИдентификатор);
ДанныеФайла2 = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаДляОткрытия(Неопределено, Ссылка2, УникальныйИдентификатор);
ТекстСостояния = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выполняется сравнение версий файла ""%1""...'"), ДанныеФайла1.Ссылка);
Состояние(ТекстСостояния);
ПолноеИмяФайла1 = "";
Результат1 = РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
ДанныеФайла1, ПолноеИмяФайла1);
ПолноеИмяФайла2 = "";
Результат2 = РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
ДанныеФайла2, ПолноеИмяФайла2);
Если Результат1 И Результат2 Тогда
ПутьКФайлу1 = "";
ПутьКФайлу2 = "";
Если ДанныеФайла1.НомерВерсии < ДанныеФайла2.НомерВерсии Тогда
ПутьКФайлу1 = ПолноеИмяФайла1;
ПутьКФайлу2 = ПолноеИмяФайла2;
Иначе
ПутьКФайлу1 = ПолноеИмяФайла2;
ПутьКФайлу2 = ПолноеИмяФайла1;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(
ПутьКФайлу1, ПутьКФайлу2, СпособСравненияВерсийФайлов);
КонецЕсли;
Состояние();
#Иначе #Иначе
Предупреждение(НСтр("ru = 'Сравнение версий в веб-клиенте не поддерживается.'")); Предупреждение(НСтр("ru = 'Сравнение версий в веб-клиенте не поддерживается.'"));
#КонецЕсли #КонецЕсли
@@ -432,7 +403,7 @@
Если ТекущиеДанные.ПометкаУдаления Тогда Если ТекущиеДанные.ПометкаУдаления Тогда
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Cнять с ""%1"" пометку на удаление?'"), НСтр("ru = 'Снять с ""%1"" пометку на удаление?'"),
Строка(ТекущиеДанные.Ссылка)); Строка(ТекущиеДанные.Ссылка));
Иначе Иначе
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -456,4 +427,47 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПродолжитьСравнениеВерсий(СпособСравненияВерсийФайлов)
#Если НЕ ВебКлиент Тогда
Если СпособСравненияВерсийФайлов = Неопределено Тогда
Возврат;
КонецЕсли;
ДанныеФайла1 = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаДляОткрытия(Неопределено, Ссылка1, УникальныйИдентификатор);
ДанныеФайла2 = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаДляОткрытия(Неопределено, Ссылка2, УникальныйИдентификатор);
ТекстСостояния = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выполняется сравнение версий файла ""%1""...'"), ДанныеФайла1.Ссылка);
Состояние(ТекстСостояния);
ПолноеИмяФайла1 = "";
Результат1 = РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
ДанныеФайла1, ПолноеИмяФайла1);
ПолноеИмяФайла2 = "";
Результат2 = РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
ДанныеФайла2, ПолноеИмяФайла2);
Если Результат1 И Результат2 Тогда
ПутьКФайлу1 = "";
ПутьКФайлу2 = "";
Если ДанныеФайла1.НомерВерсии < ДанныеФайла2.НомерВерсии Тогда
ПутьКФайлу1 = ПолноеИмяФайла1;
ПутьКФайлу2 = ПолноеИмяФайла2;
Иначе
ПутьКФайлу1 = ПолноеИмяФайла2;
ПутьКФайлу2 = ПолноеИмяФайла1;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(
ПутьКФайлу1, ПутьКФайлу2, СпособСравненияВерсийФайлов);
КонецЕсли;
Состояние();
#КонецЕсли
КонецПроцедуры
@@ -4,6 +4,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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Для просмотра списка всех версий файла откройте его карточку (<strong>F2</strong> или команда "<strong>Открыть карточку</strong>") и перейдите в раздел "<strong>Версии файлов</strong>".</p> <p>Для просмотра списка всех версий файла откройте его карточку (<strong>F2</strong> или команда "<strong>Открыть карточку</strong>") и перейдите в раздел "<strong>Версии файлов</strong>".</p>
<p>В списке версий можно:</p> <p>В списке версий можно:</p>
<ul><li>открыть файл версии соответствующим приложением для просмотра (команда "<strong>Открыть карточку</strong>"); <ul><li>открыть файл версии соответствующим приложением для просмотра (команда "<strong>Открыть карточку</strong>");
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p class="Usual">Для каждого физического лица можно указать реквизиты документа, удостоверяющего личность. Для указания вида документа и используется этот справочник.</p> <p class="Usual">Для каждого физического лица можно указать реквизиты документа, удостоверяющего личность. Для указания вида документа и используется этот справочник.</p>
<p class="Usual">Справочник уже содержит основные документы, удостоверяющие личность, но может быть расширен пользователем.</p> <p class="Usual">Справочник уже содержит основные документы, удостоверяющие личность, но может быть расширен пользователем.</p>
<p class="Usual"> </p> <p class="Usual"> </p>
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ЭтоГруппа</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">true</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
@@ -198,6 +198,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<excludedCommands>Copy</excludedCommands> <excludedCommands>Copy</excludedCommands>
<excludedCommands>Create</excludedCommands> <excludedCommands>Create</excludedCommands>
<excludedCommands>CreateFolder</excludedCommands> <excludedCommands>CreateFolder</excludedCommands>
@@ -0,0 +1,12 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "ЭтоГруппа", Истина);
КонецПроцедуры
@@ -211,13 +211,13 @@
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount> <autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode> <selectionMode>MultiRow</selectionMode>
<header>true</header>
<headerHeight>1</headerHeight> <headerHeight>1</headerHeight>
<footerHeight>1</footerHeight> <footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar> <horizontalScrollBar>AutoUse</horizontalScrollBar>
<verticalScrollBar>AutoUse</verticalScrollBar> <verticalScrollBar>AutoUse</verticalScrollBar>
<horizontalLines>true</horizontalLines> <horizontalLines>true</horizontalLines>
<verticalLines>true</verticalLines> <verticalLines>true</verticalLines>
<horizontalLinesBWA>false</horizontalLinesBWA>
<searchOnInput>Auto</searchOnInput> <searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView> <initialListView>Auto</initialListView>
<initialTreeView>ExpandAllLevels</initialTreeView> <initialTreeView>ExpandAllLevels</initialTreeView>
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Конфигурация позволяет хранить следующие типы контактной информации:</p> <p>Конфигурация позволяет хранить следующие типы контактной информации:</p>
<ul><li> <ul><li>
<div>Адрес — реквизит с таким типом контактной информации предназначен для хранения адреса в виде произвольной строки или в виде шаблона адреса. Позволяет заполнять адрес, используя адресный классификатор, из формы‑шаблона ввода адреса. Если адрес заполняется с помощью адресного классификатора, то индекс адреса устанавливается из классификатора автоматически, после окончания ввода адреса. Предопределенные фактический и юридический адреса используются в печатных формах документов.</div> <div>Адрес — реквизит с таким типом контактной информации предназначен для хранения адреса в виде произвольной строки или в виде шаблона адреса. Позволяет заполнять адрес, используя адресный классификатор, из формы‑шаблона ввода адреса. Если адрес заполняется с помощью адресного классификатора, то индекс адреса устанавливается из классификатора автоматически, после окончания ввода адреса. Предопределенные фактический и юридический адреса используются в печатных формах документов.</div>
@@ -1,4 +1,3 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
@@ -21,25 +20,19 @@
КонецЕсли; КонецЕсли;
Если ОбъектНаСервере.ЭтоНовый() Тогда Если ОбъектНаСервере.ЭтоНовый() Тогда
Объект.МожноИзменятьСпособРедактирования = Истина; Объект.МожноИзменятьСпособРедактирования = Истина;
Объект.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
Иначе Иначе
Если ЭтоПредопределенный Тогда Если ЭтоПредопределенный Тогда
Элементы.Наименование.ТолькоПросмотр = Истина; Элементы.Наименование.ТолькоПросмотр = Истина;
Элементы.Родитель.ТолькоПросмотр = Истина; Элементы.Родитель.ТолькоПросмотр = Истина;
Элементы.Тип.ТолькоПросмотр = Истина; Элементы.Тип.ТолькоПросмотр = Истина;
Элементы.Подсказка.ТолькоПросмотр = Истина; Элементы.Подсказка.ТолькоПросмотр = Истина;
Иначе Иначе
Если Не ИспользуетсяЗапретРедактированияРеквизитов Тогда Если Не ИспользуетсяЗапретРедактированияРеквизитов Тогда
Элементы.Родитель.ТолькоПросмотр = Истина; Элементы.Родитель.ТолькоПросмотр = Истина;
Элементы.Тип.ТолькоПросмотр = Истина; Элементы.Тип.ТолькоПросмотр = Истина;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -49,11 +42,9 @@
Элементы.РазрешитьВводНесколькихЗначений.Доступность = ?(ОбъектНаСервере.Уровень() = 2, Ложь, Истина); Элементы.РазрешитьВводНесколькихЗначений.Доступность = ?(ОбъектНаСервере.Уровень() = 2, Ложь, Истина);
Если Не Объект.МожноИзменятьСпособРедактирования Тогда Если Не Объект.МожноИзменятьСпособРедактирования Тогда
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь; Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Ложь; Элементы.РазрешитьВводНесколькихЗначений.Доступность = Ложь;
Элементы.ГруппаНаименованиеНастройкиПоТипам.Доступность = Ложь; Элементы.ГруппаНаименованиеНастройкиПоТипам.Доступность = Ложь;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -61,7 +52,7 @@
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
ПриИзмененииТип(); ИзменитьОтображениеПриИзмененииТипа();
КонецПроцедуры КонецПроцедуры
@@ -78,10 +69,8 @@
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Если Не ЭтоПредопределенный Тогда Если Не ЭтоПредопределенный Тогда
// Обработчик подсистемы запрета редактирования реквизитов объектов. // Обработчик подсистемы запрета редактирования реквизитов объектов.
УправлениеКонтактнойИнформацией.ПриБлокировкеРеквизитовОбъекта(ЭтаФорма); УправлениеКонтактнойИнформацией.ПриБлокировкеРеквизитовОбъекта(ЭтаФорма);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -99,21 +88,30 @@
&НаКлиенте &НаКлиенте
Процедура ТипПриИзменении(Элемент) Процедура ТипПриИзменении(Элемент)
ПриИзмененииТип(); ИзменитьРеквизитыПриИзмененииТипа();
ИзменитьОтображениеПриИзмененииТипа();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура АдресТолькоРоссийскийПриИзменении(Элемент) Процедура АдресТолькоРоссийскийПриИзменении(Элемент)
ПриИзмененииАдресТолькоРоссийский(); ИзменитьРеквизитыПриИзмененииТолькоРоссии();
ИзменитьОтображениеПриИзмененииТолькоРоссии();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПроверятьПоКлассификаторуПриИзменении(Элемент) Процедура ПроверятьПоКлассификаторуПриИзменении(Элемент)
ПриИзмененииПроверятьКорректность(); ИзменитьРеквизитыПриИзмененииПроверятьКорректность();
КонецПроцедуры
&НаКлиенте
Процедура ПроверятьКорректностьПриИзменении(Элемент)
ИзменитьРеквизитыПриИзмененииПроверятьКорректность();
КонецПроцедуры КонецПроцедуры
@@ -124,16 +122,12 @@
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда) Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Если Не ЭтоПредопределенный Тогда Если Не ЭтоПредопределенный Тогда
РедактированиеРазрешено = Ложь; РедактированиеРазрешено = Ложь;
УправлениеКонтактнойИнформациейКлиент.ПриРазрешенииРедактированияРеквизитовОбъекта(ЭтаФорма, РедактированиеРазрешено); УправлениеКонтактнойИнформациейКлиент.ПриРазрешенииРедактированияРеквизитовОбъекта(ЭтаФорма, РедактированиеРазрешено);
Если РедактированиеРазрешено Тогда Если РедактированиеРазрешено Тогда
УправлениеКонтактнойИнформациейКлиент.ПриУстановкеДоступностиЭлементовФормы(ЭтаФорма); УправлениеКонтактнойИнформациейКлиент.ПриУстановкеДоступностиЭлементовФормы(ЭтаФорма);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -142,58 +136,75 @@
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииАдресТолькоРоссийский() Процедура ИзменитьОтображениеПриИзмененииТипа()
Элементы.ПроверятьПоКлассификатору.Доступность = Объект.АдресТолькоРоссийский;
Элементы.СкрыватьНеактуальныеАдреса.Доступность = Объект.АдресТолькоРоссийский;
Если Не Объект.АдресТолькоРоссийский Тогда
Объект.ПроверятьКорректность = Ложь;
Объект.СкрыватьНеактуальныеАдреса = Ложь;
КонецЕсли;
ПриИзмененииПроверятьКорректность();
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииТип()
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес; Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования; Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
ПриИзмененииАдресТолькоРоссийский();
ИзменитьОтображениеПриИзмененииТолькоРоссии();
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.АдресЭлектроннойПочты; Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.АдресЭлектроннойПочты;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь; Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Объект.РедактированиеТолькоВДиалоге = Ложь;
ПриИзмененииПроверятьКорректность();
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон") ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое; Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования; Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
Иначе Иначе
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое; Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь; Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Объект.РедактированиеТолькоВДиалоге = Ложь;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПроверятьКорректностьПриИзменении(Элемент) Процедура ИзменитьРеквизитыПриИзмененииТипа()
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
ИзменитьРеквизитыПриИзмененииТолькоРоссии();
ПриИзмененииПроверятьКорректность(); ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Объект.РедактированиеТолькоВДиалоге = Ложь;
ИзменитьРеквизитыПриИзмененииПроверятьКорректность();
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
// Нет изменений
Иначе
Объект.РедактированиеТолькоВДиалоге = Ложь;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииПроверятьКорректность() Процедура ИзменитьОтображениеПриИзмененииТолькоРоссии()
Элементы.ПроверятьПоКлассификатору.Доступность = Объект.АдресТолькоРоссийский;
Элементы.СкрыватьНеактуальныеАдреса.Доступность = Объект.АдресТолькоРоссийский;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРеквизитыПриИзмененииТолькоРоссии()
Если Не Объект.АдресТолькоРоссийский Тогда
Объект.ПроверятьКорректность = Ложь;
Объект.СкрыватьНеактуальныеАдреса = Ложь;
КонецЕсли;
ИзменитьРеквизитыПриИзмененииПроверятьКорректность();
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРеквизитыПриИзмененииПроверятьКорректность()
Объект.ЗапрещатьВводНекорректного = Объект.ПроверятьКорректность; Объект.ЗапрещатьВводНекорректного = Объект.ПроверятьКорректность;
КонецПроцедуры КонецПроцедуры
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Справочник <strong>Виды контактной информации</strong> имеет двухуровневую иерархию.  Группы справочника соответствуют справочникам-носителям контактной информации, а элементы внутри этих групп определяют состав контактной информации этих справочников. Добавление новых групп в этот справочник запрещено. Поставка конфигурации осуществляется c предопределенными группами и элементами справочника. Для добавления произвольного реквизита в один из этих справочников, необходимо добавить в справочник <strong>Виды контактной информации</strong> в соответствующую группу новый элемент.</p> <p>Справочник <strong>Виды контактной информации</strong> имеет двухуровневую иерархию.  Группы справочника соответствуют справочникам-носителям контактной информации, а элементы внутри этих групп определяют состав контактной информации этих справочников. Добавление новых групп в этот справочник запрещено. Поставка конфигурации осуществляется c предопределенными группами и элементами справочника. Для добавления произвольного реквизита в один из этих справочников, необходимо добавить в справочник <strong>Виды контактной информации</strong> в соответствующую группу новый элемент.</p>
<p><strong><font size="2">См. также</font></strong></p> <p><strong><font size="2">См. также</font></strong></p>
<ul><li><font size="1"><a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">Типы контактной информации</a></font></li></ul></body></html> <ul><li><font size="1"><a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">Типы контактной информации</a></font></li></ul></body></html>
@@ -1,45 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">Недействителен</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Наименование</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
<conditionalAppearance> <conditionalAppearance>
<item>
<selection/>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">Недействителен</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">true</right>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>ЦветТекста</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">style:ТекстЗапрещеннойЯчейкиЦвет</dcscor:value>
</dcscor:item>
</appearance>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID> <userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID>
</conditionalAppearance> </conditionalAppearance>
@@ -5,14 +5,6 @@
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Предопределенный</field>
<orderType>Desc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>Наименование</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
@@ -1455,7 +1455,7 @@
</handlers> </handlers>
<handlers> <handlers>
<event>BeforeLoadDataFromSettingsAtServer</event> <event>BeforeLoadDataFromSettingsAtServer</event>
<name>ПриЗагрузкеДанныхИзНастроекНаСервере</name> <name>ПередЗагрузкеДанныхИзНастроекНаСервере</name>
</handlers> </handlers>
<excludedCommands>Create</excludedCommands> <excludedCommands>Create</excludedCommands>
<width>80</width> <width>80</width>
@@ -1488,6 +1488,9 @@
<edit> <edit>
<common>true</common> <common>true</common>
</edit> </edit>
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
<segments>ВнешниеПользователиСписок.Недействителен</segments>
</notDefaultUseAlwaysAttributes>
<main>true</main> <main>true</main>
<extInfo xsi:type="form:DynamicListExtInfo"> <extInfo xsi:type="form:DynamicListExtInfo">
<queryText>ВЫБРАТЬ <queryText>ВЫБРАТЬ
@@ -31,11 +31,10 @@
ЗаполнитьПараметрыДинамическихСписков(); ЗаполнитьПараметрыДинамическихСписков();
Если Параметры.РежимВыбора Тогда Если Параметры.РежимВыбора Тогда
КлючНазначенияИспользования = "ВыборПодбор";
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
КонецЕсли; КонецЕсли;
ОбновитьОтборНедействительныхПользователей(ЭтаФорма);
// Скрытие пользователей с пустым идентификатором, если значение параметра Истина. // Скрытие пользователей с пустым идентификатором, если значение параметра Истина.
Если Параметры.ДоступКИнформационнойБазеРазрешен Тогда Если Параметры.ДоступКИнформационнойБазеРазрешен Тогда
@@ -62,9 +61,11 @@
"Ссылка", "Ссылка",
Параметры.СкрываемыеПользователи, Параметры.СкрываемыеПользователи,
ВидСравненияКД); ВидСравненияКД);
КонецЕсли; КонецЕсли;
НастроитьПорядокГруппыВсеВнешниеПользователи(ГруппыВнешнихПользователей);
ОформитьИСкрытьНедействительныхВнешнихПользователей();
ХранимыеПараметры.Вставить("РасширенныйПодбор", Параметры.РасширенныйПодбор); ХранимыеПараметры.Вставить("РасширенныйПодбор", Параметры.РасширенныйПодбор);
Элементы.ВыбранныеПользователиИГруппы.Видимость = ХранимыеПараметры.РасширенныйПодбор; Элементы.ВыбранныеПользователиИГруппы.Видимость = ХранимыеПараметры.РасширенныйПодбор;
ХранимыеПараметры.Вставить( ХранимыеПараметры.Вставить(
@@ -81,7 +82,9 @@
КонецЕсли; КонецЕсли;
// Отбор не помеченных на удаление. // Отбор не помеченных на удаление.
ВнешниеПользователиСписок.Отбор.Элементы[0].Использование = Истина; ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
ВнешниеПользователиСписок, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
Элементы.ВнешниеПользователиСписок.РежимВыбора = Истина; Элементы.ВнешниеПользователиСписок.РежимВыбора = Истина;
Элементы.ГруппыВнешнихПользователей.РежимВыбора = Элементы.ГруппыВнешнихПользователей.РежимВыбора =
@@ -140,7 +143,7 @@
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки) Процедура ПередЗагрузкеДанныхИзНастроекНаСервере(Настройки)
Если ТипЗнч(Настройки["ВыбиратьИерархически"]) = Тип("Булево") Тогда Если ТипЗнч(Настройки["ВыбиратьИерархически"]) = Тип("Булево") Тогда
ВыбиратьИерархически = Настройки["ВыбиратьИерархически"]; ВыбиратьИерархически = Настройки["ВыбиратьИерархически"];
@@ -208,7 +211,7 @@
ОповеститьОВыборе(Значение); ОповеститьОВыборе(Значение);
Иначе Иначе
ПолучитьКартинкиИзаполнитьСписокВыбранных(Значение); ПолучитьКартинкиИЗаполнитьСписокВыбранных(Значение);
КонецЕсли; КонецЕсли;
@@ -314,7 +317,7 @@
ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда ИначеЕсли Не ГруппаПомеченаНаУдаление Тогда
ШаблонВопроса = НСтр("ru = '%1 пользователей (%2) в группу ""%3""?'"); ШаблонВопроса = НСтр("ru = '%1 пользователей (%2) в группу ""%3""?'");
Иначе Иначе
ТекстВопроса = НСтр("ru = '%1 пользователей (%2) в эту группу?'"); ШаблонВопроса = НСтр("ru = '%1 пользователей (%2) в эту группу?'");
КонецЕсли; КонецЕсли;
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонВопроса, ДействиеСПользователем, КоличествоПользователей, ШаблонВопроса, ДействиеСПользователем, КоличествоПользователей,
@@ -382,7 +385,7 @@
ОповеститьОВыборе(Значение); ОповеститьОВыборе(Значение);
Иначе Иначе
ПолучитьКартинкиИзаполнитьСписокВыбранных(Значение); ПолучитьКартинкиИЗаполнитьСписокВыбранных(Значение);
КонецЕсли; КонецЕсли;
@@ -445,7 +448,12 @@
&НаКлиенте &НаКлиенте
Процедура ПоказыватьНедействительныхПользователей(Команда) Процедура ПоказыватьНедействительныхПользователей(Команда)
ОбновитьОтборНедействительныхПользователей(ЭтаФорма, Истина); Элементы.ПоказыватьНедействительныхПользователей.Пометка =
НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
ВнешниеПользователиСписок, "Недействителен", Ложь, , ,
НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка);
КонецПроцедуры КонецПроцедуры
@@ -566,6 +574,61 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура НастроитьПорядокГруппыВсеВнешниеПользователи(Список)
Перем Порядок;
// Порядок.
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
Порядок = Список.КомпоновщикНастроек.Настройки.Порядок;
Порядок.ИдентификаторПользовательскойНастройки = "ОсновнойПорядок";
Иначе
Порядок = Список.Порядок;
КонецЕсли;
Порядок.Элементы.Очистить();
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Предопределенный");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
КонецПроцедуры
&НаСервере
Процедура ОформитьИСкрытьНедействительныхВнешнихПользователей()
// Оформление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.НедоступныеДанныеЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВнешниеПользователиСписок.Недействителен");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("ВнешниеПользователиСписок");
ЭлементОформляемогоПоля.Использование = Истина;
// Скрытие.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
ВнешниеПользователиСписок, "Недействителен", Ложь, , , Истина);
КонецПроцедуры
&НаСервере &НаСервере
Процедура УдалитьИзСпискаВыбранных(УдалитьВсех = Ложь) Процедура УдалитьИзСпискаВыбранных(УдалитьВсех = Ложь)
@@ -585,7 +648,7 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПолучитьКартинкиИзаполнитьСписокВыбранных(МассивВыбранныхЭлементов) Процедура ПолучитьКартинкиИЗаполнитьСписокВыбранных(МассивВыбранныхЭлементов)
ВыбранныеЭлементыИКартинки = Новый Массив; ВыбранныеЭлементыИКартинки = Новый Массив;
Для Каждого ВыбранныйЭлемент Из МассивВыбранныхЭлементов Цикл Для Каждого ВыбранныйЭлемент Из МассивВыбранныхЭлементов Цикл
@@ -621,7 +684,7 @@
ВыбранныеПользователиИГруппы.Загрузить(ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи); ВыбранныеПользователиИГруппы.Загрузить(ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи);
ХранимыеПараметры.Вставить("ЗаголовокФормыПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора); ХранимыеПараметры.Вставить("ЗаголовокФормыПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора);
Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки"); Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки");
// Установка параметров раширенной формы подбора. // Установка параметров расширенной формы подбора.
Элементы.ЗавершитьИЗакрыть.Видимость = Истина; Элементы.ЗавершитьИЗакрыть.Видимость = Истина;
Элементы.ГруппаВыбратьПользователя.Видимость = Истина; Элементы.ГруппаВыбратьПользователя.Видимость = Истина;
// Включение видимости списка выбранных пользователей. // Включение видимости списка выбранных пользователей.
@@ -699,34 +762,6 @@
КонецПроцедуры КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьОтборНедействительныхПользователей(Форма, ИзменитьОтбор = Ложь)
Элементы = Форма.Элементы;
Если ИзменитьОтбор Тогда
Элементы.ПоказыватьНедействительныхПользователей.Пометка =
НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка;
ИначеЕсли Форма.Параметры.Отбор.Свойство("Недействителен") Тогда
Элементы.ПоказыватьНедействительныхПользователей.Пометка =
Форма.Параметры.Отбор.Недействителен;
КонецЕсли;
Если Элементы.ПоказыватьНедействительныхПользователей.Пометка Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма.ВнешниеПользователиСписок, "Недействителен", Ложь, , , Ложь);
Иначе
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма.ВнешниеПользователиСписок, "Недействителен", Ложь, , , Истина);
КонецЕсли;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененииИспользованияГруппПользователей() Процедура ПриИзмененииИспользованияГруппПользователей()
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Для редактирования сведений о внешнем ользователе необходимы права администрирования или права ответственного за внешних пользователей. В остальных случаях, доступен только просмотр сведений о себе, а также возможность изменить свой пароль, язык программы и контактную информацию.</p> <p>Для редактирования сведений о внешнем ользователе необходимы права администрирования или права ответственного за внешних пользователей. В остальных случаях, доступен только просмотр сведений о себе, а также возможность изменить свой пароль, язык программы и контактную информацию.</p>
<p>Внешний пользователь связан с каким-то объектом программы (например, контрагентом, сотрудником и т.п.), указанным в поле <strong>Объект</strong>.</p> <p>Внешний пользователь связан с каким-то объектом программы (например, контрагентом, сотрудником и т.п.), указанным в поле <strong>Объект</strong>.</p>
<p>Флажок <strong>Недействителен</strong> по умолчанию снят для всех внешних пользователей. Но если пользователь по каким-либо причинам более не работает с программой, и в то же время его нельзя удалить из-за наличия ссылок на него из других объектов программы, то рекомендуется установить флажок <strong>Недействителен</strong>. Такого внешнего пользователя нельзя выбрать, и он не отображается в списке внешних пользователей.</p> <p>Флажок <strong>Недействителен</strong> по умолчанию снят для всех внешних пользователей. Но если пользователь по каким-либо причинам более не работает с программой, и в то же время его нельзя удалить из-за наличия ссылок на него из других объектов программы, то рекомендуется установить флажок <strong>Недействителен</strong>. Такого внешнего пользователя нельзя выбрать, и он не отображается в списке внешних пользователей.</p>
@@ -205,8 +205,12 @@
&НаСервере &НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ПараметрыЗаписи.Вставить( Если ДействияВФорме.СвойстваПользователяИБ = "РедактированиеВсех"
ТекущийОбъект.ДополнительныеСвойства.ОписаниеПользователяИБ.РезультатДействия); ИЛИ ДействияВФорме.СвойстваПользователяИБ = "РедактированиеСвоих" Тогда
ПараметрыЗаписи.Вставить(
ТекущийОбъект.ДополнительныеСвойства.ОписаниеПользователяИБ.РезультатДействия);
КонецЕсли;
ПрочитатьПользователяИБ(); ПрочитатьПользователяИБ();
@@ -417,7 +421,7 @@
ИначеЕсли РольДоступна("ДобавлениеИзменениеВнешнихПользователей") Тогда ИначеЕсли РольДоступна("ДобавлениеИзменениеВнешнихПользователей") Тогда
// Менеджер внешних пользователей. // Менеджер внешних пользователей.
ДействияВФорме.Роли = ""; ДействияВФорме.Роли = "";
ДействияВФорме.СвойстваПользователяИБ = "РедактированиеВсех"; ДействияВФорме.СвойстваПользователяИБ = "ПросмотрВсех";
ДействияВФорме.СвойстваЭлемента = "Просмотр"; ДействияВФорме.СвойстваЭлемента = "Просмотр";
ИначеЕсли Объект.Ссылка = ПользователиКлиентСервер.АвторизованныйПользователь() Тогда ИначеЕсли Объект.Ссылка = ПользователиКлиентСервер.АвторизованныйПользователь() Тогда
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>В этом списке ведется учет пользователей, которые работают с программой "извне". Их доступ, как правило, сильно ограничен, они не принимают активного участия в процессах учета, работают обособленно, не взаимодействуют между собой.</p> <p>В этом списке ведется учет пользователей, которые работают с программой "извне". Их доступ, как правило, сильно ограничен, они не принимают активного участия в процессах учета, работают обособленно, не взаимодействуют между собой.</p>
<p>Основной способ создания и редактирования внешних пользователей через команду <strong>Внешний доступ</strong>, которая размещается в командной панели формы объектов, например, в карточке контрагента, физического лица. При выполнении команды сразу создается внешний пользователь, связанный с объектом, или открывается существующий внешний пользователь.</p> <p>Основной способ создания и редактирования внешних пользователей через команду <strong>Внешний доступ</strong>, которая размещается в командной панели формы объектов, например, в карточке контрагента, физического лица. При выполнении команды сразу создается внешний пользователь, связанный с объектом, или открывается существующий внешний пользователь.</p>
<p>В случае большого количества внешних пользователей список может быть сгруппирован, например, по видам отношений с ними: партнеры, контрагенты и т.д. Для того чтобы увидеть всех внешних пользователей, включенных в дочерние группы с учетом иерархии, необходимо установить флажок <strong>Показывать внешних пользователей дочерних групп</strong> в нижней части списка. Для добавления новых групп внешних пользователей воспользуйтесь командами в левой части списка. Для добавления в группу большого числа внешних пользователей можно открыть форму группы и воспользоваться командой <strong>Подобрать</strong>. Один и тот же внешний пользователь может одновременно входить в разные группы внешних пользователей.</p> <p>В случае большого количества внешних пользователей список может быть сгруппирован, например, по видам отношений с ними: партнеры, контрагенты и т.д. Для того чтобы увидеть всех внешних пользователей, включенных в дочерние группы с учетом иерархии, необходимо установить флажок <strong>Показывать внешних пользователей дочерних групп</strong> в нижней части списка. Для добавления новых групп внешних пользователей воспользуйтесь командами в левой части списка. Для добавления в группу большого числа внешних пользователей можно открыть форму группы и воспользоваться командой <strong>Подобрать</strong>. Один и тот же внешний пользователь может одновременно входить в разные группы внешних пользователей.</p>
@@ -13,25 +13,7 @@
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаВыбора" Тогда Если ВидФормы = "ФормаОбъекта" И Параметры.Свойство("ОбъектАвторизации") Тогда
ПараметрИзменен = Ложь;
Если Не Параметры.Свойство("Отбор") Тогда
Параметры.Вставить("Отбор", Новый Структура("Недействителен", Ложь));
ПараметрИзменен = Истина;
ИначеЕсли Не Параметры.Отбор.Свойство("Недействителен") Тогда
Параметры.Отбор.Вставить("Недействителен", Ложь);
ПараметрИзменен = Истина;
КонецЕсли;
Если ПараметрИзменен Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаСписка";
КонецЕсли;
ИначеЕсли ВидФормы = "ФормаОбъекта" И Параметры.Свойство("ОбъектАвторизации") Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаЭлемента"; ВыбраннаяФорма = "ФормаЭлемента";
@@ -1,30 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">Ссылка</left>
<comparisonType>NotInList</comparisonType>
<right xsi:type="dcscor:DesignTimeValue">Справочник.ГруппыВнешнихПользователей.ВсеВнешниеПользователи</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Предопределенный</field>
<orderType>Desc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>Наименование</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
@@ -240,6 +240,7 @@
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
</handlers> </handlers>
<width>65</width>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>DontBlock</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
@@ -8,14 +8,24 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
НастроитьПорядокГруппыВсеВнешниеПользователи(Список);
Если Параметры.РежимВыбора Тогда Если Параметры.РежимВыбора Тогда
КлючНазначенияИспользования = "ВыборПодбор";
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
Элементы.Список.РежимВыбора = Истина; Элементы.Список.РежимВыбора = Истина;
// Отбор не помеченных на удаление. // Отбор не помеченных на удаление.
Список.Отбор.Элементы[0].Использование = Истина; ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список.Отбор.Элементы[1].Использование = Параметры.Свойство("ВыборРодителя"); Список, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
// Исключение выбора группы Все внешние пользователи в качестве родителя.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Ссылка", Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи,
ВидСравненияКомпоновкиДанных.НеРавно, , Параметры.Свойство("ВыборРодителя"));
Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда
// Режим подбора. // Режим подбора.
@@ -28,3 +38,35 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
&НаСервере
Процедура НастроитьПорядокГруппыВсеВнешниеПользователи(Список)
Перем Порядок;
// Порядок.
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
Порядок = Список.КомпоновщикНастроек.Настройки.Порядок;
Порядок.ИдентификаторПользовательскойНастройки = "ОсновнойПорядок";
Иначе
Порядок = Список.Порядок;
КонецЕсли;
Порядок.Элементы.Очистить();
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Предопределенный");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
КонецПроцедуры
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Карточка группы внешних пользователей позволяет просматривать и редактировать свойства группы.</p> <p>Карточка группы внешних пользователей позволяет просматривать и редактировать свойства группы.</p>
<p>Для группы пользователей можно установить <strong>Тип участников </strong>(например, контрагенты). Группа может неявно включать всех внешних пользователей для установленного типа участников. Для этого нужно установить флажок <strong>Все</strong>.</p> <p>Для группы пользователей можно установить <strong>Тип участников </strong>(например, контрагенты). Группа может неявно включать всех внешних пользователей для установленного типа участников. Для этого нужно установить флажок <strong>Все</strong>.</p>
<p>При редактировании состава пользователей группы нужно учитывать, что они неявно входят в состав групп-родителей. Для добавления большого числа пользователей можно использовать команду <strong>Подобрать</strong>.</p> <p>При редактировании состава пользователей группы нужно учитывать, что они неявно входят в состав групп-родителей. Для добавления большого числа пользователей можно использовать команду <strong>Подобрать</strong>.</p>
@@ -16,14 +16,17 @@
// Подготовка вспомогательных данных. // Подготовка вспомогательных данных.
ЗаполнитьСписокТиповОбъектовАвторизации(); ЗаполнитьСписокТиповОбъектовАвторизации();
ОтобратьДоступныеДляВыбораТипыУчастниковГруппы(); Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Если Объект.Ссылка = Справочники.ГруппыВнешнихПользователей.ПустаяСсылка() Если Объект.Родитель = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи
И Объект.Родитель = Справочники.ГруппыВнешнихПользователей.ВсеВнешниеПользователи Тогда Или ОбщегоНазначения.ПолучитьЗначениеРеквизита(Объект.Родитель, "ВсеОбъектыАвторизации") Тогда
Объект.Родитель = Справочники.ГруппыВнешнихПользователей.ПустаяСсылка();
КонецЕсли;
Объект.Родитель = Справочники.ГруппыВнешнихПользователей.ПустаяСсылка();
КонецЕсли; КонецЕсли;
ОтобратьДоступныеДляВыбораТипыУчастниковГруппы();
ОпределитьДействияВФорме(); ОпределитьДействияВФорме();
// Установка постоянной доступности свойств. // Установка постоянной доступности свойств.
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p class="Usual">В этом списке ведется учет групп внешних пользователей.</p> <p class="Usual">В этом списке ведется учет групп внешних пользователей.</p>
<p class="Usual">Группы внешних пользователей могут использоваться для группировки большого числа внешних пользователей, а также когда нужно указывать не только внешнего пользователя, но и группу внешних пользователей, например, при настройке доступа.<br></p> <p class="Usual">Группы внешних пользователей могут использоваться для группировки большого числа внешних пользователей, а также когда нужно указывать не только внешнего пользователя, но и группу внешних пользователей, например, при настройке доступа.<br></p>
<p class="Usual">Группы создаются плоским списком или иерархическим. В иерархическом списке, внешние пользователи вложенных групп неявно входят в группы-родители.</p> <p class="Usual">Группы создаются плоским списком или иерархическим. В иерархическом списке, внешние пользователи вложенных групп неявно входят в группы-родители.</p>
@@ -110,6 +110,10 @@
ВызватьИсключение ВызватьИсключение
НСтр("ru = 'Предопределенная группа ""Все внешние пользователи"" НСтр("ru = 'Предопределенная группа ""Все внешние пользователи""
|не может быть родителем.'"); |не может быть родителем.'");
ИначеЕсли Родитель.ВсеОбъектыАвторизации Тогда
ВызватьИсключение
НСтр("ru = 'Группа, у которой стоит тип участников ""Все пользователи заданного типа""
|не может быть родителем.'");
КонецЕсли; КонецЕсли;
Если ТипОбъектовАвторизации = Неопределено Тогда Если ТипОбъектовАвторизации = Неопределено Тогда
@@ -172,6 +176,31 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
// Если группе внешних пользователей устанавливается тип участников "Все пользователи заданного типа",
// проверяем наличие подчиненных групп.
Если ВсеОбъектыАвторизации
И ЗначениеЗаполнено(Ссылка) Тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ПРЕДСТАВЛЕНИЕ(ГруппыВнешнихПользователей.Ссылка) КАК СсылкаПредставление
|ИЗ
| Справочник.ГруппыВнешнихПользователей КАК ГруппыВнешнихПользователей
|ГДЕ
| ГруппыВнешнихПользователей.Родитель = &Ссылка";
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'У группы внешних пользователей ""%1""
|невозможно изменить тип участников,
|так как существует нижестоящая группа внешних пользователей'"),
Наименование);
КонецЕсли;
КонецЕсли;
// Проверка, что при изменении типа объектов авторизации // Проверка, что при изменении типа объектов авторизации
// нет подчиненных элементов другого типа (очистка типа допустима). // нет подчиненных элементов другого типа (очистка типа допустима).
Если ТипОбъектовАвторизации <> Неопределено Если ТипОбъектовАвторизации <> Неопределено
@@ -37,19 +37,20 @@
| Справочник.ГруппыДоступа КАК ГруппыДоступа | Справочник.ГруппыДоступа КАК ГруппыДоступа
|ГДЕ |ГДЕ
| ВЫБОР | ВЫБОР
| КОГДА ГруппыДоступа.ПометкаУдаления
| ТОГДА ЛОЖЬ
| КОГДА ГруппыДоступа.ЭтоГруппа | КОГДА ГруппыДоступа.ЭтоГруппа
| ТОГДА ИСТИНА | ТОГДА ИСТИНА
| КОГДА ГруппыДоступа.Ссылка = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.Администраторы)
| ТОГДА ЛОЖЬ
| КОГДА ГруппыДоступа.Ссылка В (&Выбранные) | КОГДА ГруппыДоступа.Ссылка В (&Выбранные)
| ТОГДА ЛОЖЬ | ТОГДА ЛОЖЬ
| КОГДА &ПолноправныйОтветственный = ЛОЖЬ | КОГДА ГруппыДоступа.ПометкаУдаления
| И ГруппыДоступа.Ответственный <> &Ответственный
| ТОГДА ЛОЖЬ | ТОГДА ЛОЖЬ
| КОГДА ГруппыДоступа.Профиль.ПометкаУдаления | КОГДА ГруппыДоступа.Профиль.ПометкаУдаления
| ТОГДА ЛОЖЬ | ТОГДА ЛОЖЬ
| КОГДА ГруппыДоступа.Ссылка = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.Администраторы)
| ТОГДА &ПолноправныйОтветственный
| И ТИПЗНАЧЕНИЯ(&ПользовательГрупп) = ТИП(Справочник.Пользователи)
| КОГДА &ПолноправныйОтветственный = ЛОЖЬ
| И ГруппыДоступа.Ответственный <> &Ответственный
| ТОГДА ЛОЖЬ
| ИНАЧЕ ВЫБОР | ИНАЧЕ ВЫБОР
| КОГДА ГруппыДоступа.Пользователь = НЕОПРЕДЕЛЕНО | КОГДА ГруппыДоступа.Пользователь = НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА | ТОГДА ИСТИНА
@@ -167,7 +168,7 @@
Элементы.ГруппыДоступа.Развернуть(Элементы.ГруппыДоступа.ТекущаяСтрока); Элементы.ГруппыДоступа.Развернуть(Элементы.ГруппыДоступа.ТекущаяСтрока);
КонецЕсли; КонецЕсли;
Иначе Иначе
Закрыть(ТекущиеДанные.Ссылка); ОповеститьОВыборе(ТекущиеДанные.Ссылка);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -193,7 +193,7 @@
<excludedCommands>Retry</excludedCommands> <excludedCommands>Retry</excludedCommands>
<excludedCommands>SaveValues</excludedCommands> <excludedCommands>SaveValues</excludedCommands>
<excludedCommands>Yes</excludedCommands> <excludedCommands>Yes</excludedCommands>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
@@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:Table">
<name>Список</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Список</segments>
</dataPath>
<defaultItem>true</defaultItem>
<titleLocation>None</titleLocation>
<excludedCommands>Create</excludedCommands>
<items xsi:type="form:FormField">
<name>Наименование</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Список.Description</segments>
</dataPath>
<defaultItem>true</defaultItem>
<extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name>
<id>16</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НаименованиеКонтекстноеМеню</name>
<id>5</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>
<id>3</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>7</id>
<extendedTooltip>
<name>СписокСтрокаПоискаРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СписокСтрокаПоискаКонтекстноеМеню</name>
<id>8</id>
<autoFill>true</autoFill>
</contextMenu>
<source>Список</source>
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchStringAddition>
<viewStatusAddition>
<name>СписокСостояниеПросмотра</name>
<id>10</id>
<extendedTooltip>
<name>СписокСостояниеПросмотраРасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СписокСостояниеПросмотраКонтекстноеМеню</name>
<id>11</id>
<autoFill>true</autoFill>
</contextMenu>
<type>ViewStatusAddition</type>
<source>Список</source>
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</viewStatusAddition>
<searchControlAddition>
<name>СписокУправлениеПоиском</name>
<id>13</id>
<extendedTooltip>
<name>СписокУправлениеПоискомРасширеннаяПодсказка</name>
<id>15</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СписокУправлениеПоискомКонтекстноеМеню</name>
<id>14</id>
<autoFill>true</autoFill>
</contextMenu>
<type>SearchControlAddition</type>
<source>Список</source>
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchControlAddition>
<extendedTooltip>
<name>СписокРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СписокКонтекстноеМеню</name>
<id>2</id>
<autoFill>true</autoFill>
</contextMenu>
<representation>Tree</representation>
<changeRowSet>true</changeRowSet>
<changeRowOrder>true</changeRowOrder>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount>
<choiceMode>true</choiceMode>
<selectionMode>MultiRow</selectionMode>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
<verticalScrollBar>AutoUse</verticalScrollBar>
<horizontalLines>true</horizontalLines>
<verticalLines>true</verticalLines>
<horizontalLinesBWA>false</horizontalLinesBWA>
<verticalLinesBWA>false</verticalLinesBWA>
<useAlternationRowColorBWA>false</useAlternationRowColorBWA>
<searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView>
<initialTreeView>ExpandTopLevel</initialTreeView>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
<enableStartDrag>true</enableStartDrag>
<enableDrag>true</enableDrag>
<rowPictureDataPath xsi:type="form:DataPath">
<segments>Список.DefaultPicture</segments>
</rowPictureDataPath>
<searchStringLocation>None</searchStringLocation>
<viewStatusLocation>None</viewStatusLocation>
<searchControlLocation>None</searchControlLocation>
<autoMaxCardHeight>true</autoMaxCardHeight>
<extInfo xsi:type="form:DynamicListTableExtInfo">
<autoRefreshPeriod>60</autoRefreshPeriod>
<period>
<startDate>0001-01-01T00:00:00</startDate>
<endDate>0001-01-01T00:00:00</endDate>
</period>
<choiceFoldersAndItems>Folders</choiceFoldersAndItems>
<topLevelParent xsi:type="core:UndefinedValue"/>
<showRoot>true</showRoot>
<allowRootChoice>true</allowRootChoice>
<allowGettingCurrentRowURL>true</allowGettingCurrentRowURL>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<excludedCommands>Create</excludedCommands>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<verticalScroll>UseIfNecessary</verticalScroll>
<showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Список</name>
<id>1</id>
<valueType>
<types>DynamicList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
<extInfo xsi:type="form:DynamicListExtInfo">
<mainTable>Catalog.ГруппыДоступа</mainTable>
<dynamicDataRead>true</dynamicDataRead>
<autoFillAvailableFields>true</autoFillAvailableFields>
<autoSaveUserSettings>true</autoSaveUserSettings>
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
</extInfo>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:DynamicListFormExtInfo"/>
</form:Form>
@@ -0,0 +1,18 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Отбор только групп.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ЭтоГруппа", Истина, , , Истина);
// Отбор не помеченных на удаление.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
КонецПроцедуры
@@ -11,6 +11,10 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Объект.Description</segments> <segments>Объект.Description</segments>
</dataPath> </dataPath>
<toolTip>
<key>ru</key>
<value>Наименование группы (папки)</value>
</toolTip>
<extendedTooltip> <extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name> <name>НаименованиеРасширеннаяПодсказка</name>
<id>5</id> <id>5</id>
@@ -44,6 +48,10 @@
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>Родитель</name> <name>Родитель</name>
<id>3</id> <id>3</id>
<title>
<key>ru</key>
<value>Вышестоящая группа (папка)</value>
</title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -52,6 +60,10 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Объект.Parent</segments> <segments>Объект.Parent</segments>
</dataPath> </dataPath>
<toolTip>
<key>ru</key>
<value>Вышестоящая группа (папка), объединяющая группы (папки) для удобства поиска</value>
</toolTip>
<extendedTooltip> <extendedTooltip>
<name>РодительРасширеннаяПодсказка</name> <name>РодительРасширеннаяПодсказка</name>
<id>7</id> <id>7</id>
@@ -1,21 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">Ссылка</left>
<comparisonType>NotInList</comparisonType>
<right xsi:type="v8:ValueListType">
<v8:valueType/>
<v8:lastId xsi:type="xs:decimal">-1</v8:lastId>
</right>
<viewMode>Inaccessible</viewMode>
</item>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
@@ -655,12 +655,6 @@
Справочник.ГруппыДоступа КАК ГруппыДоступа Справочник.ГруппыДоступа КАК ГруппыДоступа
ГДЕ ГДЕ
ВЫБОР ВЫБОР
КОГДА &amp;РежимВыбора
И &amp;РежимВыбораТолькоГрупп
ТОГДА ГруппыДоступа.ЭтоГруппа
ИНАЧЕ ИСТИНА
КОНЕЦ
И ВЫБОР
КОГДА &amp;Профиль = ЗНАЧЕНИЕ(Справочник.ПрофилиГруппДоступа.ПустаяСсылка) КОГДА &amp;Профиль = ЗНАЧЕНИЕ(Справочник.ПрофилиГруппДоступа.ПустаяСсылка)
ТОГДА ИСТИНА ТОГДА ИСТИНА
ИНАЧЕ ГруппыДоступа.Профиль = &amp;Профиль ИНАЧЕ ГруппыДоступа.Профиль = &amp;Профиль
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p><a href="Catalog.ГруппыДоступа/Help">Назначение групп доступа см. здесь.</a></p> <p><a href="Catalog.ГруппыДоступа/Help">Назначение групп доступа см. здесь.</a></p>
<p>Список групп доступа позволяет посмотреть имеющиеся настройки прав с ограничениями по нименованию.</p> <p>Список групп доступа позволяет посмотреть имеющиеся настройки прав с ограничениями по нименованию.</p>
<p>Для удобства сделана возможность отоборажения профиля группы.</p> <p>Для удобства сделана возможность отоборажения профиля группы.</p>
@@ -8,6 +8,10 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Параметры.РежимВыбора Тогда
КлючНазначенияИспользования = "ВыборПодбор";
КонецЕсли;
Элементы.Список.РежимВыбора = Параметры.РежимВыбора; Элементы.Список.РежимВыбора = Параметры.РежимВыбора;
РодительПерсональныхГруппДоступа = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа(Истина); РодительПерсональныхГруппДоступа = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа(Истина);
@@ -27,8 +31,7 @@
Элементы.Список.Отображение = ОтображениеТаблицы.Список; Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Автозаголовок = Ложь; Автозаголовок = Ложь;
Заголовок = УправлениеДоступомСлужебный.ЗаголовокПодчиненнойФормы( Заголовок = НСтр("ru = 'Группы доступа'");
НСтр("ru = 'Группы доступа: %1 (%2)'"), Параметры.Профиль);
Элементы.ФормаСоздатьГруппу.Видимость = Ложь; Элементы.ФормаСоздатьГруппу.Видимость = Ложь;
Элементы.СписокКонтекстноеМенюСоздатьГруппу.Видимость = Ложь; Элементы.СписокКонтекстноеМенюСоздатьГруппу.Видимость = Ложь;
@@ -48,20 +51,14 @@
СписокНедоступныхГрупп = Новый СписокЗначений; СписокНедоступныхГрупп = Новый СписокЗначений;
Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда
СписокНедоступныхГрупп.Добавить(Справочники.ГруппыДоступа.Администраторы); // Скрытие группы доступа Администраторы.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Ссылка", Справочники.ГруппыДоступа.Администраторы,
ВидСравненияКомпоновкиДанных.НеРавно, , Истина);
КонецЕсли; КонецЕсли;
Список.Отбор.Элементы[0].ПравоеЗначение = СписокНедоступныхГрупп;
РежимВыбора = Параметры.РежимВыбора; РежимВыбора = Параметры.РежимВыбора;
Список.Параметры.УстановитьЗначениеПараметра(
"РежимВыбора",
Параметры.РежимВыбора);
Список.Параметры.УстановитьЗначениеПараметра(
"РежимВыбораТолькоГрупп",
Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы);
Список.Параметры.УстановитьЗначениеПараметра( Список.Параметры.УстановитьЗначениеПараметра(
"ОшибкаОбъектНеНайден", "ОшибкаОбъектНеНайден",
НСтр("ru = '<Объект не найден>'")); НСтр("ru = '<Объект не найден>'"));
@@ -71,17 +68,12 @@
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
// Отбор не помеченных на удаление. // Отбор не помеченных на удаление.
Список.Отбор.Элементы[1].Использование = Истина; ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
Элементы.Список.РежимВыбора = Истина; Элементы.Список.РежимВыбора = Истина;
Элементы.Список.ВыборГруппИЭлементов = Параметры.ВыборГруппИЭлементов; Элементы.Список.ВыборГруппИЭлементов = Параметры.ВыборГруппИЭлементов;
Если Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы Тогда
Элементы.Список.НачальноеОтображениеДерева =
НачальноеОтображениеДерева.РаскрыватьВерхнийУровень;
Элементы.Список.Отображение = ОтображениеТаблицы.Дерево;
КонецЕсли;
АвтоЗаголовок = Ложь; АвтоЗаголовок = Ложь;
Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда
@@ -2630,6 +2630,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>ChoiceProcessing</event>
<name>ОбработкаВыбора</name>
</handlers>
<handlers> <handlers>
<event>OnOpen</event> <event>OnOpen</event>
<name>ПриОткрытии</name> <name>ПриОткрытии</name>
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p><a href="Catalog.ГруппыДоступа/Help">Назначение групп доступа см. здесь.</a></p> <p><a href="Catalog.ГруппыДоступа/Help">Назначение групп доступа см. здесь.</a></p>
<p>Для группы доступа задается профиль, список участников и ограничения доступа.</p> <p>Для группы доступа задается профиль, список участников и ограничения доступа.</p>
<p>Профиль определит права (списком ролей) и возможности ограничения прав по "разрезам" (видам доступа), например, ограничения по видам Организации, Склады, ...<br>Виды доступа из профиля будут добавлены в группу доступа автоматически.</p> <p>Профиль определит права (списком ролей) и возможности ограничения прав по "разрезам" (видам доступа), например, ограничения по видам Организации, Склады, ...<br>Виды доступа из профиля будут добавлены в группу доступа автоматически.</p>
@@ -79,14 +79,14 @@
Элементы.ВидыДоступаИзменить.Доступность = НЕ ТолькоПросмотр; Элементы.ВидыДоступаИзменить.Доступность = НЕ ТолькоПросмотр;
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Если ОбщегоНазначенияПовтИсп.РазделениеВключено()
И Объект.Ссылка <> Справочники.ГруппыДоступа.Администраторы Тогда И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда
ДействияСПользователемСервиса = Неопределено; ДействияСПользователемСервиса = Неопределено;
УправлениеДоступомСлужебный.ПриПолученииДействийСПользователемСервиса(ДействияСПользователемСервиса); УправлениеДоступомСлужебный.ПриПолученииДействийСПользователемСервиса(ДействияСПользователемСервиса);
Если НЕ ДействияСПользователемСервиса.ИзменениеАдминистративногоДоступа Тогда Если НЕ ДействияСПользователемСервиса.ИзменениеАдминистративногоДоступа Тогда
ВызватьИсключение ВызватьИсключение
НСтр("ru = 'Не достаточно прав доступа для изменения состава администраторов'"); НСтр("ru = 'Не достаточно прав доступа для изменения состава администраторов.'");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -146,6 +146,18 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("ОбщаяФорма.АутентификацияВСервисе")
И ВыбранноеЗначение <> Неопределено Тогда
ПарольПользователяСервиса = ВыбранноеЗначение;
Записать();
КонецЕсли;
КонецПроцедуры
&НаСервере &НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект) Процедура ПриЧтенииНаСервере(ТекущийОбъект)
@@ -160,8 +172,17 @@
&НаКлиенте &НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().РазделениеВключено Тогда Если СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().РазделениеВключено
СтандартныеПодсистемыКлиент.ПриЗапросеПароляДляАутентификацииВСервисе(ПарольПользователяСервиса, Отказ); И Объект.Ссылка = ПредопределенноеЗначение("Справочник.ГруппыДоступа.Администраторы") Тогда
ПарольЕщёНеВведен = Ложь;
СтандартныеПодсистемыКлиент.ПриЗапросеПароляДляАутентификацииВСервисе(
ЭтаФорма, ПарольПользователяСервиса, ПарольЕщёНеВведен);
Если ПарольЕщёНеВведен Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -197,7 +218,8 @@
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Если ОбщегоНазначенияПовтИсп.РазделениеВключено()
И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда
ТекущийОбъект.ДополнительныеСвойства.Вставить("ПарольПользователяСервиса", ПарольПользователяСервиса); ТекущийОбъект.ДополнительныеСвойства.Вставить(
"ПарольПользователяСервиса", ПарольПользователяСервиса);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -393,30 +415,13 @@
Если НЕ ОбщегоНазначенияПовтИсп.РазделениеВключено() Если НЕ ОбщегоНазначенияПовтИсп.РазделениеВключено()
И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда
Пользователи.НайтиНеоднозначныхПользователейИБ(); ОписаниеОшибки = "";
УправлениеДоступомСлужебный.ПроверитьНаличиеПользователяИБВГруппеДоступаАдминистраторы(
// Проверка пустого списка пользователей ИБ в группе доступа Администраторы. ПользователиГруппы.ПолучитьЭлементы(), ОписаниеОшибки);
УстановитьПривилегированныйРежим(Истина);
НайденПользовательИБ = Ложь;
Для каждого ОписаниеПользователя ИЗ ПользователиГруппы.ПолучитьЭлементы() Цикл
Если ЗначениеЗаполнено(ОписаниеПользователя.Пользователь)
И ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
ОписаниеПользователя.Пользователь.ИдентификаторПользователяИБ) <> Неопределено Тогда
НайденПользовательИБ = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ НайденПользовательИБ Тогда
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
"ПользователиГруппы", "ПользователиГруппы", ОписаниеОшибки);
НСтр("ru = 'В группе доступа Администраторы
|должен быть хотя бы один пользователь,
|которому разрешен доступ к информационной базе.'"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -1969,4 +1974,3 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Группы доступа предназначены для настройки прав и ограничений прав доступа конкретным пользователям и группам пользователей системы.</p> <p>Группы доступа предназначены для настройки прав и ограничений прав доступа конкретным пользователям и группам пользователей системы.</p>
<p>Набор прав и возможности по их ограничению определяются заданным <a href="Catalog.ПрофилиГруппДоступа/Help">профилем групп доступа</a>. Например, группа доступа "Менеджеры по продажам ПО делового назначения" с пользователями Иванов и Петров может ссылаться на профиль "Менеджер по продажам", в котором предусмотрена возможность ограничения по виду доступа "Виды номенклатуры". Тогда если по этому виду доступа для всех значений указать вариант "Запрещены", а в список добавить вид номенклатуры "ПО делового назначения", то Иванову и Петрову будут доступны только те данные и операции, которые связаны с ПО делового назначения.</p> <p>Набор прав и возможности по их ограничению определяются заданным <a href="Catalog.ПрофилиГруппДоступа/Help">профилем групп доступа</a>. Например, группа доступа "Менеджеры по продажам ПО делового назначения" с пользователями Иванов и Петров может ссылаться на профиль "Менеджер по продажам", в котором предусмотрена возможность ограничения по виду доступа "Виды номенклатуры". Тогда если по этому виду доступа для всех значений указать вариант "Запрещены", а в список добавить вид номенклатуры "ПО делового назначения", то Иванову и Петрову будут доступны только те данные и операции, которые связаны с ПО делового назначения.</p>
<p>Рекомендуется задавать наименования групп таким образом, чтобы название отражало как суть профиля, так и смысл ограничений, заданных в группе.</p> <p>Рекомендуется задавать наименования групп таким образом, чтобы название отражало как суть профиля, так и смысл ограничений, заданных в группе.</p>
@@ -178,4 +178,15 @@
КонецФункции КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы
Процедура ЗаполнитьПрофильГруппыДоступаАдминистраторы() Экспорт
Объект = Администраторы.ПолучитьОбъект();
Объект.Профиль = Справочники.ПрофилиГруппДоступа.Администратор;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
КонецПроцедуры
#КонецЕсли #КонецЕсли
@@ -68,9 +68,13 @@
<standardAttributes> <standardAttributes>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<name>Parent</name> <name>Parent</name>
<synonym>
<key>ru</key>
<value>Группа (папка)</value>
</synonym>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Папка, объединяющая группы доступа для удобства поиска</value> <value>Группа (папка), объединяющая группы доступа для удобства поиска</value>
</toolTip> </toolTip>
<fillFromFillingValue>true</fillFromFillingValue> <fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:ReferenceValue"> <fillValue xsi:type="core:ReferenceValue">
@@ -134,7 +138,7 @@
<defaultFolderForm>Catalog.ГруппыДоступа.Form.ФормаГруппы</defaultFolderForm> <defaultFolderForm>Catalog.ГруппыДоступа.Form.ФормаГруппы</defaultFolderForm>
<defaultListForm>Catalog.ГруппыДоступа.Form.ФормаСписка</defaultListForm> <defaultListForm>Catalog.ГруппыДоступа.Form.ФормаСписка</defaultListForm>
<defaultChoiceForm>Catalog.ГруппыДоступа.Form.ФормаСписка</defaultChoiceForm> <defaultChoiceForm>Catalog.ГруппыДоступа.Form.ФормаСписка</defaultChoiceForm>
<defaultFolderChoiceForm>Catalog.ГруппыДоступа.Form.ФормаСписка</defaultFolderChoiceForm> <defaultFolderChoiceForm>Catalog.ГруппыДоступа.Form.ФормаВыбораГруппы</defaultFolderChoiceForm>
<attributes uuid="5035aa55-d557-419a-89e2-10ed0f8d109b"> <attributes uuid="5035aa55-d557-419a-89e2-10ed0f8d109b">
<name>Профиль</name> <name>Профиль</name>
<synonym> <synonym>
@@ -239,6 +243,25 @@
<fullTextSearch>Use</fullTextSearch> <fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="245814f7-028c-4c13-98eb-15412e851f81">
<name>ОсновнаяГруппаДоступаПоставляемогоПрофиля</name>
<synonym>
<key>ru</key>
<value>Основная группа доступа поставляемого профиля</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<toolTip>
<key>ru</key>
<value>Определяет основную группу доступа поставляемого профиля без видов доступа для программного управления составом пользователей.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<tabularSections uuid="0132e564-2cd3-4930-8962-1068532f4be4"> <tabularSections uuid="0132e564-2cd3-4930-8962-1068532f4be4">
<producedTypes> <producedTypes>
<objectType typeId="80257c67-a204-4f2a-948a-f34b9227f036" valueTypeId="f2d301f8-8692-4afc-873e-2441147b4061"/> <objectType typeId="80257c67-a204-4f2a-948a-f34b9227f036" valueTypeId="f2d301f8-8692-4afc-873e-2441147b4061"/>
@@ -436,6 +459,15 @@
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes> <usePurposes>MobileDevice</usePurposes>
</forms> </forms>
<forms uuid="83f51efe-e2af-459a-b59f-2c036124ac23">
<name>ФормаВыбораГруппы</name>
<synonym>
<key>ru</key>
<value>Форма выбора группы</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="e3ca64af-7766-48e2-b7c6-2a96f4539905"> <forms uuid="e3ca64af-7766-48e2-b7c6-2a96f4539905">
<name>ОбновлениеДанныхОграниченияДоступа</name> <name>ОбновлениеДанныхОграниченияДоступа</name>
<synonym> <synonym>
@@ -1,30 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
<filter> <filter>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">ПометкаУдаления</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
<item xsi:type="FilterItemComparison">
<use>false</use>
<left xsi:type="dcscor:Field">Ссылка</left>
<comparisonType>NotInList</comparisonType>
<right xsi:type="dcscor:DesignTimeValue">Справочник.ГруппыПользователей.ВсеПользователи</right>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Предопределенный</field>
<orderType>Desc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>Наименование</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
@@ -243,6 +243,7 @@
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
</handlers> </handlers>
<width>65</width>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>DontBlock</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
@@ -8,14 +8,24 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
НастроитьПорядокГруппыВсеПользователи(Список);
Если Параметры.РежимВыбора Тогда Если Параметры.РежимВыбора Тогда
КлючНазначенияИспользования = "ВыборПодбор";
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
Элементы.Список.РежимВыбора = Истина; Элементы.Список.РежимВыбора = Истина;
// Отбор не помеченных на удаление. // Отбор не помеченных на удаление.
Список.Отбор.Элементы[0].Использование = Истина; ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список.Отбор.Элементы[1].Использование = Параметры.Свойство("ВыборРодителя"); Список, "ПометкаУдаления", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ);
// Исключение выбора группы Все внешние пользователи в качестве родителя.
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Ссылка", Справочники.ГруппыПользователей.ВсеПользователи,
ВидСравненияКомпоновкиДанных.НеРавно, , Параметры.Свойство("ВыборРодителя"));
Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда Если Параметры.ЗакрыватьПриВыборе = Ложь Тогда
// Режим подбора. // Режим подбора.
@@ -28,3 +38,35 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
&НаСервере
Процедура НастроитьПорядокГруппыВсеПользователи(Список)
Перем Порядок;
// Порядок.
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
Порядок = Список.КомпоновщикНастроек.Настройки.Порядок;
Порядок.ИдентификаторПользовательскойНастройки = "ОсновнойПорядок";
Иначе
Порядок = Список.Порядок;
КонецЕсли;
Порядок.Элементы.Очистить();
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Предопределенный");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
КонецПроцедуры
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Карточка группы пользователей позволяет просматривать и редактировать свойства группы.</p> <p>Карточка группы пользователей позволяет просматривать и редактировать свойства группы.</p>
<p>При редактировании состава пользователей группы нужно учитывать, что они неявно входят в состав групп-родителей. Для добавления большого числа пользователей можно использовать команду <strong>Подобрать</strong>.</p> <p>При редактировании состава пользователей группы нужно учитывать, что они неявно входят в состав групп-родителей. Для добавления большого числа пользователей можно использовать команду <strong>Подобрать</strong>.</p>
<h3>См. также</h3> <h3>См. также</h3>
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p class="Usual">В этом списке ведется учет групп пользователей.</p> <p class="Usual">В этом списке ведется учет групп пользователей.</p>
<p class="Usual">Группы пользователей могут использоваться для группировки большого числа пользователей, а также когда нужно указывать не только пользователя, но и группу пользователей, например, при настройке доступа, в ролях исполнителей задач бизнес-процессов и др.<br></p> <p class="Usual">Группы пользователей могут использоваться для группировки большого числа пользователей, а также когда нужно указывать не только пользователя, но и группу пользователей, например, при настройке доступа, в ролях исполнителей задач бизнес-процессов и др.<br></p>
<p class="Usual">Группы создаются плоским списком или иерархическим. В иерархическом списке, пользователи вложенных групп неявно входят в группы-родители.</p> <p class="Usual">Группы создаются плоским списком или иерархическим. В иерархическом списке, пользователи вложенных групп неявно входят в группы-родители.</p>
@@ -772,7 +772,7 @@
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
</handlers> </handlers>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
<group>Vertical</group> <group>Vertical</group>
@@ -3,15 +3,13 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Быстрый доступ к команде ""%1""'"), НСтр("ru = 'Быстрый доступ к команде ""%1""'"),
Параметры.ПредставлениеКоманды Параметры.ПредставлениеКоманды);
);
Для Каждого ПользовательСтрока Из Параметры.ПользователиСБыстрымДоступом Цикл Для Каждого ПользовательСтрока Из Параметры.ПользователиСБыстрымДоступом Цикл
НоваяСтрока = ПользователиКороткогоСписка.Добавить(); НоваяСтрока = ПользователиКороткогоСписка.Добавить();
@@ -122,13 +120,13 @@
&НаКлиенте &НаКлиенте
Процедура ОК(Команда) Процедура ОК(Команда)
Результат = Новый СписокЗначений; РезультатВыбора = Новый СписокЗначений;
Для Каждого ЭлементКоллекции Из ПользователиКороткогоСписка Цикл Для Каждого ЭлементКоллекции Из ПользователиКороткогоСписка Цикл
Результат.Добавить(ЭлементКоллекции.Пользователь); РезультатВыбора.Добавить(ЭлементКоллекции.Пользователь);
КонецЦикла; КонецЦикла;
Закрыть(Результат); ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры КонецПроцедуры
@@ -318,7 +318,7 @@
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
</handlers> </handlers>
<windowOpeningMode>DontBlock</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
@@ -3,8 +3,7 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -48,15 +47,15 @@
&НаКлиенте &НаКлиенте
Процедура ОК(Команда) Процедура ОК(Команда)
Результат = Новый СписокЗначений; РезультатВыбора = Новый СписокЗначений;
Для Каждого РазделЭлемент Из Разделы Цикл Для Каждого РазделЭлемент Из Разделы Цикл
Если РазделЭлемент.Используется Тогда Если РазделЭлемент.Используется Тогда
Результат.Добавить(РазделЭлемент.Раздел); РезультатВыбора.Добавить(РазделЭлемент.Раздел);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Закрыть(Результат); ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры КонецПроцедуры
@@ -748,7 +748,7 @@
КОГДА &amp;ПубликацияОтбор = НЕОПРЕДЕЛЕНО КОГДА &amp;ПубликацияОтбор = НЕОПРЕДЕЛЕНО
ТОГДА ИСТИНА ТОГДА ИСТИНА
КОГДА &amp;ПубликацияОтбор = 1 КОГДА &amp;ПубликацияОтбор = 1
ТОГДА Таблица.Публикация В (&amp;ВсеПубликацииКромеНеиспользуюшихся) ТОГДА Таблица.Публикация В (&amp;ВсеПубликацииКромеНеиспользующихся)
ИНАЧЕ Таблица.Публикация = &amp;ПубликацияОтбор ИНАЧЕ Таблица.Публикация = &amp;ПубликацияОтбор
КОНЕЦ КОНЕЦ
И ВЫБОР И ВЫБОР
@@ -28,19 +28,18 @@
ДоступныеВидыПубликации = ДополнительныеОтчетыИОбработкиПовтИсп.ДоступныеВидыПубликации(); ДоступныеВидыПубликации = ДополнительныеОтчетыИОбработкиПовтИсп.ДоступныеВидыПубликации();
ВсеПубликацииКромеНеиспользуюшихся = Новый Массив; ВсеПубликацииКромеНеиспользующихся = Новый Массив;
ВсеПубликацииКромеНеиспользуюшихся.Добавить(ВидИспользуется); ВсеПубликацииКромеНеиспользующихся.Добавить(ВидИспользуется);
Если ДоступныеВидыПубликации.Найти(ВидРежимОтладки) <> Неопределено Тогда Если ДоступныеВидыПубликации.Найти(ВидРежимОтладки) <> Неопределено Тогда
ВсеПубликацииКромеНеиспользуюшихся.Добавить(ВидРежимОтладки); ВсеПубликацииКромеНеиспользующихся.Добавить(ВидРежимОтладки);
КонецЕсли; КонецЕсли;
Если ВсеПубликацииКромеНеиспользуюшихся.Количество() > 1 Тогда Если ВсеПубликацииКромеНеиспользующихся.Количество() > 1 Тогда
ПредставлениеМассива = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ПредставлениеМассива = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 или %2'"), НСтр("ru = '%1 или %2'"),
Строка(ВсеПубликацииКромеНеиспользуюшихся[0]), Строка(ВсеПубликацииКромеНеиспользующихся[0]),
Строка(ВсеПубликацииКромеНеиспользуюшихся[1]) Строка(ВсеПубликацииКромеНеиспользующихся[1]));
);
СписокВыбора.Добавить(1, ПредставлениеМассива); СписокВыбора.Добавить(1, ПредставлениеМассива);
@@ -67,7 +66,7 @@
Список.Параметры.УстановитьЗначениеПараметра("ПубликацияОтбор", ПубликацияОтбор); Список.Параметры.УстановитьЗначениеПараметра("ПубликацияОтбор", ПубликацияОтбор);
Список.Параметры.УстановитьЗначениеПараметра("ВидОтбор", ВидОтбор); Список.Параметры.УстановитьЗначениеПараметра("ВидОтбор", ВидОтбор);
Список.Параметры.УстановитьЗначениеПараметра("ВидыДопОтчетов", ВидыДопОтчетов); Список.Параметры.УстановитьЗначениеПараметра("ВидыДопОтчетов", ВидыДопОтчетов);
Список.Параметры.УстановитьЗначениеПараметра("ВсеПубликацииКромеНеиспользуюшихся", ВсеПубликацииКромеНеиспользуюшихся); Список.Параметры.УстановитьЗначениеПараметра("ВсеПубликацииКромеНеиспользующихся", ВсеПубликацииКромеНеиспользующихся);
Элементы.КнопкиДобавления.Видимость = ДополнительныеОтчетыИОбработки.ПравоДобавления(); Элементы.КнопкиДобавления.Видимость = ДополнительныеОтчетыИОбработки.ПравоДобавления();
@@ -2553,6 +2553,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>ChoiceProcessing</event>
<name>ОбработкаВыбора</name>
</handlers>
<handlers> <handlers>
<event>NotificationProcessing</event> <event>NotificationProcessing</event>
<name>ОбработкаОповещения</name> <name>ОбработкаОповещения</name>
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Для <a href="Catalog.ДополнительныеОтчетыИОбработки/Help">дополнительных обработок или отчетов</a>, предназначенных для работы с конкретными объектами, можно определить состав объектов, в которых будут доступны команды обработки или отчета (команда <strong>Назначение обработки</strong>). </p> <p>Для <a href="Catalog.ДополнительныеОтчетыИОбработки/Help">дополнительных обработок или отчетов</a>, предназначенных для работы с конкретными объектами, можно определить состав объектов, в которых будут доступны команды обработки или отчета (команда <strong>Назначение обработки</strong>). </p>
<p>Команды обработок или отчетов могут быть доступны из списка выбранных объектов, если установлен флаг <strong>Использовать для форм списка</strong> и из формы самого объекта, если установлен флаг <strong>Использовать для форм объекта</strong>. </p> <p>Команды обработок или отчетов могут быть доступны из списка выбранных объектов, если установлен флаг <strong>Использовать для форм списка</strong> и из формы самого объекта, если установлен флаг <strong>Использовать для форм объекта</strong>. </p>
<p>Для обработок и отчетов, которые вызываются из командного интерфейса (не прикрепляются к объектам конфигурации):</p> <p>Для обработок и отчетов, которые вызываются из командного интерфейса (не прикрепляются к объектам конфигурации):</p>
@@ -1,3 +1,6 @@
&НаКлиенте
Перем КлиентскийКэш;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
@@ -47,8 +50,7 @@
АдресРазрешений = ПоместитьВоВременноеХранилище( АдресРазрешений = ПоместитьВоВременноеХранилище(
РеквизитФормыВЗначение("Объект").Разрешения.Выгрузить(), РеквизитФормыВЗначение("Объект").Разрешения.Выгрузить(),
ЭтаФорма.УникальныйИдентификатор ЭтаФорма.УникальныйИдентификатор);
);
УстановитьВидимостьДоступность(); УстановитьВидимостьДоступность();
@@ -57,6 +59,8 @@
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
КлиентскийКэш = Новый Структура;
Если ЭтоНовый Тогда Если ЭтоНовый Тогда
Если НЕ ОткрытьДиалогЗагрузкиФайлаОбработкиОтчета(Истина) Тогда Если НЕ ОткрытьДиалогЗагрузкиФайлаОбработкиОтчета(Истина) Тогда
@@ -67,6 +71,53 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.ДополнительныеОтчетыИОбработки.Форма.ПодборРазделов") Тогда
Если ТипЗнч(ВыбранноеЗначение) <> Тип("СписокЗначений") Тогда
Возврат;
КонецЕсли;
Объект.Разделы.Очистить();
Для Каждого ЭлементСписка Из ВыбранноеЗначение Цикл
НоваяСтрока = Объект.Разделы.Добавить();
НоваяСтрока.Раздел = ЭлементСписка.Значение;
КонецЦикла;
Модифицированность = Истина;
УстановитьВидимостьДоступность();
ИначеЕсли ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.ДополнительныеОтчетыИОбработки.Форма.БыстрыйДоступКДополнительнымОтчетамИОбработкам") Тогда
Если ТипЗнч(ВыбранноеЗначение) <> Тип("СписокЗначений") Тогда
Возврат;
КонецЕсли;
ЭлементКоманда = Объект.Команды.НайтиПоИдентификатору(КлиентскийКэш.ИдентификаторСтрокиКоманды);
Если ЭлементКоманда = Неопределено Тогда
Возврат;
КонецЕсли;
Найденные = БыстрыйДоступ.НайтиСтроки(Новый Структура("ИдентификаторКоманды", ЭлементКоманда.Идентификатор));
Для Каждого СтрокаТаблицы Из Найденные Цикл
БыстрыйДоступ.Удалить(СтрокаТаблицы);
КонецЦикла;
Для Каждого ЭлементСписка Из ВыбранноеЗначение Цикл
СтрокаТаблицы = БыстрыйДоступ.Добавить();
СтрокаТаблицы.ИдентификаторКоманды = ЭлементКоманда.Идентификатор;
СтрокаТаблицы.Пользователь = ЭлементСписка.Значение;
КонецЦикла;
ЭлементКоманда.БыстрыйДоступПредставление = ПредставлениеБыстрогоДоступаПользователей(ВыбранноеЗначение.Количество());
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
@@ -85,8 +136,7 @@
АдресДанныхОбработки = ПоместитьВоВременноеХранилище( АдресДанныхОбработки = ПоместитьВоВременноеХранилище(
ТекущийОбъект.ХранилищеОбработки.Получить(), ТекущийОбъект.ХранилищеОбработки.Получить(),
УникальныйИдентификатор УникальныйИдентификатор);
);
КонецЕсли; КонецЕсли;
@@ -123,13 +173,15 @@
ТекущийОбъект.ДополнительныеСвойства.Вставить("БыстрыйДоступ", БыстрыйДоступ.Выгрузить()); ТекущийОбъект.ДополнительныеСвойства.Вставить("БыстрыйДоступ", БыстрыйДоступ.Выгрузить());
ТекущийОбъект.Разрешения.Загрузить( ТекущийОбъект.Разрешения.Загрузить(
ПолучитьИзВременногоХранилища(АдресРазрешений) ПолучитьИзВременногоХранилища(АдресРазрешений));
);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.ДополнительныеСвойства.Свойство("ОшибкаПодключения") Тогда
Сообщить(ТекущийОбъект.ДополнительныеСвойства.ОшибкаПодключения);
КонецЕсли;
ЭтоНовый = Ложь; ЭтоНовый = Ложь;
УстановитьВидимостьДоступность(); УстановитьВидимостьДоступность();
КонецПроцедуры КонецПроцедуры
@@ -143,8 +195,7 @@
ОбщегоНазначенияКлиент.ОткрытьФормуРедактированияКомментария( ОбщегоНазначенияКлиент.ОткрытьФормуРедактированияКомментария(
Объект.Комментарий, Объект.Комментарий,
Объект.Комментарий, Объект.Комментарий,
Модифицированность Модифицированность);
);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -174,8 +225,7 @@
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Пометить ""%1"" на удаление?'"), НСтр("ru = 'Пометить ""%1"" на удаление?'"),
Вариант.Наименование Вариант.Наименование);
);
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да); Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
Если Ответ <> КодВозвратаДиалога.Да Тогда Если Ответ <> КодВозвратаДиалога.Да Тогда
@@ -311,7 +361,12 @@
МассивВариантов.Добавить(Вариант.Ссылка); МассивВариантов.Добавить(Вариант.Ссылка);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ДополнительныеОтчетыИОбработкиКлиент.ПриОткрытииДиалогаРазмещенияВариантовДополнительныхОтчетовВРазделах(МассивВариантов);
// Открывает диалог размещения нескольких вариантов отчетов в разделах командного интерфейса.
Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
МодульВариантыОтчетовКлиент = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ВариантыОтчетовКлиент");
МодульВариантыОтчетовКлиент.ОткрытьДиалогРазмещенияВариантовВРазделах(МассивВариантов);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -325,20 +380,11 @@
Разделы.Добавить(СтрокаТаблицы.Раздел); Разделы.Добавить(СтрокаТаблицы.Раздел);
КонецЦикла; КонецЦикла;
СписокРазделов = ОткрытьФормуМодально( ПараметрыФормы = Новый Структура;
"Справочник.ДополнительныеОтчетыИОбработки.Форма.ПодборРазделов", ПараметрыФормы.Вставить("Разделы", Разделы);
Новый Структура("Разделы,ВидОбработки", Разделы, Объект.Вид) ПараметрыФормы.Вставить("ВидОбработки", Объект.Вид);
);
Если ТипЗнч(СписокРазделов) = Тип("СписокЗначений") Тогда ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.Форма.ПодборРазделов", ПараметрыФормы, ЭтаФорма);
Объект.Разделы.Очистить();
Для Каждого ЭлементСписка Из СписокРазделов Цикл
НоваяСтрока = Объект.Разделы.Добавить();
НоваяСтрока.Раздел = ЭлементСписка.Значение;
КонецЦикла;
Модифицированность = Истина;
УстановитьВидимостьДоступность();
КонецЕсли;
Иначе Иначе
// Выбор объектов метаданных // Выбор объектов метаданных
ПараметрыФормы = ПодготовитьПараметрыФормыВыборОбъектовМетаданных(); ПараметрыФормы = ПодготовитьПараметрыФормыВыборОбъектовМетаданных();
@@ -420,8 +466,7 @@
ПоказатьОповещениеПользователя( ПоказатьОповещениеПользователя(
НСтр("ru = 'Файл обработки успешно загружен'"), НСтр("ru = 'Файл обработки успешно загружен'"),
?(ЭтоНовый, "", ПолучитьНавигационнуюСсылку(Объект.Ссылка)), ?(ЭтоНовый, "", ПолучитьНавигационнуюСсылку(Объект.Ссылка)),
ПараметрыРегистрации.ИмяФайла ПараметрыРегистрации.ИмяФайла);
);
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
@@ -462,12 +507,11 @@
| |
|Доступные действия: |Доступные действия:
|1. ""Продолжить"" - продолжить загрузку, отключив Публикацию текущего отчета (обработки). |1. ""Продолжить"" - продолжить загрузку, отключив Публикацию текущего отчета (обработки).
|2. ""Отключить конфликтующие"" - продолжить загрузку, отключив Публикацию отчетов (обработок), конфликтующих с загружамой по имени. |2. ""Отключить конфликтующие"" - продолжить загрузку, отключив Публикацию отчетов (обработок), конфликтующих с загружаемой по имени.
|3. ""Показать конфликтующие"" - отменить загрузку и показать список отчетов (обработок), конфликтующих с загружамой по имени. |3. ""Показать конфликтующие"" - отменить загрузку и показать список отчетов (обработок), конфликтующих с загружаемой по имени.
|4. ""Отмена"" - отменить загрузку.'"), |4. ""Отмена"" - отменить загрузку.'"),
РезультатРегистрации.ИмяОбъекта, РезультатРегистрации.ИмяОбъекта,
ПредставлениеЗанявших ПредставлениеЗанявших);
);
КнопкиВопроса = Новый СписокЗначений; КнопкиВопроса = Новый СписокЗначений;
КнопкиВопроса.Добавить(1, НСтр("ru = 'Продолжить'")); КнопкиВопроса.Добавить(1, НСтр("ru = 'Продолжить'"));
@@ -501,7 +545,7 @@
ИначеЕсли Ответ = 3 Тогда ИначеЕсли Ответ = 3 Тогда
// Показать конфлиткующие (отмена далее) // Показать конфликтующие (отмена далее)
Если КоличествоКонфликтующих = 1 Если КоличествоКонфликтующих = 1
И ( И (
ЭтоНовый ЭтоНовый
@@ -518,8 +562,7 @@
ПараметрыСписка.Отбор = Новый Структура("ИмяОбъекта, ЭтоГруппа", РезультатРегистрации.ИмяОбъекта, Ложь); ПараметрыСписка.Отбор = Новый Структура("ИмяОбъекта, ЭтоГруппа", РезультатРегистрации.ИмяОбъекта, Ложь);
ПараметрыСписка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ПараметрыСписка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Дополнительные отчеты и обработки с именем объекта ""%1""'"), НСтр("ru = 'Дополнительные отчеты и обработки с именем объекта ""%1""'"),
РезультатРегистрации.ИмяОбъекта РезультатРегистрации.ИмяОбъекта);
);
ПараметрыСписка.Отображение = "Список"; ПараметрыСписка.Отображение = "Список";
ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.ФормаСписка", ПараметрыСписка, , Истина); ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.ФормаСписка", ПараметрыСписка, , Истина);
@@ -543,9 +586,7 @@
Предупреждение( Предупреждение(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Вариант отчета ""%1"" не зарегистрирован.'"), НСтр("ru = 'Вариант отчета ""%1"" не зарегистрирован.'"),
Вариант.Наименование Вариант.Наименование));
)
);
Иначе Иначе
ОткрытьЗначение(Вариант.Ссылка); ОткрытьЗначение(Вариант.Ссылка);
КонецЕсли; КонецЕсли;
@@ -566,9 +607,7 @@
НСтр("ru = 'Команда с вариантом запуска ""%1"" НСтр("ru = 'Команда с вариантом запуска ""%1""
|не может использоваться в регламентных заданиях.'"), |не может использоваться в регламентных заданиях.'"),
"%1", "%1",
Строка(ЭлементКоманда.ВариантЗапуска) Строка(ЭлементКоманда.ВариантЗапуска)));
)
);
Если ИзмененФлажок тогда Если ИзмененФлажок тогда
ЭлементКоманда.РегламентноеЗаданиеИспользование = НЕ ЭлементКоманда.РегламентноеЗаданиеИспользование; ЭлементКоманда.РегламентноеЗаданиеИспользование = НЕ ЭлементКоманда.РегламентноеЗаданиеИспользование;
КонецЕсли; КонецЕсли;
@@ -625,27 +664,13 @@
ПользователиСБыстрымДоступом.Добавить(СтрокаТаблицы.Пользователь); ПользователиСБыстрымДоступом.Добавить(СтрокаТаблицы.Пользователь);
КонецЦикла; КонецЦикла;
ПараметрыФормы = Новый Структура("ПользователиСБыстрымДоступом, ПредставлениеКоманды", ПользователиСБыстрымДоступом, ЭлементКоманда.Представление); ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ПользователиСБыстрымДоступом", ПользователиСБыстрымДоступом);
ПараметрыФормы.Вставить("ПредставлениеКоманды", ЭлементКоманда.Представление);
СписокПользователей = ОткрытьФормуМодально("Справочник.ДополнительныеОтчетыИОбработки.Форма.БыстрыйДоступКДополнительнымОтчетамИОбработкам", ПараметрыФормы); КлиентскийКэш.Вставить("ИдентификаторСтрокиКоманды", ЭлементКоманда.ПолучитьИдентификатор());
ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.Форма.БыстрыйДоступКДополнительнымОтчетамИОбработкам", ПараметрыФормы, ЭтаФорма);
Если ТипЗнч(СписокПользователей) <> Тип("СписокЗначений") Тогда
Возврат;
КонецЕсли;
Для Каждого СтрокаТаблицы Из Найденные Цикл
БыстрыйДоступ.Удалить(СтрокаТаблицы);
КонецЦикла;
Для Каждого ЭлементСписка Из СписокПользователей Цикл
СтрокаТаблицы = БыстрыйДоступ.Добавить();
СтрокаТаблицы.ИдентификаторКоманды = ЭлементКоманда.Идентификатор;
СтрокаТаблицы.Пользователь = ЭлементСписка.Значение;
КонецЦикла;
ЭлементКоманда.БыстрыйДоступПредставление = ПредставлениеБыстрогоДоступаПользователей(СписокПользователей.Количество());
Модифицированность = Истина;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -708,8 +733,7 @@
БыстрыйДоступПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( БыстрыйДоступПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
БыстрыйДоступПредставление, БыстрыйДоступПредставление,
Формат(КоличествоПользователей, "ЧГ=0") Формат(КоличествоПользователей, "ЧГ=0"));
);
Возврат БыстрыйДоступПредставление; Возврат БыстрыйДоступПредставление;
КонецФункции КонецФункции
@@ -822,8 +846,7 @@
Элементы.СтраницыВарианты.ТекущаяСтраница = Элементы.ВариантыПоказать; Элементы.СтраницыВарианты.ТекущаяСтраница = Элементы.ВариантыПоказать;
Элементы.СтраницаВарианты.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Элементы.СтраницаВарианты.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Варианты отчета (%1)'"), НСтр("ru = 'Варианты отчета (%1)'"),
Формат(КоличествоВариантов, "ЧГ=") Формат(КоличествоВариантов, "ЧГ="));
);
КонецЕсли; КонецЕсли;
Иначе Иначе
@@ -842,8 +865,7 @@
Элементы.СтраницаКоманды.Видимость = Истина; Элементы.СтраницаКоманды.Видимость = Истина;
Элементы.СтраницаКоманды.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Элементы.СтраницаКоманды.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Команды (%1)'"), НСтр("ru = 'Команды (%1)'"),
Формат(КоличествоКоманд, "ЧГ=") Формат(КоличествоКоманд, "ЧГ="));
);
КонецЕсли; КонецЕсли;
@@ -856,8 +878,7 @@
Элементы.СтраницаРазрешения.Видимость = Истина; Элементы.СтраницаРазрешения.Видимость = Истина;
Элементы.СтраницаРазрешения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Элементы.СтраницаРазрешения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Разрешения (%1)'"), НСтр("ru = 'Разрешения (%1)'"),
Формат(КоличествоРазрешений, "ЧГ=") Формат(КоличествоРазрешений, "ЧГ="));
);
СформироватьСписокРазрешений(); СформироватьСписокРазрешений();
КонецЕсли; КонецЕсли;
@@ -957,8 +978,7 @@
Процедура СформироватьСписокРазрешений() Процедура СформироватьСписокРазрешений()
ПредставлениеРазрешений = ДополнительныеОтчетыИОбработкиВБезопасномРежимеСлужебный.СформироватьПредставлениеРазрешений( ПредставлениеРазрешений = ДополнительныеОтчетыИОбработкиВБезопасномРежимеСлужебный.СформироватьПредставлениеРазрешений(
ПолучитьТаблицуРазрешений() ПолучитьТаблицуРазрешений());
);
КонецПроцедуры КонецПроцедуры
@@ -974,8 +994,7 @@
Если Объект.Вид = ВидДополнительнаяОбработка ИЛИ Объект.Вид = ВидДополнительныйОтчет Тогда Если Объект.Вид = ВидДополнительнаяОбработка ИЛИ Объект.Вид = ВидДополнительныйОтчет Тогда
Найденные = БыстрыйДоступ.НайтиСтроки(Новый Структура("ИдентификаторКоманды", ЭлементКоманда.Идентификатор)); Найденные = БыстрыйДоступ.НайтиСтроки(Новый Структура("ИдентификаторКоманды", ЭлементКоманда.Идентификатор));
ЭлементКоманда.БыстрыйДоступПредставление = ПредставлениеБыстрогоДоступаПользователей( ЭлементКоманда.БыстрыйДоступПредставление = ПредставлениеБыстрогоДоступаПользователей(
Найденные.Количество() Найденные.Количество());
);
КонецЕсли; КонецЕсли;
ЭлементКоманда.РегламентноеЗаданиеИспользование = Ложь; ЭлементКоманда.РегламентноеЗаданиеИспользование = Ложь;
@@ -1020,8 +1039,7 @@
Иначе Иначе
ЭлементКоманда.РегламентноеЗаданиеПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ЭлементКоманда.РегламентноеЗаданиеПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не применимо для команд с вариантом запуска ""%1""'"), НСтр("ru = 'Не применимо для команд с вариантом запуска ""%1""'"),
Строка(ЭлементКоманда.ВариантЗапуска) Строка(ЭлементКоманда.ВариантЗапуска));
);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -1031,7 +1049,14 @@
Процедура ВариантыДополнительногоОтчетаЗаполнить() Процедура ВариантыДополнительногоОтчетаЗаполнить()
ВариантыДополнительногоОтчета.Очистить(); ВариантыДополнительногоОтчета.Очистить();
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Объект.Ссылка); Попытка
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Объект.Ссылка);
Исключение
ТекстОшибки = НСтр("ru = 'Не удалось получить список вариантов отчета из-за ошибки, возникшей при подключении этого отчета:'");
Сообщить(ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), СтатусСообщения.Важное);
Возврат;
КонецПопытки;
ОтчетМетаданные = ВнешнийОбъект.Метаданные(); ОтчетМетаданные = ВнешнийОбъект.Метаданные();
СхемаКДМетаданные = ОтчетМетаданные.ОсновнаяСхемаКомпоновкиДанных; СхемаКДМетаданные = ОтчетМетаданные.ОсновнаяСхемаКомпоновкиДанных;
Если СхемаКДМетаданные <> Неопределено Тогда Если СхемаКДМетаданные <> Неопределено Тогда
@@ -1089,3 +1114,4 @@
Возврат ПолучитьИзВременногоХранилища(АдресРазрешений); Возврат ПолучитьИзВременногоХранилища(АдресРазрешений);
КонецФункции КонецФункции
@@ -1,2 +1,2 @@
<!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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>Для хранения в ИБ дополнительных отчетов и обработок служит справочник <strong>Дополнительные отчеты и обработки</strong>. По команде <strong>Создать</strong> система предложит выбрать файл <a href="v8help://1cv8/ExtRepotrs">внешней обработки или отчета</a>, и <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">настроить его параметры</a>.</p></body></html> <p>Для хранения в ИБ дополнительных отчетов и обработок служит справочник <strong>Дополнительные отчеты и обработки</strong>. По команде <strong>Создать</strong> система предложит выбрать файл <a href="v8help://1cv8/ExtRepotrs">внешней обработки или отчета</a>, и <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">настроить его параметры</a>.</p></body></html>
@@ -17,8 +17,7 @@
, ,
, ,
"Объект.ИспользоватьДляФормыОбъекта", "Объект.ИспользоватьДляФормыОбъекта",
Отказ Отказ);
);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -72,8 +71,7 @@
Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена) Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена)
), ),
, ,
"Объект.Публикация" "Объект.Публикация");
);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -96,8 +94,7 @@
Если НЕ ЭтоНовый() И Вид <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид") Тогда Если НЕ ЭтоНовый() И Вид <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид") Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю( ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Невозможно сменить вид существующего дополнительного отчета или обработки.'"),,,, НСтр("ru = 'Невозможно сменить вид существующего дополнительного отчета или обработки.'"),,,,
Отказ Отказ);
);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -229,8 +226,7 @@
// Создать и зарегистрировать // Создать и зарегистрировать
Команда.РегламентноеЗаданиеGUID = Команда.РегламентноеЗаданиеGUID =
ДополнительныеОтчетыИОбработкиРегламентныеЗадания.ПолучитьИдентификаторЗадания( ДополнительныеОтчетыИОбработкиРегламентныеЗадания.ПолучитьИдентификаторЗадания(
Задание Задание);
);
Иначе Иначе
// Действие не требуется // Действие не требуется
@@ -294,8 +290,7 @@
Использование, Использование,
Лев(ПредставлениеЗадания(Команда), 120), Лев(ПредставлениеЗадания(Команда), 120),
ПараметрыЗадания, ПараметрыЗадания,
Расписание Расписание);
);
КонецЦикла; КонецЦикла;
@@ -346,8 +341,7 @@
+ " / " + " / "
+ НСтр("ru = 'Команда'") + НСтр("ru = 'Команда'")
+ ": " + ": "
+ СокрЛП(Команда.Представление) + СокрЛП(Команда.Представление));
);
КонецФункции КонецФункции
Функция РасписаниеЗадано(Расписание) Функция РасписаниеЗадано(Расписание)
@@ -400,15 +394,21 @@
Процедура ПриЗаписиГлобальногоОтчета(Отказ) Процедура ПриЗаписиГлобальногоОтчета(Отказ)
Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
Попытка
Если ЭтоНовый() Тогда
ВнешнийОбъект = ВнешниеОтчеты.Создать(ИмяОбъекта);
Иначе
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Ссылка);
КонецЕсли;
Исключение
ТекстОшибки = НСтр("ru = 'Ошибка подключения:'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ДополнительныеОтчетыИОбработки.ЗаписатьОшибку(Ссылка, ТекстОшибки);
ДополнительныеСвойства.Вставить("ОшибкаПодключения", ТекстОшибки);
Возврат;
КонецПопытки;
Если ЭтоНовый() Тогда МодульВариантыОтчетов = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ВариантыОтчетов");
ВнешнийОбъект = ВнешниеОтчеты.Создать(ИмяОбъекта); МодульВариантыОтчетов.ОбработкаВариантовДополнительногоОтчета(ЭтотОбъект, Отказ, ВнешнийОбъект);
Иначе
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Ссылка);
КонецЕсли;
Модуль = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ВариантыОтчетов");
Модуль.ОбработкаВариантовДополнительногоОтчета(ЭтотОбъект, Отказ, ВнешнийОбъект);
КонецЕсли; КонецЕсли;
@@ -9,10 +9,17 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Параметры.Свойство("Отбор") И Параметры.Отбор.Свойство("Владелец") Тогда
ЭлементОтбора = Параметры.Отбор.Владелец;
Параметры.Отбор.Удалить("Владелец");
Иначе
ЭлементОтбора = Пользователи.АвторизованныйПользователь();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, Список,
"Владелец", "Владелец",
Пользователи.АвторизованныйПользователь(), ЭлементОтбора,
ВидСравненияКомпоновкиДанных.Равно); ВидСравненияКомпоновкиДанных.Равно);
КонецПроцедуры КонецПроцедуры
@@ -8,5 +8,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПриСозданииФормыНаСервере(ЭтаФорма, СтандартнаяОбработка, Отказ) Тогда
Возврат;
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("Пользователь", Пользователи.ТекущийПользователь()); Список.Параметры.УстановитьЗначениеПараметра("Пользователь", Пользователи.ТекущийПользователь());
КонецПроцедуры КонецПроцедуры
@@ -5,18 +5,6 @@
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Владелец</field>
<orderType>Asc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>ЭтоПапка</field>
<orderType>Desc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>Ссылка</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
@@ -9,20 +9,14 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Параметры.Отбор.Свойство("_Владелец", Свойство) Если Параметры.Отбор.Свойство("Владелец") Тогда
И ЗначениеЗаполнено(Свойство) Тогда
Параметры.Отбор.Удалить("_Владелец");
Параметры.Отбор.Вставить("Владелец", Свойство);
ИначеЕсли Параметры.Отбор.Свойство("Владелец")
И ЗначениеЗаполнено(Параметры.Отбор.Владелец) Тогда
Свойство = Параметры.Отбор.Владелец; Свойство = Параметры.Отбор.Владелец;
Параметры.Отбор.Удалить("Владелец");
КонецЕсли; КонецЕсли;
Если НЕ ЗначениеЗаполнено(Свойство) Тогда Если НЕ ЗначениеЗаполнено(Свойство) Тогда
Элементы.Свойство.Видимость = Истина; Элементы.Свойство.Видимость = Истина;
НастроитьПорядокЗначенийПоСвойствам(Список);
КонецЕсли; КонецЕсли;
Если Параметры.РежимВыбора Тогда Если Параметры.РежимВыбора Тогда
@@ -99,6 +93,41 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
&НаСервере
Процедура НастроитьПорядокЗначенийПоСвойствам(Список)
Перем Порядок;
// Порядок.
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
Порядок = Список.КомпоновщикНастроек.Настройки.Порядок;
Порядок.ИдентификаторПользовательскойНастройки = "ОсновнойПорядок";
Иначе
Порядок = Список.Порядок;
КонецЕсли;
Порядок.Элементы.Очистить();
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Владелец");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ЭтоГруппа");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
КонецПроцедуры
&НаСервере &НаСервере
Процедура УстановитьЗаголовок() Процедура УстановитьЗаголовок()
@@ -169,8 +198,7 @@
Элементы.Владелец.Видимость = Ложь; Элементы.Владелец.Видимость = Ложь;
Элементы.Список.Шапка = Ложь; Элементы.Список.Шапка = Ложь;
Иначе Иначе
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора( ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Владелец");
Список.Отбор, "Владелец");
Элементы.Список.Отображение = ОтображениеТаблицы.Список; Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Элементы.Список.ИзменятьСоставСтрок = Ложь; Элементы.Список.ИзменятьСоставСтрок = Ложь;
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>В списке <strong>Значения свойств объектов</strong> задаются значения <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">дополнительных реквизитов и сведений</a>. При этом для каждого дополнительного реквизита или сведения список значений будет свой. Если список значений большой, то может быть удобно создать группы и разнести значения по ним.</p> <p>В списке <strong>Значения свойств объектов</strong> задаются значения <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">дополнительных реквизитов и сведений</a>. При этом для каждого дополнительного реквизита или сведения список значений будет свой. Если список значений большой, то может быть удобно создать группы и разнести значения по ним.</p>
<p>При формировании списка значений можно указать не только наименование в поле <strong>Значение</strong>, но и указать <strong>Вес</strong> значения (числовое поле). Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования этого поля пользователю необходимо продумывать самостоятельно. Например, для значений свойства Надежность можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).</p> <p>При формировании списка значений можно указать не только наименование в поле <strong>Значение</strong>, но и указать <strong>Вес</strong> значения (числовое поле). Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования этого поля пользователю необходимо продумывать самостоятельно. Например, для значений свойства Надежность можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).</p>
<p> </p></body></html> <p> </p></body></html>
@@ -5,18 +5,6 @@
<userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID>
</filter> </filter>
<order> <order>
<item xsi:type="OrderItemField">
<field>Владелец</field>
<orderType>Asc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>ЭтоПапка</field>
<orderType>Desc</orderType>
</item>
<item xsi:type="OrderItemField">
<field>Ссылка</field>
<orderType>Asc</orderType>
</item>
<viewMode>Normal</viewMode> <viewMode>Normal</viewMode>
<userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID> <userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</userSettingID>
</order> </order>
@@ -9,20 +9,14 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Параметры.Отбор.Свойство("_Владелец", Свойство) Если Параметры.Отбор.Свойство("Владелец") Тогда
И ЗначениеЗаполнено(Свойство) Тогда
Параметры.Отбор.Удалить("_Владелец");
Параметры.Отбор.Вставить("Владелец", Свойство);
ИначеЕсли Параметры.Отбор.Свойство("Владелец")
И ЗначениеЗаполнено(Параметры.Отбор.Владелец) Тогда
Свойство = Параметры.Отбор.Владелец; Свойство = Параметры.Отбор.Владелец;
Параметры.Отбор.Удалить("Владелец");
КонецЕсли; КонецЕсли;
Если НЕ ЗначениеЗаполнено(Свойство) Тогда Если НЕ ЗначениеЗаполнено(Свойство) Тогда
Элементы.Свойство.Видимость = Истина; Элементы.Свойство.Видимость = Истина;
НастроитьПорядокЗначенийПоСвойствам(Список);
КонецЕсли; КонецЕсли;
Если Параметры.РежимВыбора Тогда Если Параметры.РежимВыбора Тогда
@@ -75,6 +69,35 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
&НаСервере
Процедура НастроитьПорядокЗначенийПоСвойствам(Список)
Перем Порядок;
// Порядок.
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
Порядок = Список.КомпоновщикНастроек.Настройки.Порядок;
Порядок.ИдентификаторПользовательскойНастройки = "ОсновнойПорядок";
Иначе
Порядок = Список.Порядок;
КонецЕсли;
Порядок.Элементы.Очистить();
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Владелец");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементПорядка.Использование = Истина;
КонецПроцедуры
&НаСервере &НаСервере
Процедура УстановитьЗаголовок() Процедура УстановитьЗаголовок()
@@ -138,8 +161,7 @@
Элементы.Владелец.Видимость = Ложь; Элементы.Владелец.Видимость = Ложь;
Элементы.Список.Шапка = Ложь; Элементы.Список.Шапка = Ложь;
Иначе Иначе
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора( ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Владелец");
Список.Отбор, "Владелец");
Элементы.Список.Отображение = ОтображениеТаблицы.Список; Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Элементы.Список.ИзменятьСоставСтрок = Ложь; Элементы.Список.ИзменятьСоставСтрок = Ложь;
@@ -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 9.00.8112.16455"></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 9.00.8112.16470"></meta></head><body>
<p>В списке <strong>Значения свойств объектов (иерархия)</strong> задаются значения <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">дополнительных реквизитов и сведений</a>. При этом для каждого дополнительного реквизита или сведения список значений будет свой. В списке можно использовать иерархию значений.</p> <p>В списке <strong>Значения свойств объектов (иерархия)</strong> задаются значения <a href="ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения/Help">дополнительных реквизитов и сведений</a>. При этом для каждого дополнительного реквизита или сведения список значений будет свой. В списке можно использовать иерархию значений.</p>
<p>При формировании списка значений можно указать не только наименование в поле <strong>Значение</strong>, но и указать <strong>Вес</strong> значения (числовое поле). Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования этого поля пользователю необходимо продумывать самостоятельно. Например, для значений свойства Надежность можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).</p> <p>При формировании списка значений можно указать не только наименование в поле <strong>Значение</strong>, но и указать <strong>Вес</strong> значения (числовое поле). Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования этого поля пользователю необходимо продумывать самостоятельно. Например, для значений свойства Надежность можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).</p>
<p> </p></body></html> <p> </p></body></html>
Loaded 100 of 1472 files, more files were not shown because too many files have changed in this diff. Show more