1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-19 21:07:53 +02:00

Объекты из БСП 3.0.3.164.

Заново внедрил контактную информацию и свойства.
This commit is contained in:
Anton Ivanov 2020-01-07 14:10:45 +03:00
parent 20dc71d1c9
commit aa0d798d73
5207 changed files with 662396 additions and 805609 deletions

View File

@ -969,8 +969,8 @@
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xr:DesignTimeRef">Enum.СостоянияБизнесПроцессов.EmptyRef</FillValue>
<FillFromFillingValue>true</FillFromFillingValue>
<FillValue xsi:type="xr:DesignTimeRef">Enum.СостоянияБизнесПроцессов.EnumValue.Активен</FillValue>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>

View File

@ -5,8 +5,7 @@
<p>Открывается по команде <strong>Задания</strong> в разделе <strong>Бизнес-процессы и задачи</strong>.</p>
<p>В списке выводится:</p>
<ul><li><img src="CommonPicture.ВосклицательныйЗнакСерый"></img> - важность, принимает значения <strong>Обычная</strong> (по умолчанию), <strong>Низкая</strong>, <strong>Высокая</strong>. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выбираются соответствующие значения этого поля.
</li><li><img src="CommonPicture.ЗнакСтопЧБ"></img> - остановленные бизнес-процессы в этой колонке обозначаются значком <img src="CommonPicture.ЗнакСтоп"></img>. Для того чтобы <strong>Остановить</strong> или <strong>Продолжить</strong> бизнес-процесс, воспользуйтесь соответствующими кнопками.
</li><li><strong>Номер</strong> - номер проставляется программой автоматически, рядом с номером проставляется значок <img src="StdPicture.BusinessProcess"></img>, обозначающий вид бизнес-процесса <strong>Задание</strong>. Если бизнес-процесс не стартован, значок будет неактивным (серым).
</li><li><strong>Номер</strong> - номер проставляется программой автоматически, рядом с номером проставляется один из значков <img src="CommonPicture.СостоянияПроцессов"></img>, обозначающий состояние бизнес-процесса <strong>Задание</strong>.
</li><li><strong>Дата</strong> - дата и время создания бизнес-процесса <strong>Задание</strong>.
</li><li><strong>Задание</strong> - полное наименование.
</li><li><strong>Срок исполнения</strong> - дата и время, к которому <strong>Задание</strong> должно быть выполнено.
@ -15,5 +14,7 @@
<li>Программа автоматически отбирает задания по полю <strong>Автор</strong> для текущего <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>. Можно отобрать задания по любому <strong>Автору</strong>, для этого выберите его из списка пользователей.
</li><li>Для отбора по полю <strong>Исполнитель</strong> также можно выбрать нужного из списка <a href="Catalog.Пользователи/Help">пользователей</a>, в случае ролевой адресации становится доступным список <a href="CommonForm.ВыборИсполнителяБизнесПроцесса/Help">исполнителей роли</a>.</li></a></ul><h3>Просмотр всех заданий</h3>
<ul><li>Установите соответствующие флажки, для того чтобы <strong>Показывать завершенные </strong>и <strong>остановленные</strong> задания. По умолчанию флажки сняты.</li></ul><h3>Ввод нового задания</h3>
<ul><li>Нажмите <strong>Создать</strong>, заполните необходимые <a href="BusinessProcess.Задание.Form.ФормаБизнесПроцесса/Help">поля</a>.</li></ul><h3>См. также: </h3>
<ul><li>Нажмите <strong>Создать</strong>, заполните необходимые <a href="BusinessProcess.Задание.Form.ФормаБизнесПроцесса/Help">поля</a>.</li></ul><h3>Управление движением бизнес-процесса</h3>
<ul><li>С помощью кнопки можно <strong>Остановить</strong> начатый бизнес-процесс.
</li><li>С помощью кнопки <strong>Продолжить</strong> в любой момент можно возобновить выполнение остановленного бизнес-процесса. </li></ul><h3>См. также: </h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>

View File

@ -1,16 +1,48 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Программный интерфейс для подсистемы бизнес-процессов и задач.
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
//
// Возвращаемое значение:
// Массив - список имен реквизитов объекта.
Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт
Результат = Новый Массив;
Результат.Добавить("Автор");
Результат.Добавить("Важность");
Результат.Добавить("Исполнитель");
Результат.Добавить("ПроверитьВыполнение");
Результат.Добавить("Проверяющий");
Результат.Добавить("СрокИсполнения");
Результат.Добавить("СрокПроверки");
Возврат Результат;
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// СтандартныеПодсистемы.БизнесПроцессыИЗадачи
// Получить структуру с описанием формы выполнения задачи.
// Вызывается при открытии формы выполнения задачи.
//
// Параметры:
// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя - задача.
// ТочкаМаршрутаБизнесПроцесса - точка маршрута.
// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя - задача.
// ТочкаМаршрутаБизнесПроцесса - ТочкаМаршрутаБизнесПроцессаСсылка - точка маршрута.
//
// Возвращаемое значение:
// Структура - структуру с описанием формы выполнения задачи.
@ -48,7 +80,7 @@
// Параметры:
// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя - задача.
// БизнесПроцессСсылка - БизнесПроцессСсылка - бизнес-процесс, по которому сформирована задача ЗадачаСсылка.
// ТочкаМаршрутаБизнесПроцесса - точка маршрута.
// ТочкаМаршрутаБизнесПроцесса - ТочкаМаршрутаБизнесПроцессаСсылка - точка маршрута.
//
Процедура ОбработкаВыполненияПоУмолчанию(ЗадачаСсылка, БизнесПроцессСсылка, ТочкаМаршрутаБизнесПроцесса) Экспорт
@ -70,36 +102,167 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Групповое изменение объектов.
// Конец СтандартныеПодсистемы.БизнесПроцессыИЗадачи
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
//
// Возвращаемое значение:
// Массив - список имен реквизитов объекта.
Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт
// СтандартныеПодсистемы.УправлениеДоступом
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Результат = Новый Массив;
Результат.Добавить("Автор");
Результат.Добавить("Важность");
Результат.Добавить("Исполнитель");
Результат.Добавить("ПроверитьВыполнение");
Результат.Добавить("Проверяющий");
Результат.Добавить("СрокИсполнения");
Результат.Добавить("СрокПроверки");
Возврат Результат;
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК Задание
|
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадач
|ПО
| ИсполнителиЗадач.РольИсполнителя = Задание.Исполнитель
| И ИсполнителиЗадач.ОсновнойОбъектАдресации = Задание.ОсновнойОбъектАдресации
| И ИсполнителиЗадач.ДополнительныйОбъектАдресации = Задание.ДополнительныйОбъектАдресации
|
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсполнителиЗадач КАК ПроверяющиеЗадач
|ПО
| ПроверяющиеЗадач.РольИсполнителя = Задание.Проверяющий
| И ПроверяющиеЗадач.ОсновнойОбъектАдресации = Задание.ОсновнойОбъектАдресацииПроверяющий
| И ПроверяющиеЗадач.ДополнительныйОбъектАдресации = Задание.ДополнительныйОбъектАдресацииПроверяющий
|;
|РазрешитьЧтение
|ГДЕ
| ЗначениеРазрешено(Автор)
| ИЛИ ЗначениеРазрешено(Исполнитель КРОМЕ Справочник.РолиИсполнителей)
| ИЛИ ЗначениеРазрешено(ИсполнителиЗадач.Исполнитель)
| ИЛИ ЗначениеРазрешено(Проверяющий КРОМЕ Справочник.РолиИсполнителей)
| ИЛИ ЗначениеРазрешено(ПроверяющиеЗадач.Исполнитель)
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ЗначениеРазрешено(Автор)";
КонецФункции
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
////////////////////////////////////////////////////////////////////////////////
// Обработчики обновления
// Регистрирует на плане обмена ОбновлениеИнформационнойБазы объекты,
// которые необходимо обновить на новую версию.
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаСНаборамиЗначенийДоступа.Ссылка
|ИЗ
| %1 КАК ТаблицаСНаборамиЗначенийДоступа
|УПОРЯДОЧИТЬ ПО
| ТаблицаСНаборамиЗначенийДоступа.Дата УБЫВ";
Запрос.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Запрос.Текст, Метаданные.БизнесПроцессы.Задание.ПолноеИмя());
МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, МассивСсылок);
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
БизнесПроцесс = Метаданные.БизнесПроцессы.Задание;
ИмяПроцедуры = "БизнесПроцессы.Задание.ОбработатьДанныеДляПереходаНаНовуюВерсию";
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
Задание = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "БизнесПроцесс.Задание");
Пока Задание.Следующий() Цикл
Попытка
ОбновитьНаборыЗначенийДоступаЗадания(Параметры, Задание.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
Исключение
// Если не удалось обработать задание, повторяем попытку снова.
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обновить права доступа для ""%1"" в обработчике ""%2"" по причине:
|%3'"),
Задание.Ссылка, ИмяПроцедуры, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
БизнесПроцесс, Задание.Ссылка, ТекстСообщения);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "БизнесПроцесс.Задание");
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре ""%1"" не удалось обновить права доступа для некоторых объектов (пропущены): %2'"),
ИмяПроцедуры, ПроблемныхОбъектов);
ВызватьИсключение ТекстСообщения;
КонецЕсли;
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
БизнесПроцесс,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Процедура ""%1"" обновила права доступа для очередной порции объектов: %2'"),
ИмяПроцедуры, ОбъектовОбработано));
КонецПроцедуры
Процедура ОбновитьНаборыЗначенийДоступаЗадания(Параметры, ЗаданиеСсылка)
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
НачатьТранзакцию();
Попытка
// Блокируем объект от изменения другими сеансами.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("БизнесПроцесс.Задание");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ЗаданиеСсылка);
Блокировка.Заблокировать();
ЗаданиеОбъект = ЗаданиеСсылка.ПолучитьОбъект();
Если ЗаданиеОбъект = Неопределено
Или ЗаданиеОбъект.ГруппаИсполнителейЗадач <> Справочники.ГруппыИсполнителейЗадач.ПустаяСсылка() Тогда
ОтменитьТранзакцию();
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ЗаданиеСсылка);
Возврат;
КонецЕсли;
ЗаданиеОбъект.ГруппаИсполнителейЗадач = ?(ТипЗнч(ЗаданиеОбъект.Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(ЗаданиеОбъект.Исполнитель,
ЗаданиеОбъект.ОсновнойОбъектАдресации, ЗаданиеОбъект.ДополнительныйОбъектАдресации),
ЗаданиеОбъект.Исполнитель);
ЗаданиеОбъект.ГруппаИсполнителейЗадачПроверяющий = ?(ТипЗнч(ЗаданиеОбъект.Проверяющий) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(ЗаданиеОбъект.Проверяющий,
ЗаданиеОбъект.ОсновнойОбъектАдресацииПроверяющий, ЗаданиеОбъект.ДополнительныйОбъектАдресацииПроверяющий),
ЗаданиеОбъект.Проверяющий);
МодульУправлениеДоступом.ОбновитьНаборыЗначенийДоступа(ЗаданиеОбъект);
Если ЗаданиеОбъект.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ЗаданиеОбъект);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ЗаданиеСсылка);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Прочие
// Устанавливает состояние элементов формы задачи.
Процедура УстановитьСостояниеЭлементовФормыЗадачи(Форма) Экспорт
@ -113,11 +276,11 @@
КонецПроцедуры
Функция РезультатВыполненияПриПеренаправлении(Знач ЗадачаСсылка)
Функция РезультатВыполненияПриПеренаправлении(Знач ЗадачаСсылка)
СтрокаФормат = НСтр("ru = '%1, %2 перенаправил(а) задачу:
СтрокаФормат = "%1, %2 " + НСтр("ru = 'перенаправил(а) задачу'") + ":
|%3
|'");
|";
Комментарий = СокрЛП(ЗадачаСсылка.РезультатВыполнения);
Комментарий = ?(ПустаяСтрока(Комментарий), "", Комментарий + Символы.ПС);

View File

@ -1,118 +1,35 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.УправлениеДоступом
// См. описание в комментарии к одноименной процедуре в модуле УправлениеДоступом.
// См. УправлениеДоступом.ЗаполнитьНаборыЗначенийДоступа.
Процедура ЗаполнитьНаборыЗначенийДоступа(Таблица) Экспорт
// Логика ограничения для
// - чтения: Автор ИЛИ Исполнитель (с учетом адресации) ИЛИ Проверяющий (с учетом адресации) ИЛИ Предмет
// - изменения: Автор.
БизнесПроцессыИЗадачиПереопределяемый.ПриЗаполненииНаборовЗначенийДоступа(ЭтотОбъект, Таблица);
// Если предмет не задан (т.е. бизнес-процесс без основания),
// тогда предмет не участвует в логике ограничения.
// Чтение, Изменение: набор № 1.
Строка = Таблица.Добавить();
Строка.НомерНабора = 1;
Строка.Чтение = Истина;
Строка.Изменение = Истина;
Строка.ЗначениеДоступа = Автор;
// Чтение: набор № 2.
Строка = Таблица.Добавить();
Строка.НомерНабора = 2;
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадач;
// Чтение: набор № 3.
Строка = Таблица.Добавить();
Строка.НомерНабора = 3;
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадачПроверяющий;
// Чтение: набор № 4.
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
Если ТипЗнч(Предмет) = Тип("СправочникСсылка.Пользователи") Тогда
Строка = Таблица.Добавить();
Строка.НомерНабора = 4;
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = Предмет;
ИначеЕсли ЗначениеЗаполнено(Предмет) И МодульУправлениеДоступом.ВозможноЗаполнитьНаборыЗначенийДоступа(Предмет) Тогда
НаборыГруппыДоступаИсполнителей = МодульУправлениеДоступом.ТаблицаНаборыЗначенийДоступа();
Строка = НаборыГруппыДоступаИсполнителей.Добавить();
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадач;
Строка = НаборыГруппыДоступаИсполнителей.Добавить();
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадачПроверяющий;
НаборыПредмета = МодульУправлениеДоступом.ТаблицаНаборыЗначенийДоступа();
МодульУправлениеДоступом.ЗаполнитьНаборыЗначенийДоступа(Предмет, НаборыПредмета, Ссылка);
НаборыПредмета = НаборыПредмета.Скопировать(НаборыПредмета.НайтиСтроки(Новый Структура("Чтение", Истина)));
МодульУправлениеДоступом.ДобавитьНаборыЗначенийДоступа(НаборыПредмета, НаборыГруппыДоступаИсполнителей, Истина);
МодульУправлениеДоступом.ДобавитьНаборыЗначенийДоступа(Таблица, НаборыПредмета);
Если Таблица.Количество() > 0 Тогда
Возврат;
КонецЕсли;
ЗаполнитьНаборыЗначенийДоступаПоУмолчанию(Таблица);
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
// Актуализирует значения реквизит невыполненных задач
// согласно реквизитам бизнес-процесса Задание:
// Важность, СрокИсполнения, Наименование и Автор.
//
Процедура ИзменитьРеквизитыНевыполненныхЗадач() Экспорт
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
ЭлементБлокировки.УстановитьЗначение("БизнесПроцесс", Ссылка);
Блокировка.Заблокировать();
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Задачи.Ссылка КАК Ссылка
|ИЗ
| Задача.ЗадачаИсполнителя КАК Задачи
|ГДЕ
| Задачи.БизнесПроцесс = &БизнесПроцесс
| И Задачи.ПометкаУдаления = ЛОЖЬ
| И Задачи.Выполнена = ЛОЖЬ");
Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЗадачаОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЗадачаОбъект.Важность = Важность;
ЗадачаОбъект.СрокИсполнения =
?(ЗадачаОбъект.ТочкаМаршрута = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить,
СрокИсполненияЗадачиДляВыполнения(), СрокИсполненияЗадачиДляПроверки());
ЗадачаОбъект.Наименование =
?(ЗадачаОбъект.ТочкаМаршрута = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить,
НаименованиеЗадачиДляВыполнения(), НаименованиеЗадачиДляПроверки());
ЗадачаОбъект.Автор = Автор;
// Не выполняем предварительную блокировку данных для редактирования, т.к.
// Это изменение имеет более высокий приоритет над открытыми формами задач.
ЗадачаОбъект.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -133,44 +50,33 @@
БизнесПроцессыИЗадачиСервер.ПроверитьПраваНаИзменениеСостоянияБизнесПроцесса(ЭтотОбъект);
Если ЗначениеЗаполнено(ГлавнаяЗадача)
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ГлавнаяЗадача, "БизнесПроцесс") = ЭтотОбъект.Ссылка Тогда
Если ЗначениеЗаполнено(ГлавнаяЗадача)
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ГлавнаяЗадача, "БизнесПроцесс") = Ссылка Тогда
ВызватьИсключение НСтр("ru = 'Собственная задача бизнес-процесса не может быть указана как главная задача.'");
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ГруппаИсполнителейЗадач = ?(ТипЗнч(Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(Исполнитель, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации),
ГруппаИсполнителейЗадач = ?(ТипЗнч(Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(Исполнитель, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации),
Исполнитель);
ГруппаИсполнителейЗадачПроверяющий = ?(ТипЗнч(Проверяющий) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(Проверяющий, ОсновнойОбъектАдресацииПроверяющий, ДополнительныйОбъектАдресацииПроверяющий),
ГруппаИсполнителейЗадачПроверяющий = ?(ТипЗнч(Проверяющий) = Тип("СправочникСсылка.РолиИсполнителей"),
БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(Проверяющий, ОсновнойОбъектАдресацииПроверяющий, ДополнительныйОбъектАдресацииПроверяющий),
Проверяющий);
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если НЕ ЭтоНовый() И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Предмет") <> Предмет Тогда
ИзменитьПредметЗадач();
ИзменитьПредметЗадач();
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ЭтоНовый() Тогда
Автор = Пользователи.АвторизованныйПользователь();
Важность = Перечисления.ВариантыВажностиЗадачи.Обычная;
НаПроверке = Истина;
Проверяющий = Пользователи.АвторизованныйПользователь();
Состояние = Перечисления.СостоянияБизнесПроцессов.Активен;
Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Пользователи") Тогда
Исполнитель = ДанныеЗаполнения;
Иначе
@ -316,6 +222,54 @@
#Область СлужебныеПроцедурыИФункции
// Актуализирует значения реквизит невыполненных задач
// согласно реквизитам бизнес-процесса Задание:
// Важность, СрокИсполнения, Наименование и Автор.
//
Процедура ИзменитьРеквизитыНевыполненныхЗадач() Экспорт
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
ЭлементБлокировки.УстановитьЗначение("БизнесПроцесс", Ссылка);
Блокировка.Заблокировать();
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Задачи.Ссылка КАК Ссылка
|ИЗ
| Задача.ЗадачаИсполнителя КАК Задачи
|ГДЕ
| Задачи.БизнесПроцесс = &БизнесПроцесс
| И Задачи.ПометкаУдаления = ЛОЖЬ
| И Задачи.Выполнена = ЛОЖЬ");
Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЗадачаОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЗадачаОбъект.Важность = Важность;
ЗадачаОбъект.СрокИсполнения =
?(ЗадачаОбъект.ТочкаМаршрута = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить,
СрокИсполненияЗадачиДляВыполнения(), СрокИсполненияЗадачиДляПроверки());
ЗадачаОбъект.Наименование =
?(ЗадачаОбъект.ТочкаМаршрута = БизнесПроцессы.Задание.ТочкиМаршрута.Выполнить,
НаименованиеЗадачиДляВыполнения(), НаименованиеЗадачиДляПроверки());
ЗадачаОбъект.Автор = Автор;
// Не выполняем предварительную блокировку данных для редактирования, т.к.
// Это изменение имеет более высокий приоритет над открытыми формами задач.
ЗадачаОбъект.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура ИзменитьПредметЗадач()
УстановитьПривилегированныйРежим(Истина);
@ -379,12 +333,12 @@
Функция РезультатВыполненияТочкиВыполнить(Знач ЗадачаСсылка)
СтрокаФормат = ?(Выполнено,
НСтр("ru = '%1, %2 выполнил(а) задачу:
"%1, %2 " + НСтр("ru = 'выполнил(а) задачу'") + ":
|%3
|'"),
НСтр("ru = '%1, %2 отклонил(а) задачу:
|",
"%1, %2 " + НСтр("ru = 'отклонил(а) задачу'") + ":
|%3
|'"));
|");
ЗадачаДанные = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗадачаСсылка,
"РезультатВыполнения,ДатаИсполнения,Исполнитель");
Комментарий = СокрЛП(ЗадачаДанные.РезультатВыполнения);
@ -394,20 +348,20 @@
КонецФункции
Функция РезультатВыполненияТочкиПроверить(Знач ЗадачаСсылка)
Функция РезультатВыполненияТочкиПроверить(Знач ЗадачаСсылка)
Если НЕ Подтверждено Тогда
СтрокаФормат = НСтр("ru = '%1, %2 вернул(а) задачу на доработку:
СтрокаФормат = "%1, %2 " + НСтр("ru = 'вернул(а) задачу на доработку'") + ":
|%3
|'");
|";
Иначе
СтрокаФормат = ?(Выполнено,
НСтр("ru = '%1, %2 подтвердил(а) выполнение задачи:
"%1, %2 " + НСтр("ru = 'подтвердил(а) выполнение задачи'") + ":
|%3
|'"),
НСтр("ru = '%1, %2 подтвердил(а) отмену задачи:
|",
"%1, %2 " + НСтр("ru = 'подтвердил(а) отмену задачи'") + ":
|%3
|'"));
|");
КонецЕсли;
ЗадачаДанные = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗадачаСсылка,
@ -419,6 +373,37 @@
КонецФункции
Процедура ЗаполнитьНаборыЗначенийДоступаПоУмолчанию(Таблица)
// Логика ограничения по умолчанию для
// - чтения: Автор ИЛИ Исполнитель (с учетом адресации) ИЛИ Проверяющий (с учетом адресации)
// - изменения: Автор.
// Если предмет не задан (т.е. бизнес-процесс без основания), тогда предмет не участвует в логике ограничения.
// Чтение, Изменение: набор № 1.
Строка = Таблица.Добавить();
Строка.НомерНабора = 1;
Строка.Чтение = Истина;
Строка.Изменение = Истина;
Строка.ЗначениеДоступа = Автор;
// Чтение: набор № 2.
Строка = Таблица.Добавить();
Строка.НомерНабора = 2;
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадач;
// Чтение: набор № 3.
Строка = Таблица.Добавить();
Строка.НомерНабора = 3;
Строка.Чтение = Истина;
Строка.ЗначениеДоступа = ГруппаИсполнителейЗадачПроверяющий;
КонецПроцедуры
#КонецОбласти
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -19,6 +19,12 @@
<ExtendedTooltip name="ЗаписатьИЗакрытьExtendedTooltip" id="166"/>
</Button>
<ButtonGroup name="ОсновнаяКоманднаяПанель" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основная командная панель</v8:content>
</v8:item>
</Title>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="ОсновнаяКоманднаяПанельExtendedTooltip" id="167"/>
</ButtonGroup>
@ -49,6 +55,7 @@
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
<Event name="NotificationProcessing">ОбработкаОповещения</Event>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnOpen">ПриОткрытии</Event>
@ -56,385 +63,416 @@
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаСостояние" id="131">
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="172"/>
</UsualGroup>
<UsualGroup name="Шапка" id="154">
<UsualGroup name="Документ" id="207">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шапка</v8:content>
<v8:content>Документ</v8:content>
</v8:item>
</Title>
<HorizontalStretch>false</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ШапкаExtendedTooltip" id="173"/>
<ExtendedTooltip name="ДокументРасширеннаяПодсказка" id="208"/>
<ChildItems>
<UsualGroup name="ГруппыШапки" id="165">
<UsualGroup name="Шапка" id="154">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группы шапки</v8:content>
<v8:content>Шапка</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<Representation>None</Representation>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппыШапкиExtendedTooltip" id="174"/>
<ExtendedTooltip name="ШапкаExtendedTooltip" id="173"/>
<ChildItems>
<UsualGroup name="ГруппаАвторИсполнитель" id="160">
<UsualGroup name="ГруппыШапки" id="165">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор и исполнитель</v8:content>
<v8:content>Группы шапки</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаАвторИсполнительExtendedTooltip" id="175"/>
<ExtendedTooltip name="ГруппыШапкиExtendedTooltip" id="174"/>
<ChildItems>
<InputField name="Автор" id="161">
<DataPath>Объект.Автор</DataPath>
<ReadOnly>true</ReadOnly>
<Width>35</Width>
<ContextMenu name="АвторКонтекстноеМеню" id="162"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="176"/>
</InputField>
<InputField name="Исполнитель" id="163">
<DataPath>Исполнитель</DataPath>
<ReadOnly>true</ReadOnly>
<UsualGroup name="ГруппаАвторИсполнитель" id="160">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор исполнитель</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаАвторИсполнительExtendedTooltip" id="175"/>
<ChildItems>
<InputField name="Автор" id="161">
<DataPath>Объект.Автор</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="АвторКонтекстноеМеню" id="162"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="176"/>
</InputField>
<InputField name="Исполнитель" id="163">
<DataPath>Исполнитель</DataPath>
<ReadOnly>true</ReadOnly>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнитель</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<DropListButton>false</DropListButton>
<ChoiceButton>true</ChoiceButton>
<ChoiceButtonRepresentation>ShowInInputField</ChoiceButtonRepresentation>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="164"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="177"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаДатаИСрок" id="109">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата и срок</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДатаИСрокExtendedTooltip" id="178"/>
<ChildItems>
<InputField name="Дата" id="152">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДатаКонтекстноеМеню" id="153"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="179"/>
</InputField>
<InputField name="СрокИсполнения" id="12">
<DataPath>Объект.СрокИсполнения</DataPath>
<ReadOnly>true</ReadOnly>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="180"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНомерИВажность" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер и важность</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНомерИВажностьExtendedTooltip" id="181"/>
<ChildItems>
<InputField name="Номер" id="149">
<DataPath>Объект.Number</DataPath>
<Width>14</Width>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="150"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="182"/>
</InputField>
<InputField name="Важность" id="16">
<DataPath>Объект.Важность</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>14</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="183"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПриоритет" id="155">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Приоритет</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПриоритетExtendedTooltip" id="184"/>
<ChildItems>
<InputField name="СрокНачалаИсполнения" id="119">
<DataPath>Объект.ДатаНачала</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнитель</v8:content>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>35</Width>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="164"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="177"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаДатаИСрок" id="109">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата и срок</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДатаИСрокExtendedTooltip" id="178"/>
<ChildItems>
<InputField name="Дата" id="152">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДатаКонтекстноеМеню" id="153"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="179"/>
</InputField>
<InputField name="СрокИсполнения" id="12">
<DataPath>Объект.СрокИсполнения</DataPath>
<ReadOnly>true</ReadOnly>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="180"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНомерИВажность" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер и важность</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНомерИВажностьExtendedTooltip" id="181"/>
<ChildItems>
<InputField name="Номер" id="149">
<DataPath>Объект.Number</DataPath>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="150"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="182"/>
</InputField>
<InputField name="Важность" id="16">
<DataPath>Объект.Важность</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="183"/>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияКонтекстноеМеню" id="120"/>
<ExtendedTooltip name="СрокНачалаИсполненияExtendedTooltip" id="185"/>
<Events>
<Event name="OnChange">СрокНачалаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокНачалаИсполненияВремя" id="135">
<DataPath>Объект.ДатаНачала</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияВремяКонтекстноеМеню" id="136"/>
<ExtendedTooltip name="СрокНачалаИсполненияВремяExtendedTooltip" id="186"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПриоритет" id="155">
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПриоритетExtendedTooltip" id="184"/>
<ChildItems>
<InputField name="СрокНачалаИсполнения" id="119">
<DataPath>Объект.ДатаНачала</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияКонтекстноеМеню" id="120"/>
<ExtendedTooltip name="СрокНачалаИсполненияExtendedTooltip" id="185"/>
<Events>
<Event name="OnChange">СрокНачалаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокНачалаИсполненияВремя" id="135">
<DataPath>Объект.ДатаНачала</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияВремяКонтекстноеМеню" id="136"/>
<ExtendedTooltip name="СрокНачалаИсполненияВремяExtendedTooltip" id="186"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<Pages name="Страницы" id="201">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страницы</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СтраницыРасширеннаяПодсказка" id="202"/>
<ChildItems>
<Page name="Главное" id="203">
<Pages name="Страницы" id="201">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Главное</v8:content>
<v8:content>Страницы</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ГлавноеРасширеннаяПодсказка" id="204"/>
<ExtendedTooltip name="СтраницыРасширеннаяПодсказка" id="202"/>
<ChildItems>
<UsualGroup name="ГруппаСодержание" id="94">
<Page name="Главное" id="203">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
<v8:content>Главное</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="187"/>
<ExtendedTooltip name="ГлавноеРасширеннаяПодсказка" id="204"/>
<ChildItems>
<InputField name="Наименование" id="156">
<DataPath>Объект.Description</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="157"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="188"/>
</InputField>
<LabelField name="Предмет" id="129">
<DataPath>ПредметСтрокой</DataPath>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ПредметКонтекстноеМеню" id="130"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="189"/>
<Events>
<Event name="Click">ПредметНажатие</Event>
</Events>
</LabelField>
<InputField name="Содержание" id="18">
<DataPath>ЗаданиеСодержание</DataPath>
<ReadOnly>true</ReadOnly>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Height>5</Height>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="190"/>
</InputField>
<UsualGroup name="ГруппаСодержание" id="94">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="187"/>
<ChildItems>
<InputField name="Наименование" id="156">
<DataPath>Объект.Description</DataPath>
<ReadOnly>true</ReadOnly>
<AutoMaxWidth>false</AutoMaxWidth>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="157"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="188"/>
</InputField>
<LabelField name="Предмет" id="129">
<DataPath>ПредметСтрокой</DataPath>
<Width>60</Width>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ПредметКонтекстноеМеню" id="130"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="189"/>
<Events>
<Event name="Click">ПредметНажатие</Event>
</Events>
</LabelField>
<InputField name="Содержание" id="18">
<DataPath>ЗаданиеСодержание</DataPath>
<ReadOnly>true</ReadOnly>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="190"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
</Page>
<Page name="ИсторияВыполнения" id="205">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ИсторияВыполненияРасширеннаяПодсказка" id="206"/>
<ChildItems>
<InputField name="РезультатВыполнения" id="126">
<DataPath>ЗаданиеРезультатВыполнения</DataPath>
<ReadOnly>true</ReadOnly>
</Page>
<Page name="ИсторияВыполнения" id="205">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="РезультатВыполненияКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="РезультатВыполненияExtendedTooltip" id="191"/>
</InputField>
<ExtendedTooltip name="ИсторияВыполненияРасширеннаяПодсказка" id="206"/>
<ChildItems>
<InputField name="РезультатВыполнения" id="126">
<DataPath>ЗаданиеРезультатВыполнения</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="РезультатВыполненияКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="РезультатВыполненияExtendedTooltip" id="191"/>
</InputField>
</ChildItems>
</Page>
</ChildItems>
</Page>
</ChildItems>
</Pages>
<UsualGroup name="ГруппаРезультат" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Результат выполнения задания:</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ExtendedTooltip name="ГруппаРезультатExtendedTooltip" id="192"/>
<ChildItems>
<InputField name="ОписаниеРезультата" id="78">
<DataPath>Объект.РезультатВыполнения</DataPath>
<DefaultItem>true</DefaultItem>
<TitleLocation>None</TitleLocation>
<ToolTip>
</Pages>
<UsualGroup name="ГруппаСостояние" id="131">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Описание результата выполнения</v8:content>
<v8:content>Состояние</v8:content>
</v8:item>
</ToolTip>
<Height>2</Height>
<VerticalStretch>false</VerticalStretch>
<ContextMenu name="ОписаниеРезультатаКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="ОписаниеРезультатаExtendedTooltip" id="193"/>
</InputField>
<UsualGroup name="ГруппаВыполненоДата" id="54">
<Group>Horizontal</Group>
<Representation>None</Representation>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаВыполненоДатаExtendedTooltip" id="194"/>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="172"/>
</UsualGroup>
<UsualGroup name="ГруппаРезультат" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Результат выполнения задания:</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ExtendedTooltip name="ГруппаРезультатExtendedTooltip" id="192"/>
<ChildItems>
<Button name="Выполнено" id="123">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Выполнено</CommandName>
<ExtendedTooltip name="ВыполненоExtendedTooltip" id="195"/>
</Button>
<Button name="Отклонено" id="137">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Отменено</CommandName>
<Picture>
<xr:Ref>StdPicture.Stop</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ОтклоненоExtendedTooltip" id="196"/>
</Button>
<InputField name="ДатаИсполнения" id="55">
<DataPath>Объект.ДатаИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата</v8:content>
</v8:item>
</Title>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ДатаИсполненияExtendedTooltip" id="197"/>
<Events>
<Event name="OnChange">ДатаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="ДатаИсполненияВремя" id="146">
<DataPath>Объект.ДатаИсполнения</DataPath>
<InputField name="ОписаниеРезультата" id="78">
<DataPath>Объект.РезультатВыполнения</DataPath>
<DefaultItem>true</DefaultItem>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
<v8:content>Описание результата выполнения</v8:content>
</v8:item>
</ToolTip>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<AutoMaxWidth>false</AutoMaxWidth>
<ContextMenu name="ОписаниеРезультатаКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="ОписаниеРезультатаExtendedTooltip" id="193"/>
</InputField>
<UsualGroup name="ГруппаВыполненоДата" id="54">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
<v8:content>Выполнено дата</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияВремяКонтекстноеМеню" id="147"/>
<ExtendedTooltip name="ДатаИсполненияВремяExtendedTooltip" id="198"/>
</InputField>
<Button name="ИзменитьЗадание" id="199">
<Type>Hyperlink</Type>
<CommandName>Form.Command.ИзменитьЗадание</CommandName>
<ExtendedTooltip name="ИзменитьЗаданиеРасширеннаяПодсказка" id="200"/>
</Button>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаВыполненоДатаExtendedTooltip" id="194"/>
<ChildItems>
<Button name="Выполнено" id="123">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Выполнено</CommandName>
<ExtendedTooltip name="ВыполненоExtendedTooltip" id="195"/>
</Button>
<Button name="Отклонено" id="137">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Отменено</CommandName>
<Picture>
<xr:Ref>StdPicture.Stop</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ОтклоненоExtendedTooltip" id="196"/>
</Button>
<InputField name="ДатаИсполнения" id="55">
<DataPath>Объект.ДатаИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата</v8:content>
</v8:item>
</Title>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ДатаИсполненияExtendedTooltip" id="197"/>
<Events>
<Event name="OnChange">ДатаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="ДатаИсполненияВремя" id="146">
<DataPath>Объект.ДатаИсполнения</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияВремяКонтекстноеМеню" id="147"/>
<ExtendedTooltip name="ДатаИсполненияВремяExtendedTooltip" id="198"/>
</InputField>
<Button name="ИзменитьЗадание" id="199">
<Type>Hyperlink</Type>
<CommandName>Form.Command.ИзменитьЗадание</CommandName>
<ExtendedTooltip name="ИзменитьЗаданиеРасширеннаяПодсказка" id="200"/>
</Button>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
@ -449,12 +487,6 @@
<SavedData>true</SavedData>
</Attribute>
<Attribute name="НачальныйПризнакВыполнения" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Начальный признак выполнения</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -475,23 +507,11 @@
</Type>
</Attribute>
<Attribute name="ТекущийПользователь" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текущий пользователь</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
</Attribute>
<Attribute name="ЗаданиеВыполнено" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнено</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -575,7 +595,6 @@
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ВыполненоВыполнить</Action>
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Отменено" id="2">
@ -592,7 +611,6 @@
</v8:item>
</ToolTip>
<Action>Отменено</Action>
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Дополнительно" id="4">

View File

@ -1,13 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Для нового объекта выполняем код инициализации формы в ПриСозданииНаСервере.
// Для существующего - в ПриЧтенииНаСервере.
Если Объект.Ссылка.Пустая() Тогда
@ -16,6 +19,16 @@
ТекущийПользователь = Пользователи.ТекущийПользователь();
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайлами = ОбщегоНазначения.ОбщийМодуль("РаботаСФайлами");
ПараметрыГиперссылки = МодульРаботаСФайлами.ГиперссылкаФайлов();
ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
ПараметрыГиперссылки.Владелец = "Объект.БизнесПроцесс";
МодульРаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаКлиенте
@ -23,6 +36,13 @@
БизнесПроцессыИЗадачиКлиент.ОбновитьДоступностьКомандПринятияКИсполнению(ЭтотОбъект);
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
@ -34,7 +54,7 @@
КонецЕсли;
Если НЕ ЗаданиеВыполнено И НЕ ЗначениеЗаполнено(ТекущийОбъект.РезультатВыполнения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Укажите причину, по которой задача отклоняется.'"),,
"Объект.РезультатВыполнения",,
Отказ);
@ -57,6 +77,13 @@
КонецЕсли;
КонецЕсли;
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
@ -64,6 +91,25 @@
ИнициализацияФормы();
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
#КонецОбласти
@ -103,6 +149,40 @@
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область ОбработчикиКомандФормы
@ -152,6 +232,18 @@
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -160,22 +252,30 @@
Процедура ИнициализацияФормы()
НачальныйПризнакВыполнения = Объект.Выполнена;
ПрочитатьРеквизитыБизнесПроцесса();
ПрочитатьРеквизитыБизнесПроцесса();
УстановитьСостояниеЭлементов();
ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач");
Элементы.СрокНачалаИсполненияВремя.Видимость = ИспользоватьДатуИВремяВСрокахЗадач;
Элементы.ДатаИсполненияВремя.Видимость = ИспользоватьДатуИВремяВСрокахЗадач;
БизнесПроцессыИЗадачиСервер.УстановитьФорматДаты(Элементы.СрокИсполнения);
БизнесПроцессыИЗадачиСервер.УстановитьФорматДаты(Элементы.Дата);
БизнесПроцессыИЗадачиСервер.ФормаЗадачиПриСозданииНаСервере(ЭтотОбъект, Объект,
БизнесПроцессыИЗадачиСервер.ФормаЗадачиПриСозданииНаСервере(ЭтотОбъект, Объект,
Элементы.ГруппаСостояние, Элементы.ДатаИсполнения);
Элементы.ОписаниеРезультата.ТолькоПросмотр = Объект.Выполнена;
Элементы.ИзменитьЗадание.Видимость = (Объект.Автор = Пользователи.ТекущийПользователь());
Исполнитель = ?(ЗначениеЗаполнено(Объект.Исполнитель), Объект.Исполнитель, Объект.РольИсполнителя);
Если ПравоДоступа("Изменение", Метаданные.БизнесПроцессы.Задание) Тогда
Элементы.Выполнено.Доступность = Истина;
Элементы.Отклонено.Доступность = Истина;
Иначе
Элементы.Выполнено.Доступность = Ложь;
Элементы.Отклонено.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере

View File

@ -9,7 +9,7 @@
</li><li>Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выберите соответствующее значение этого поля. </li></ul><h3>Дата начала выполнения</h3>
<ul><li>В поле <strong>Дата начала</strong> можно проставить дату и время, когда задание начало выполняться. Для того чтобы это поле было доступно, в разделе <strong>Администрирование - Органайзер</strong> необходимо установить флажок <strong>Дата начала задач</strong>. По данному полю можно будет затем сортировать задачи в списках.</li></ul><h3>Принятие к исполнению</h3>
<ul><li>
<div>Задача, непринятая к исполнению, в списках выделяется жирным шрифтом. Выполните соответствующую команду меню <strong>Еще</strong>, для того чтобы <strong>Принять  к исполнению</strong> задачу. После этого задача исчезает из списков задач других исполнителей, назначенных на ту же роль.</div>
<div>Задача, непринятая к исполнению, в списках выделяется жирным шрифтом. Выполните соответствующую команду меню <strong>Еще</strong>, для того чтобы <strong>Принятьк исполнению</strong> задачу. После этого задача исчезает из списков задач других исполнителей, назначенных на ту же роль.</div>
</li><li>
<div>С помощью соответствующей команды меню <strong>Еще</strong> можно <strong>Отменить принятие к исполнению</strong>.</div></li></ul><h3>Выполнение задания</h3>
<ul><li>Задачи могут быть без проверки выполнения. В этом случае проверяющим является сам исполнитель.
@ -29,7 +29,7 @@
<div>Для того чтобы запустить один бизнес-процесс на основании другого, в задаче родительского бизнес-процесса выполните команду <strong>Создать на основании</strong>, из списка выберите вид бизнес-процесса, например, <strong>Задание</strong>. Заполните необходимые <a href="BusinessProcess.Задание.Form.ФормаБизнесПроцесса/Help">поля</a>.</div></li></ul><h3>Напоминание</h3>
<ul><li>
<div>Для того чтобы не забыть выполнить задачу, нажмите <img src="CommonPicture.Напоминание"></img> <strong>Напомнить</strong>, заполните необходимые <a href="InformationRegister.НапоминанияПользователя.Form.Напоминание/Help">поля</a>. <a name="СтандартныеПодсистемы.НапоминанияПользователя">В указанный момент времени программа выведет </a><a href="InformationRegister.НапоминанияПользователя.Form.ФормаОповещения/Help">напоминание</a> на экран.</div></li></ul><h3>Изменение задания</h3>
<ul><li>С помощью ссылки <strong>Изменить задание</strong> можно открыть задание и переработать его (при наличии соответствующих прав). В этом случае задание снова будет направлено исполнителю. </li></ul><h3>Дополнительные сведения о задаче</h3>
<ul><li>С помощью ссылки <strong>Изменить задание</strong> можно открыть задание и переработать его (при наличии прав доступа). В этом случае задание снова будет направлено исполнителю. </li></ul><h3>Дополнительные сведения о задаче</h3>
<ul><li>
<div>Для просмотра <a href="Task.ЗадачаИсполнителя.Form.Дополнительно/Help">дополнительной информации</a> о задаче выполните команду <strong>Еще</strong> <strong>- Дополнительно</strong>.</div></li></ul><h3>См. также:</h3>
<ul><li>

View File

@ -18,17 +18,33 @@
<CommandName>Form.Command.ЗаписатьИЗакрыть</CommandName>
<ExtendedTooltip name="ЗаписатьИЗакрытьExtendedTooltip" id="187"/>
</Button>
<ButtonGroup name="ОсновнаяКоманднаяПанель" id="1">
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="ОсновнаяКоманднаяПанельExtendedTooltip" id="188"/>
</ButtonGroup>
<Button name="ФормаЗаписать" id="228">
<Type>CommandBarButton</Type>
<Representation>Picture</Representation>
<CommandName>Form.StandardCommand.Write</CommandName>
<ExtendedTooltip name="ФормаЗаписатьРасширеннаяПодсказка" id="229"/>
</Button>
<Button name="ФормаВыполнено" id="230">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Выполнено</CommandName>
<ExtendedTooltip name="ФормаВыполненоРасширеннаяПодсказка" id="231"/>
</Button>
<Button name="ФормаЗадачаЗадачаИсполнителяПеренаправить" id="232">
<Type>CommandBarButton</Type>
<Representation>Picture</Representation>
<CommandName>Task.ЗадачаИсполнителя.Command.Перенаправить</CommandName>
<DataPath>Объект.Ref</DataPath>
<ExtendedTooltip name="ФормаЗадачаЗадачаИсполнителяПеренаправитьРасширеннаяПодсказка" id="233"/>
</Button>
<Button name="ФормаПринятьКИсполнению" id="163">
<Type>CommandBarButton</Type>
<Representation>Picture</Representation>
<CommandName>Form.Command.ПринятьКИсполнению</CommandName>
<ExtendedTooltip name="ФормаПринятьКИсполнениюExtendedTooltip" id="189"/>
</Button>
<Button name="ФормаОтменитьПринятиеКИсполнению" id="164">
<Type>CommandBarButton</Type>
<Representation>Picture</Representation>
<CommandName>Form.Command.ОтменитьПринятиеКИсполнению</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаОтменитьПринятиеКИсполнениюExtendedTooltip" id="190"/>
@ -49,6 +65,7 @@
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
<Event name="NotificationProcessing">ОбработкаОповещения</Event>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnOpen">ПриОткрытии</Event>
@ -56,415 +73,432 @@
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаСостояние" id="134">
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="193"/>
</UsualGroup>
<UsualGroup name="Шапка" id="165">
<UsualGroup name="Документ" id="234">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шапка</v8:content>
<v8:content>Документ</v8:content>
</v8:item>
</Title>
<HorizontalStretch>false</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ШапкаExtendedTooltip" id="194"/>
<ExtendedTooltip name="ДокументРасширеннаяПодсказка" id="235"/>
<ChildItems>
<UsualGroup name="ГруппыШапки" id="166">
<UsualGroup name="ГруппаСостояние" id="134">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группы шапки</v8:content>
<v8:content>Состояние</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<Representation>None</Representation>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппыШапкиExtendedTooltip" id="195"/>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="193"/>
</UsualGroup>
<UsualGroup name="Шапка" id="165">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шапка</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ШапкаExtendedTooltip" id="194"/>
<ChildItems>
<UsualGroup name="ГруппаАвторИсполнитель" id="167">
<UsualGroup name="ГруппыШапки" id="166">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор и исполнитель</v8:content>
<v8:content>Группы шапки</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаАвторИсполнительExtendedTooltip" id="196"/>
<ExtendedTooltip name="ГруппыШапкиExtendedTooltip" id="195"/>
<ChildItems>
<InputField name="Автор" id="168">
<DataPath>Объект.Автор</DataPath>
<ReadOnly>true</ReadOnly>
<Width>35</Width>
<ContextMenu name="АвторКонтекстноеМеню" id="169"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="197"/>
</InputField>
<InputField name="Исполнитель" id="170">
<DataPath>Исполнитель</DataPath>
<ReadOnly>true</ReadOnly>
<UsualGroup name="ГруппаАвторИсполнитель" id="167">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверяющий</v8:content>
<v8:content>Автор исполнитель</v8:content>
</v8:item>
</Title>
<ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаАвторИсполнительExtendedTooltip" id="196"/>
<ChildItems>
<InputField name="Автор" id="168">
<DataPath>Объект.Автор</DataPath>
<ReadOnly>true</ReadOnly>
<Width>35</Width>
<ContextMenu name="АвторКонтекстноеМеню" id="169"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="197"/>
</InputField>
<InputField name="Исполнитель" id="170">
<DataPath>Исполнитель</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверяющий</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнитель</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>35</Width>
<DropListButton>false</DropListButton>
<ChoiceButton>true</ChoiceButton>
<ChoiceButtonRepresentation>ShowInInputField</ChoiceButtonRepresentation>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="171"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="198"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаДатаИСрок" id="172">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнитель</v8:content>
<v8:content>Дата и срок</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>35</Width>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="171"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="198"/>
</InputField>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДатаИСрокExtendedTooltip" id="199"/>
<ChildItems>
<InputField name="Дата" id="173">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДатаКонтекстноеМеню" id="174"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="200"/>
</InputField>
<InputField name="СрокИсполнения" id="175">
<DataPath>Объект.СрокИсполнения</DataPath>
<ReadOnly>true</ReadOnly>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="176"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="201"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНомерИВажность" id="177">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер и важность</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНомерИВажностьExtendedTooltip" id="202"/>
<ChildItems>
<InputField name="Номер" id="178">
<DataPath>Объект.Number</DataPath>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="179"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="203"/>
</InputField>
<InputField name="Важность" id="180">
<DataPath>Объект.Важность</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>14</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="181"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="204"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаДатаИСрок" id="172">
<UsualGroup name="ГруппаПриоритет" id="182">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата и срок</v8:content>
<v8:content>Приоритет</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДатаИСрокExtendedTooltip" id="199"/>
<ExtendedTooltip name="ГруппаПриоритетExtendedTooltip" id="205"/>
<ChildItems>
<InputField name="Дата" id="173">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДатаКонтекстноеМеню" id="174"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="200"/>
</InputField>
<InputField name="СрокИсполнения" id="175">
<DataPath>Объект.СрокИсполнения</DataPath>
<ReadOnly>true</ReadOnly>
<InputField name="СрокНачалаИсполнения" id="183">
<DataPath>Объект.ДатаНачала</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="176"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="201"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНомерИВажность" id="177">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер и важность</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНомерИВажностьExtendedTooltip" id="202"/>
<ChildItems>
<InputField name="Номер" id="178">
<DataPath>Объект.Number</DataPath>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="179"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="203"/>
</InputField>
<InputField name="Важность" id="180">
<DataPath>Объект.Важность</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Width>8</Width>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="181"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="204"/>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияКонтекстноеМеню" id="184"/>
<ExtendedTooltip name="СрокНачалаИсполненияExtendedTooltip" id="206"/>
<Events>
<Event name="OnChange">СрокНачалаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокНачалаИсполненияВремя" id="185">
<DataPath>Объект.ДатаНачала</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>4</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияВремяКонтекстноеМеню" id="186"/>
<ExtendedTooltip name="СрокНачалаИсполненияВремяExtendedTooltip" id="207"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПриоритет" id="182">
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПриоритетExtendedTooltip" id="205"/>
<ChildItems>
<InputField name="СрокНачалаИсполнения" id="183">
<DataPath>Объект.ДатаНачала</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияКонтекстноеМеню" id="184"/>
<ExtendedTooltip name="СрокНачалаИсполненияExtendedTooltip" id="206"/>
<Events>
<Event name="OnChange">СрокНачалаИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокНачалаИсполненияВремя" id="185">
<DataPath>Объект.ДатаНачала</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок начала исполнения</v8:content>
</v8:item>
</ToolTip>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокНачалаИсполненияВремяКонтекстноеМеню" id="186"/>
<ExtendedTooltip name="СрокНачалаИсполненияВремяExtendedTooltip" id="207"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<Pages name="Страницы" id="222">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страницы</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СтраницыРасширеннаяПодсказка" id="223"/>
<ChildItems>
<Page name="Главное" id="224">
<Pages name="Страницы" id="222">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Главное</v8:content>
<v8:content>Страницы</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ГлавноеРасширеннаяПодсказка" id="225"/>
<ExtendedTooltip name="СтраницыРасширеннаяПодсказка" id="223"/>
<ChildItems>
<UsualGroup name="ГруппаСодержание" id="94">
<Page name="Главное" id="224">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
<v8:content>Главное</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="208"/>
<ExtendedTooltip name="ГлавноеРасширеннаяПодсказка" id="225"/>
<ChildItems>
<InputField name="Наименование" id="159">
<DataPath>Объект.Description</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="160"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="209"/>
</InputField>
<LabelField name="Предмет" id="132">
<DataPath>ПредметСтрокой</DataPath>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ПредметКонтекстноеМеню" id="133"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="210"/>
<Events>
<Event name="Click">ПредметНажатие</Event>
</Events>
</LabelField>
<InputField name="Содержание" id="18">
<DataPath>ЗаданиеСодержание</DataPath>
<ReadOnly>true</ReadOnly>
<UsualGroup name="ГруппаСодержание" id="94">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Height>5</Height>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="211"/>
</InputField>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="208"/>
<ChildItems>
<InputField name="Наименование" id="159">
<DataPath>Объект.Description</DataPath>
<ReadOnly>true</ReadOnly>
<AutoMaxWidth>false</AutoMaxWidth>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="160"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="209"/>
</InputField>
<LabelField name="Предмет" id="132">
<DataPath>ПредметСтрокой</DataPath>
<Width>60</Width>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ПредметКонтекстноеМеню" id="133"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="210"/>
<Events>
<Event name="Click">ПредметНажатие</Event>
</Events>
</LabelField>
<InputField name="Содержание" id="18">
<DataPath>ЗаданиеСодержание</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<AutoMaxWidth>false</AutoMaxWidth>
<Height>5</Height>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="211"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
</Page>
<Page name="ИсторияВыполнения" id="226">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ИсторияВыполненияРасширеннаяПодсказка" id="227"/>
<ChildItems>
<InputField name="РезультатВыполнения" id="126">
<DataPath>ЗаданиеРезультатВыполнения</DataPath>
<ReadOnly>true</ReadOnly>
</Page>
<Page name="ИсторияВыполнения" id="226">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="РезультатВыполненияКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="РезультатВыполненияExtendedTooltip" id="212"/>
</InputField>
<ExtendedTooltip name="ИсторияВыполненияРасширеннаяПодсказка" id="227"/>
<ChildItems>
<InputField name="РезультатВыполнения" id="126">
<DataPath>ЗаданиеРезультатВыполнения</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>История выполнения</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="РезультатВыполненияКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="РезультатВыполненияExtendedTooltip" id="212"/>
</InputField>
</ChildItems>
</Page>
</ChildItems>
</Page>
</ChildItems>
</Pages>
<UsualGroup name="ГруппаРезультат" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Результат проверки задания:</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ExtendedTooltip name="ГруппаРезультатExtendedTooltip" id="213"/>
<ChildItems>
<InputField name="ОписаниеРезультата" id="78">
<DataPath>Объект.РезультатВыполнения</DataPath>
<DefaultItem>true</DefaultItem>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Описание результата выполнения</v8:content>
</v8:item>
</ToolTip>
<Height>2</Height>
<VerticalStretch>false</VerticalStretch>
<ContextMenu name="ОписаниеРезультатаКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="ОписаниеРезультатаExtendedTooltip" id="214"/>
</InputField>
<UsualGroup name="ГруппаВыполненаДата" id="54">
</Pages>
<UsualGroup name="ГруппаРезультат" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа выполнена дата</v8:content>
<v8:content>Результат проверки задания:</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа выполнена дата</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаВыполненаДатаExtendedTooltip" id="215"/>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ExtendedTooltip name="ГруппаРезультатExtendedTooltip" id="213"/>
<ChildItems>
<Button name="Выполнено" id="123">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Выполнено</CommandName>
<ExtendedTooltip name="ВыполненоExtendedTooltip" id="216"/>
</Button>
<Button name="Отменено" id="147">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Отменено</CommandName>
<Picture>
<xr:Ref>StdPicture.Stop</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ОтмененоExtendedTooltip" id="217"/>
</Button>
<Button name="Возвращено" id="124">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Возвращено</CommandName>
<Picture>
<xr:Ref>CommonPicture.ЗаполнитьФорму</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ВозвращеноExtendedTooltip" id="218"/>
</Button>
<InputField name="ДатаИсполнения" id="55">
<DataPath>Объект.ДатаИсполнения</DataPath>
<InputField name="ОписаниеРезультата" id="78">
<DataPath>Объект.РезультатВыполнения</DataPath>
<DefaultItem>true</DefaultItem>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Описание результата выполнения</v8:content>
</v8:item>
</ToolTip>
<AutoMaxWidth>false</AutoMaxWidth>
<ContextMenu name="ОписаниеРезультатаКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="ОписаниеРезультатаExtendedTooltip" id="214"/>
</InputField>
<UsualGroup name="ГруппаВыполненаДата" id="54">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата проверки</v8:content>
<v8:content>Выполнена дата</v8:content>
</v8:item>
</Title>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ДатаИсполненияExtendedTooltip" id="219"/>
</InputField>
<InputField name="ДатаИсполненияВремя" id="161">
<DataPath>Объект.ДатаИсполнения</DataPath>
<TitleLocation>None</TitleLocation>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияВремяКонтекстноеМеню" id="162"/>
<ExtendedTooltip name="ДатаИсполненияВремяExtendedTooltip" id="220"/>
</InputField>
<Button name="ИзменитьЗадание" id="130">
<Type>Hyperlink</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ИзменитьЗадание</CommandName>
<ExtendedTooltip name="ИзменитьЗаданиеExtendedTooltip" id="221"/>
</Button>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаВыполненаДатаExtendedTooltip" id="215"/>
<ChildItems>
<Button name="Выполнено" id="123">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Выполнено</CommandName>
<ExtendedTooltip name="ВыполненоExtendedTooltip" id="216"/>
</Button>
<Button name="Отменено" id="147">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Отменено</CommandName>
<Picture>
<xr:Ref>StdPicture.Stop</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ОтмененоExtendedTooltip" id="217"/>
</Button>
<Button name="Возвращено" id="124">
<Type>UsualButton</Type>
<Representation>PictureAndText</Representation>
<SkipOnInput>false</SkipOnInput>
<Height>1</Height>
<CommandName>Form.Command.Возвращено</CommandName>
<Picture>
<xr:Ref>CommonPicture.ЗаполнитьФорму</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ExtendedTooltip name="ВозвращеноExtendedTooltip" id="218"/>
</Button>
<InputField name="ДатаИсполнения" id="55">
<DataPath>Объект.ДатаИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата проверки</v8:content>
</v8:item>
</Title>
<Width>10</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ДатаИсполненияExtendedTooltip" id="219"/>
</InputField>
<InputField name="ДатаИсполненияВремя" id="161">
<DataPath>Объект.ДатаИсполнения</DataPath>
<TitleLocation>None</TitleLocation>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ДатаИсполненияВремяКонтекстноеМеню" id="162"/>
<ExtendedTooltip name="ДатаИсполненияВремяExtendedTooltip" id="220"/>
</InputField>
<Button name="ИзменитьЗадание" id="130">
<Type>Hyperlink</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ИзменитьЗадание</CommandName>
<ExtendedTooltip name="ИзменитьЗаданиеExtendedTooltip" id="221"/>
</Button>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
@ -479,12 +513,6 @@
<SavedData>true</SavedData>
</Attribute>
<Attribute name="НачальныйПризнакВыполнения" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Начальный признак выполнения</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -505,12 +533,6 @@
</Type>
</Attribute>
<Attribute name="ТекущийПользователь" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текущий пользователь</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
@ -531,12 +553,6 @@
</Type>
</Attribute>
<Attribute name="ЗаданиеВыполнено" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнено</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -557,23 +573,11 @@
</Type>
</Attribute>
<Attribute name="ЗаданиеПодтверждено" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подтверждено</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ЗаданиеСсылка" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Задание ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:BusinessProcessRef.Задание</v8:Type>
</Type>
@ -627,7 +631,6 @@
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Выполнено</Action>
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Возвращено" id="4">
@ -644,7 +647,6 @@
</v8:item>
</ToolTip>
<Action>Возвращено</Action>
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ИзменитьЗадание" id="6">
@ -680,7 +682,6 @@
</v8:item>
</ToolTip>
<Action>Отменено</Action>
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Дополнительно" id="2">

View File

@ -1,13 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Для нового объекта выполняем код инициализации формы в ПриСозданииНаСервере.
// Для существующего - в ПриЧтенииНаСервере.
Если Объект.Ссылка.Пустая() Тогда
@ -16,13 +19,30 @@
ТекущийПользователь = Пользователи.ТекущийПользователь();
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайлами = ОбщегоНазначения.ОбщийМодуль("РаботаСФайлами");
ПараметрыГиперссылки = МодульРаботаСФайлами.ГиперссылкаФайлов();
ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
ПараметрыГиперссылки.Владелец = "Объект.БизнесПроцесс";
МодульРаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
БизнесПроцессыИЗадачиКлиент.ОбновитьДоступностьКомандПринятияКИсполнению(ЭтотОбъект);
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
@ -35,14 +55,14 @@
Если НЕ ЗаданиеВыполнено И НЕ ЗаданиеПодтверждено
И НЕ ЗначениеЗаполнено(ТекущийОбъект.РезультатВыполнения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Укажите причину, по которой задача возвращается на доработку.'"),,
"Объект.РезультатВыполнения",,
Отказ);
Возврат;
ИначеЕсли НЕ ЗаданиеВыполнено И ЗаданиеПодтверждено
И НЕ ЗначениеЗаполнено(ТекущийОбъект.РезультатВыполнения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Укажите причину, по которой задача отменяется.'"),,
"Объект.РезультатВыполнения",,
Отказ);
@ -58,6 +78,13 @@
ИнициализацияФормы();
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
&НаКлиенте
@ -72,6 +99,25 @@
КонецЕсли;
КонецЕсли;
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
#КонецОбласти
@ -95,6 +141,40 @@
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область ОбработчикиКомандФормы
@ -162,6 +242,18 @@
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -184,7 +276,17 @@
Элементы.ОписаниеРезультата.ТолькоПросмотр = Объект.Выполнена;
Исполнитель = ?(ЗначениеЗаполнено(Объект.Исполнитель), Объект.Исполнитель, Объект.РольИсполнителя);
КонецПроцедуры
Если ПравоДоступа("Изменение", Метаданные.БизнесПроцессы.Задание) Тогда
Элементы.Выполнено.Доступность = Истина;
Элементы.Отменено.Доступность = Истина;
Элементы.Возвращено.Доступность = Истина;
Иначе
Элементы.Выполнено.Доступность = Ложь;
Элементы.Отменено.Доступность = Ложь;
Элементы.Возвращено.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПрочитатьРеквизитыБизнесПроцесса()

View File

@ -9,7 +9,7 @@
</li><li>Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выберите соответствующие значения этого поля. </li></ul><h3>Дата начала выполнения</h3>
<ul><li>В поле <strong>Дата начала</strong> можно проставить дату и время, когда задание начало выполняться. Для того чтобы это поле было доступно, в разделе <strong>Администрирование - Органайзер</strong> необходимо установить флажок <strong>Дата начала задач</strong>. По данному полю можно будет затем сортировать задачи в списках.</li></ul><h3>Принятие к исполнению</h3>
<ul><li>
<div>Задача, непринятая к исполнению, в списках выделяется жирным шрифтом. Выполните соответствующую команду меню <strong>Еще</strong>, для того чтобы <strong>Принять  к исполнению</strong> задачу. После этого задача исчезает из списков задач других исполнителей, назначенных на ту же роль.</div>
<div>Задача, непринятая к исполнению, в списках выделяется жирным шрифтом. Выполните соответствующую команду меню <strong>Еще</strong>, для того чтобы <strong>Принятьк исполнению</strong> задачу. После этого задача исчезает из списков задач других исполнителей, назначенных на ту же роль.</div>
</li><li>
<div>С помощью соответствующей команды меню <strong>Еще</strong> можно <strong>Отменить принятие к исполнению</strong>.</div></li></ul><h3>Проверка выполнения</h3>
<ul><li>В поле <strong>Результат проверки задания</strong> напишите комментарий о выполнении задачи.
@ -34,7 +34,7 @@
<h3>Отправка другому исполнителю</h3>
<ul><li>Задачу можно <strong>Перенаправить</strong> другому исполнителю с помощью соответствующей кнопки.
</li><li>Заполните необходимые <a href="Task.ЗадачаИсполнителя.Form.ПеренаправитьЗадачи/Help">поля</a>.</li></ul><h3>Изменение задания</h3>
<ul><li>С помощью ссылки <strong>Изменить задание</strong> можно открыть задание и переработать его (при наличии соответствующих прав). В этом случае задание снова будет направлено исполнителю.</li></ul><h3>Дополнительные сведения о задаче</h3>
<ul><li>С помощью ссылки <strong>Изменить задание</strong> можно открыть задание и переработать его (при наличии прав доступа). В этом случае задание снова будет направлено исполнителю.</li></ul><h3>Дополнительные сведения о задаче</h3>
<ul><li>
<div>Для просмотра <a href="Task.ЗадачаИсполнителя.Form.Дополнительно/Help">дополнительной информации</a> о задаче выполните команду <strong>Еще</strong> <strong>- Дополнительно</strong>.</div></li></ul><h3>См. также:</h3>
<ul><li>

View File

@ -28,6 +28,11 @@
<CommandName>Form.StandardCommand.Start</CommandName>
<ExtendedTooltip name="ФормаСтартРасширеннаяПодсказка" id="138"/>
</Button>
<Button name="ФормаНастроитьОтложенныйСтарт" id="153">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.НастроитьОтложенныйСтарт</CommandName>
<ExtendedTooltip name="ФормаНастроитьОтложенныйСтартРасширеннаяПодсказка" id="154"/>
</Button>
<Button name="ФормаОстановить" id="101">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Остановить</CommandName>
@ -45,12 +50,6 @@
<v8:content>Глобальные команды</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Глобальные команды</v8:content>
</v8:item>
</ToolTip>
<CommandSource>FormCommandPanelGlobalCommands</CommandSource>
<ExtendedTooltip name="ГлобальныеКомандыРасширеннаяПодсказка" id="144"/>
</ButtonGroup>
@ -61,12 +60,6 @@
<v8:content>Стандартные команды</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Стандартные команды</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="СтандартныеКомандыРасширеннаяПодсказка" id="134"/>
</ButtonGroup>
@ -80,375 +73,435 @@
<Events>
<Event name="AfterWrite">ПослеЗаписи</Event>
<Event name="ChoiceProcessing">ОбработкаВыбора</Event>
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
<Event name="NotificationProcessing">ОбработкаОповещения</Event>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаСостояние" id="92">
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="107"/>
<ChildItems>
<PictureDecoration name="ДекорацияЗначок" id="93">
<Width>2</Width>
<Height>1</Height>
<SkipOnInput>false</SkipOnInput>
<Picture>
<xr:Ref>CommonPicture.Информация</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="ДекорацияЗначокКонтекстноеМеню" id="94"/>
<ExtendedTooltip name="ДекорацияЗначокExtendedTooltip" id="108"/>
</PictureDecoration>
<LabelDecoration name="ДекорацияТекст" id="95">
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<SkipOnInput>false</SkipOnInput>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Задание выполнено</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияТекстКонтекстноеМеню" id="96"/>
<ExtendedTooltip name="ДекорацияТекстExtendedTooltip" id="109"/>
</LabelDecoration>
</ChildItems>
</UsualGroup>
<LabelField name="ГлавнаяЗадача" id="99">
<DataPath>ГлавнаяЗадачаСтрокой</DataPath>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ГлавнаяЗадачаКонтекстноеМеню" id="100"/>
<ExtendedTooltip name="ГлавнаяЗадачаExtendedTooltip" id="110"/>
<Events>
<Event name="Click">ГлавнаяЗадачаНажатие</Event>
</Events>
</LabelField>
<UsualGroup name="ГруппаСрокВажность" id="27">
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСрокВажностьExtendedTooltip" id="111"/>
<ChildItems>
<InputField name="ЗаголовокЗадания" id="19">
<DataPath>Объект.Наименование</DataPath>
<DefaultItem>true</DefaultItem>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>20</Width>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ЗаголовокЗаданияКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="ЗаголовокЗаданияExtendedTooltip" id="112"/>
</InputField>
<InputField name="Важность" id="57">
<DataPath>Объект.Важность</DataPath>
<Width>8</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="58"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="113"/>
</InputField>
<InputField name="Номер" id="103">
<DataPath>Объект.Number</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="104"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="114"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаИсполнение" id="67">
<UsualGroup name="Документ" id="151">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнение</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаИсполнениеExtendedTooltip" id="115"/>
<ChildItems>
<InputField name="Исполнитель" id="69">
<DataPath>Объект.Исполнитель</DataPath>
<Width>35</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="70"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="116"/>
<Events>
<Event name="OnChange">ИсполнительПриИзменении</Event>
<Event name="AutoComplete">ИсполнительАвтоПодбор</Event>
<Event name="StartChoice">ИсполнительНачалоВыбора</Event>
<Event name="TextEditEnd">ИсполнительОкончаниеВводаТекста</Event>
<Event name="ChoiceProcessing">ИсполнительОбработкаВыбора</Event>
</Events>
</InputField>
<InputField name="СрокИсполнения" id="21">
<DataPath>Объект.СрокИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="117"/>
<Events>
<Event name="OnChange">СрокИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокИсполненияВремя" id="88">
<DataPath>Объект.СрокИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения (время)</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокИсполненияВремяКонтекстноеМеню" id="89"/>
<ExtendedTooltip name="СрокИсполненияВремяExtendedTooltip" id="118"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаСодержание" id="75">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
<v8:content>Документ</v8:content>
</v8:item>
</Title>
<HorizontalStretch>false</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="119"/>
<ExtendedTooltip name="ДокументРасширеннаяПодсказка" id="152"/>
<ChildItems>
<LabelField name="Предмет" id="86">
<DataPath>ПредметСтрокой</DataPath>
<ContextMenu name="ПредметКонтекстноеМеню" id="87"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="120"/>
<LabelField name="ГлавнаяЗадача" id="99">
<DataPath>ГлавнаяЗадачаСтрокой</DataPath>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ГлавнаяЗадачаКонтекстноеМеню" id="100"/>
<ExtendedTooltip name="ГлавнаяЗадачаExtendedTooltip" id="110"/>
<Events>
<Event name="Click">ПредметНажатие</Event>
<Event name="Click">ГлавнаяЗадачаНажатие</Event>
</Events>
</LabelField>
<InputField name="Содержание" id="17">
<DataPath>Объект.Содержание</DataPath>
<UsualGroup name="ГруппаСостояние" id="92">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Состояние</v8:content>
</v8:item>
</Title>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСостояниеExtendedTooltip" id="107"/>
<ChildItems>
<PictureDecoration name="ДекорацияЗначок" id="93">
<SkipOnInput>false</SkipOnInput>
<Picture>
<xr:Ref>CommonPicture.Информация</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="ДекорацияЗначокКонтекстноеМеню" id="94"/>
<ExtendedTooltip name="ДекорацияЗначокExtendedTooltip" id="108"/>
</PictureDecoration>
<LabelField name="ИнфоНадписьЗаголовок" id="155">
<DataPath>ИнфоНадписьЗаголовок</DataPath>
<TitleLocation>None</TitleLocation>
<AutoMaxWidth>false</AutoMaxWidth>
<AutoMaxHeight>false</AutoMaxHeight>
<VerticalStretch>true</VerticalStretch>
<ContextMenu name="ИнфоНадписьЗаголовокКонтекстноеМеню" id="156"/>
<ExtendedTooltip name="ИнфоНадписьЗаголовокРасширеннаяПодсказка" id="157"/>
<Events>
<Event name="URLProcessing">ИнфоНадписьЗаголовокОбработкаНавигационнойСсылки</Event>
</Events>
</LabelField>
</ChildItems>
</UsualGroup>
<UsualGroup name="Шапка" id="145">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Шапка</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ШапкаРасширеннаяПодсказка" id="146"/>
<ChildItems>
<UsualGroup name="ГруппаСрокВажность" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок важность</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<United>false</United>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСрокВажностьExtendedTooltip" id="111"/>
<ChildItems>
<InputField name="ЗаголовокЗадания" id="19">
<DataPath>Объект.Наименование</DataPath>
<DefaultItem>true</DefaultItem>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ЗаголовокЗаданияКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="ЗаголовокЗаданияExtendedTooltip" id="112"/>
</InputField>
<InputField name="Важность" id="57">
<DataPath>Объект.Важность</DataPath>
<Wrap>false</Wrap>
<ContextMenu name="ВажностьКонтекстноеМеню" id="58"/>
<ExtendedTooltip name="ВажностьExtendedTooltip" id="113"/>
</InputField>
<InputField name="Номер" id="103">
<DataPath>Объект.Number</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НомерКонтекстноеМеню" id="104"/>
<ExtendedTooltip name="НомерExtendedTooltip" id="114"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаИсполнение" id="67">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнение</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Representation>None</Representation>
<United>false</United>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаИсполнениеExtendedTooltip" id="115"/>
<ChildItems>
<InputField name="Исполнитель" id="69">
<DataPath>Объект.Исполнитель</DataPath>
<Wrap>false</Wrap>
<DropListButton>false</DropListButton>
<ChoiceButton>true</ChoiceButton>
<OpenButton>false</OpenButton>
<ContextMenu name="ИсполнительКонтекстноеМеню" id="70"/>
<ExtendedTooltip name="ИсполнительExtendedTooltip" id="116"/>
<Events>
<Event name="OnChange">ИсполнительПриИзменении</Event>
<Event name="AutoComplete">ИсполнительАвтоПодбор</Event>
<Event name="StartChoice">ИсполнительНачалоВыбора</Event>
<Event name="TextEditEnd">ИсполнительОкончаниеВводаТекста</Event>
<Event name="ChoiceProcessing">ИсполнительОбработкаВыбора</Event>
</Events>
</InputField>
<UsualGroup name="ГруппаСрокИсполнения" id="147">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСрокИсполненияРасширеннаяПодсказка" id="148"/>
<ChildItems>
<InputField name="СрокИсполнения" id="21">
<DataPath>Объект.СрокИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокИсполненияКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="СрокИсполненияExtendedTooltip" id="117"/>
<Events>
<Event name="OnChange">СрокИсполненияПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокИсполненияВремя" id="88">
<DataPath>Объект.СрокИсполнения</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок исполнения (время)</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="СрокИсполненияВремяКонтекстноеМеню" id="89"/>
<ExtendedTooltip name="СрокИсполненияВремяExtendedTooltip" id="118"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаСодержание" id="75">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Height>5</Height>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="18"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="121"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПроверка" id="56">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверка</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ExtendedTooltip name="ГруппаПроверкаExtendedTooltip" id="122"/>
<ChildItems>
<CheckBoxField name="НаПроверке" id="54">
<DataPath>Объект.НаПроверке</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверить выполнение:</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="НаПроверкеКонтекстноеМеню" id="55"/>
<ExtendedTooltip name="НаПроверкеExtendedTooltip" id="123"/>
<Events>
<Event name="OnChange">НаПроверкеПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="ГруппаПроверяющий" id="28">
<Group>Horizontal</Group>
<Representation>None</Representation>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПроверяющийExtendedTooltip" id="124"/>
<ExtendedTooltip name="ГруппаСодержаниеExtendedTooltip" id="119"/>
<ChildItems>
<InputField name="Проверяющий" id="14">
<DataPath>Объект.Проверяющий</DataPath>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>34</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<AutoMarkIncomplete>false</AutoMarkIncomplete>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ПроверяющийКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="ПроверяющийExtendedTooltip" id="125"/>
<LabelField name="Предмет" id="86">
<DataPath>ПредметСтрокой</DataPath>
<Width>60</Width>
<AutoMaxWidth>false</AutoMaxWidth>
<HorizontalStretch>true</HorizontalStretch>
<ContextMenu name="ПредметКонтекстноеМеню" id="87"/>
<ExtendedTooltip name="ПредметExtendedTooltip" id="120"/>
<Events>
<Event name="OnChange">ПроверяющийПриИзменении</Event>
<Event name="AutoComplete">ПроверяющийАвтоПодбор</Event>
<Event name="StartChoice">ПроверяющийНачалоВыбора</Event>
<Event name="TextEditEnd">ПроверяющийОкончаниеВводаТекста</Event>
<Event name="ChoiceProcessing">ПроверяющийОбработкаВыбора</Event>
<Event name="Click">ПредметНажатие</Event>
</Events>
</InputField>
<InputField name="СрокПроверки" id="23">
<DataPath>Объект.СрокПроверки</DataPath>
</LabelField>
<InputField name="Содержание" id="17">
<DataPath>Объект.Содержание</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок проверки</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СрокПроверкиКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="СрокПроверкиExtendedTooltip" id="126"/>
<Events>
<Event name="OnChange">СрокПроверкиПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокПроверкиВремя" id="90">
<DataPath>Объект.СрокПроверки</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок проверки (время)</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<AutoMaxWidth>false</AutoMaxWidth>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СрокПроверкиВремяКонтекстноеМеню" id="91"/>
<ExtendedTooltip name="СрокПроверкиВремяExtendedTooltip" id="127"/>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="18"/>
<ExtendedTooltip name="СодержаниеExtendedTooltip" id="121"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаОбщиеСведения" id="81">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа общие сведения</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаОбщиеСведенияExtendedTooltip" id="128"/>
<ChildItems>
<InputField name="Автор" id="79">
<DataPath>Объект.Автор</DataPath>
<Width>35</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<ContextMenu name="АвторКонтекстноеМеню" id="80"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="129"/>
</InputField>
<InputField name="Дата" id="97">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<UsualGroup name="ГруппаПроверка" id="56">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Начато</v8:content>
<v8:content>Проверка</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДатаКонтекстноеМеню" id="98"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="130"/>
</InputField>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПроверкаExtendedTooltip" id="122"/>
<ChildItems>
<CheckBoxField name="НаПроверке" id="54">
<DataPath>Объект.НаПроверке</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверить выполнение:</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="НаПроверкеКонтекстноеМеню" id="55"/>
<ExtendedTooltip name="НаПроверкеExtendedTooltip" id="123"/>
<Events>
<Event name="OnChange">НаПроверкеПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="ГруппаПроверяющий" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверяющий</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<United>false</United>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПроверяющийExtendedTooltip" id="124"/>
<ChildItems>
<InputField name="Проверяющий" id="14">
<DataPath>Объект.Проверяющий</DataPath>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>35</Width>
<Wrap>false</Wrap>
<DropListButton>false</DropListButton>
<ChoiceButton>true</ChoiceButton>
<OpenButton>false</OpenButton>
<AutoMarkIncomplete>false</AutoMarkIncomplete>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ПроверяющийКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="ПроверяющийExtendedTooltip" id="125"/>
<Events>
<Event name="OnChange">ПроверяющийПриИзменении</Event>
<Event name="AutoComplete">ПроверяющийАвтоПодбор</Event>
<Event name="StartChoice">ПроверяющийНачалоВыбора</Event>
<Event name="TextEditEnd">ПроверяющийОкончаниеВводаТекста</Event>
<Event name="ChoiceProcessing">ПроверяющийОбработкаВыбора</Event>
</Events>
</InputField>
<UsualGroup name="ГруппаСрокПроверки" id="149">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок проверки</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСрокПроверкиРасширеннаяПодсказка" id="150"/>
<ChildItems>
<InputField name="СрокПроверки" id="23">
<DataPath>Объект.СрокПроверки</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок проверки</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>10</Width>
<Wrap>false</Wrap>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=D</v8:content>
</v8:item>
</EditFormat>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СрокПроверкиКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="СрокПроверкиExtendedTooltip" id="126"/>
<Events>
<Event name="OnChange">СрокПроверкиПриИзменении</Event>
</Events>
</InputField>
<InputField name="СрокПроверкиВремя" id="90">
<DataPath>Объект.СрокПроверки</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок проверки (время)</v8:content>
</v8:item>
</ToolTip>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>8</Width>
<Wrap>false</Wrap>
<ChoiceButton>false</ChoiceButton>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДЛФ=T</v8:content>
</v8:item>
</EditFormat>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СрокПроверкиВремяКонтекстноеМеню" id="91"/>
<ExtendedTooltip name="СрокПроверкиВремяExtendedTooltip" id="127"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаОбщиеСведения" id="81">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор</v8:content>
</v8:item>
</Title>
<TitleFont ref="sys:DefaultGUIFont" bold="true" italic="false" underline="false" strikeout="false" kind="WindowsFont"/>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаОбщиеСведенияExtendedTooltip" id="128"/>
<ChildItems>
<InputField name="Автор" id="79">
<DataPath>Объект.Автор</DataPath>
<Width>35</Width>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<ContextMenu name="АвторКонтекстноеМеню" id="80"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="129"/>
</InputField>
<InputField name="Дата" id="97">
<DataPath>Объект.Date</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Начато</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДатаКонтекстноеМеню" id="98"/>
<ExtendedTooltip name="ДатаExtendedTooltip" id="130"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
@ -461,12 +514,6 @@
<SavedData>true</SavedData>
</Attribute>
<Attribute name="НачальныйПризнакСтарта" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Начальный признак старта</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -501,6 +548,45 @@
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ИнфоНадписьЗаголовок" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Инфо надпись заголовок</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8ui:FormattedString</v8:Type>
</Type>
</Attribute>
<Attribute name="Отложен" id="6">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ДатаОтложенногоСтарта" id="7">
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
</Attribute>
<Attribute name="ИспользоватьДатуИВремяВСрокахЗадач" id="8">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ИспользоватьПодчиненныеБизнесПроцессы" id="9">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ИзменятьЗаданияЗаднимЧислом" id="10">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="Остановить" id="1">
@ -551,5 +637,38 @@
<Action>ЗаписатьИЗакрыть</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="НастроитьОтложенныйСтарт" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настроить отложенный старт</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настроить отложенный старт</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ПроцессОтложен</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>НастроитьОтложенныйСтарт</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
<CommandInterface>
<NavigationPanel>
<Item>
<Command>CommonCommand.ПрисоединенныеФайлы</Command>
<Type>Auto</Type>
<CommandGroup>FormNavigationPanelGoTo</CommandGroup>
<DefaultVisible>false</DefaultVisible>
<Visible>
<xr:Common>false</xr:Common>
</Visible>
</Item>
</NavigationPanel>
</CommandInterface>
</Form>

View File

@ -1,20 +1,28 @@
&НаКлиенте
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОписаниеПеременных
&НаКлиенте
Перем ОткрытаФормаВыбораИсполнителя; // Признак того, что исполнитель выбирается из формы, а не быстрым вводом.
&НаКлиенте
Перем ОткрытаФормаВыбораПроверяющего; // Признак того, что проверяющий выбирается из формы, а не быстрым вводом.
&НаКлиенте
Перем КонтекстВыбора;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
УстановитьУсловноеОформление();
// Для нового объекта выполняем код инициализации формы в ПриСозданииНаСервере.
// Для существующего - в ПриЧтенииНаСервере.
@ -22,6 +30,15 @@
ИнициализацияФормы();
КонецЕсли;
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайлами = ОбщегоНазначения.ОбщийМодуль("РаботаСФайлами");
ГиперссылкаФайлов = МодульРаботаСФайлами.ГиперссылкаФайлов();
ГиперссылкаФайлов.Размещение = "КоманднаяПанель";
МодульРаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаКлиенте
@ -29,6 +46,13 @@
ОбновитьДоступностьКомандОстановки();
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
@ -36,6 +60,13 @@
ИнициализацияФормы();
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
&НаКлиенте
@ -63,6 +94,29 @@
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ИзмененаНастройкаОтложенногоСтарта" Тогда
Отложен = (Параметр.Отложен И Параметр.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияПроцессовДляЗапуска.ГотовКСтарту"));
ДатаОтложенногоСтарта = Параметр.ДатаОтложенногоСтарта;
УстановитьСвойстваЭлементовФормы(ЭтотОбъект);
КонецЕсли;
// СтандартныеПодсистемы.РаботаСФайлами
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ПроверитьДатуЗавершенияОтложенногоПроцесса(ТекущийОбъект, Отказ);
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
@ -78,6 +132,27 @@
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_Задание", ПараметрыЗаписи, Объект.Ссылка);
Оповестить("Запись_ЗадачаИсполнителя", ПараметрыЗаписи, Неопределено);
Если ПараметрыЗаписи.Свойство("Старт") И ПараметрыЗаписи.Старт Тогда
ПодключитьОбработчикОжидания("ОбновитьФорму", 0.2, Истина);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьФорму()
УстановитьСвойстваЭлементовФормы(ЭтотОбъект);
ОбновитьДоступностьКомандОстановки();
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
#КонецОбласти
@ -107,6 +182,12 @@
КонецПроцедуры
&НаКлиенте
Процедура ИнфоНадписьЗаголовокОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьНастройкуОтложенногоСтарта();
КонецПроцедуры
&НаКлиенте
Процедура ИсполнительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
@ -267,6 +348,40 @@
КонецЕсли;
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область ОбработчикиКомандФормы
@ -300,6 +415,23 @@
КонецПроцедуры
&НаКлиенте
Процедура НастроитьОтложенныйСтарт(Команда)
ОткрытьНастройкуОтложенногоСтарта();
КонецПроцедуры
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецЕсли;
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -353,57 +485,22 @@
НачальныйПризнакСтарта = Объект.Стартован;
ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач");
Элементы.СрокИсполненияВремя.Видимость = ИспользоватьДатуИВремяВСрокахЗадач;
Элементы.СрокПроверкиВремя.Видимость = ИспользоватьДатуИВремяВСрокахЗадач;
Элементы.Дата.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D");
УстановитьРеквизитыОтложенногоСтарта();
ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач");
ИзменятьЗаданияЗаднимЧислом = ПолучитьФункциональнуюОпцию("ИзменятьЗаданияЗаднимЧислом");
ИспользоватьПодчиненныеБизнесПроцессы = ПолучитьФункциональнуюОпцию("ИспользоватьПодчиненныеБизнесПроцессы");
Элементы.Предмет.Гиперссылка = Объект.Предмет <> Неопределено И НЕ Объект.Предмет.Пустая();
ПредметСтрокой = ОбщегоНазначения.ПредметСтрокой(Объект.Предмет);
Элементы.ГруппаСостояние.Видимость = Объект.Завершен Или Объект.Стартован;
Если Объект.Завершен Тогда
ДатаЗавершенияСтрокой = ?(ИспользоватьДатуИВремяВСрокахЗадач,
Формат(Объект.ДатаЗавершения, "ДЛФ=DT"), Формат(Объект.ДатаЗавершения, "ДЛФ=D"));
ТекстСостояния = ?(Объект.Выполнено,
НСтр("ru = 'Задание выполнено %1.'"),
НСтр("ru = 'Задание отменено %1.'"));
Элементы.ДекорацияТекст.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСостояния, ДатаЗавершенияСтрокой);
Для каждого Элемент Из Элементы Цикл
Если ТипЗнч(Элемент) <> Тип("ПолеФормы") И ТипЗнч(Элемент) <> Тип("ГруппаФормы") Тогда
Продолжить;
КонецЕсли;
Элемент.ТолькоПросмотр = Истина;
КонецЦикла;
Иначе
ТекстСостояния = ?(ПолучитьФункциональнуюОпцию("ИзменятьЗаданияЗаднимЧислом"),
НСтр("ru = 'Изменения формулировки, важности, автора, а также перенос сроков исполнения и проверки задания
|вступят в силу немедленно для ранее выданной задачи.'"),
НСтр("ru = 'Изменения формулировки, важности, автора, а также перенос сроков исполнения и проверки задания
|не будут отражены в ранее выданной задаче.'"));
Элементы.ДекорацияТекст.Заголовок = ТекстСостояния;
КонецЕсли;
Элементы.ФормаСтартИЗакрыть.Видимость = Не Объект.Стартован;
Элементы.ФормаСтартИЗакрыть.КнопкаПоУмолчанию = Не Объект.Стартован;
Элементы.ФормаСтарт.Видимость = Не Объект.Стартован;
Элементы.ФормаЗаписатьИЗакрыть.Видимость = Объект.Стартован;
Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Объект.Стартован;
Если Объект.ГлавнаяЗадача = Неопределено Или Объект.ГлавнаяЗадача.Пустая() Тогда
Элементы.ГлавнаяЗадача.Гиперссылка = Ложь;
ГлавнаяЗадачаСтрокой = НСтр("ru = 'не задана'");
Иначе
ГлавнаяЗадачаСтрокой = Строка(Объект.ГлавнаяЗадача);
КонецЕсли;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьПодчиненныеБизнесПроцессы") Тогда
Элементы.ГлавнаяЗадача.Видимость = Ложь;
КонецЕсли;
УстановитьСвойстваЭлементовФормы(ЭтотОбъект);
УстановитьДоступностьПроверяющего(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
@ -411,18 +508,18 @@
Если Объект.Завершен Тогда
Элементы.ФормаОстановить.Доступность = Ложь;
Элементы.ФормаПродолжить.Доступность = Ложь;
Элементы.ФормаОстановить.Видимость = Ложь;
Элементы.ФормаПродолжить.Видимость = Ложь;
Возврат;
КонецЕсли;
Если Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияБизнесПроцессов.Остановлен") Тогда
Элементы.ФормаОстановить.Доступность = Ложь;
Элементы.ФормаПродолжить.Доступность = Истина;
Элементы.ФормаОстановить.Видимость = Ложь;
Элементы.ФормаПродолжить.Видимость = Истина;
Иначе
Элементы.ФормаОстановить.Доступность = Истина;
Элементы.ФормаПродолжить.Доступность = Ложь;
Элементы.ФормаОстановить.Видимость = Объект.Стартован;
Элементы.ФормаПродолжить.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
@ -442,4 +539,161 @@
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСвойстваЭлементовФормы(Форма)
Если Форма.ТолькоПросмотр Тогда
Форма.Элементы.ФормаОстановить.Видимость = Ложь;
Форма.Элементы.ФормаЗаписатьИЗакрыть.Видимость = Ложь;
Форма.Элементы.ФормаНастроитьОтложенныйСтарт.Видимость = Ложь;
Форма.Элементы.ФормаЗаписать.Видимость = Ложь;
Форма.Элементы.ФормаПродолжить.Видимость = Ложь;
Иначе
ОбъектСтартован = ОбъектСтартован(Форма);
Форма.Элементы.СрокИсполненияВремя.Видимость = Форма.ИспользоватьДатуИВремяВСрокахЗадач;
Форма.Элементы.СрокПроверкиВремя.Видимость = Форма.ИспользоватьДатуИВремяВСрокахЗадач;
Форма.Элементы.Дата.Формат = ?(Форма.ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D");
Форма.Элементы.Предмет.Гиперссылка = Форма.Объект.Предмет <> Неопределено И НЕ Форма.Объект.Предмет.Пустая();
Форма.Элементы.ФормаСтартИЗакрыть.Видимость = Не ОбъектСтартован;
Форма.Элементы.ФормаСтартИЗакрыть.КнопкаПоУмолчанию = Не ОбъектСтартован;
Форма.Элементы.ФормаСтарт.Видимость = Не ОбъектСтартован;
Форма.Элементы.ФормаНастроитьОтложенныйСтарт.Видимость = Не ОбъектСтартован;
Форма.Элементы.ФормаЗаписатьИЗакрыть.Видимость = ?(Форма.Объект.Завершен, Ложь, ОбъектСтартован);
Форма.Элементы.ФормаЗаписать.Видимость = НЕ Форма.Объект.Завершен;
Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = ОбъектСтартован;
Форма.Элементы.ФормаНастроитьОтложенныйСтарт.Доступность = Не Форма.Объект.Стартован;
Если Форма.Объект.ГлавнаяЗадача = Неопределено Или Форма.Объект.ГлавнаяЗадача.Пустая() Тогда
Форма.Элементы.ГлавнаяЗадача.Гиперссылка = Ложь;
КонецЕсли;
Если Не Форма.ИспользоватьПодчиненныеБизнесПроцессы Тогда
Форма.Элементы.ГлавнаяЗадача.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
УстановитьСвойстваГруппеСостояний(Форма);
УстановитьДоступностьПроверяющего(Форма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСвойстваГруппеСостояний(Форма)
ОтображатьГруппу = Форма.Объект.Завершен Или ОбъектСтартован(Форма);
Форма.Элементы.ГруппаСостояние.Видимость = ОтображатьГруппу;
Если НЕ ОтображатьГруппу Тогда
Возврат;
КонецЕсли;
МассивСтрок = Новый Массив;
Высота = 1;
Если Форма.Объект.Завершен Тогда
ДатаЗавершенияСтрокой = ?(Форма.ИспользоватьДатуИВремяВСрокахЗадач,
Формат(Форма.Объект.ДатаЗавершения, "ДЛФ=DT"), Формат(Форма.Объект.ДатаЗавершения, "ДЛФ=D"));
СтрокаТекста = ?(Форма.Объект.Выполнено,
НСтр("ru = 'Задание выполнено %1.'"),
НСтр("ru = 'Задание отменено %1.'"));
ТекстСостояния = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаТекста, ДатаЗавершенияСтрокой);
МассивСтрок.Добавить(ТекстСостояния);
Для каждого Элемент Из Форма.Элементы Цикл
Если ТипЗнч(Элемент) <> Тип("ПолеФормы") И ТипЗнч(Элемент) <> Тип("ГруппаФормы") Тогда
Продолжить;
КонецЕсли;
Элемент.ТолькоПросмотр = Истина;
КонецЦикла;
ИначеЕсли Форма.Объект.Стартован Тогда
ТекстСостояния = ?(Форма.ИзменятьЗаданияЗаднимЧислом,
НСтр("ru = 'Изменения формулировки, важности, автора, а также перенос сроков исполнения и проверки задания вступят в силу немедленно для ранее выданной задачи.'"),
НСтр("ru = 'Изменения формулировки, важности, автора, а также перенос сроков исполнения и проверки задания не будут отражены в ранее выданной задаче.'"));
МассивСтрок.Добавить(ТекстСостояния);
Высота = 2;
ИначеЕсли Форма.Отложен Тогда
ДатаОтложенногоСтартаСтрокой = ?(Форма.ИспользоватьДатуИВремяВСрокахЗадач,
Формат(Форма.ДатаОтложенногоСтарта, "ДЛФ=DT"), Формат(Форма.ДатаОтложенногоСтарта, "ДЛФ=D"));
ТекстСостояния = НСтр("ru = 'Задание будет запущено'") + " ";
МассивСтрок.Добавить(ТекстСостояния);
МассивСтрок.Добавить(Новый ФорматированнаяСтрока(ДатаОтложенногоСтартаСтрокой,,,, "ОткрытьНастройкуОтложенногоСтарта"));
КонецЕсли;
Форма.ИнфоНадписьЗаголовок = Новый ФорматированнаяСтрока(МассивСтрок);
Форма.Элементы.ИнфоНадписьЗаголовок.МаксимальнаяВысота = Высота;
КонецПроцедуры
&НаСервере
Процедура ПроверитьДатуЗавершенияОтложенногоПроцесса(ПроверяемыйОбъект, Отказ)
Если Не ЗначениеЗаполнено(ПроверяемыйОбъект.СрокИсполнения) Тогда
Возврат;
КонецЕсли;
ДатаОтложенногоСтарта = БизнесПроцессыИЗадачиСервер.ДатаОтложенногоСтартаПроцесса(ПроверяемыйОбъект.Ссылка);
Если ПроверяемыйОбъект.СрокИсполнения < ДатаОтложенногоСтарта Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Срок исполнения задания не может быть меньше даты отложенного старта.'"),,
"СрокИсполнения", "Объект.СрокИсполнения");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьНастройкуОтложенногоСтарта()
Если КлючевыеРеквизитыФормыЗаполнены() Тогда
БизнесПроцессыИЗадачиКлиент.НастроитьОтложенныйСтарт(Объект.Ссылка, Объект.СрокИсполнения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция КлючевыеРеквизитыФормыЗаполнены()
Если Объект.Стартован Тогда
Возврат Истина;
КонецЕсли;
ОчиститьСообщения();
РеквизитыФормыЗаполнены = Истина;
Если НЕ ЗначениеЗаполнено(Объект.Исполнитель) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Поле ""Исполнитель"" не заполнено.'"),,
"Исполнитель", "Объект.Исполнитель");
РеквизитыФормыЗаполнены = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.Наименование) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Поле ""Задание"" не заполнено.'"),,
"Исполнитель", "Объект.Наименование");
РеквизитыФормыЗаполнены = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.СрокИсполнения) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Поле ""Срок"" исполнения не заполнено.'"),,
"СрокИсполнения", "Объект.СрокИсполнения");
РеквизитыФормыЗаполнены = Ложь;
КонецЕсли;
Возврат РеквизитыФормыЗаполнены;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ОбъектСтартован(Форма)
Возврат Форма.Объект.Стартован ИЛИ Форма.Отложен;
КонецФункции
&НаСервере
Процедура УстановитьРеквизитыОтложенногоСтарта()
ДатаОтложенногоСтарта = БизнесПроцессыИЗадачиСервер.ДатаОтложенногоСтартаПроцесса(Объект.Ссылка);
Отложен = (ДатаОтложенногоСтарта <> '00010101');
КонецПроцедуры
#КонецОбласти

View File

@ -1,13 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Предназначено для постановки и проверки выполнения произвольных <a href="Task.ЗадачаИсполнителя/Help">задач</a>.</p>
<p>Можно запустить из документа программы по команде <strong>Создать на основании</strong> (из бизнес-процесса также, при соответствующих настройках - такое задание станет подчиненным бизнес-процессом). Также можно начать новый <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">бизнес-процесс</a> <strong>Задание</strong> по команде <strong>Создать</strong> в списке <a href="BusinessProcess.Задание/Help">Задания</a>.</p>
<p>Можно запустить из документа программы по команде <strong>Создать на основании</strong> (из бизнес-процесса также, для этого необходимы <a href="DataProcessor.ПанельАдминистрированияБСП.Form.Органайзер/Help">настройки</a> - такое задание станет подчиненным бизнес-процессом). Также можно начать новый <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">бизнес-процесс</a> <strong>Задание</strong> по команде <strong>Создать</strong> в списке <a href="BusinessProcess.Задание/Help">Задания</a>.</p>
<h3>Сведения о задании</h3>
<ul><li><strong>Главная задача</strong> - заполняется программой автоматически, если бизнес-процесс является подчиненным. По ссылке в этом поле можно просмотреть данные о главном бизнес-процессе.
</li><li><strong>Задание</strong> - напишите заголовок задания, который будет показан в списках бизнес-процессов. Поле является обязательным для заполнения.
</li><li><strong>Важность</strong> - принимает значения <strong>Обычная</strong> (по умолчанию), <strong>Низкая</strong>, <strong>Высокая</strong>. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выберите соответствующее значение этого поля.
<ul><a name="СтандартныеПодсистемы.Пользователи">
<li><strong>Исполнитель</strong> - выберите исполнителя из списка <a href="Catalog.Пользователи/Help">пользователей</a> программы или из списка <a href="CommonForm.ВыборИсполнителяБизнесПроцесса/Help">исполнителей</a>. Поля является обязательным для заполнения. </li></a>
<li><strong>Срок</strong> - укажите дату и время, когда нужно выполнить задание.
<ul><a name="СтандартныеПодсистемы.Пользователи"></a></ul></li><li><strong>Исполнитель</strong> - выберите исполнителя из списка <a href="Catalog.Пользователи/Help">пользователей</a> программы или из списка <a href="CommonForm.ВыборИсполнителяБизнесПроцесса/Help">исполнителей</a>. Поля является обязательным для заполнения.
</li><li><strong>Срок</strong> - укажите дату и время, когда нужно выполнить задание.
</li><li><strong>Предмет</strong> - автоматически проставляется документ программы, на основании которого создано задание.
</li><li>В текстовом поле ниже можно при необходимости более подробно объяснить суть задания. Недоступно для подчиненных бизнес-процессов.
</li><li>
@ -16,19 +15,33 @@
<div>назначить проверяющего из списка пользователей;</div>
</li><li>
<div>ввести <strong>Срок</strong> - дату и время, до которого надо проверить выполнение задания. Если срок не заполнен, то проверка не производится.</div></li></ul></li><li>
<ul><a name="СтандартныеПодсистемы.Пользователи">
<div><strong>Автор</strong> - автоматически проставляется программой текущий <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a>. Автора можно назначить из списка <strong>Пользователи</strong>.</div></a>
<li>
<div><a name="СтандартныеПодсистемы.Пользователи"><strong>Автор</strong> - автоматически проставляется программой текущий </a><a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a>. Автора можно назначить из списка <strong>Пользователи</strong>.</div>
</li><li>
<div><strong>Начато</strong> - дата ввода задания. Заполняется программой автоматически. Поле не подлежит редактированию.</div></li></ul><h3>Старт бизнес-процесса</h3>
<ul><li>После того как задание заполнено, нажмите кнопку <strong>Стартовать и закрыть</strong>, для того чтобы сохранить <strong>Задание</strong>, начать бизнес-процесс и вернуться в программу.
</li><li>Для того чтобы начать бизнес-процесс, можно также воспользоваться командой <strong>Старт</strong>. В этом случае программа сохранит задание, начнет бизнес-процесс, но задание останется открытым.
</li><li>Программа автоматически формирует  задачи, из которых состоит бизнес-процесс <strong>Задание</strong>: 
</li><li>Программа автоматически формируетзадачи, из которых состоит бизнес-процесс <strong>Задание</strong>:
<ul><li><a href="BusinessProcess.Задание.Form.ДействиеВыполнить/Help">выполнение задания</a>;
<ul><li>после выполнения этой задачи в зависимости от настроек задание становится выполненным или формируется задача <a href="BusinessProcess.Задание.Form.ДействиеПроверить/Help">проверка выполнения</a>. </li></ul></li></ul></li><li>Для того чтобы записать черновик задания, но не стартовать его, нажмите <strong>Записать</strong>. Такое задание можно дозаполнить и стартовать позднее, в более подходящий момент времени из списка заданий или открыв задание.</li></ul><h3>Управление движением бизнес-процесса</h3>
<ul><li>Для того чтобы <strong>Остановить</strong> или <strong>Продолжить</strong> бизнес-процесс, воспользуйтесь соответствующими командами (активна одна из команд). Остановленный бизнес-процесс в списке выделяется значком <img src="CommonPicture.ЗнакСтоп"></img>.</li></ul><h3>Просмотр карты маршрута</h3>
<ul><li>после выполнения этой задачи в зависимости от настроек задание становится выполненным или формируется задача <a href="BusinessProcess.Задание.Form.ДействиеПроверить/Help">проверка выполнения</a>. </li></ul></li></ul></li><li>Для того чтобы записать черновик задания, но не стартовать его, нажмите <strong>Записать</strong>. Такое задание можно дозаполнить и стартовать позднее, в более подходящий момент времени из списка заданий или открыв задание.</li></ul><h3>Отложенный старт бизнес-процесса</h3>
<ul><li>
<div>Имеется возможность начать бизнес-процесс не сразу, а отложить его старт на определенное время. Например, можно запланировать старт на завтра или через неделю.</div>
</li><li>
<div>Для настройки отложенного старта задания после заполнения всех необходимых полей нажмите кнопку <img src="CommonPicture.ПроцессОтложен"></img>.</div>
<ul><li>
<div>В открывшемся окне включите флажок <strong>Отложенный старт задания</strong>.</div>
</li><li>
<div>Заполните поля <strong>Дата</strong> и <strong>Время</strong> - укажите, когда нужно начать бизнес-процесс. В нижней части окна отразится, через сколько дней и часов будет запущено задание.</div>
</li><li>
<div>Нажмите кнопку <strong>Готово</strong>.</div></li></ul></li><li>
<div>После этого в карточке бизнес-процесса выводится сообщение со ссылкой, в которой указывается дата и время отложенного старта.</div>
</li><li>
<div>Для запуска отложенных бизнес-процессов в нужное время необходимо настроить регламентное задание <strong>Старт отложенных бизнес-процессов</strong>.</div>
</li><li>
<div>После того как задание стартовано, кнопка отложенного старта становится неактивной.</div></li></ul><h3>Управление движением бизнес-процесса</h3>
<ul><li>Для того чтобы <strong>Остановить</strong> или <strong>Продолжить</strong> бизнес-процесс, воспользуйтесь соответствующими кнопками (активна одна из кнопок). Остановленный бизнес-процесс в некоторых списках выделяется значком <img src="CommonPicture.ЗнакСтоп"></img>.</li></ul><h3>Просмотр карты маршрута</h3>
<ul><li>Нажмите кнопку <img src="StdPicture.BusinessProcess"></img> <strong>Открыть карту маршрута бизнес-процесса</strong>, для того чтобы посмотреть бизнес-процесс в наглядной форме.
</li><li>Также можно воспользоваться командой <strong>Еще</strong> <strong>- Карта маршрута</strong>.
</li><li><a href="DataProcessor.КартаМаршрутаБизнесПроцесса/Help">Карта маршрута</a> описывает логику бизнес-процесса и весь его жизненный цикл в виде схематического изображения - последовательности прохождения точек маршрута.</li></ul><h3>Просмотр задач</h3>
<ul><li>Для того чтобы просмотреть <a href="Task.ЗадачаИсполнителя.Form.ЗадачиПоБизнесПроцессу/Help">задачи</a>, из которых состоит данный бизнес-процесс, выполните команду <strong>Задачи</strong> в панели навигации. Если задание не стартовано, то список задач пустой.</li></ul><h3>См. также:</h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></li></ul></li></ul></body></html>
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>

View File

@ -1,6 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandBarLocation>None</CommandBarLocation>
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">КоманднаяПанель</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
@ -14,7 +21,6 @@
<v8:content>Отборы</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПоРеквизитамExtendedTooltip" id="59"/>
@ -22,7 +28,6 @@
<InputField name="ПоАвтору" id="14">
<DataPath>ПоАвтору</DataPath>
<Width>35</Width>
<HorizontalStretch>false</HorizontalStretch>
<ClearButton>true</ClearButton>
<OpenButton>false</OpenButton>
<ContextMenu name="ПоАвторуКонтекстноеМеню" id="15"/>
@ -34,7 +39,6 @@
<InputField name="ПоИсполнителю" id="17">
<DataPath>ПоИсполнителю</DataPath>
<Width>35</Width>
<HorizontalStretch>false</HorizontalStretch>
<ClearButton>true</ClearButton>
<OpenButton>false</OpenButton>
<ContextMenu name="ПоИсполнителюКонтекстноеМеню" id="18"/>
@ -50,7 +54,6 @@
<xr:Common>false</xr:Common>
</UserVisible>
<Width>35</Width>
<HorizontalStretch>false</HorizontalStretch>
<ClearButton>true</ClearButton>
<OpenButton>false</OpenButton>
<ContextMenu name="ПоПроверяющемуКонтекстноеМеню" id="20"/>
@ -68,8 +71,6 @@
<v8:content>Флажки</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ФлажкиExtendedTooltip" id="63"/>
@ -103,7 +104,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
@ -116,12 +116,6 @@
<v8:content>Командная панель</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="КоманднаяПанельExtendedTooltip" id="66"/>
<ChildItems>
@ -154,10 +148,17 @@
<EnableStartDrag>true</EnableStartDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<RowPictureDataPath>Список.КартинкаСтроки</RowPictureDataPath>
<RowsPicture>
<xr:Ref>CommonPicture.СостоянияПроцессов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</RowsPicture>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -213,6 +214,12 @@
<ChildItems>
<PictureField name="ВажностьКартинка" id="24">
<DataPath>Список.ВажностьКартинка</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Важность</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
@ -234,29 +241,6 @@
<ContextMenu name="ВажностьКартинкаКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="ВажностьКартинкаExtendedTooltip" id="70"/>
</PictureField>
<PictureField name="Остановлен" id="46">
<DataPath>Список.Остановлен</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Бизнес-процесс остановлен</v8:content>
</v8:item>
</ToolTip>
<HeaderPicture>
<xr:Ref>CommonPicture.ЗнакСтопЧБ</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</HeaderPicture>
<Width>2</Width>
<HorizontalStretch>false</HorizontalStretch>
<ValuesPicture>
<xr:Ref>CommonPicture.ЗнакСтоп</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</ValuesPicture>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="ОстановленКонтекстноеМеню" id="47"/>
<ExtendedTooltip name="ОстановленExtendedTooltip" id="71"/>
</PictureField>
<LabelField name="Номер" id="4">
<DataPath>Список.Number</DataPath>
<DefaultItem>true</DefaultItem>
@ -317,15 +301,6 @@
<ContextMenu name="СрокПроверкиКонтекстноеМеню" id="45"/>
<ExtendedTooltip name="СрокПроверкиExtendedTooltip" id="79"/>
</LabelField>
<CheckBoxField name="Стартован" id="12">
<DataPath>Список.Started</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СтартованКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="СтартованExtendedTooltip" id="80"/>
</CheckBoxField>
<LabelField name="ДатаЗавершения" id="38">
<DataPath>Список.ДатаЗавершения</DataPath>
<Title>
@ -448,6 +423,22 @@
БизнесПроцессЗадание.РезультатВыполнения,
БизнесПроцессЗадание.СрокИсполнения,
БизнесПроцессЗадание.СрокПроверки,
ВЫБОР
КОГДА БизнесПроцессЗадание.ПометкаУдаления
ТОГДА 6
КОГДА БизнесПроцессЗадание.Завершен = ИСТИНА
ТОГДА 5
КОГДА БизнесПроцессЗадание.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Остановлен)
ТОГДА 4
КОГДА БизнесПроцессЗадание.Стартован = ИСТИНА
ТОГДА 3
КОГДА ПроцессыДляЗапуска.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияПроцессовДляЗапуска.ГотовКСтарту)
И ПроцессыДляЗапуска.ДатаОтложенногоСтарта &lt;&gt; ДАТАВРЕМЯ(1, 1, 1)
ТОГДА 1
КОГДА ПроцессыДляЗапуска.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияПроцессовДляЗапуска.СтартОтменен)
ТОГДА 2
ИНАЧЕ 0
КОНЕЦ КАК КартинкаСтроки,
ВЫБОР
КОГДА БизнесПроцессЗадание.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиЗадачи.Низкая)
ТОГДА 0
@ -460,9 +451,16 @@
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Остановлен,
БизнесПроцессЗадание.ЗадачаИсточник
БизнесПроцессЗадание.ЗадачаИсточник,
ВЫБОР
КОГДА ПроцессыДляЗапуска.Состояние ЕСТЬ NULL
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ КАК Отложен
ИЗ
БизнесПроцесс.Задание КАК БизнесПроцессЗадание</QueryText>
БизнесПроцесс.Задание КАК БизнесПроцессЗадание
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцессыДляЗапуска КАК ПроцессыДляЗапуска
ПО БизнесПроцессЗадание.Ссылка = ПроцессыДляЗапуска.БизнесПроцесс</QueryText>
<MainTable>BusinessProcess.Задание</MainTable>
<ListSettings>
<dcsset:filter>

View File

@ -1,13 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
ПоАвтору = Пользователи.ТекущийПользователь();
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
@ -18,6 +21,8 @@
Элементы.СрокИсполнения.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D");
Элементы.СрокПроверки.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D");
БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление);
Элементы.ФормаОстановить.Видимость = ПравоДоступа("Изменение", Метаданные.БизнесПроцессы.Задание);
КонецПроцедуры
&НаСервере
@ -46,13 +51,17 @@
&НаКлиенте
Процедура ПоказыватьЗавершенныеЗаданияПриИзменении(Элемент)
УстановитьОтбор();
Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьОстановленныеПриИзменении(Элемент)
УстановитьОтбор();
Элементы.Список.Обновить();
КонецПроцедуры
@ -81,13 +90,13 @@
&НаСервере
Процедура УстановитьОтбор()
ПараметрыОтбора = Новый Соответствие();
ПараметрыОтбора.Вставить("ПоказыватьЗавершенныеЗадания", ПоказыватьЗавершенныеЗадания);
ПараметрыОтбора.Вставить("ПоказыватьОстановленные", ПоказыватьОстановленные);
ПараметрыОтбора.Вставить("ПоказыватьЗавершенныеЗадания", ПоказыватьЗавершенныеЗадания);
ПараметрыОтбора.Вставить("ПоказыватьОстановленные", ПоказыватьОстановленные);
ПараметрыОтбора.Вставить("ПоАвтору", ПоАвтору);
ПараметрыОтбора.Вставить("ПоИсполнителю", ПоИсполнителю);
ПараметрыОтбора.Вставить("ПоПроверяющему", ПоПроверяющему);
УстановитьОтборСписка(ПараметрыОтбора);
КонецПроцедуры
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборСписка(ПараметрыОтбора)

View File

@ -544,11 +544,11 @@
</Attribute>
<Attribute uuid="feb41347-62db-41cf-ace0-d8b9de361af3">
<Properties>
<Name>ПараметрыПрописиНаРусском</Name>
<Name>ПараметрыПрописи</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры прописи на русском</v8:content>
<v8:content>Параметры прописи</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -565,7 +565,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры прописи валюты на русском языке</v8:content>
<v8:content>Настройки представления суммы прописью</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -686,10 +686,8 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Form>ПодборВалютИзКлассификатора</Form>
<Form>ФормаСписка</Form>
<Form>ФормаЭлемента</Form>
<Template>ОбщероссийскийКлассификаторВалют</Template>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.19355"></meta></head><body>
<p>Список предназначен для ведения валют, используемых в программе. Необходимые для работы валюты можно подобрать из <a href="Catalog.Валюты.Form.ПодборВалютИзКлассификатора/Help">Общероссийского классификатора валют</a> - ОКВ (рекомендуется) или добавить вручную.</p>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Список предназначен для ведения валют, используемых в программе. Необходимые для работы валюты можно подобрать из <a href="DataProcessor.ЗагрузкаКурсовВалют.Form.ПодборВалютИзКлассификатора/Help">Общероссийского классификатора валют</a> - ОКВ (рекомендуется) или добавить вручную.</p>
<p>Открыть список валют можно из раздела <strong>Справочники</strong>.</p>
<p>В списке выводится:</p>
<ul><li>
@ -14,24 +14,19 @@
</li><li>
<div><strong>Кратность</strong> - по умолчанию заполнено единицей и не выводится. Если курс какой-либо валюты очень низкий (точность составляет меньше четырех знаков дробной части), то в этом поле указывается количество котировочных единиц. Например, курс вьетнамского донга (VND) составляет 16,1574 руб. за 10000 VND. Состоит из трех вспомогательных колонок, в которых размещается данное выражение:</div>
<ul><li>
<div><strong>Руб</strong>.<strong> за</strong> - логическая связка.</div>
</li><li>
<div><strong>Кратность</strong> - проставляется количество котировочных единиц.</div>
</li><li>
<div><strong>Краткое наименование</strong> - указывается символьный код валюты</div></li></ul></li></ul><h3>Добавление валюты из Общероссийского классификатора валют (ОКВ)</h3>
<ul><li>
<div>Нажмите <strong>Подобрать из классификатора</strong> (рекомендуется для корректного ввода валюты). </div>
<div>Нажмите <strong>Создать - По классификатору</strong> (рекомендуется для корректного ввода валюты). </div>
</li><li>
<div>Следующие поля новой валюты будут заполнены из <a href="Catalog.Валюты.Form.ПодборВалютИзКлассификатора/Help">классификатора</a> автоматически: <strong>Наименование</strong>, <strong>Символьный код</strong>, <strong>Цифровой код</strong>, положение переключателя <strong>Курс валюты</strong> (будет установлено положение <strong>загружается из интернета</strong>, если имеется возможность загружать курс этой валюты с сайта РБК). </div></li></ul><h3>Ввод валюты не из классификатора (вручную)</h3>
<div>Следующие поля новой валюты будут заполнены из <a href="DataProcessor.ЗагрузкаКурсовВалют.Form.ПодборВалютИзКлассификатора/Help">классификатора</a> автоматически: <strong>Наименование</strong>, <strong>Символьный код</strong>, <strong>Цифровой код</strong>, положение переключателя <strong>Курс валюты</strong> (будет установлено положение <strong>загружается из интернета</strong>, если имеется возможность загружать курс этой валюты с сайта ). </div></li></ul><h3>Ввод валюты не из классификатора (вручную)</h3>
<ul><li>
<div>Нажмите <strong>Создать</strong>.</div>
</li><li>
<div>В ответ на вопрос программы о подборе из ОКВ нажмите <strong>Нет</strong>.</div>
</li><li>
<div>Заполните <a href="Catalog.Валюты.Form.ФормаЭлемента/Help">сведения о валюте</a>.</div></li></ul><h3>Загрузка курсов валют</h3>
<div>Нажмите <strong>Создать - Новую</strong>. Также можно нажать клавишу <strong>Ins</strong>.</div>
</li><li>Заполните <a href="Catalog.Валюты.Form.ФормаЭлемента/Help">сведения о валюте</a>.</li></ul><h3>Загрузка курсов валют</h3>
<ul><li>
<div>Нажмите <strong>Загрузить курсы валют</strong> для перехода к <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузке курсов валют</a> с сайта РБК</div>
<div>Нажмите <strong>Загрузить курсы валют</strong> для перехода к <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузке курсов валют</a> с сайта 1С. </div>
</li><li>
<div>Также в программе предусмотрено <a href="DataProcessor.РегламентныеИФоновыеЗадания/Help">регламентное задание</a> "Загрузка курсов валют" для автоматической загрузки курсов валют с сайта РБК.</div></li></ul><h3>См. также:</h3>
<div>Также в программе предусмотрено <a href="DataProcessor.РегламентныеИФоновыеЗадания/Help">регламентное задание</a> <strong>Загрузка курсов валют</strong> для автоматической загрузки курсов валют с сайта 1С.</div></li></ul><h3>См. также:</h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a></div></li></ul></body></html>

View File

@ -1,9 +1,18 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Групповое изменение объектов.
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
@ -21,45 +30,10 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Загрузка данных из файла
// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла".
// Т.к. справочник реализует свой метод обновления данных.
//
Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт
Возврат Ложь;
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
// Отключает у валюты 643 загрузку из интернета.
Процедура ОтключитьЗагрузкуКурсаВалюты643ИзИнтернета(Параметры) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Валюты.Ссылка
|ИЗ
| Справочник.Валюты КАК Валюты
|ГДЕ
| Валюты.Код = ""643""
| И Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета)";
Запрос = Новый Запрос(ТекстЗапроса);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Валюта = Выборка.Ссылка.ПолучитьОбъект();
Валюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Валюта);
КонецЦикла;
Параметры.ОбработкаЗавершена = Истина;
КонецПроцедуры
#КонецОбласти
#КонецЕсли

View File

@ -1,4 +1,12 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
@ -37,7 +45,7 @@
КонецЕсли;
Если Отказ Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Курс валюты можно связать только с курсом независимой валюты.'"));
КонецЕсли;
@ -57,73 +65,46 @@
Если Не ЭтоНовый()
И СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты
И РаботаСКурсамиВалют.СписокЗависимыхВалют(Ссылка).Количество() > 0 Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Валюта не может быть подчиненной, так как она является основной для других валют.'"));
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
РаботаСКурсамиВалют.ПроверитьКорректностьКурсаНа01_01_1980(Ссылка);
Если ДополнительныеСвойства.Свойство("ОбновитьКурсы") Тогда
ПараметрыВалюты = Новый Структура;
ПараметрыВалюты.Вставить("ОсновнаяВалюта");
ПараметрыВалюты.Вставить("Ссылка");
ПараметрыВалюты.Вставить("Наценка");
ПараметрыВалюты.Вставить("ДополнительныеСвойства");
ПараметрыВалюты.Вставить("ФормулаРасчетаКурса");
ЗаполнитьЗначенияСвойств(ПараметрыВалюты, ЭтотОбъект);
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ПодчиненнаяВалюта", ПараметрыВалюты);
ПараметрыЗадания.Вставить("СпособУстановкиКурса", СпособУстановкиКурса);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(Новый УникальныйИдентификатор());
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.Валюты");
ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
Результат = ДлительныеОперации.ВыполнитьВФоне("РаботаСКурсамиВалют.ОбновитьКурсВалюты", ПараметрыЗадания, ПараметрыВыполнения);
Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли;
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
РаботаСКурсамиВалют.ПриОбновленииКурсовВалютВМоделиСервиса(ЭтотОбъект);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
КурсЗагружаетсяИзИнтернета = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета;
КурсЗависитОтДругойВалюты = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты;
КурсРассчитываетсяПоФормуле = СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле;
Если ЭтоНовый() Тогда
ДополнительныеСвойства.Вставить("ОбновитьКурсы");
Если КурсЗависитОтДругойВалюты Или КурсРассчитываетсяПоФормуле Тогда
ДополнительныеСвойства.Вставить("ОбновитьКурсы");
КонецЕсли;
ДополнительныеСвойства.Вставить("ЭтоНовый");
ДополнительныеСвойства.Вставить("ЗапланироватьКопированиеКурсовВалюты");
Иначе
ПредыдущиеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Код,СпособУстановкиКурса,ОсновнаяВалюта,Наценка,ФормулаРасчетаКурса");
Если (ПредыдущиеЗначения.СпособУстановкиКурса <> СпособУстановкиКурса)
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета
И ПредыдущиеЗначения.Код <> Код)
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты
И (ПредыдущиеЗначения.ОсновнаяВалюта <> ОсновнаяВалюта Или ПредыдущиеЗначения.Наценка <> Наценка))
Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле
И ПредыдущиеЗначения.ФормулаРасчетаКурса <> ФормулаРасчетаКурса) Тогда
ПоменялсяСпособУстановкиКурса = ПредыдущиеЗначения.СпособУстановкиКурса <> СпособУстановкиКурса;
ПоменялсяКодВалюты = ПредыдущиеЗначения.Код <> Код;
ПоменяласьОсновнаяВалюта = ПредыдущиеЗначения.ОсновнаяВалюта <> ОсновнаяВалюта;
ПоменяласьНаценка = ПредыдущиеЗначения.Наценка <> Наценка;
ПоменяласьФормула = ПредыдущиеЗначения.ФормулаРасчетаКурса <> ФормулаРасчетаКурса;
Если (КурсЗависитОтДругойВалюты И (ПоменяласьОсновнаяВалюта Или ПоменяласьНаценка Или ПоменялсяСпособУстановкиКурса))
Или (КурсРассчитываетсяПоФормуле И (ПоменяласьФормула Или ПоменялсяСпособУстановкиКурса)) Тогда
ДополнительныеСвойства.Вставить("ОбновитьКурсы");
КонецЕсли;
Если КурсЗагружаетсяИзИнтернета И (ПоменялсяСпособУстановкиКурса Или ПоменялсяКодВалюты) Тогда
ДополнительныеСвойства.Вставить("ЗапланироватьКопированиеКурсовВалюты");
КонецЕсли;
КонецЕсли;
Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда
@ -137,6 +118,79 @@
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ДополнительныеСвойства.Свойство("ОбновитьКурсы") И ВыполняетсяФоновыйПересчетКурсов() Тогда
ВызватьИсключение НСтр("ru = 'Не удалось записать валюту, так как еще не завершился фоновый пересчет курсов.
|Попробуйте записать валюту позже.'");
КонецЕсли;
Если ДополнительныеСвойства.Свойство("ОбновитьКурсы") Тогда
НачатьФоновоеОбновлениеКурсовВалюты();
Иначе
РаботаСКурсамиВалют.ПроверитьКорректностьКурсаНа01_01_1980(Ссылка);
КонецЕсли;
Если ДополнительныеСвойства.Свойство("ЗапланироватьКопированиеКурсовВалюты") Тогда
ЗапланироватьКопированиеКурсовВалюты();
КонецЕсли;
КонецПроцедуры
Функция ВыполняетсяФоновыйПересчетКурсов()
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("Наименование", "РаботаСКурсамиВалют.ОбновитьКурсВалюты");
ПараметрыЗадания.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
Возврат ОбщегоНазначения.ИнформационнаяБазаФайловая()
И ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыЗадания).Количество() > 0;
КонецФункции
Процедура НачатьФоновоеОбновлениеКурсовВалюты()
ПараметрыВалюты = Новый Структура;
ПараметрыВалюты.Вставить("ОсновнаяВалюта");
ПараметрыВалюты.Вставить("Ссылка");
ПараметрыВалюты.Вставить("Наценка");
ПараметрыВалюты.Вставить("ДополнительныеСвойства");
ПараметрыВалюты.Вставить("ФормулаРасчетаКурса");
ПараметрыВалюты.Вставить("СпособУстановкиКурса");
ЗаполнитьЗначенияСвойств(ПараметрыВалюты, ЭтотОбъект);
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("Валюта", ПараметрыВалюты);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(Новый УникальныйИдентификатор());
ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьНеВФоне = ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы();
Результат = ДлительныеОперации.ВыполнитьВФоне("РаботаСКурсамиВалют.ОбновитьКурсВалюты", ПараметрыЗадания, ПараметрыВыполнения);
Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли;
КонецПроцедуры
Процедура ЗапланироватьКопированиеКурсовВалюты()
Перем МодульКурсыВалютСлужебныйВМоделиСервиса;
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВалютыВМоделиСервиса") Тогда
МодульКурсыВалютСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КурсыВалютСлужебныйВМоделиСервиса");
МодульКурсыВалютСлужебныйВМоделиСервиса.ЗапланироватьКопированиеКурсовВалюты(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -1,285 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Width>90</Width>
<CommandBarLocation>None</CommandBarLocation>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<Table name="СписокВалют" id="1">
<Representation>List</Representation>
<CommandBarLocation>Top</CommandBarLocation>
<ReadOnly>true</ReadOnly>
<SkipOnInput>false</SkipOnInput>
<ChoiceMode>true</ChoiceMode>
<MultipleChoice>true</MultipleChoice>
<RowSelectionMode>Row</RowSelectionMode>
<AutoInsertNewRow>true</AutoInsertNewRow>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Валюты</DataPath>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Change</ExcludedCommand>
<ExcludedCommand>Choose</ExcludedCommand>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>CopyToClipboard</ExcludedCommand>
<ExcludedCommand>Delete</ExcludedCommand>
<ExcludedCommand>EndEdit</ExcludedCommand>
<ExcludedCommand>MoveDown</ExcludedCommand>
<ExcludedCommand>MoveUp</ExcludedCommand>
<ExcludedCommand>OutputList</ExcludedCommand>
<ExcludedCommand>SortListAsc</ExcludedCommand>
<ExcludedCommand>SortListDesc</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<RowFilter xsi:nil="true"/>
<ContextMenu name="СписокВалютКонтекстноеМеню" id="2">
<ChildItems>
<Button name="СписокВалютКонтекстноеМенюВыбрать" id="18">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Выбрать</CommandName>
<ExtendedTooltip name="СписокВалютКонтекстноеМенюВыбратьExtendedTooltip" id="21"/>
</Button>
<Button name="СписокВалютКонтекстноеМенюНайти" id="19">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.СписокВалют.StandardCommand.Find</CommandName>
<ExtendedTooltip name="СписокВалютКонтекстноеМенюНайтиExtendedTooltip" id="22"/>
</Button>
<Button name="СписокВалютКонтекстноеМенюОтменитьПоиск" id="20">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.СписокВалют.StandardCommand.CancelSearch</CommandName>
<ExtendedTooltip name="СписокВалютКонтекстноеМенюОтменитьПоискExtendedTooltip" id="23"/>
</Button>
</ChildItems>
</ContextMenu>
<AutoCommandBar name="СписокВалютКоманднаяПанель" id="3">
<Autofill>false</Autofill>
<ChildItems>
<Button name="Выбрать" id="14">
<Type>CommandBarButton</Type>
<Representation>Text</Representation>
<DefaultButton>true</DefaultButton>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.Выбрать</CommandName>
<ExtendedTooltip name="ВыбратьExtendedTooltip" id="24"/>
</Button>
<Button name="Найти" id="12">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Item.СписокВалют.StandardCommand.Find</CommandName>
<ExtendedTooltip name="НайтиExtendedTooltip" id="25"/>
</Button>
<Button name="ОтменитьПоиск" id="13">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Item.СписокВалют.StandardCommand.CancelSearch</CommandName>
<ExtendedTooltip name="ОтменитьПоискExtendedTooltip" id="26"/>
</Button>
<Button name="ФормаСправка" id="17">
<Type>CommandBarButton</Type>
<CommandName>Form.StandardCommand.Help</CommandName>
<ExtendedTooltip name="ФормаСправкаExtendedTooltip" id="27"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="СписокВалютExtendedTooltip" id="28"/>
<SearchStringAddition name="СписокВалютSearchString" id="34">
<AdditionSource>
<Item>СписокВалют</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокВалютSearchStringContextMenu" id="35"/>
<ExtendedTooltip name="СписокВалютSearchStringExtendedTooltip" id="36"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокВалютViewStatus" id="37">
<AdditionSource>
<Item>СписокВалют</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокВалютViewStatusContextMenu" id="38"/>
<ExtendedTooltip name="СписокВалютViewStatusExtendedTooltip" id="39"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокВалютSearchControl" id="40">
<AdditionSource>
<Item>СписокВалют</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокВалютSearchControlContextMenu" id="41"/>
<ExtendedTooltip name="СписокВалютSearchControlExtendedTooltip" id="42"/>
</SearchControlAddition>
<Events>
<Event name="Selection">СписокВалютВыбор</Event>
</Events>
<ChildItems>
<InputField name="КодВалюты" id="4">
<DataPath>Валюты.КодВалютыЦифровой</DataPath>
<Width>3</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="КодВалютыКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="КодВалютыExtendedTooltip" id="29"/>
</InputField>
<InputField name="КраткоеНаименование" id="6">
<DataPath>Валюты.КодВалютыБуквенный</DataPath>
<Width>3</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="КраткоеНаименованиеКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="КраткоеНаименованиеExtendedTooltip" id="30"/>
</InputField>
<InputField name="Наименование" id="8">
<DataPath>Валюты.Наименование</DataPath>
<Width>20</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="31"/>
</InputField>
<InputField name="СтраныИТерритории" id="10">
<DataPath>Валюты.СтраныИТерритории</DataPath>
<Wrap>false</Wrap>
<ContextMenu name="СтраныИТерриторииКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="СтраныИТерриторииExtendedTooltip" id="32"/>
</InputField>
<CheckBoxField name="Загружается" id="15">
<DataPath>Валюты.Загружается</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Валюта может быть загружена с сайта РБК</v8:content>
</v8:item>
</ToolTip>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ЗагружаетсяКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="ЗагружаетсяExtendedTooltip" id="33"/>
</CheckBoxField>
</ChildItems>
</Table>
</ChildItems>
<Attributes>
<Attribute name="Валюты" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Валюты</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="КодВалютыЦифровой" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код числовой</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="КодВалютыБуквенный" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код символьный</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Наименование" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование валюты</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="СтраныИТерритории" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страны и территории</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Загружается" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загружается из сети Интернет</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Column>
<Column name="ПараметрыПрописиНаРусском" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры прописи на русском</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
</Columns>
</Attribute>
</Attributes>
<Commands>
<Command name="Выбрать" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выбрать</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создание новой валюты на основании выбора</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.ChooseValue</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ВыбратьВыполнить</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -1,127 +0,0 @@

#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Заполнение списка валют из ОКВ.
ЗакрыватьПриВыборе = Ложь;
ЗаполнитьТаблицуВалют();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокВалют
&НаКлиенте
Процедура СписокВалютВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ОбработатьВыборВСпискеВалют(СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ВыбратьВыполнить()
ОбработатьВыборВСпискеВалют();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ЗаполнитьТаблицуВалют()
// Заполняет список валют из макета ОКВ.
КлассификаторXML = Справочники.Валюты.ПолучитьМакет("ОбщероссийскийКлассификаторВалют").ПолучитьТекст();
КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторXML).Данные;
Для Каждого ЗаписьОКВ Из КлассификаторТаблица Цикл
НоваяСтрока = Валюты.Добавить();
НоваяСтрока.КодВалютыЦифровой = ЗаписьОКВ.Code;
НоваяСтрока.КодВалютыБуквенный = ЗаписьОКВ.CodeSymbol;
НоваяСтрока.Наименование = ЗаписьОКВ.Name;
НоваяСтрока.СтраныИТерритории = ЗаписьОКВ.Description;
НоваяСтрока.Загружается = ЗаписьОКВ.RBCLoading;
НоваяСтрока.ПараметрыПрописиНаРусском = ЗаписьОКВ.NumerationItemOptions;
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция СохранитьВыбранныеСтроки(Знач ВыбранныеСтроки, ЕстьКурсы)
ЕстьКурсы = Ложь;
ТекущаяСсылка = Неопределено;
Для каждого НомерСтроки Из ВыбранныеСтроки Цикл
ТекущиеДанные = Валюты[НомерСтроки];
СтрокаВБазе = Справочники.Валюты.НайтиПоКоду(ТекущиеДанные.КодВалютыЦифровой);
Если ЗначениеЗаполнено(СтрокаВБазе) Тогда
Если НомерСтроки = Элементы.СписокВалют.ТекущаяСтрока Или ТекущаяСсылка = Неопределено Тогда
ТекущаяСсылка = СтрокаВБазе;
КонецЕсли;
Продолжить;
КонецЕсли;
НоваяСтрока = Справочники.Валюты.СоздатьЭлемент();
НоваяСтрока.Код = ТекущиеДанные.КодВалютыЦифровой;
НоваяСтрока.Наименование = ТекущиеДанные.КодВалютыБуквенный;
НоваяСтрока.НаименованиеПолное = ТекущиеДанные.Наименование;
Если ТекущиеДанные.Загружается Тогда
НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета;
Иначе
НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод;
КонецЕсли;
НоваяСтрока.ПараметрыПрописиНаРусском = ТекущиеДанные.ПараметрыПрописиНаРусском;
НоваяСтрока.Записать();
Если НомерСтроки = Элементы.СписокВалют.ТекущаяСтрока Или ТекущаяСсылка = Неопределено Тогда
ТекущаяСсылка = НоваяСтрока.Ссылка;
КонецЕсли;
Если ТекущиеДанные.Загружается Тогда
ЕстьКурсы = Истина;
КонецЕсли;
КонецЦикла;
Возврат ТекущаяСсылка;
КонецФункции
&НаКлиенте
Процедура ОбработатьВыборВСпискеВалют(СтандартнаяОбработка = Неопределено)
Перем ЕстьКурсы;
// Добавление элемента справочника и вывод результата пользователю.
СтандартнаяОбработка = Ложь;
ТекущаяСсылка = СохранитьВыбранныеСтроки(Элементы.СписокВалют.ВыделенныеСтроки, ЕстьКурсы);
ОповеститьОВыборе(ТекущаяСсылка);
ПоказатьОповещениеПользователя(
НСтр("ru = 'Валюты добавлены.'"), ,
?(СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().РазделениеВключено И ЕстьКурсы,
НСтр("ru = 'Курсы будут загружены автоматически через непродолжительное время.'"), ""),
БиблиотекаКартинок.Информация32);
Закрыть();
КонецПроцедуры
#КонецОбласти

View File

@ -1,19 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.19355"></meta></head><body>
<p>Содержит общую информацию о <a href="Catalog.Валюты/Help">валютах</a> и предназначен для добавления новых валют (рекомендуется для корректного заполнения данных о <a href="Catalog.Валюты.Form.ФормаЭлемента/Help">валюте</a>).</p>
<p>В Общероссийском классификаторе валют выводится:</p>
<ul><li>
<div><strong>Код числовой</strong> - уникальный числовой код, принят международным стандартом, служит для идентификации валюты при загрузке курсов из сети Интернет (с сайта РБК).</div>
</li><li>
<div><strong>Код символьный</strong> - принят международным стандартом, используется как краткое наименование и основное представление валюты.</div>
</li><li>
<div><strong>Наименование валюты</strong> - полное наименование.</div>
</li><li>
<div><strong>Страны и территории</strong> - указываются страны или территории, в которых данная валюта используется в качестве основной.</div>
</li><li>
<div><strong>Загружается из сети Интернет</strong> - если флажок включен, то валюта может <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загружаться с сайта РБК</a>.</div></li></ul><h3>Добавление валюты из классификатора в список валют</h3>
<ul><li>
<div>Выделив одну или несколько валют, нажмите кнопку <strong>Выбрать</strong>.</div>
</li><li>
<div>Воспользуйтесь двойным щелчком мыши по валюте для добавления валюты в список валют.</div></li></ul><h3>См. также: </h3>
<ul><li>
<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>

View File

@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">КоманднаяПанель</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
</AutoCommandBar>
@ -16,12 +23,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
@ -34,24 +35,65 @@
<v8:content>Командная панель</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="КоманднаяПанельРасширеннаяПодсказка" id="65"/>
<ChildItems>
<Button name="ФормаЗагрузитьКурсыВалют" id="43">
<Popup name="Создать" id="77">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создать</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СоздатьРасширеннаяПодсказка" id="78"/>
<ChildItems>
<Button name="ФормаПодборИзКлассификатора" id="44">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ПодборИзКлассификатора</CommandName>
<ExtendedTooltip name="ФормаПодборИзКлассификатораРасширеннаяПодсказка" id="51"/>
</Button>
<Button name="СоздатьВалюту" id="85">
<Type>CommandBarButton</Type>
<CommandName>Form.StandardCommand.Create</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Новую</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СоздатьВалютуРасширеннаяПодсказка" id="86"/>
</Button>
</ChildItems>
</Popup>
<ButtonGroup name="КомандыФормы" id="79">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команды формы</v8:content>
</v8:item>
</Title>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="КомандыФормыРасширеннаяПодсказка" id="80"/>
</ButtonGroup>
<ButtonGroup name="ГруппаЗагрузитьКурсыВалют" id="87">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузить курсы валют</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ГруппаЗагрузитьКурсыВалютРасширеннаяПодсказка" id="88"/>
<ChildItems>
<Button name="ФормаЗагрузитьКурсыВалют" id="43">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьКурсыВалют</CommandName>
<ExtendedTooltip name="ФормаЗагрузитьКурсыВалютExtendedTooltip" id="50"/>
</Button>
</ChildItems>
</ButtonGroup>
<Button name="Справка" id="81">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьКурсыВалют</CommandName>
<ExtendedTooltip name="ФормаЗагрузитьКурсыВалютExtendedTooltip" id="50"/>
</Button>
<Button name="ФормаПодборИзОКВ" id="44">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ПодборИзОКВ</CommandName>
<ExtendedTooltip name="ФормаПодборИзОКВExtendedTooltip" id="51"/>
<CommandName>Form.StandardCommand.Help</CommandName>
<ExtendedTooltip name="СправкаРасширеннаяПодсказка" id="82"/>
</Button>
</ChildItems>
</CommandBar>
@ -62,9 +104,12 @@
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Валюты</v8:content>
</v8:item>
</Title>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -107,10 +152,10 @@
<ExtendedTooltip name="ВалютыУправлениеПоискомРасширеннаяПодсказка" id="76"/>
</SearchControlAddition>
<Events>
<Event name="BeforeAddRow">ВалютыПередНачаломДобавления</Event>
<Event name="OnGetDataAtServer">ВалютыПриПолученииДанныхНаСервере</Event>
</Events>
<ChildItems>
<InputField name="НаименованиеПолное" id="40">
<InputField name="НаименованиеПолное" id="40" DisplayImportance="VeryHigh">
<DataPath>Список.НаименованиеПолное</DataPath>
<Width>20</Width>
<Wrap>false</Wrap>
@ -118,7 +163,7 @@
<ExtendedTooltip name="НаименованиеПолноеExtendedTooltip" id="55"/>
</InputField>
<InputField name="Код" id="28">
<DataPath>Список.Code</DataPath>
<DataPath>Список.Код</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@ -131,7 +176,7 @@
<ExtendedTooltip name="КодExtendedTooltip" id="53"/>
</InputField>
<InputField name="Наименование" id="32">
<DataPath>Список.Description</DataPath>
<DataPath>Список.Наименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@ -143,13 +188,20 @@
<ContextMenu name="НаименованиеКонтекстноеМеню" id="33"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="54"/>
</InputField>
<LabelField name="Курс" id="38">
<LabelField name="Курс" id="38" DisplayImportance="VeryHigh">
<DataPath>Список.Курс</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Курс</v8:content>
</v8:item>
</Title>
<Width>7</Width>
<ContextMenu name="КурсКонтекстноеМеню" id="39"/>
<ExtendedTooltip name="КурсExtendedTooltip" id="56"/>
</LabelField>
<ColumnGroup name="ПредставлениеКратности" id="49">
<LabelField name="Кратность" id="36">
<DataPath>Список.Кратность</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@ -159,47 +211,15 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кратность валюты. Отображается, если не равна 1.</v8:content>
<v8:content>Кратность равная единице не отображается</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<ShowInHeader>true</ShowInHeader>
<ExtendedTooltip name="ПредставлениеКратностиExtendedTooltip" id="57"/>
<ChildItems>
<LabelField name="РубЗа" id="45">
<DataPath>Список.РубЗа</DataPath>
<TitleLocation>None</TitleLocation>
<ShowInHeader>false</ShowInHeader>
<Width>7</Width>
<ContextMenu name="РубЗаКонтекстноеМеню" id="46"/>
<ExtendedTooltip name="РубЗаExtendedTooltip" id="58"/>
</LabelField>
<LabelField name="Кратность" id="36">
<DataPath>Список.Кратность</DataPath>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>кратность равная единице не отображается</v8:content>
</v8:item>
</ToolTip>
<ShowInHeader>false</ShowInHeader>
<Width>7</Width>
<ContextMenu name="КратностьКонтекстноеМеню" id="37"/>
<ExtendedTooltip name="КратностьExtendedTooltip" id="59"/>
</LabelField>
<LabelField name="КраткоеНаименование" id="47">
<DataPath>Список.КраткоеНаименование</DataPath>
<TitleLocation>None</TitleLocation>
<ShowInHeader>false</ShowInHeader>
<Width>7</Width>
<ContextMenu name="КраткоеНаименованиеКонтекстноеМеню" id="48"/>
<ExtendedTooltip name="КраткоеНаименованиеExtendedTooltip" id="60"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<Width>7</Width>
<ContextMenu name="КратностьКонтекстноеМеню" id="37"/>
<ExtendedTooltip name="КратностьРасширеннаяПодсказка" id="59"/>
</LabelField>
<LabelField name="Ссылка" id="61">
<DataPath>Список.Ref</DataPath>
<DataPath>Список.Ссылка</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
@ -217,37 +237,24 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>Список.Ref</Field>
<Field>Список.Кратность</Field>
<Field>Список.Курс</Field>
<Field>Список.Наименование</Field>
<Field>Список.Ссылка</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<QueryText>ВЫБРАТЬ
Валюты.ПометкаУдаления,
Валюты.Код,
Валюты.Наименование,
Валюты.НаименованиеПолное,
КурсыВалют.Курс,
ВЫБОР
КОГДА КурсыВалют.Кратность = 1
ТОГДА " "
ИНАЧЕ ВЫРАЗИТЬ(&amp;ПояснениеКратности КАК СТРОКА(50))
КОНЕЦ КАК РубЗа,
ВЫБОР
КОГДА КурсыВалют.Кратность = 1
ТОГДА " "
ИНАЧЕ КурсыВалют.Кратность
КОНЕЦ КАК Кратность,
ВЫБОР
КОГДА КурсыВалют.Кратность = 1
ТОГДА " "
ИНАЧЕ Валюты.Наименование
КОНЕЦ КАК КраткоеНаименование,
Валюты.Ссылка
Валюты.ПометкаУдаления КАК ПометкаУдаления,
Валюты.Код КАК Код,
Валюты.Наименование КАК Наименование,
Валюты.НаименованиеПолное КАК НаименованиеПолное,
ВЫРАЗИТЬ(NULL КАК ЧИСЛО(10, 2)) КАК Курс,
ВЫРАЗИТЬ(NULL КАК СТРОКА(50)) КАК Кратность,
Валюты.Ссылка КАК Ссылка
ИЗ
Справочник.Валюты КАК Валюты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&amp;КонецПериода, ) КАК КурсыВалют
ПО Валюты.Ссылка = КурсыВалют.Валюта</QueryText>
Справочник.Валюты КАК Валюты</QueryText>
<MainTable>Catalog.Валюты</MainTable>
<ListSettings>
<dcsset:filter>
@ -273,11 +280,11 @@
</Attribute>
</Attributes>
<Commands>
<Command name="ПодборИзОКВ" id="1">
<Command name="ПодборИзКлассификатора" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подобрать из классификатора...</v8:content>
<v8:content>По классификатору...</v8:content>
</v8:item>
</Title>
<ToolTip>
@ -286,7 +293,7 @@
<v8:content>Подобрать валюты из Общероссийского классификатора валют</v8:content>
</v8:item>
</ToolTip>
<Action>ПодборИзОКВ</Action>
<Action>ПодборИзКлассификатора</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ЗагрузитьКурсыВалют" id="2">
@ -299,7 +306,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузить курсы валют с веб-сайта РБК</v8:content>
<v8:content>Загрузить курсы валют с веб-сайта </v8:content>
</v8:item>
</ToolTip>
<Action>ЗагрузитьКурсыВалют</Action>

View File

@ -1,22 +1,38 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
ДатаКурса = НачалоДня(ТекущаяДатаСеанса());
Список.Параметры.УстановитьЗначениеПараметра("КонецПериода", ДатаКурса);
Список.Параметры.УстановитьЗначениеПараметра("ПояснениеКратности", НСтр("ru = 'руб. за'"));
Элементы.Валюты.РежимВыбора = Параметры.РежимВыбора;
Если Не Пользователи.РолиДоступны("ДобавлениеИзменениеКурсовВалют") Тогда
Элементы.ФормаПодборИзОКВ.Видимость = Ложь;
Элементы.ФормаЗагрузитьКурсыВалют.Видимость = Ложь;
ДатаКурса = НачалоДня(ТекущаяДатаСеанса());
Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ДатаКурса", ДатаКурса);
ИзменяемыеПоля = Новый Массив;
ИзменяемыеПоля.Добавить("Курс");
ИзменяемыеПоля.Добавить("Кратность");
Список.УстановитьОграниченияИспользованияВГруппировке(ИзменяемыеПоля);
Список.УстановитьОграниченияИспользованияВПорядке(ИзменяемыеПоля);
Список.УстановитьОграниченияИспользованияВОтборе(ИзменяемыеПоля);
ДоступноИзменениеВалют = ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют);
ДоступнаЗагрузкаКурсов = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено И ДоступноИзменениеВалют;
Элементы.ФормаПодборИзКлассификатора.Видимость = ДоступнаЗагрузкаКурсов;
Элементы.ФормаЗагрузитьКурсыВалют.Видимость = ДоступнаЗагрузкаКурсов;
Если Не ДоступнаЗагрузкаКурсов Тогда
Если ДоступноИзменениеВалют Тогда
Элементы.СоздатьВалюту.Заголовок = НСтр("ru = 'Создать'");
КонецЕсли;
Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли;
КонецПроцедуры
@ -43,17 +59,37 @@
#Область ОбработчикиСобытийЭлементовТаблицыФормыВалюты
&НаКлиенте
Процедура ВалютыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
Текст = НСтр("ru = 'Есть возможность подобрать валюту из классификатора.
|Подобрать?'");
Оповещение = Новый ОписаниеОповещения("ВалютыПередНачаломДобавленияЗавершение", ЭтотОбъект);
КнопкиВыбора = Новый СписокЗначений();
КнопкиВыбора.Добавить(КодВозвратаДиалога.Да, "Подобрать");
КнопкиВыбора.Добавить(КодВозвратаДиалога.Нет, "Создать");
КнопкиВыбора.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
ПоказатьВопрос(Оповещение, Текст,КнопкиВыбора, , КодВозвратаДиалога.Да);
Отказ = Истина;
&НаСервереБезКонтекста
Процедура ВалютыПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Перем ДатаКурса;
Если Не Настройки.ДополнительныеСвойства.Свойство("ДатаКурса", ДатаКурса) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалют.Валюта КАК Валюта,
| КурсыВалют.Курс КАК Курс,
| КурсыВалют.Кратность КАК Кратность
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&КонецПериода, Валюта В (&Валюты)) КАК КурсыВалют";
Запрос.УстановитьПараметр("Валюты", Строки.ПолучитьКлючи());
Запрос.УстановитьПараметр("КонецПериода", ДатаКурса);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтрокаСписка = Строки[Выборка.Валюта];
СтрокаСписка.Данные["Курс"] = Выборка.Курс;
Если Выборка.Кратность <> 1 Тогда
Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'за %1 %2'"),
Выборка.Кратность, СтрокаСписка.Данные["Наименование"]);
СтрокаСписка.Данные["Кратность"] = Пояснение;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
@ -61,31 +97,20 @@
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПодборИзОКВ(Команда)
Процедура ПодборИзКлассификатора(Команда)
ОткрытьФорму("Справочник.Валюты.Форма.ПодборВалютИзКлассификатора",, ЭтотОбъект);
ИмяФормыПодбора = "Обработка.ЗагрузкаКурсовВалют.Форма.ПодборВалютИзКлассификатора";
ОткрытьФорму(ИмяФормыПодбора, , ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьКурсыВалют(Команда)
ИмяФормыЗагрузки = "Обработка.ЗагрузкаКурсовВалют.Форма";
ПараметрыФормы = Новый Структура("ОткрытиеИзСписка");
ОткрытьФорму("Обработка.ЗагрузкаКурсовВалют.Форма", ПараметрыФормы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ВалютыПередНачаломДобавленияЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ОткрытьФорму("Справочник.Валюты.Форма.ПодборВалютИзКлассификатора", , ЭтотОбъект);
ИначеЕсли РезультатВопроса = КодВозвратаДиалога.Нет Тогда
ОткрытьФорму("Справочник.Валюты.ФормаОбъекта");
КонецЕсли;
ОткрытьФорму(ИмяФормыЗагрузки, ПараметрыФормы);
КонецПроцедуры
#КонецОбласти

View File

@ -1,13 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если Объект.Ссылка.Пустая() Тогда
Если Параметры.Свойство("КодВалюты") Тогда
@ -28,28 +31,26 @@
Объект.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод;
КонецЕсли;
Если Параметры.Свойство("ПараметрыПрописиНаРусском") Тогда
Объект.ПараметрыПрописиНаРусском = Параметры.ПараметрыПрописиНаРусском;
Если Параметры.Свойство("ПараметрыПрописи") Тогда
Объект.ПараметрыПрописи = Параметры.ПараметрыПрописи;
КонецЕсли;
ЗаполнитьФормуПоОбъекту();
КонецЕсли;
ОбработкаЗагрузкаКурсовВалют = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют");
Если ОбработкаЗагрузкаКурсовВалют <> Неопределено Тогда
ЕстьФормаПараметрыПрописиВалюты = ОбработкаЗагрузкаКурсовВалют.Формы.Найти("ПараметрыПрописиВалюты") <> Неопределено;
КонецЕсли;
Элементы.КурсВалютыЗагружаетсяИзИнтернета.Видимость = ОбработкаЗагрузкаКурсовВалют <> Неопределено;
УстановитьДоступностьЭлементов(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ЗаполнитьФормуПоОбъекту();
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.ПараметрыПрописиНаРусском = ПараметрыПрописиНаРусском(ЭтотОбъект);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.ФормулаРасчетаКурса.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу;
Элементы.ОсновнаяВалюта.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто;
Элементы.ГруппаШапка.ВыравниваниеЭлементовИЗаголовков =
ВариантВыравниванияЭлементовИЗаголовков.ЭлементыПравоЗаголовкиЛево;
КонецЕсли;
КонецПроцедуры
@ -68,216 +69,31 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Страница "Параметры прописи валюты".
&НаКлиенте
Процедура СуммаЧислоПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи4наРусскомПриИзменении(Элемент)
УстановитьСклоненияПараметровПрописи(ЭтотОбъект);
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи4наРусскомАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
ДанныеВыбора = АвтоПодборПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи4наРусскомОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
ДанныеВыбора = ОкончаниеВводаТекстаПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи8наРусскомПриИзменении(Элемент)
УстановитьСклоненияПараметровПрописи(ЭтотОбъект);
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи8наРусскомАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
ДанныеВыбора = АвтоПодборПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи8наРусскомОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
ДанныеВыбора = ОкончаниеВводаТекстаПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи1наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи2наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи3наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи5наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи6наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПолеПрописи7наРусскомПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ДлинаДробнойЧастиПриИзменении(Элемент)
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ДлинаДробнойЧастиАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
ДанныеВыбора = АвтоПодборПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ДлинаДробнойЧастиОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
ДанныеВыбора = ОкончаниеВводаТекстаПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура КурсВалютыПриИзменении(Элемент)
УстановитьДоступностьЭлементов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПараметрыПрописиВалютыНажатие(Элемент)
ОписаниеОповещения = Новый ОписаниеОповещения("ПриИзмененииПараметровПрописиВалюты", ЭтотОбъект);
Если ЕстьФормаПараметрыПрописиВалюты Тогда
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ТолькоПросмотр", ТолькоПросмотр);
ПараметрыОткрытия.Вставить("ПараметрыПрописи", Объект.ПараметрыПрописи);
ИмяФормыРедактированияПрописей = "Обработка.ЗагрузкаКурсовВалют.Форма.ПараметрыПрописиВалюты";
ОткрытьФорму(ИмяФормыРедактированияПрописей, ПараметрыОткрытия, ЭтотОбъект, , , , ОписаниеОповещения);
Иначе
ПоказатьВводСтроки(ОписаниеОповещения, Объект.ПараметрыПрописи, НСтр("ru = 'Параметры прописи валюты'"));
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ЗаполнитьФормуПоОбъекту()
ПрочитатьПараметрыПрописи();
УстановитьСклоненияПараметровПрописи(ЭтотОбъект);
УстановитьСуммуПрописью(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПараметрыПрописиНаРусском(Форма)
Возврат Форма.ПолеПрописи1наРусском + ", "
+ Форма.ПолеПрописи2наРусском + ", "
+ Форма.ПолеПрописи3наРусском + ", "
+ НРег(Лев(Форма.ПолеПрописи4наРусском, 1)) + ", "
+ Форма.ПолеПрописи5наРусском + ", "
+ Форма.ПолеПрописи6наРусском + ", "
+ Форма.ПолеПрописи7наРусском + ", "
+ НРег(Лев(Форма.ПолеПрописи8наРусском, 1)) + ", "
+ Форма.ДлинаДробнойЧасти;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСуммуПрописью(Форма)
Форма.СуммаПрописью = ЧислоПрописью(Форма.СуммаЧисло, , ПараметрыПрописиНаРусском(Форма));
КонецПроцедуры
&НаСервере
Процедура ПрочитатьПараметрыПрописи()
// Считывает параметры прописи и заполняет соответствующие поля диалога.
СтрокаПараметров = СтрЗаменить(Объект.ПараметрыПрописиНаРусском, ",", Символы.ПС);
ПолеПрописи1наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 1));
ПолеПрописи2наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 2));
ПолеПрописи3наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 3));
Род = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 4));
Если НРег(Род) = "м" Тогда
ПолеПрописи4наРусском = "Мужской";
ИначеЕсли НРег(Род) = "ж" Тогда
ПолеПрописи4наРусском = "Женский";
ИначеЕсли НРег(Род) = "с" Тогда
ПолеПрописи4наРусском = "Средний";
КонецЕсли;
ПолеПрописи5наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 5));
ПолеПрописи6наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 6));
ПолеПрописи7наРусском = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 7));
Род = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 8));
Если НРег(Род = "м") Тогда
ПолеПрописи8наРусском = "Мужской";
ИначеЕсли НРег(Род = "ж") Тогда
ПолеПрописи8наРусском = "Женский";
ИначеЕсли НРег(Род = "с") Тогда
ПолеПрописи8наРусском = "Средний";
КонецЕсли;
ДлинаДробнойЧасти = СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 9));
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСклоненияПараметровПрописи(Форма)
// Склонение заголовков параметров прописи.
Элементы = Форма.Элементы;
Если Форма.ПолеПрописи4наРусском = "Женский" Тогда
Элементы.ПолеПрописи1наРусском.Заголовок = НСтр("ru = 'Одна'");
Элементы.ПолеПрописи2наРусском.Заголовок = НСтр("ru = 'Две'");
ИначеЕсли Форма.ПолеПрописи4наРусском = "Мужской" Тогда
Элементы.ПолеПрописи1наРусском.Заголовок = НСтр("ru = 'Один'");
Элементы.ПолеПрописи2наРусском.Заголовок = НСтр("ru = 'Два'");
Иначе
Элементы.ПолеПрописи1наРусском.Заголовок = НСтр("ru = 'Одно'");
Элементы.ПолеПрописи2наРусском.Заголовок = НСтр("ru = 'Два'");
КонецЕсли;
Если Форма.ПолеПрописи8наРусском = "Женский" Тогда
Элементы.ПолеПрописи5наРусском.Заголовок = НСтр("ru = 'Одна'");
Элементы.ПолеПрописи6наРусском.Заголовок = НСтр("ru = 'Две'");
ИначеЕсли Форма.ПолеПрописи8наРусском = "Мужской" Тогда
Элементы.ПолеПрописи5наРусском.Заголовок = НСтр("ru = 'Один'");
Элементы.ПолеПрописи6наРусском.Заголовок = НСтр("ru = 'Два'");
Иначе
Элементы.ПолеПрописи5наРусском.Заголовок = НСтр("ru = 'Одно'");
Элементы.ПолеПрописи6наРусском.Заголовок = НСтр("ru = 'Два'");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПодготовитьДанныеВыбораПодчиненнойВалюты(ДанныеВыбора, Ссылка)
@ -288,70 +104,46 @@
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка, НаименованиеПолное
|ИЗ
| Справочник.Валюты
|ГДЕ
| Ссылка <> &Ссылка
| ОсновнаяВалюта = Значение(Справочник.Валюты.ПустаяСсылка)
|УПОРЯДОЧИТЬ ПО НаименованиеПолное";
Запрос.Текст =
"ВЫБРАТЬ
| Валюты.Ссылка КАК Ссылка,
| Валюты.НаименованиеПолное КАК НаименованиеПолное,
| Валюты.Наименование КАК Наименование
|ИЗ
| Справочник.Валюты КАК Валюты
|ГДЕ
| Валюты.Ссылка <> &Ссылка
| И Валюты.ОсновнаяВалюта = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
|
|УПОРЯДОЧИТЬ ПО
| Валюты.НаименованиеПолное";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.НаименованиеПолное);
ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.НаименованиеПолное + " (" + Выборка.Наименование + ")");
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Функция АвтоПодборПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка)
// Вспомогательная функция управлением вводом.
Для Каждого ЭлементВыбора Из Элемент.СписокВыбора Цикл
Если ВРег(Текст) = ВРег(Лев(ЭлементВыбора.Представление, СтрДлина(Текст))) Тогда
Результат = Новый СписокЗначений;
Результат.Добавить(ЭлементВыбора.Значение, ЭлементВыбора.Представление);
СтандартнаяОбработка = Ложь;
Возврат Результат;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Функция ОкончаниеВводаТекстаПоСпискуВыбора(Элемент, Текст, СтандартнаяОбработка)
// Вспомогательная функция управлением вводом.
СтандартнаяОбработка = Ложь;
Для Каждого ЭлементВыбора Из Элемент.СписокВыбора Цикл
Если ВРег(Текст) = ВРег(ЭлементВыбора.Представление) Тогда
СтандартнаяОбработка = Истина;
ИначеЕсли ВРег(Текст) = ВРег(Лев(ЭлементВыбора.Представление, СтрДлина(Текст))) Тогда
СтандартнаяОбработка = Ложь;
Результат = Новый СписокЗначений;
Результат.Добавить(ЭлементВыбора.Значение, ЭлементВыбора.Представление);
Возврат Результат;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступностьЭлементов(Форма)
Элементы = Форма.Элементы;
Объект = Форма.Объект;
Элементы.ГруппаНаценкаНаКурсДругойВалюты.Доступность = Объект.СпособУстановкиКурса = ПредопределенноеЗначение("Перечисление.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты");
Элементы.ГруппаФормулаРасчетаКурса.Доступность = Объект.СпособУстановкиКурса = ПредопределенноеЗначение("Перечисление.СпособыУстановкиКурсаВалюты.РасчетПоФормуле");
Элементы.ФормулаРасчетаКурса.Доступность = Объект.СпособУстановкиКурса = ПредопределенноеЗначение("Перечисление.СпособыУстановкиКурсаВалюты.РасчетПоФормуле");
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииПараметровПрописиВалюты(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Объект.ПараметрыПрописи = Результат;
Модифицированность = Истина;
КонецПроцедуры
#КонецОбласти

View File

@ -1,16 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.19355"></meta></head><body>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Описание свойств используемой валюты.</p>
<p>Валюта широко используется в деятельности любого предприятия: во всех документах, которые имеют дело с денежными суммами (счета, платежные поручения, договоры, накладные) присутствует поле <strong>Валюта</strong>, явно или по умолчанию. Значение поля <strong>Валюта</strong> заполняется в зависимости от направления деятельности предприятия: рубль, иностранная валюта или у.е.</p>
<h3>Основные сведения о валюте</h3>
<div>При добавлении валюты из <a href="Catalog.Валюты.Form.ПодборВалютИзКлассификатора/Help">Общероссийского классификатора валют</a> следующие поля новой валюты будут заполнены автоматически: </div>
<div>При добавлении валюты из <a href="DataProcessor.ЗагрузкаКурсовВалют.Form.ПодборВалютИзКлассификатора/Help">Общероссийского классификатора валют</a> следующие поля новой валюты будут заполнены автоматически: </div>
<ul><li>
<div><strong>Наименование валюты</strong> - полное наименование валюты.</div>
</li><li>
<div><strong>Цифровой код</strong> - уникальный числовой код, принят международным стандартом, служит для идентификации валюты при загрузке курсов из сети Интернет (с сайта РБК).</div>
<div><strong>Цифровой код</strong> - уникальный числовой код, принят международным стандартом, служит для идентификации валюты при загрузке курсов из сети Интернет (с сайта ).</div>
</li><li>
<div><strong>Символьный код</strong> - принят международным стандартом, используется как краткое наименование и основное представление валюты.</div>
</li><li>
<div><strong>Курс валюты</strong> - переключатель установлен в положение з<strong>агружается из интернета</strong>, если валюта может загружаться с сайта РБК. </div></li></ul><h3>Особенности использования переключателя Курс валюты</h3>
<div><strong>Курс валюты</strong> - переключатель установлен в положение з<strong>агружается из интернета</strong>, если валюта может загружаться с сайта . </div></li></ul><h3>Особенности использования переключателя Курс валюты</h3>
<ul><li>
<div>Положение переключателя <strong>Курс валюты загружается из интернета</strong> можно изменить в исключительных случаях:</div>
<ul><li>
@ -27,18 +27,16 @@
<div>Укажите <strong>Наценку, %</strong> - коэффициент, который применяется к курсу основной валюты для вычисления курса текущей валюты.</div></li></ul><h3>Расчет по формуле</h3>
<ul><li>Предусмотрена возможность ввести валюту, курс которой зависит от нескольких валют одновременно.
</li><li>Для этого переключатель <strong>Курс валюты</strong> установите в положение <strong>рассчитывается по формуле</strong>.
</li><li>Задайте способ расчета курса валюты в соответствующем поле, например, <strong>(USD+EUR)/2</strong>.</li></ul><h3>Параметры прописи валюты</h3>
<p>Для того чтобы в печатных формах правильно указывалось наименование валюты прописью, необходимо задать параметры прописи целой и дробной части валюты. </p>
<ul><li><strong>Целая часть</strong> - укажите параметры склонения целой части валюты: <strong>Род</strong> и соответствующие шаблоны склонения в единственном и множественном числе.
</li><li><strong>Дробная часть</strong> - укажите параметры склонения дробной части валюты: <strong>Род</strong> и соответствующие шаблоны склонения в единственном и множественном числе.
</li><li><strong>Число разрядов дробной части</strong> - в случае если дробная часть в печатных формах отображается числом, то можно установить нужное количество разрядов при выводе печатных форм документов. Например, если установлено количество разрядов 1 знак, то сумма по документу будет отображена, как 150,2 евро, а если 2 знака, то – 150,20 евро.
</li><li><strong>Пример прописи суммы</strong> - число, введенное в поле <strong>Сумма</strong>, будет написано по указанным параметрам прописи валюты. Используйте эту возможность для проверки параметров прописи валюты.</li></ul><p>Параметры прописи валюты заполнены по умолчанию для основных валют: <strong>рубль</strong>, <strong>Евро</strong>, <strong>доллар</strong>. Для остальных валют их необходимо заполнить самостоятельно.</p>
<h3>Просмотр курса валюты</h3>
</li><li>Задайте способ расчета курса валюты в соответствующем поле, например, <strong>(USD+EUR)/2</strong>.
</li><li>Допустимыми разделителями дробной части чисел в формуле являются знаки точки и запятой, т.е. правильно:
<ul><li><strong>EUR*1.025</strong>
</li><li><strong>EUR*1,025</strong></li></ul></li><li>Но если возникает необходимость использовать функции с двумя и более параметрами, то параметры следует разделять запятыми, а дробные части чисел - точками, например:
<ul><li><strong>Окр(EUR*1.025,2)</strong></li></ul></li><li>Подробнее о правилах построения подобных выражений см. раздел справки <a href="v8help://dcsui/SKD_Lang">Язык выражений системы компоновки данных</a>.</li></ul><h3>Просмотр курса валюты</h3>
<ul><li>Для перевода валютных сумм в рубли используется <a href="InformationRegister.КурсыВалют/Help">курс валюты</a>.
</li><li>Нажмите <strong>Курсы валют</strong> на панели навигации валюты. Можно установить интервал дат для удобства просмотра курсов.</li></ul><h3>Ввод курса валюты вручную</h3>
<ul><li>Курсы основных валют можно <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузить</a> с сайта РБК. Если для валюты загрузка невозможна, то переключатель <strong>Курс валюты</strong> автоматически устанавливается в положение  <strong>вводится вручную</strong>.
<ul><li>Курсы основных валют можно <a href="DataProcessor.ЗагрузкаКурсовВалют/Help">загрузить</a> с сайта . Если для валюты загрузка невозможна, то переключатель <strong>Курс валюты</strong> автоматически устанавливается в положение<strong>вводится вручную</strong>.
</li><li>Для того чтобы заполнить курс вручную:
<ul><li>Нажмите <strong>Курсы валют</strong> на панели навигации валюты.
</li><li>Нажмите <strong>Создать</strong>, заполните курс валюты на нужную дату (по умолчанию установлена текущая дата).</li></ul></li></ul><h3>См. также: </h3>
<ul><li><a href="Catalog.Валюты/Help">Валюты</a> 
<ul><li><a href="Catalog.Валюты/Help">Валюты</a>
</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>

View File

@ -1,163 +0,0 @@
<Items Description="ОбщероссийскийКлассификаторВалют" Columns="Code,CodeSymbol,Name,Description,RBCLoading,NumerationItemOptions">
<Item Code="008" CodeSymbol="ALL" Name="Лек" Description="Албания" RBCLoading="ложь"/>
<Item Code="012" CodeSymbol="DZD" Name="Алжирский динар" Description="Алжир" RBCLoading="ложь"/>
<Item Code="032" CodeSymbol="ARS" Name="Аргентинское песо" Description="Аргентина" RBCLoading="ложь"/>
<Item Code="036" CodeSymbol="AUD" Name="Австралийский доллар" Description="Австралия; Кирибати; Кокосовые (Килинг) острова; Науру; Норфолк, остров; Остров Рождества; Тувалу; Херд и Макдональд, острова" RBCLoading="истина"/>
<Item Code="044" CodeSymbol="BSD" Name="Багамский доллар" Description="Багамы" RBCLoading="ложь"/>
<Item Code="048" CodeSymbol="BHD" Name="Бахрейнский динар" Description="Бахрейн" RBCLoading="ложь"/>
<Item Code="050" CodeSymbol="BDT" Name="Така" Description="Бангладеш" RBCLoading="ложь"/>
<Item Code="051" CodeSymbol="AMD" Name="Армянский драм" Description="Армения" RBCLoading="истина"/>
<Item Code="052" CodeSymbol="BBD" Name="Барбадосский доллар" Description="Барбадос" RBCLoading="ложь"/>
<Item Code="060" CodeSymbol="BMD" Name="Бермудский доллар" Description="Бермуды" RBCLoading="ложь"/>
<Item Code="064" CodeSymbol="BTN" Name="Нгултрум" Description="Бутан" RBCLoading="ложь"/>
<Item Code="068" CodeSymbol="BOB" Name="Боливиано" Description="Боливия" RBCLoading="ложь"/>
<Item Code="072" CodeSymbol="BWP" Name="Пула" Description="Ботсвана" RBCLoading="ложь"/>
<Item Code="084" CodeSymbol="BZD" Name="Белизский доллар" Description="Белиз" RBCLoading="ложь"/>
<Item Code="090" CodeSymbol="SBD" Name="Доллар Соломоновых островов" Description="Соломоновы острова" RBCLoading="ложь"/>
<Item Code="096" CodeSymbol="BND" Name="Брунейский доллар" Description="Бруней-Даруссалам" RBCLoading="ложь"/>
<Item Code="104" CodeSymbol="MMK" Name="Кьят" Description="Мьянма" RBCLoading="ложь"/>
<Item Code="108" CodeSymbol="BIF" Name="Бурундийский франк" Description="Бурунди" RBCLoading="ложь"/>
<Item Code="116" CodeSymbol="KHR" Name="Риель Камбоджи" Description="Камбоджа" RBCLoading="ложь"/>
<Item Code="124" CodeSymbol="CAD" Name="Канадский доллар" Description="Канада" RBCLoading="истина"/>
<Item Code="132" CodeSymbol="CVE" Name="Эскудо Кабо - Верде" Description="Кабо - Верде" RBCLoading="ложь"/>
<Item Code="136" CodeSymbol="KYD" Name="Доллар островов Кайман" Description="Острова Кайман" RBCLoading="ложь"/>
<Item Code="144" CodeSymbol="LKR" Name="Шри-Ланкийская рупия" Description="Шри - Ланка" RBCLoading="ложь"/>
<Item Code="152" CodeSymbol="CLP" Name="Чилийское песо" Description="Чили" RBCLoading="ложь"/>
<Item Code="156" CodeSymbol="CNY" Name="Юань" Description="Китай" RBCLoading="истина"/>
<Item Code="170" CodeSymbol="COP" Name="Колумбийский песо" Description="Колумбия" RBCLoading="ложь"/>
<Item Code="174" CodeSymbol="KMF" Name="Франк Комор" Description="Коморы" RBCLoading="ложь"/>
<Item Code="188" CodeSymbol="CRC" Name="Костариканский колон" Description="Коста - Рика" RBCLoading="ложь"/>
<Item Code="191" CodeSymbol="HRK" Name="Куна" Description="Хорватия" RBCLoading="ложь"/>
<Item Code="192" CodeSymbol="CUP" Name="Кубинское песо" Description="Куба" RBCLoading="ложь"/>
<Item Code="203" CodeSymbol="CZK" Name="Чешская крона" Description="Чешская Республика" RBCLoading="истина"/>
<Item Code="208" CodeSymbol="DKK" Name="Датская крона" Description="Гренландия; Дания; Фарерские острова" RBCLoading="истина"/>
<Item Code="214" CodeSymbol="DOP" Name="Доминиканское песо" Description="Доминиканская Республика" RBCLoading="ложь"/>
<Item Code="222" CodeSymbol="SVC" Name="Сальвадорский колон" Description="Эль-Сальвадор" RBCLoading="ложь"/>
<Item Code="230" CodeSymbol="ETB" Name="Эфиопский быр" Description="Эфиопия" RBCLoading="ложь"/>
<Item Code="232" CodeSymbol="ERN" Name="Накфа" Description="Эритрея" RBCLoading="ложь"/>
<Item Code="238" CodeSymbol="FKP" Name="Фунт Фолклендских островов" Description="Фолклендские острова (Мальвинские) " RBCLoading="ложь"/>
<Item Code="242" CodeSymbol="FJD" Name="Доллар Фиджи" Description="Фиджи" RBCLoading="ложь"/>
<Item Code="262" CodeSymbol="DJF" Name="Франк Джибути" Description="Джибути" RBCLoading="ложь"/>
<Item Code="270" CodeSymbol="GMD" Name="Даласи" Description="Гамбия" RBCLoading="ложь"/>
<Item Code="292" CodeSymbol="GIP" Name="Гибралтарский фунт" Description="Гибралтар" RBCLoading="ложь"/>
<Item Code="320" CodeSymbol="GTQ" Name="Кетсаль" Description="Гватемала" RBCLoading="ложь"/>
<Item Code="324" CodeSymbol="GNF" Name="Гвинейский франк" Description="Гвинея" RBCLoading="ложь"/>
<Item Code="328" CodeSymbol="GYD" Name="Гайанский доллар" Description="Гайана" RBCLoading="ложь"/>
<Item Code="332" CodeSymbol="HTG" Name="Гурд" Description="Гаити" RBCLoading="ложь"/>
<Item Code="340" CodeSymbol="HNL" Name="Лемпира" Description="Гондурас" RBCLoading="ложь"/>
<Item Code="344" CodeSymbol="HKD" Name="Гонконгский доллар" Description="Гонконг" RBCLoading="ложь"/>
<Item Code="348" CodeSymbol="HUF" Name="Форинт" Description="Венгрия" RBCLoading="истина"/>
<Item Code="352" CodeSymbol="ISK" Name="Исландская крона" Description="Исландия" RBCLoading="ложь"/>
<Item Code="356" CodeSymbol="INR" Name="Индийская рупия" Description="Бутан; Индия" RBCLoading="истина"/>
<Item Code="360" CodeSymbol="IDR" Name="Рупия" Description="Индонезия" RBCLoading="ложь"/>
<Item Code="364" CodeSymbol="IRR" Name="Иранский риал" Description="Иран (Исламская Республика)" RBCLoading="ложь"/>
<Item Code="368" CodeSymbol="IQD" Name="Иракский динар" Description="Ирак" RBCLoading="ложь"/>
<Item Code="376" CodeSymbol="ILS" Name="Новый израильский шекель" Description="Израиль" RBCLoading="ложь"/>
<Item Code="388" CodeSymbol="JMD" Name="Ямайский доллар" Description="Ямайка" RBCLoading="ложь"/>
<Item Code="392" CodeSymbol="JPY" Name="Иена" Description="Япония" RBCLoading="истина"/>
<Item Code="398" CodeSymbol="KZT" Name="Тенге" Description="Казахстан" RBCLoading="истина"/>
<Item Code="400" CodeSymbol="JOD" Name="Иорданский динар" Description="Иордания" RBCLoading="ложь"/>
<Item Code="404" CodeSymbol="KES" Name="Кенийский шиллинг" Description="Кения" RBCLoading="ложь"/>
<Item Code="408" CodeSymbol="KPW" Name="Северокорейская вона" Description="Корея, народно-демократическая республика" RBCLoading="ложь"/>
<Item Code="410" CodeSymbol="KRW" Name="Вона" Description="Корея, республика" RBCLoading="истина"/>
<Item Code="414" CodeSymbol="KWD" Name="Кувейтский динар" Description="Кувейт" RBCLoading="ложь"/>
<Item Code="417" CodeSymbol="KGS" Name="Сом" Description="Киргизия" RBCLoading="истина"/>
<Item Code="418" CodeSymbol="LAK" Name="Кип" Description="Лаосская Народно-Демократическая Республика " RBCLoading="ложь"/>
<Item Code="422" CodeSymbol="LBP" Name="Ливанский фунт" Description="Ливан" RBCLoading="ложь"/>
<Item Code="426" CodeSymbol="LSL" Name="Лоти" Description="Лесото" RBCLoading="ложь"/>
<Item Code="430" CodeSymbol="LRD" Name="Либерийский доллар" Description="Либерия" RBCLoading="ложь"/>
<Item Code="434" CodeSymbol="LYD" Name="Ливийский динар" Description="Ливия" RBCLoading="ложь"/>
<Item Code="446" CodeSymbol="MOP" Name="Патака" Description="Макао" RBCLoading="ложь"/>
<Item Code="454" CodeSymbol="MWK" Name="Квача" Description="Малави" RBCLoading="ложь"/>
<Item Code="458" CodeSymbol="MYR" Name="Малайзийский ринггит" Description="Малайзия" RBCLoading="ложь"/>
<Item Code="462" CodeSymbol="MVR" Name="Руфия" Description="Мальдивы" RBCLoading="ложь"/>
<Item Code="478" CodeSymbol="MRO" Name="Угия" Description="Мавритания" RBCLoading="ложь"/>
<Item Code="480" CodeSymbol="MUR" Name="Маврикийская рупия" Description="Маврикий" RBCLoading="ложь"/>
<Item Code="484" CodeSymbol="MXN" Name="Мексиканский песо" Description="Мексика" RBCLoading="ложь"/>
<Item Code="496" CodeSymbol="MNT" Name="Тугрик" Description="Монголия" RBCLoading="ложь"/>
<Item Code="498" CodeSymbol="MDL" Name="Молдавский лей" Description="Молдова, республика" RBCLoading="истина"/>
<Item Code="504" CodeSymbol="MAD" Name="Марокканский дирхам" Description="Западная Сахара; Марокко" RBCLoading="ложь"/>
<Item Code="512" CodeSymbol="OMR" Name="Оманский риал" Description="Оман" RBCLoading="ложь"/>
<Item Code="516" CodeSymbol="NAD" Name="Доллар Намибии" Description="Намибия" RBCLoading="ложь"/>
<Item Code="524" CodeSymbol="NPR" Name="Непальская рупия" Description="Непал" RBCLoading="ложь"/>
<Item Code="532" CodeSymbol="ANG" Name="Нидерландский антильский гульден" Description="Нидерландские Антилы" RBCLoading="ложь"/>
<Item Code="533" CodeSymbol="AWG" Name="Арубанский флорин" Description="Аруба" RBCLoading="ложь"/>
<Item Code="548" CodeSymbol="VUV" Name="Вату" Description="Вануату" RBCLoading="ложь"/>
<Item Code="554" CodeSymbol="NZD" Name="Новозеландский доллар" Description="Ниуэ; Новая Зеландия; Острова Кука; Питкерн; Токелау" RBCLoading="ложь"/>
<Item Code="558" CodeSymbol="NIO" Name="Золотая кордоба" Description="Никарагуа" RBCLoading="ложь"/>
<Item Code="566" CodeSymbol="NGN" Name="Найра" Description="Нигерия" RBCLoading="ложь"/>
<Item Code="578" CodeSymbol="NOK" Name="Норвежская крона" Description="Норвежская крона Норвегия; Остров Буве; Шпицберген и Ян Майен " RBCLoading="истина"/>
<Item Code="586" CodeSymbol="PKR" Name="Пакистанская рупия" Description="Пакистан" RBCLoading="ложь"/>
<Item Code="590" CodeSymbol="PAB" Name="Бальбоа" Description="Панама" RBCLoading="ложь"/>
<Item Code="598" CodeSymbol="PGK" Name="Кина" Description="Папуа Новая Гвинея" RBCLoading="ложь"/>
<Item Code="600" CodeSymbol="PYG" Name="Гуарани" Description="Парагвай" RBCLoading="ложь"/>
<Item Code="604" CodeSymbol="PEN" Name="Новый соль" Description="Перу" RBCLoading="ложь"/>
<Item Code="608" CodeSymbol="PHP" Name="Филиппинское песо" Description="Филиппины" RBCLoading="ложь"/>
<Item Code="634" CodeSymbol="QAR" Name="Катарский риал" Description="Катар" RBCLoading="ложь"/>
<Item Code="643" CodeSymbol="RUB" Name="Российский рубль" Description="Россия" RBCLoading="ложь" NumerationItemOptions="рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2 знака"/>
<Item Code="646" CodeSymbol="RWF" Name="Франк Руанды" Description="Руанда" RBCLoading="ложь"/>
<Item Code="654" CodeSymbol="SHP" Name="Фунт Святой Елены" Description="Святая Елена" RBCLoading="ложь"/>
<Item Code="678" CodeSymbol="STD" Name="Добра" Description="Сан - Томе и Принсипи" RBCLoading="ложь"/>
<Item Code="682" CodeSymbol="SAR" Name="Саудовский риял" Description="Саудовская Аравия" RBCLoading="ложь"/>
<Item Code="690" CodeSymbol="SCR" Name="Сейшельская рупия" Description="Сейшелы" RBCLoading="ложь"/>
<Item Code="694" CodeSymbol="SLL" Name="Леоне" Description="Сьерра - Леоне" RBCLoading="ложь"/>
<Item Code="702" CodeSymbol="SGD" Name="Сингапурский доллар" Description="Сингапур" RBCLoading="истина"/>
<Item Code="704" CodeSymbol="VND" Name="Донг" Description="Вьетнам" RBCLoading="ложь"/>
<Item Code="706" CodeSymbol="SOS" 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="752" CodeSymbol="SEK" Name="Шведская крона" Description="Швеция" RBCLoading="истина"/>
<Item Code="756" CodeSymbol="CHF" Name="Швейцарский франк" Description="Лихтенштейн; Швейцария" RBCLoading="истина"/>
<Item Code="760" CodeSymbol="SYP" Name="Сирийский фунт" Description="Сирийская Арабская Республика" RBCLoading="ложь"/>
<Item Code="764" CodeSymbol="THB" Name="Бат" Description="Таиланд" RBCLoading="ложь"/>
<Item Code="776" CodeSymbol="TOP" Name="Паанга" Description="Тонга" RBCLoading="ложь"/>
<Item Code="780" CodeSymbol="TTD" Name="Доллар Тринидада и Тобаго" Description="Тринидад и Тобаго" RBCLoading="ложь"/>
<Item Code="784" CodeSymbol="AED" Name="Дирхам (ОАЭ)" Description="Объединенные Арабские Эмираты (ОАЭ)" RBCLoading="ложь"/>
<Item Code="788" CodeSymbol="TND" Name="Тунисский динар" Description="Тунис" RBCLoading="ложь"/>
<Item Code="800" CodeSymbol="UGX" Name="Угандийский шиллинг" Description="Уганда" RBCLoading="ложь"/>
<Item Code="807" CodeSymbol="MKD" Name="Денар" Description="Македония, бывшая Югославская Республика " RBCLoading="ложь"/>
<Item Code="818" CodeSymbol="EGP" Name="Египетский фунт" Description="Египет" RBCLoading="ложь"/>
<Item Code="826" CodeSymbol="GBP" Name="Фунт стерлингов" Description="Соединенное королевство" RBCLoading="истина"/>
<Item Code="834" CodeSymbol="TZS" Name="Танзанийский шиллинг" Description="Танзания, объединенная республика" RBCLoading="ложь"/>
<Item Code="840" CodeSymbol="USD" Name="Доллар США" Description="Американское Самоа; Британская территория в Индийском океане; Виргинские острова (Британские); Виргинские острова (США); Гаити; Гуам; Малые Тихоокеанские Отдаленные острова Соединенных Штатов; Маршалловы Острова; Микронезия, федеративные штаты; Острова Теркс и Кайкос; Палау; Панама; Пуэрто-Рико; Северные Марианские острова; Соединенные Штаты; Тимор-Лесте; Эквадор; Эль-Сальвадор" RBCLoading="истина" NumerationItemOptions="доллар, доллара, долларов, м, цент, цента, центов, м, 2 знака"/>
<Item Code="858" CodeSymbol="UYU" Name="Уругвайское песо" Description="Уругвай" RBCLoading="ложь"/>
<Item Code="860" CodeSymbol="UZS" Name="Узбекский сум" Description="Узбекистан" RBCLoading="истина"/>
<Item Code="882" CodeSymbol="WST" Name="Тала" Description="Самоа" RBCLoading="ложь"/>
<Item Code="886" CodeSymbol="YER" Name="Йеменский риал" Description="Йемен" RBCLoading="ложь"/>
<Item Code="901" CodeSymbol="TWD" Name="Новый тайваньский доллар" Description="Тайвань (Китай)" RBCLoading="ложь"/>
<Item Code="931" CodeSymbol="CUC" Name="Конвертируемое песо" Description="Куба" RBCLoading="ложь"/>
<Item Code="932" CodeSymbol="ZWL" Name="Доллар Зимбабве" Description="Зимбабве" RBCLoading="ложь"/>
<Item Code="933" CodeSymbol="BYN" Name="Белорусский рубль" Description="Беларусь" RBCLoading="истина"/>
<Item Code="934" CodeSymbol="TMT" Name="Новый туркменский манат" Description="Туркмения" RBCLoading="истина"/>
<Item Code="936" CodeSymbol="GHS" Name="Ганский седи" Description="Гана" RBCLoading="ложь"/>
<Item Code="937" CodeSymbol="VEF" 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="943" CodeSymbol="MZN" Name="Мозамбикский метикал" Description="Мозамбик" RBCLoading="ложь"/>
<Item Code="944" CodeSymbol="AZN" Name="Азербайджанский манат" Description="Азербайджан" RBCLoading="истина"/>
<Item Code="946" CodeSymbol="RON" Name="Румынский лей" Description="Румыния" RBCLoading="истина"/>
<Item Code="949" CodeSymbol="TRY" Name="Турецкая лира" Description="Турция" RBCLoading="истина"/>
<Item Code="950" CodeSymbol="XAF" Name="Франк КФА ВЕАС" Description="Габон; Камерун; Конго; Центрально - африканская Республика; Чад; Экваториальная Гвинея Франк КФА ВЕАС - денежная единица Банка государств центральной Африки" RBCLoading="ложь"/>
<Item Code="951" CodeSymbol="XCD" Name="Восточно - карибский доллар" Description="Ангилья; Антигуа и Барбуда; Гренада; Доминика; Монтсеррат; Сент - Винсент и Гренадины; Сент - Китс и Невис; Сент - Люсия" RBCLoading="ложь"/>
<Item Code="952" CodeSymbol="XOF" Name="Франк КФА ВСЕАО" Description="Бенин; Буркина - Фасо; Гвинея - Бисау; Кот д'Ивуар; Мали; Нигер; Сенегал; Того Франк КФА ВСЕАО - денежная единица Центрального Банка государств Западной Африки" RBCLoading="ложь"/>
<Item Code="953" CodeSymbol="XPF" Name="Франк КФП" Description="Новая Каледония; Французская Полинезия; Уоллис и Футуна" RBCLoading="ложь"/>
<Item Code="960" CodeSymbol="XDR" Name="СДР (специальные права заимствования)" Description="Международный валютный фонд (МВФ)" RBCLoading="истина"/>
<Item Code="967" CodeSymbol="ZMW" Name="Замбийская квача" Description="Замбия" RBCLoading="ложь"/>
<Item Code="968" CodeSymbol="SRD" Name="Суринамский доллар" Description="Суринам" RBCLoading="ложь"/>
<Item Code="969" CodeSymbol="MGA" Name="Малагасийский ариари" Description="Мадагаскар" RBCLoading="ложь"/>
<Item Code="970" CodeSymbol="COU" Name="Единица реальной стоимости" Description="Колумбия" RBCLoading="ложь"/>
<Item Code="971" CodeSymbol="AFN" Name="Афгани" Description="Афганистан" RBCLoading="ложь"/>
<Item Code="972" CodeSymbol="TJS" Name="Сомони" Description="Таджикистан" RBCLoading="истина"/>
<Item Code="973" CodeSymbol="AOA" Name="Кванза" Description="Ангола" RBCLoading="ложь"/>
<Item Code="974" CodeSymbol="BYR" Name="Белорусский рубль" Description="Беларусь" RBCLoading="истина"/>
<Item Code="975" CodeSymbol="BGN" Name="Болгарский лев" Description="Болгария" RBCLoading="истина"/>
<Item Code="976" CodeSymbol="CDF" Name="Конголезский франк" Description="Конго, демократическая республика" RBCLoading="ложь"/>
<Item Code="977" CodeSymbol="ВАМ" Name="Конвертируемая марка" Description="Босния и Герцеговина" RBCLoading="ложь"/>
<Item Code="978" CodeSymbol="EUR" Name="Евро" Description="Австрия; Андорра; Бельгия; Гваделупа; Германия; Греция; Ирландия; Испания; Италия; Кипр; Латвия; Литва; Люксембург; Майотта; Мальта; Мартиника; Монако; Нидерланды; Папский Престол (Государство-город Ватикан); Португалия; Реюньон; Сан-Марино; Сен-Бартелеми; Сен-Мартен (французская часть); Сент-Пьер и Микелон; Словакия; Словения; Финляндия; Франция; Французская Гвиана; Французские Южные территории; Черногория; Эландские острова; Эстония" RBCLoading="истина" NumerationItemOptions="евро, евро, евро, м, цент, цента, центов, м, 2 знака"/>
<Item Code="980" CodeSymbol="UAH" Name="Гривна" Description="Украина" RBCLoading="истина"/>
<Item Code="981" CodeSymbol="GEL" Name="Лари" Description="Грузия" RBCLoading="ложь"/>
<Item Code="985" CodeSymbol="PLN" Name="Злотый" Description="Польша" RBCLoading="истина"/>
<Item Code="986" CodeSymbol="BRL" Name="Бразильский реал" Description="Бразилия" RBCLoading="истина"/>
</Items>

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 11.00.9600.19355"></meta></head><body>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Ведение списка вариантов ответов на <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования/Help">вопросы</a> типов <strong>Выбор одного</strong> или <strong>нескольких вариантов ответа из предложенных.</strong></p>
<p>Существуют вопросы <a href="Document.Анкета.Form.ФормаСписка/Help">анкеты</a> типа <strong>Выбор одного варианта ответа из предложенных</strong> или <strong>Выбор нескольких вариантов ответа из предложенных</strong>. В этих случаях ответ респондента сводится к выбору одного или нескольких вариантов ответа из списка с помощью переключателей.</p>
<p>Задайте возможные варианты ответов на <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования.Form.ФормаЭлемента/Help">вопрос</a>.</p>

View File

@ -1,9 +1,18 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Групповое изменение объектов.
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
@ -18,6 +27,10 @@
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
#КонецОбласти
#КонецОбласти
#КонецЕсли

View File

@ -2,9 +2,6 @@
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаПользовательскихНастроек" id="14">
<UserVisible>
@ -16,12 +13,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
@ -39,9 +30,12 @@
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -114,6 +108,9 @@
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>Список.Ref</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>

View File

@ -1,13 +0,0 @@

#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@ -15,12 +15,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ExtendedTooltip name="ГруппаПользовательскихНастроекРасширеннаяПодсказка" id="18"/>
@ -36,9 +30,12 @@
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -94,6 +91,11 @@
<ContextMenu name="КодКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="КодExtendedTooltip" id="12"/>
</LabelField>
<LabelField name="Владелец" id="8">
<DataPath>Список.Owner</DataPath>
<ContextMenu name="ВладелецКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="ВладелецExtendedTooltip" id="13"/>
</LabelField>
<LabelField name="Ссылка" id="14">
<DataPath>Список.Ref</DataPath>
<UserVisible>
@ -102,11 +104,6 @@
<ContextMenu name="СсылкаКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="СсылкаРасширеннаяПодсказка" id="16"/>
</LabelField>
<LabelField name="Владелец" id="8">
<DataPath>Список.Owner</DataPath>
<ContextMenu name="ВладелецКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="ВладелецExtendedTooltip" id="13"/>
</LabelField>
</ChildItems>
</Table>
</ChildItems>
@ -116,6 +113,9 @@
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>Список.Ref</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>

View File

@ -1,15 +1,18 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если НЕ ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Если НЕ Пользователи.ЭтоСеансВнешнегоПользователя() Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Варианты ответов анкет используются только внешними пользователями.'"),,,,Отказ);
КонецЕсли;

View File

@ -8,34 +8,42 @@
</Events>
<ChildItems>
<UsualGroup name="КодОткрытыйОтвет" id="7">
<Group>Horizontal</Group>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код открытый ответ</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="КодОткрытыйОтветExtendedTooltip" id="8"/>
<ChildItems>
<InputField name="Наименование" id="3">
<DataPath>Объект.Description</DataPath>
<DefaultItem>true</DefaultItem>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="4"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="11"/>
</InputField>
<InputField name="Код" id="1">
<DataPath>Объект.Code</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КодКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="КодExtendedTooltip" id="9"/>
</InputField>
<CheckBoxField name="ТребуетОткрытогоОтвета" id="5">
<DataPath>Объект.ТребуетОткрытогоОтвета</DataPath>
<TitleLocation>Right</TitleLocation>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ТребуетОткрытогоОтветаКонтекстноеМеню" id="6"/>
<ExtendedTooltip name="ТребуетОткрытогоОтветаExtendedTooltip" id="10"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<InputField name="Наименование" id="3">
<DataPath>Объект.Description</DataPath>
<DefaultItem>true</DefaultItem>
<CheckBoxField name="ТребуетОткрытогоОтвета" id="5">
<DataPath>Объект.ТребуетОткрытогоОтвета</DataPath>
<TitleLocation>Right</TitleLocation>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="4"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="11"/>
</InputField>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ТребуетОткрытогоОтветаКонтекстноеМеню" id="6"/>
<ExtendedTooltip name="ТребуетОткрытогоОтветаExtendedTooltip" id="10"/>
</CheckBoxField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">

View File

@ -1,23 +1,26 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если Параметры.Свойство("Владелец")
И ТипЗнч(Параметры.Владелец) = Тип("ПланВидовХарактеристикСсылка.ВопросыДляАнкетирования")
И НЕ Параметры.Владелец.Пустая() Тогда
Объект.Владелец = Параметры.Владелец;
Объект.Владелец = Параметры.Владелец;
Иначе
ТекстСообщения = НСтр("ru = 'Данная форма предназначена для открытия только из формы элемента плана вида характеристик ""Вопросы для анкетирования""'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
Отказ = Истина;
Возврат;
@ -29,6 +32,10 @@
Элементы.ТребуетОткрытогоОтвета.Видимость = (Объект.Владелец.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз);
КонецЕсли;
Если Параметры.Свойство("Наименование") Тогда
Объект.Наименование = Параметры.Наименование;
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@ -231,7 +231,7 @@
<xr:Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Родитель</v8:content>
<v8:content>Родитель, Основной вариант</v8:content>
</v8:item>
</xr:Synonym>
<xr:Comment/>
@ -336,252 +336,13 @@
<ListPresentation/>
<ExtendedListPresentation/>
<Explanation/>
<CreateOnInput>Use</CreateOnInput>
<CreateOnInput>DontUse</CreateOnInput>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects>
<Attribute uuid="50a1e3bf-8624-4474-854e-21b89aaf97ed">
<Properties>
<Name>Отчет</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отчет</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>cfg:CatalogRef.ДополнительныеОтчетыИОбработки</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка отчета или его полное имя.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61">
<Properties>
<Name>ТипОтчета</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип отчета</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:EnumRef.ТипыОтчетов</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892">
<Properties>
<Name>КлючВарианта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ключ варианта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>256</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Уникальный ключ варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="847b97a3-d0bc-45e2-b06c-932bb22d8eca">
<Properties>
<Name>ПредопределенныйВариант</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенный вариант</v8:content>
</v8:item>
</Synonym>
<Comment>Вариант конфигурации</Comment>
<Type>
<v8:Type>cfg:CatalogRef.ПредопределенныеВариантыОтчетовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ПредопределенныеВариантыОтчетов</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенный вариант отчета, содержит настройки по умолчанию.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="503b3eab-b7f1-4ede-8845-3290a834cec7">
<Properties>
<Name>Пользовательский</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользовательский</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип варианта отчета:
Да - Пользовательский,
Нет - Предопределенный.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="8361991a-0f30-4a03-9a4c-90556b744f53">
<Properties>
<Name>Автор</Name>
@ -628,53 +389,6 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="3116fa60-bc42-4dea-aa03-387896168690">
<Properties>
<Name>ТолькоДляАвтора</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только для автора</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Влияет на доступность варианта из панели отчетов:
Флажок снят - вариант доступен всем пользователям.
Флажок установлен - вариант доступен только автору.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="5a3cc2a8-f519-45ac-af9b-c57a4f1acdc0">
<Properties>
<Name>ВидимостьПоУмолчанию</Name>
@ -767,18 +481,18 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="f9196766-4ae2-4a73-bed6-4a8838323e02">
<Attribute uuid="259cb8f5-9e78-4b2f-941b-ccb4b1112c8b">
<Properties>
<Name>Настройки</Name>
<Name>ИнтерактивнаяПометкаУдаления</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки</v8:content>
<v8:content>Интерактивная пометка удаления</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</v8:Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
@ -786,7 +500,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользовательские настройки варианта отчета</v8:content>
<v8:content>Пометка удаления, установленная пользователем</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -808,24 +522,24 @@
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="ca797560-8802-4bdc-b21f-7a7fd795beae">
<Attribute uuid="24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892">
<Properties>
<Name>ХешНастроек</Name>
<Name>КлючВарианта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Хеш настроек</v8:content>
<v8:content>Ключ варианта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>32</v8:Length>
<v8:Length>256</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
@ -835,8 +549,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Служебное поле.
Используется при обновлении программы.</v8:content>
<v8:content>Уникальный ключ варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -857,18 +570,18 @@
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="56242b05-d722-4d4a-82d9-517e0e169d0b">
<Attribute uuid="73c1a829-0191-486b-97a0-7f333c6f8011">
<Properties>
<Name>НаименованияПолей</Name>
<Name>КлючевыеСлова</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименования полей</v8:content>
<v8:content>Ключевые слова</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -885,7 +598,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Поля, выведенные в отчете.
<v8:content>Дополнительная терминология (в т.ч. специализированная или устаревшая).
Используется при поиске.</v8:content>
</v8:item>
</ToolTip>
@ -962,13 +675,13 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="73c1a829-0191-486b-97a0-7f333c6f8011">
<Attribute uuid="56242b05-d722-4d4a-82d9-517e0e169d0b">
<Properties>
<Name>КлючевыеСлова</Name>
<Name>НаименованияПолей</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ключевые слова</v8:content>
<v8:content>Наименования полей</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -985,7 +698,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дополнительная терминология (в т.ч. специализированная или устаревшая).
<v8:content>Поля, выведенные в отчете.
Используется при поиске.</v8:content>
</v8:item>
</ToolTip>
@ -1012,6 +725,51 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="f9196766-4ae2-4a73-bed6-4a8838323e02">
<Properties>
<Name>Настройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользовательские настройки варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="4eeda6df-fb48-4c88-853f-9c35e2b3a3cf">
<Properties>
<Name>Описание</Name>
@ -1040,12 +798,249 @@
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>true</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="50a1e3bf-8624-4474-854e-21b89aaf97ed">
<Properties>
<Name>Отчет</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отчет</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>cfg:CatalogRef.ДополнительныеОтчетыИОбработки</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка отчета или его полное имя.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="503b3eab-b7f1-4ede-8845-3290a834cec7">
<Properties>
<Name>Пользовательский</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользовательский</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип варианта отчета:
Да - Пользовательский,
Нет - Предопределенный.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="847b97a3-d0bc-45e2-b06c-932bb22d8eca">
<Properties>
<Name>ПредопределенныйВариант</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенный вариант</v8:content>
</v8:item>
</Synonym>
<Comment>Вариант конфигурации</Comment>
<Type>
<v8:Type>cfg:CatalogRef.ПредопределенныеВариантыОтчетовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ПредопределенныеВариантыОтчетов</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенный вариант отчета, содержит настройки по умолчанию.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61">
<Properties>
<Name>ТипОтчета</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип отчета</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:EnumRef.ТипыОтчетов</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="3116fa60-bc42-4dea-aa03-387896168690">
<Properties>
<Name>ТолькоДляАвтора</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только для автора</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Влияет на доступность варианта из панели отчетов:
Флажок снят - вариант доступен всем пользователям.
Флажок установлен - вариант доступен только автору.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
@ -1159,6 +1154,56 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="ca797560-8802-4bdc-b21f-7a7fd795beae">
<Properties>
<Name>ХешНастроек</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Хеш настроек</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>32</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Служебное поле.
Используется при обновлении программы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>DontUse</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="3df19dbf-efe7-4e31-99ad-fafb59ec1329">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.ВариантыОтчетов.Размещение" category="TabularSection">
@ -1614,6 +1659,189 @@
</Attribute>
</ChildObjects>
</TabularSection>
<TabularSection uuid="c1c62215-41b8-40bc-a806-1347db5b03e9">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.ВариантыОтчетов.Представления" category="TabularSection">
<xr:TypeId>f8245c3b-b14b-4212-b772-e48206f1323d</xr:TypeId>
<xr:ValueId>b1416cce-05f5-40f3-89ad-1c94740b746b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.ВариантыОтчетов.Представления" category="TabularSectionRow">
<xr:TypeId>d5a0c9c6-9020-4a6a-99d2-e341bee917c1</xr:TypeId>
<xr:ValueId>716e5a29-f25b-4a31-a262-52d7a178b244</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>Представления</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представления</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ToolTip/>
<FillChecking>DontCheck</FillChecking>
<StandardAttributes>
<xr:StandardAttribute name="LineNumber">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Use>ForItem</Use>
</Properties>
<ChildObjects>
<Attribute uuid="a24322f3-c7a5-4b25-bad6-9c75712a3e58">
<Properties>
<Name>КодЯзыка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код языка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="679d2b3b-a354-4dec-b49d-ab1163756e3a">
<Properties>
<Name>Наименование</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование варианта отчета</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="665e96bc-8ec1-4008-b9bd-db95a234b9b8">
<Properties>
<Name>Описание</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Описание</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>РазмещениеВРазделах</Form>
<Form>СбросНастроекРазмещения</Form>
<Form>СбросПользовательскихНастроек</Form>

View File

@ -1,9 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(ВариантСсылка, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(ВариантСсылка);
Процедура ОбработкаКоманды(Вариант, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(Вариант);
КонецПроцедуры
#КонецОбласти

View File

@ -1,20 +1,28 @@
#Область ОбработчикиСобытий
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(ВариантСсылка, ПараметрыВыполненияКоманды)
ПараметрыОткрытия = ВариантСсылка;
Процедура ОбработкаКоманды(СсылкаВарианта, ПараметрыВыполненияКоманды)
Вариант = СсылкаВарианта;
Форма = ПараметрыВыполненияКоманды.Источник;
Если ТипЗнч(Форма) = Тип("УправляемаяФорма") Тогда
Если Форма.ИмяФормы = "Справочник.ВариантыОтчетов.Форма.ФормаСписка" Тогда
ПараметрыОткрытия = Форма.Элементы.Список.ТекущиеДанные;
Вариант = Форма.Элементы.Список.ТекущиеДанные;
ИначеЕсли Форма.ИмяФормы = "Справочник.ВариантыОтчетов.Форма.ФормаЭлемента" Тогда
ПараметрыОткрытия = Форма.Объект;
Вариант = Форма.Объект;
КонецЕсли;
Иначе
Форма = Неопределено;
КонецЕсли;
ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Форма, ПараметрыОткрытия);
ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Форма, Вариант);
КонецПроцедуры
#КонецОбласти

View File

@ -1,9 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(МассивВариантов, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ОткрытьДиалогРазмещенияВариантовВРазделах(МассивВариантов);
Процедура ОбработкаКоманды(Варианты, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ОткрытьДиалогРазмещенияВариантовВРазделах(Варианты, ПараметрыВыполненияКоманды.Источник);
КонецПроцедуры
#КонецОбласти

View File

@ -1,9 +1,22 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(МассивВариантов, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ОткрытьДиалогСбросаНастроекПользователей(МассивВариантов, ПараметрыВыполненияКоманды.Источник);
Процедура ОбработкаКоманды(Варианты, ПараметрыВыполненияКоманды)
Если ТипЗнч(Варианты) <> Тип("Массив") Или Варианты.Количество() = 0 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выберите варианты отчетов, для которых необходимо сбросить пользовательские настройки.'"));
Возврат;
КонецЕсли;
ОткрытьФорму("Справочник.ВариантыОтчетов.Форма.СбросПользовательскихНастроек",
Новый Структура("Варианты", Варианты), ПараметрыВыполненияКоманды.Источник);
КонецПроцедуры
#КонецОбласти

View File

@ -1,9 +1,22 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(МассивВариантов, ПараметрыВыполненияКоманды)
ВариантыОтчетовКлиент.ОткрытьДиалогСбросаНастроекРазмещения(МассивВариантов, ПараметрыВыполненияКоманды.Источник);
Процедура ОбработкаКоманды(Варианты, ПараметрыВыполненияКоманды)
Если ТипЗнч(Варианты) <> Тип("Массив") Или Варианты.Количество() = 0 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выберите варианты отчетов программы, для которых необходимо сбросить настройки размещения.'"));
Возврат;
КонецЕсли;
ОткрытьФорму("Справочник.ВариантыОтчетов.Форма.СбросНастроекРазмещения",
Новый Структура("Варианты", Варианты), ПараметрыВыполненияКоманды.Источник);
КонецПроцедуры
#КонецОбласти

View File

@ -56,7 +56,7 @@
</li><li>
<div>В списке <strong>Варианты отчетов</strong>, предназначенном только для администратора, также можно воспользоваться двойным щелчком мыши на нужном варианте отчета.</div></li></ul><h3>Удаление варианта отчета</h3>
<ul><li>Пользовательский вариант отчета с помощью команды меню <strong>Еще</strong> можно <strong>Пометить на удаление</strong>. Также можно воспользоваться клавишей <strong>Del</strong>.
</li><li>Повторно выполните эту команду, для того чтобы <strong>Снять пометку удаления</strong>. 
</li><li>Повторно выполните эту команду, для того чтобы <strong>Снять пометку удаления</strong>.
</li><li>Эта возможность недоступна для предопределенных вариантов отчетов.</li></ul><h3>Размещение вариантов отчетов в разделах программы </h3>
<p><a href="Catalog.ВариантыОтчетов.Form.РазмещениеВРазделах/Help">Размещение</a> варианта отчета может быть изменено автором отчета или администратором.</p>
<ul><li>Варианты отчетов можно перемещать из текущего раздела/группы в другие при помощи перетаскивания мышью. Если при перетаскивании зажать клавишу <strong>Ctrl</strong>, то вариант отчета будет добавлен в новую группу, а также останется в текущей группе. Программа запрашивает подтверждение размещения варианта отчета. Для подтверждения нажмите <strong>Да</strong>.

View File

@ -1,7 +1,19 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
//
@ -18,23 +30,54 @@
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// СтандартныеПодсистемы.УправлениеДоступом
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтение
|ГДЕ
| Пользовательский = ЛОЖЬ
| ИЛИ ТолькоДляАвтора = ЛОЖЬ
| ИЛИ ЭтоАвторизованныйПользователь(Автор)
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ЭтоАвторизованныйПользователь(Автор)";
Ограничение.ТекстДляВнешнихПользователей = Ограничение.Текст;
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// Переопределение для целей избранного - вместо карточки с настройками размещения отчета будет открываться его основная форма.
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
// Переопределение для целей избранного - вместо карточки с настройками размещения отчета будет открываться его
// основная форма.
Если ВидФормы = "ФормаОбъекта" Тогда
СсылкаВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "Ключ");
Если Не ЗначениеЗаполнено(СсылкаВарианта) Тогда
ВызватьИсключение НСтр("ru = 'Новый вариант отчета можно создать только из формы отчета'");
КонецЕсли;
ПоказатьКарточку = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ПоказатьКарточку");
Если ПоказатьКарточку = Истина Тогда
Возврат;
КонецЕсли;
ПараметрыОткрытия = ВариантыОтчетов.ПараметрыОткрытия(Параметры.Ключ);
ПараметрыОткрытия = ВариантыОтчетов.ПараметрыОткрытия(СсылкаВарианта);
ВариантыОтчетовКлиентСервер.ДополнитьСтруктуруКлючом(ПараметрыОткрытия, "ВыполнятьЗамеры", Ложь);
@ -54,12 +97,9 @@
ПолноеИмяОтчета = Вид + "." + ПараметрыОткрытия.ИмяОтчета;
Уникальность = ПолноеИмяОтчета;
Если ЗначениеЗаполнено(ПараметрыОткрытия.КлючВарианта) Тогда
Уникальность = Уникальность + "/КлючВарианта." + ПараметрыОткрытия.КлючВарианта;
КонецЕсли;
ПараметрыОткрытия.Вставить("КлючПараметровПечати", Уникальность);
ПараметрыОткрытия.Вставить("КлючСохраненияПоложенияОкна", Уникальность);
КлючУникальности = ОтчетыКлиентСервер.КлючУникальности(ПолноеИмяОтчета, ПараметрыОткрытия.КлючВарианта);
ПараметрыОткрытия.Вставить("КлючПараметровПечати", КлючУникальности);
ПараметрыОткрытия.Вставить("КлючСохраненияПоложенияОкна", КлючУникальности);
СтандартнаяОбработка = Ложь;
Если ПараметрыОткрытия.ТипОтчета = "Дополнительный" Тогда // Для платформы.
@ -70,9 +110,122 @@
ВыбраннаяФорма = ПолноеИмяОтчета + ".Форма";
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Параметры, ПараметрыОткрытия);
КонецЕсли;
КонецПроцедуры
#КонецЕсли
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
Поля.Добавить("Наименование");
Поля.Добавить("Ссылка");
Поля.Добавить("Пользовательский");
Поля.Добавить("ПредопределенныйВариант");
Поля.Добавить("ТипОтчета");
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ЭтоПредопределенный = Не Данные.Пользовательский
И (Данные.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или Данные.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(Данные.ПредопределенныйВариант);
Если ЭтоПредопределенный Тогда
Данные.Ссылка = Данные.ПредопределенныйВариант;
КонецЕсли;
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Обработчики обновления.
// Регистрирует данные к обновлению в плане обмена ОбновлениеИнформационнойБазы
// см. Стандарты и методики разработки прикладных решений: Параллельный режим отложенного обновления.
//
// Параметры:
// Параметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Варианты.Ссылка
|ИЗ
| Справочник.ВариантыОтчетов КАК Варианты
|ГДЕ
| Варианты.Отчет = &УниверсальныйОтчет
| И Варианты.Пользовательский
|");
УниверсальныйОтчет = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Отчеты.УниверсальныйОтчет);
Запрос.УстановитьПараметр("УниверсальныйОтчет", УниверсальныйОтчет);
Ссылки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Ссылки);
КонецПроцедуры
// Обрабатывает данные, зарегистрированные в плане обмена ОбновлениеИнформационнойБазы
// см. Стандарты и методики разработки прикладных решений: Параллельный режим отложенного обновления.
//
// Параметры:
// Параметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
//
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ОбъектМетаданных = Метаданные.Справочники.ВариантыОтчетов;
ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя();
Обработано = 0;
Отказано = 0;
Вариант = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ПолноеИмяОбъекта);
Пока Вариант.Следующий() Цикл
Попытка
Отчеты.УниверсальныйОтчет.УстановитьИсточникДанныхВарианта(Вариант.Ссылка);
Обработано = Обработано + 1;
Исключение
// Если не удалось обработать вариант отчета, повторяем попытку снова.
Отказано = Отказано + 1;
ШаблонКомментария = НСтр("ru = 'Не удалось установить источник данных варианта отчета %1.
|Возможно он поврежден и не подлежит восстановлению.
|
|Техническая информация о проблеме: %2'");
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонКомментария, Вариант.Ссылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение,
ОбъектМетаданных,
Вариант.Ссылка,
Комментарий);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Если Обработано = 0 И Отказано <> 0 Тогда
ШаблонСообщения = НСтр("ru = 'Процедуре УстановитьИсточникДанныхВарианта не удалось обработать некоторые варианты отчетов: %1'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Отказано);
ВызватьИсключение ТекстСообщения;
Иначе
ШаблонКомментария = НСтр("ru = 'Процедура УстановитьИсточникДанныхВарианта обработала очередной пакет вариантов отчетов: %1'");
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, Обработано);
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
ОбъектМетаданных,,
Комментарий);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли

View File

@ -1,11 +1,19 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
ИсключаемыеРеквизиты = Новый Массив;
Если НЕ Пользовательский Тогда
Если Не Пользовательский Тогда
ИсключаемыеРеквизиты.Добавить("Автор");
КонецЕсли;
@ -13,7 +21,7 @@
Если Наименование <> "" И ВариантыОтчетов.НаименованиеЗанято(Отчет, Ссылка, Наименование) Тогда
Отказ = Истина;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОбщегоНазначения.СообщитьПользователю(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" занято, необходимо указать другое наименование.'"), Наименование),
,
"Наименование");
@ -28,22 +36,23 @@
Возврат;
КонецЕсли;
ПользователемИзмененаПометкаУдаления = (
НЕ ЭтоНовый()
И ПометкаУдаления <> Ссылка.ПометкаУдаления
И НЕ ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных"));
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
Если НЕ Пользовательский И ПользователемИзмененаПометкаУдаления Тогда
ПользователемИзмененаПометкаУдаления = (
Не ЭтоНовый()
И ПометкаУдаления <> Ссылка.ПометкаУдаления
И Не ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных"));
Если Не Пользовательский И ПользователемИзмененаПометкаУдаления Тогда
Если ПометкаУдаления Тогда
ТекстОшибки = НСтр("ru = 'Пометка на удаление предопределенного варианта отчета запрещена.'");
Иначе
ТекстОшибки = НСтр("ru = 'Снятие пометки удаления предопределенного варианта отчета запрещена.'");
ТекстОшибки = НСтр("ru = 'Снятие пометки удаления предопределенного варианта отчета запрещено.'");
КонецЕсли;
ВариантыОтчетов.ОшибкаПоВарианту(Ссылка, ТекстОшибки);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если НЕ ПометкаУдаления И ПользователемИзмененаПометкаУдаления Тогда
Если Не ПометкаУдаления И ПользователемИзмененаПометкаУдаления Тогда
НаименованиеЗанято = ВариантыОтчетов.НаименованиеЗанято(Отчет, Ссылка, Наименование);
КлючВариантаЗанят = ВариантыОтчетов.КлючВариантаЗанят(Отчет, Ссылка, КлючВарианта);
Если НаименованиеЗанято ИЛИ КлючВариантаЗанят Тогда
@ -58,51 +67,56 @@
КлючВарианта);
КонецЕсли;
ТекстОшибки = ТекстОшибки + НСтр("ru = 'Перед снятием пометки удаления варианта отчета
|необходимо установить пометку удаления конфликтующего варианта отчета.'");
ВариантыОтчетов.ОшибкаПоВарианту(Ссылка, ТекстОшибки);
|необходимо установить пометку удаления конфликтующего варианта отчета.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЕсли;
Если ПользователемИзмененаПометкаУдаления Тогда
ИнтерактивнаяПометкаУдаления = ?(Пользовательский, ПометкаУдаления, Ложь);
КонецЕсли;
// Удаление из табличной части подсистем, помеченных на удаление.
МассивУдаляемыхСтрок = Новый Массив;
УдаляемыеСтроки = Новый Массив;
Для Каждого СтрокаРазмещения Из Размещение Цикл
Если СтрокаРазмещения.Подсистема.ПометкаУдаления = Истина Тогда
МассивУдаляемыхСтрок.Добавить(СтрокаРазмещения);
УдаляемыеСтроки.Добавить(СтрокаРазмещения);
КонецЕсли;
КонецЦикла;
Для Каждого СтрокаРазмещения Из МассивУдаляемыхСтрок Цикл
Для Каждого СтрокаРазмещения Из УдаляемыеСтроки Цикл
Размещение.Удалить(СтрокаРазмещения);
КонецЦикла;
// Заполнение реквизитов "НаименованияПолей" и "НаименованияПараметровИОтборов".
ПроиндексироватьНастройки();
ЗаполнитьПоляДляПоиска();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПроиндексироватьНастройки()
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
КонецПроцедуры
// Заполнение реквизитов НаименованияПолей и НаименованияПараметровИОтборов.
Процедура ЗаполнитьПоляДляПоиска()
Дополнительный = (ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный);
Если Не Пользовательский И Не Дополнительный Тогда
// Для предопределенных вариантов отчетов данные хранятся в неразделенном справочнике.
НаименованияПолей = "";
НаименованияПараметровИОтборов = "";
Возврат;
КонецЕсли;
Если Дополнительный И БезопасныйРежим() = Ложь Тогда
Возврат; // Оставить текущие настройки.
КонецЕсли;
Попытка
ВариантыОтчетов.ПроиндексироватьСодержимоеСхемы(ЭтотОбъект);
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ВариантыОтчетов.ЗаполнитьПоляДляПоиска(ЭтотОбъект);
Исключение
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось проиндексировать схему варианта ""%1"" отчета ""%2"":'"),
КлючВарианта,
Строка(Отчет));
КлючВарианта, Строка(Отчет));
ТекстОшибки = ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ВариантыОтчетов.ОшибкаПоВарианту(Ссылка, ТекстОшибки);
ВариантыОтчетов.ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Ошибка, ТекстОшибки, Ссылка);
КонецПопытки;
КонецПроцедуры
@ -152,7 +166,7 @@
ТекстОшибки = НеЗаполненоПоле("Отчет");
ИначеЕсли Не ЗначениеЗаполнено(ТипОтчета) Тогда
ТекстОшибки = НеЗаполненоПоле("ТипОтчета");
ИначеЕсли ТипОтчета <> ВариантыОтчетовКлиентСервер.ТипОтчета(Отчет) Тогда
ИначеЕсли ТипОтчета <> ВариантыОтчетов.ТипОтчета(Отчет) Тогда
ТекстОшибки = НСтр("ru = 'Противоречивые значения полей ""%1"" и ""%2""'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, "ТипОтчета", "Отчет");
ИначеЕсли Не ЗначениеЗаполнено(ПредопределенныйВариант)
@ -170,4 +184,6 @@
#КонецОбласти
#КонецЕсли
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Width>70</Width>
<Height>14</Height>
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
@ -18,42 +16,16 @@
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ДеревоПодсистемСнятьФлажкиExtendedTooltip" id="80"/>
</Button>
<Button name="ДеревоПодсистемПеречитать" id="75">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Перечитать</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ДеревоПодсистемПеречитатьExtendedTooltip" id="81"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="047d4d09-961c-4bdc-8519-eef10674c35b">ПослеЗаписи</Event>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="bf0ac0e1-bcbb-4dfe-8fc4-0b1923b461a6">ПередЗаписьюНаСервере</Event>
</Events>
<ChildItems>
<InputField name="ИзменяемыеВарианты" id="56">
<DataPath>ИзменяемыеВарианты</DataPath>
<TitleLocation>Left</TitleLocation>
<Height>2</Height>
<VerticalStretch>false</VerticalStretch>
<MultiLine>true</MultiLine>
<ChoiceButton>true</ChoiceButton>
<ClearButton>false</ClearButton>
<SpinButton>false</SpinButton>
<OpenButton>false</OpenButton>
<AutoMarkIncomplete>true</AutoMarkIncomplete>
<ChoiceListButton>false</ChoiceListButton>
<BackColor>style:ФонУправляющегоПоля</BackColor>
<ContextMenu name="ИзменяемыеВариантыКонтекстноеМеню" id="57"/>
<ExtendedTooltip name="ИзменяемыеВариантыExtendedTooltip" id="82"/>
<Events>
<Event name="OnChange">ИзменяемыеВариантыПриИзменении</Event>
</Events>
</InputField>
<Table name="ДеревоПодсистем" id="7">
<Representation>Tree</Representation>
<DefaultItem>true</DefaultItem>
<ChangeRowOrder>false</ChangeRowOrder>
<SelectionMode>SingleRow</SelectionMode>
<AutoInsertNewRow>true</AutoInsertNewRow>
@ -62,6 +34,12 @@
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>ДеревоПодсистем</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дерево подсистем</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Copy</ExcludedCommand>
@ -74,9 +52,6 @@
<ExcludedCommand>SortListDesc</ExcludedCommand>
<ExcludedCommand>Tree</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<ContextMenu name="ДеревоПодсистемКонтекстноеМеню" id="8">
<ChildItems>
<Button name="ДеревоПодсистемКонтекстноеМенюСнятьФлажки" id="78">
@ -84,11 +59,6 @@
<CommandName>Form.Command.СнятьФлажки</CommandName>
<ExtendedTooltip name="ДеревоПодсистемКонтекстноеМенюСнятьФлажкиExtendedTooltip" id="83"/>
</Button>
<Button name="ДеревоПодсистемКонтекстноеМенюПеречитать" id="77">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Перечитать</CommandName>
<ExtendedTooltip name="ДеревоПодсистемКонтекстноеМенюПеречитатьExtendedTooltip" id="84"/>
</Button>
</ChildItems>
</ContextMenu>
<AutoCommandBar name="ДеревоПодсистемКоманднаяПанель" id="9">
@ -120,23 +90,17 @@
<ExtendedTooltip name="ДеревоПодсистемУправлениеПоискомРасширеннаяПодсказка" id="98"/>
</SearchControlAddition>
<ChildItems>
<ColumnGroup name="ГруппаКолонок" id="73">
<ColumnGroup name="ГруппаКолонок" id="73" DisplayImportance="VeryHigh">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа колонок</v8:content>
<v8:content>Колонок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа колонок</v8:content>
</v8:item>
</ToolTip>
<Group>InCell</Group>
<ExtendedTooltip name="ГруппаКолонокExtendedTooltip" id="86"/>
<ChildItems>
<CheckBoxField name="ДеревоПодсистемИспользование" id="69">
<CheckBoxField name="ДеревоПодсистемИспользование" id="69" DisplayImportance="VeryHigh">
<DataPath>ДеревоПодсистем.Использование</DataPath>
<TitleLocation>None</TitleLocation>
<HorizontalAlign>Left</HorizontalAlign>
@ -148,7 +112,7 @@
<Event name="OnChange">ДеревоПодсистемИспользованиеПриИзменении</Event>
</Events>
</CheckBoxField>
<InputField name="ДеревоПодсистемПредставление" id="61">
<InputField name="ДеревоПодсистемПредставление" id="61" DisplayImportance="VeryHigh">
<DataPath>ДеревоПодсистем.Представление</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalAlign>Left</HorizontalAlign>
@ -179,36 +143,7 @@
</Table>
</ChildItems>
<Attributes>
<Attribute name="ТолькоДляАвтора" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только для автора</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="Автор" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ВнешниеПользователи</v8:Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
</Attribute>
<Attribute name="ИзменяемыеВарианты" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Варианты отчетов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
@ -217,12 +152,6 @@
</Settings>
</Attribute>
<Attribute name="КоличествоВариантов" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество вариантов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
@ -233,12 +162,6 @@
</Type>
</Attribute>
<Attribute name="СмешаннаяВажность" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Смешанная важность</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -247,13 +170,7 @@
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="РезультатВыполнения" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Результат выполнения</v8:content>
</v8:item>
</Title>
<Attribute name="СообщенияОбОшибках" id="4">
<Type/>
</Attribute>
<Attribute name="ДеревоПодсистем" id="3">
@ -268,12 +185,6 @@
</Type>
<Columns>
<Column name="Ссылка" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
@ -295,12 +206,6 @@
</Type>
</Column>
<Column name="Имя" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -310,12 +215,6 @@
</Type>
</Column>
<Column name="ПолноеИмя" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полное имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -325,12 +224,6 @@
</Type>
</Column>
<Column name="Приоритет" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Приоритет</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -371,12 +264,6 @@
</Type>
</Column>
<Column name="Модифицированность" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Модифицированность</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -426,26 +313,10 @@
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Перечитать" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перечитать</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перечитать</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.Reread</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Перечитать</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
<Parameters>
<Parameter name="Варианты">
<Type/>
</Parameter>
</Parameters>
</Form>

View File

@ -1,48 +1,41 @@
#Область ОбработчикиСобытийФормы
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
СмешаннаяВажность = НСтр("ru = 'Различная'");
// Контроль количества вариантов осуществляется до открытия формы.
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.МассивВариантов);
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.Варианты);
КоличествоВариантов = ИзменяемыеВарианты.Количество();
ЗаполнитьРазделы();
ПерезаполнитьДерево(Ложь);
ВариантыОтчетов.ДеревоПодсистемДобавитьУсловноеОформление(ЭтотОбъект);
ТекущийЭлемент = Элементы.ДеревоПодсистем;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если РезультатВыполнения <> Неопределено Тогда
Если РезультатВыполнения.Свойство("Отказ") И РезультатВыполнения.Отказ = Истина Тогда
Отказ = Истина;
ПоказатьРезультатВыполнения();
Иначе
ПодключитьОбработчикОжидания("ПоказатьРезультатВыполнения", 0.2, Истина);
КонецЕсли;
Если СообщенияОбОшибках <> Неопределено Тогда
Отказ = Истина;
ОчиститьСообщения();
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1
|Подробности:
|%2'"), СообщенияОбОшибках.Текст, СообщенияОбОшибках.Подробно), РежимДиалогаВопрос.ОК);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ИзменяемыеВариантыПриИзменении(Элемент)
ПерезаполнитьДерево(Ложь);
ПоказатьРезультатВыполнения();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоПодсистем
&НаКлиенте
@ -61,32 +54,18 @@
&НаКлиенте
Процедура Разместить(Команда)
Если ПроверитьКоличествоВариантов() Тогда
ЗаписатьНаСервере();
ТекстОповещения = НСтр("ru = 'Изменены настройки вариантов отчетов (%1 шт.).'");
ТекстОповещения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОповещения, Формат(ИзменяемыеВарианты.Количество(), "ЧН=0; ЧГ=0"));
ПоказатьОповещениеПользователя(, , ТекстОповещения);
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы();
Закрыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Перечитать(Команда)
Если ПроверитьКоличествоВариантов() Тогда
ПерезаполнитьДерево(Ложь);
Элементы.ДеревоПодсистем.Развернуть(ДеревоПодсистем.ПолучитьЭлементы()[0].ПолучитьИдентификатор(), Истина);
ПоказатьРезультатВыполнения();
КонецЕсли;
ЗаписатьНаСервере();
ТекстОповещения = НСтр("ru = 'Изменены настройки вариантов отчетов (%1 шт.).'");
ТекстОповещения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОповещения, Формат(ИзменяемыеВарианты.Количество(), "ЧН=0; ЧГ=0"));
ПоказатьОповещениеПользователя(, , ТекстОповещения);
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы();
Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура СнятьФлажки(Команда)
Если ПроверитьКоличествоВариантов() Тогда
ПерезаполнитьДерево(Истина);
Элементы.ДеревоПодсистем.Развернуть(ДеревоПодсистем.ПолучитьЭлементы()[0].ПолучитьИдентификатор(), Истина);
ПоказатьРезультатВыполнения();
КонецЕсли;
СнятьФлажкиРазделов();
Элементы.ДеревоПодсистем.Развернуть(ДеревоПодсистем.ПолучитьЭлементы()[0].ПолучитьИдентификатор(), Истина);
КонецПроцедуры
#КонецОбласти
@ -95,68 +74,46 @@
&НаСервере
Процедура УстановитьУсловноеОформление()
Инструкция = СтандартныеПодсистемыСервер.ИнструкцияУсловногоОформления();
Инструкция.Поля = "ДеревоПодсистемВажность";
Инструкция.Отборы.Вставить("ДеревоПодсистем.Важность", Новый ПолеКомпоновкиДанных("СмешаннаяВажность"));
Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.ЗаблокированныйРеквизитЦвет);
СтандартныеПодсистемыСервер.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция);
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ДеревоПодсистемВажность.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоПодсистем.Важность");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Новый ПолеКомпоновкиДанных("СмешаннаяВажность");
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЗаблокированныйРеквизитЦвет);
ВариантыОтчетов.УстановитьУсловноеОформлениеДереваПодсистем(ЭтотОбъект);
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Клиент
&НаКлиенте
Функция ПроверитьКоличествоВариантов()
ОчиститьСообщения();
Если КоличествоВариантов = 0 Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить список ""Варианты отчетов""'"),
,
"ИзменяемыеВарианты");
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаКлиенте
Процедура ПоказатьРезультатВыполнения()
ОчиститьСообщения();
Если РезультатВыполнения <> Неопределено Тогда
СтандартныеПодсистемыКлиент.ВывестиПредупреждение(ЭтотОбъект, РезультатВыполнения);
РезультатВыполнения = Неопределено;
КонецЕсли;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Вызов сервера
&НаСервере
Процедура ПерезаполнитьДерево(ТолькоСнятьФлажки)
Процедура СнятьФлажкиРазделов()
Если ТолькоСнятьФлажки = Истина Тогда
ДеревоПриемник = РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений"));
Найденные = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 1), Истина);
Для Каждого СтрокаДерева Из Найденные Цикл
СтрокаДерева.Использование = 0;
СтрокаДерева.Модифицированность = Истина;
КонецЦикла;
Найденные = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 2), Истина);
Для Каждого СтрокаДерева Из Найденные Цикл
СтрокаДерева.Использование = 0;
СтрокаДерева.Модифицированность = Истина;
КонецЦикла;
ЗначениеВРеквизитФормы(ДеревоПриемник, "ДеревоПодсистем");
Возврат;
КонецЕсли;
ДеревоПриемник = РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений"));
Найденные = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 1), Истина);
Для Каждого СтрокаДерева Из Найденные Цикл
СтрокаДерева.Использование = 0;
СтрокаДерева.Модифицированность = Истина;
КонецЦикла;
КоличествоВариантов = ИзменяемыеВарианты.Количество();
Если КоличествоВариантов = 0 Тогда
ТекстСообщения = НСтр("ru = 'Необходимо выбрать варианты отчетов'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "ИзменяемыеВарианты");
Возврат;
КонецЕсли;
Найденные = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 2), Истина);
Для Каждого СтрокаДерева Из Найденные Цикл
СтрокаДерева.Использование = 0;
СтрокаДерева.Модифицированность = Истина;
КонецЦикла;
ЗначениеВРеквизитФормы(ДеревоПриемник, "ДеревоПодсистем");
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьРазделы()
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
@ -272,8 +229,8 @@
Запрос.УстановитьПараметр("МассивВариантов", ИзменяемыеВарианты.ВыгрузитьЗначения());
Запрос.УстановитьПараметр("ОтчетыПользователя", ВариантыОтчетов.ОтчетыТекущегоПользователя());
Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы());
Запрос.УстановитьПараметр("ПредставлениеВажный", ВариантыОтчетовКлиентСервер.ПредставлениеВажный());
Запрос.УстановитьПараметр("ПредставлениеСмТакже", ВариантыОтчетовКлиентСервер.ПредставлениеСмТакже());
Запрос.УстановитьПараметр("ПредставлениеВажный", ВариантыОтчетов.ПредставлениеВажный());
Запрос.УстановитьПараметр("ПредставлениеСмТакже", ВариантыОтчетов.ПредставлениеСмТакже());
Запрос.Текст = ТекстЗапроса;
ВременныеТаблицы = Запрос.ВыполнитьПакет();
@ -282,45 +239,39 @@
КоличествоОшибок = ОтфильтрованныеВарианты.Количество();
Если КоличествоОшибок > 0 Тогда
РезультатВыполнения = Новый Структура("Текст, Подробно");
СообщенияОбОшибках = Новый Структура("Текст, Подробно");
ТекущаяПричина = 0;
ПрефиксЗаписи = Символы.ПС + " ";
РезультатВыполнения.Подробно = "";
СообщенияОбОшибках.Подробно = "";
Для Каждого СтрокаТаблицы Из ОтфильтрованныеВарианты Цикл
Если ТекущаяПричина <> СтрокаТаблицы.Причина Тогда
ТекущаяПричина = СтрокаТаблицы.Причина;
РезультатВыполнения.Подробно = РезультатВыполнения.Подробно + Символы.ПС + Символы.ПС;
СообщенияОбОшибках.Подробно = СообщенияОбОшибках.Подробно + Символы.ПС + Символы.ПС;
Если ТекущаяПричина = 1 Тогда
РезультатВыполнения.Подробно = РезультатВыполнения.Подробно + НСтр("ru = 'Помеченные на удаление:'");
СообщенияОбОшибках.Подробно = СообщенияОбОшибках.Подробно + НСтр("ru = 'Помеченные на удаление:'");
ИначеЕсли ТекущаяПричина = 2 Тогда
РезультатВыполнения.Подробно = РезультатВыполнения.Подробно + НСтр("ru = 'Недостаточно прав для изменения:'");
СообщенияОбОшибках.Подробно = СообщенияОбОшибках.Подробно + НСтр("ru = 'Недостаточно прав для изменения:'");
ИначеЕсли ТекущаяПричина = 3 Тогда
РезультатВыполнения.Подробно = РезультатВыполнения.Подробно + НСтр("ru = 'Отчет отключен или недоступен по правам:'");
СообщенияОбОшибках.Подробно = СообщенияОбОшибках.Подробно + НСтр("ru = 'Отчет отключен или недоступен по правам:'");
ИначеЕсли ТекущаяПричина = 4 Тогда
РезультатВыполнения.Подробно = РезультатВыполнения.Подробно + НСтр("ru = 'Вариант отчета отключен по функциональной опции:'");
СообщенияОбОшибках.Подробно = СообщенияОбОшибках.Подробно + НСтр("ru = 'Вариант отчета отключен по функциональной опции:'");
КонецЕсли;
КонецЕсли;
РезультатВыполнения.Подробно = СокрЛ(РезультатВыполнения.Подробно) + Символы.ПС + " - " + Строка(СтрокаТаблицы.Ссылка);
СообщенияОбОшибках.Подробно = СокрЛ(СообщенияОбОшибках.Подробно) + Символы.ПС + " - " + Строка(СтрокаТаблицы.Ссылка);
ИзменяемыеВарианты.Удалить(ИзменяемыеВарианты.НайтиПоЗначению(СтрокаТаблицы.Ссылка));
КонецЦикла;
КоличествоВариантов = ИзменяемыеВарианты.Количество();
Если КоличествоВариантов = 0 Тогда
РезультатВыполнения.Текст = НСтр("ru = 'Недостаточно прав для размещения в разделах выбранных вариантов отчетов.'");
Элементы.ДеревоПодсистем.Доступность = Ложь;
РезультатВыполнения.Вставить("Отказ", Истина);
СообщенияОбОшибках.Текст = НСтр("ru = 'Недостаточно прав для размещения в разделах выбранных вариантов отчетов.'");
Иначе
РезультатВыполнения.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СообщенияОбОшибках.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недостаточно прав для размещения в разделах некоторых вариантов отчетов (%1).'"),
Формат(КоличествоОшибок, "ЧГ="));
Элементы.ДеревоПодсистем.Доступность = Истина;
КонецЕсли;
РезультатВыполнения = Новый ФиксированнаяСтруктура(РезультатВыполнения);
Иначе
Элементы.ДеревоПодсистем.Доступность = Истина;
СообщенияОбОшибках = Новый ФиксированнаяСтруктура(СообщенияОбОшибках);
КонецЕсли;
ВхожденияПодсистем = ВременныеТаблицы[4].Выгрузить();
@ -337,13 +288,22 @@
&НаСервере
Процедура ЗаписатьНаСервере()
Кэш = Новый Структура;
ДеревоПриемник = РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений"));
ИзмененныеРазделы = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Модифицированность", Истина), Истина);
НачатьТранзакцию();
Попытка
Для Каждого ЭлементСписка Из ИзменяемыеВарианты Цикл
ВариантОбъект = ЭлементСписка.Значение.ПолучитьОбъект();
ВариантыОтчетов.ДеревоПодсистемЗаписать(ЭтотОбъект, ВариантОбъект, Кэш);
Блокировка = Новый БлокировкаДанных;
Для Каждого ВариантОтчета Из ИзменяемыеВарианты Цикл
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.ВариантыОтчетов.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВариантОтчета.Значение);
КонецЦикла;
Блокировка.Заблокировать();
Для Каждого ВариантОтчета Из ИзменяемыеВарианты Цикл
ВариантОбъект = ВариантОтчета.Значение.ПолучитьОбъект();
ВариантыОтчетов.ДеревоПодсистемЗаписать(ВариантОбъект, ИзмененныеРазделы);
ВариантОбъект.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
@ -354,9 +314,6 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Сервер
&НаСервере
Процедура ДобавитьПодсистемыВДерево(ПриемникРодитель, ИсточникРодитель, ВхожденияПодсистем)
Для Каждого Источник Из ИсточникРодитель.Строки Цикл
@ -387,4 +344,4 @@
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -29,6 +29,7 @@
</Events>
<ChildItems>
<LabelDecoration name="Надпись2" id="11">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
@ -40,6 +41,7 @@
<ExtendedTooltip name="Надпись2РасширеннаяПодсказка" id="13"/>
</LabelDecoration>
<LabelDecoration name="Надпись1" id="1">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
@ -52,12 +54,6 @@
</ChildItems>
<Attributes>
<Attribute name="ИзменяемыеВарианты" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Варианты отчетов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
@ -66,12 +62,6 @@
</Settings>
</Attribute>
<Attribute name="ТекстОшибки" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текст ошибки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>

View File

@ -1,18 +1,23 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Не Параметры.Свойство("МассивВариантов") Или ТипЗнч(Параметры.МассивВариантов) <> Тип("Массив") Тогда
Если Не Параметры.Свойство("Варианты") Или ТипЗнч(Параметры.Варианты) <> Тип("Массив") Тогда
ТекстОшибки = НСтр("ru = 'Не указаны варианты отчетов.'");
Возврат;
КонецЕсли;
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.МассивВариантов);
ОпределитьПоведениеВМобильномКлиенте();
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.Варианты);
Отфильтровать();
КонецПроцедуры
@ -65,6 +70,13 @@
КоличествоВариантов = 0;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Для Каждого ЭлементСписка Из ИзменяемыеВарианты Цикл
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.ВариантыОтчетов.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ЭлементСписка.Значение);
КонецЦикла;
Блокировка.Заблокировать();
Для Каждого ЭлементСписка Из ИзменяемыеВарианты Цикл
ВариантОбъект = ЭлементСписка.Значение.ПолучитьОбъект();
Если ВариантыОтчетов.СброситьНастройкиВариантаОтчета(ВариантОбъект) Тогда
@ -83,6 +95,15 @@
////////////////////////////////////////////////////////////////////////////////
// Сервер
&НаСервере
Процедура ОпределитьПоведениеВМобильномКлиенте()
Если Не ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Возврат;
КонецЕсли;
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
КонецПроцедуры
&НаСервере
Процедура Отфильтровать()

View File

@ -29,6 +29,7 @@
</Events>
<ChildItems>
<LabelDecoration name="Надпись2" id="11">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
@ -40,6 +41,7 @@
<ExtendedTooltip name="Надпись2РасширеннаяПодсказка" id="13"/>
</LabelDecoration>
<LabelDecoration name="Надпись1" id="1">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
@ -52,12 +54,6 @@
</ChildItems>
<Attributes>
<Attribute name="ИзменяемыеВарианты" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Варианты отчетов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
@ -66,12 +62,6 @@
</Settings>
</Attribute>
<Attribute name="ТекстОшибки" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текст ошибки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>

View File

@ -1,24 +1,29 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Не Параметры.Свойство("МассивВариантов") Или ТипЗнч(Параметры.МассивВариантов) <> Тип("Массив") Тогда
Если Не Параметры.Свойство("Варианты") Или ТипЗнч(Параметры.Варианты) <> Тип("Массив") Тогда
ТекстОшибки = НСтр("ru = 'Не указаны варианты отчетов.'");
Возврат;
КонецЕсли;
Если Не ЕстьПользовательскиеНастройки(Параметры.МассивВариантов) Тогда
Если Не ЕстьПользовательскиеНастройки(Параметры.Варианты) Тогда
ТекстОшибки = НСтр("ru = 'Пользовательские настройки выбранных вариантов отчетов (%1 шт) не заданы или уже сброшены.'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Формат(Параметры.МассивВариантов.Количество(), "ЧН=0; ЧГ=0"));
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Формат(Параметры.Варианты.Количество(), "ЧН=0; ЧГ=0"));
Возврат;
КонецЕсли;
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.МассивВариантов);
ОпределитьПоведениеВМобильномКлиенте();
ИзменяемыеВарианты.ЗагрузитьЗначения(Параметры.Варианты);
КонецПроцедуры
&НаКлиенте
@ -65,27 +70,44 @@
// Вызов сервера
&НаСервереБезКонтекста
Функция СброситьНастройкиПользователейСервер(Знач ИзменяемыеВарианты)
Процедура СброситьНастройкиПользователейСервер(Знач ИзменяемыеВарианты)
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Для Каждого ЭлементСписка Из ИзменяемыеВарианты Цикл
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.ВариантыОтчетов.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ЭлементСписка.Значение);
КонецЦикла;
Блокировка.Заблокировать();
РегистрыСведений.НастройкиВариантовОтчетов.СброситьНастройки(ИзменяемыеВарианты.ВыгрузитьЗначения());
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецФункции
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Сервер
&НаСервере
Процедура ОпределитьПоведениеВМобильномКлиенте()
Если Не ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Возврат;
КонецЕсли;
ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиФормы.Авто;
КонецПроцедуры
&НаСервере
Функция ЕстьПользовательскиеНастройки(МассивВариантов)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивВариантов", МассивВариантов);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК Поле1
| ИСТИНА КАК ЕстьПользовательскиеНастройки
|ИЗ
| РегистрСведений.НастройкиВариантовОтчетов КАК Настройки
|ГДЕ

View File

@ -1,6 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandBarLocation>Top</CommandBarLocation>
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Выбрать</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Просмотр</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Изменить</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">РазместитьВРазделах</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Справка</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">СписокГруппа1</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">КомандыСписка</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">СброситьНастройкиРазмещения</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">СброситьНастройкиПользователей</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">УстановитьПометкуУдаления</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<CommandSet>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Create</ExcludedCommand>
@ -21,13 +73,6 @@
<v8:content>Быстрые отборы</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Быстрые отборы</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="БыстрыеОтборыExtendedTooltip" id="98"/>
@ -105,12 +150,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
@ -123,12 +162,6 @@
<v8:content>Командная панель</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="КоманднаяПанельExtendedTooltip" id="102"/>
<ChildItems>
<Button name="Выбрать" id="84">
@ -166,6 +199,12 @@
<ExtendedTooltip name="СправкаExtendedTooltip" id="108"/>
</Button>
<ButtonGroup name="СписокГруппа1" id="188">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список группа 1</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СписокГруппа1РасширеннаяПодсказка" id="189"/>
<ChildItems>
<Button name="СписокНайти" id="190">
@ -195,12 +234,6 @@
<v8:content>Команды списка</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команды списка</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Item.Список</CommandSource>
<ExtendedTooltip name="КомандыСпискаExtendedTooltip" id="109"/>
</ButtonGroup>
@ -230,37 +263,24 @@
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа горизонтальная</v8:content>
<v8:content>Горизонтальная</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа горизонтальная</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаГоризонтальнаяExtendedTooltip" id="113"/>
<ChildItems>
<UsualGroup name="ЛеваяКолонка" id="92">
<UsualGroup name="ГруппаРазделы" id="92">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Левая колонка</v8:content>
<v8:content>Все разделы</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Левая колонка</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ЛеваяКолонкаExtendedTooltip" id="114"/>
<ExtendedTooltip name="ГруппаРазделыРасширеннаяПодсказка" id="114"/>
<ChildItems>
<Table name="ДеревоПодсистем" id="65">
<Representation>Tree</Representation>
@ -274,6 +294,12 @@
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>ДеревоПодсистем</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Разделы</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Change</ExcludedCommand>
@ -284,9 +310,6 @@
<ExcludedCommand>MoveDown</ExcludedCommand>
<ExcludedCommand>MoveUp</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<ContextMenu name="ДеревоПодсистемКонтекстноеМеню" id="66"/>
<AutoCommandBar name="ДеревоПодсистемКоманднаяПанель" id="67">
<Autofill>false</Autofill>
@ -349,11 +372,16 @@
<Representation>Tree</Representation>
<CommandBarLocation>None</CommandBarLocation>
<Width>60</Width>
<ChoiceMode>true</ChoiceMode>
<UseAlternationRowColor>true</UseAlternationRowColor>
<EnableStartDrag>true</EnableStartDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<RowPictureDataPath>Список.ИндексКартинки</RowPictureDataPath>
<RowsPicture>
<xr:Ref>CommonPicture.ПиктограммыЭлементов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</RowsPicture>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@ -368,9 +396,6 @@
<ExcludedCommand>LevelUp</ExcludedCommand>
<ExcludedCommand>MoveItem</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -413,12 +438,6 @@
<v8:content>Команды списка</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команды списка</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Item.Список</CommandSource>
<ExtendedTooltip name="КомандыСпискаСписокExtendedTooltip" id="121"/>
</ButtonGroup>
@ -468,12 +487,6 @@
<v8:content>Строки</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Строки</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="СтрокиРасширеннаяПодсказка" id="138"/>
<ChildItems>
<ColumnGroup name="КолонкиПервойСтроки" id="139">
@ -486,13 +499,19 @@
<Group>Horizontal</Group>
<ExtendedTooltip name="КолонкиПервойСтрокиРасширеннаяПодсказка" id="140"/>
<ChildItems>
<LabelField name="Наименование" id="4">
<DataPath>Список.Description</DataPath>
<LabelField name="Наименование" id="4" DisplayImportance="VeryHigh">
<DataPath>Список.Наименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Title>
<Width>40</Width>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="124"/>
</LabelField>
<LabelField name="Автор" id="12">
<LabelField name="Автор" id="12" DisplayImportance="Low">
<DataPath>Список.Автор</DataPath>
<ContextMenu name="АвторКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="125"/>
@ -502,6 +521,12 @@
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Доступен всем пользователям</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<ToolTip>
<v8:item>
@ -544,8 +569,14 @@
<Group>Horizontal</Group>
<ExtendedTooltip name="КолонкиВторойСтрокиРасширеннаяПодсказка" id="142"/>
<ChildItems>
<LabelField name="Описание" id="143">
<LabelField name="Описание" id="143" DisplayImportance="Low">
<DataPath>Список.Описание</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Описание</v8:content>
</v8:item>
</Title>
<AutoCellHeight>true</AutoCellHeight>
<ContextMenu name="ОписаниеКонтекстноеМеню" id="144"/>
<ExtendedTooltip name="ОписаниеРасширеннаяПодсказка" id="145"/>
@ -555,6 +586,9 @@
</ChildItems>
</ColumnGroup>
<ColumnGroup name="ТехническаяИнформация" id="148">
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@ -570,6 +604,12 @@
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя отчета</v8:content>
</v8:item>
</Title>
<ContextMenu name="ИмяОтчетаКонтекстноеМеню" id="74"/>
<ExtendedTooltip name="ИмяОтчетаExtendedTooltip" id="128"/>
</LabelField>
@ -597,32 +637,16 @@
<ContextMenu name="КлючВариантаКонтекстноеМеню" id="76"/>
<ExtendedTooltip name="КлючВариантаExtendedTooltip" id="131"/>
</LabelField>
<LabelField name="Ссылка" id="134">
<DataPath>Список.Ref</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СсылкаКонтекстноеМеню" id="135"/>
<ExtendedTooltip name="СсылкаРасширеннаяПодсказка" id="136"/>
</LabelField>
<LabelField name="НаименованияПараметровИОтборов" id="150">
<DataPath>Список.НаименованияПараметровИОтборов</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="НаименованияПараметровИОтборовКонтекстноеМеню" id="151"/>
<ExtendedTooltip name="НаименованияПараметровИОтборовРасширеннаяПодсказка" id="152"/>
</LabelField>
<LabelField name="НаименованияПолей" id="153">
<DataPath>Список.НаименованияПолей</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="НаименованияПолейКонтекстноеМеню" id="154"/>
<ExtendedTooltip name="НаименованияПолейРасширеннаяПодсказка" id="155"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<LabelField name="Ссылка" id="134">
<DataPath>Список.Ref</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СсылкаКонтекстноеМеню" id="135"/>
<ExtendedTooltip name="СсылкаРасширеннаяПодсказка" id="136"/>
</LabelField>
</ChildItems>
</Table>
</ChildItems>
@ -635,12 +659,12 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>Список.Description</Field>
<Field>Список.Ref</Field>
<Field>Список.Автор</Field>
<Field>Список.ИмяОтчета</Field>
<Field>Список.КлючВарианта</Field>
<Field>Список.КлючЗамеров</Field>
<Field>Список.Наименование</Field>
<Field>Список.Отчет</Field>
<Field>Список.ТипОтчета</Field>
</UseAlways>
@ -648,59 +672,74 @@
<ManualQuery>true</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<QueryText>ВЫБРАТЬ РАЗРЕШЕННЫЕ
Варианты.Ссылка,
Варианты.ВерсияДанных,
Варианты.ПометкаУдаления,
Предопределенные.КлючЗамеров,
Варианты.Пользовательский,
НЕ Варианты.Пользовательский КАК Предопределенный,
Варианты.Наименование,
НЕ Варианты.ТолькоДляАвтора КАК ДоступенВсемПользователям,
Варианты.Отчет,
Варианты.КлючВарианта,
Варианты.ТипОтчета,
Варианты.Автор,
ВариантыОтчетов.Ссылка,
ВариантыОтчетов.ВерсияДанных,
ВариантыОтчетов.ПометкаУдаления,
ЕСТЬNULL(ВариантыКонфигурации.КлючЗамеров, ВариантыРасширений.КлючЗамеров) КАК КлючЗамеров,
ВариантыОтчетов.Пользовательский,
НЕ ВариантыОтчетов.Пользовательский КАК Предопределенный,
ВЫБОР
КОГДА ПОДСТРОКА(Варианты.НаименованияПараметровИОтборов, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(Предопределенные.НаименованияПараметровИОтборов КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(Варианты.НаименованияПараметровИОтборов КАК СТРОКА(1000))
КОНЕЦ КАК НаименованияПараметровИОтборов,
КОГДА ВариантыОтчетов.Пользовательский
ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
НЕОПРЕДЕЛЕНО,
ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка))
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
КОГДА &amp;ЭтоОсновнойЯзык
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
КОНЕЦ КАК Наименование,
НЕ ВариантыОтчетов.ТолькоДляАвтора КАК ДоступенВсемПользователям,
ВариантыОтчетов.Отчет,
ВариантыОтчетов.КлючВарианта,
ВариантыОтчетов.ТипОтчета,
ВариантыОтчетов.Автор,
ВЫБОР
КОГДА ПОДСТРОКА(Варианты.НаименованияПолей, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(Предопределенные.НаименованияПолей КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(Варианты.НаименованияПолей КАК СТРОКА(1000))
КОНЕЦ КАК НаименованияПолей,
ВЫБОР
КОГДА ПОДСТРОКА(Варианты.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(Предопределенные.Описание КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(Варианты.Описание КАК СТРОКА(1000))
КОГДА &amp;ЭтоОсновнойЯзык
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
КОГДА НЕ &amp;ЭтоОсновнойЯзык
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
КОНЕЦ КАК Описание,
ВЫБОР
КОГДА Варианты.ТипОтчета = &amp;ТипВнутренний
ТОГДА Варианты.Отчет.Имя
КОГДА Варианты.ТипОтчета = &amp;ТипРасширение
ТОГДА Варианты.Отчет.Имя
КОГДА Варианты.ТипОтчета = &amp;ТипДополнительный
ТОГДА Варианты.Отчет
ИНАЧЕ ПОДСТРОКА(ВЫРАЗИТЬ(Варианты.Отчет КАК СТРОКА(150)), 14, 137)
КОГДА ВариантыОтчетов.ТипОтчета В (
ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Внутренний),
ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Расширение))
ТОГДА ВариантыОтчетов.Отчет.Имя
КОГДА ВариантыОтчетов.ТипОтчета = ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Дополнительный)
ТОГДА ВариантыОтчетов.Отчет
ИНАЧЕ ПОДСТРОКА(ВЫРАЗИТЬ(ВариантыОтчетов.Отчет КАК СТРОКА(150)), 14, 137)
КОНЕЦ КАК ИмяОтчета,
ВЫБОР
КОГДА Варианты.ПометкаУдаления = ИСТИНА
КОГДА ВариантыОтчетов.ПометкаУдаления = ИСТИНА
ТОГДА 4
КОГДА Варианты.Пользовательский = ЛОЖЬ
КОГДА ВариантыОтчетов.Пользовательский = ЛОЖЬ
ТОГДА 5
ИНАЧЕ 3
КОНЕЦ КАК ИндексКартинки
ИЗ
Справочник.ВариантыОтчетов КАК Варианты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК Предопределенные
ПО Варианты.ПредопределенныйВариант = Предопределенные.Ссылка
Справочник.ВариантыОтчетов КАК ВариантыОтчетов
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ВариантыКонфигурации
ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияВариантов
ПО ВариантыОтчетов.Ссылка = ПредставленияВариантов.Ссылка
И (ПредставленияВариантов.КодЯзыка = &amp;КодЯзыка)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
И (ПредставленияИзКонфигурации.КодЯзыка = &amp;КодЯзыка)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка
И (ПредставленияИзРасширений.КодЯзыка = &amp;КодЯзыка)
ГДЕ
Варианты.Отчет В(&amp;ДоступныеОтчеты)
ВариантыОтчетов.Отчет В(&amp;ДоступныеОтчеты)
И ВЫБОР
КОГДА &amp;ВариантыПользователя ЕСТЬ NULL
ТОГДА НЕ Варианты.ПредопределенныйВариант В (&amp;ОтключенныеВариантыПрограммы)
ИНАЧЕ Варианты.Ссылка В (&amp;ВариантыПользователя)
КОГДА Не &amp;ЕстьОтборПоВариантам
ТОГДА НЕ ВариантыОтчетов.ПредопределенныйВариант В (&amp;ОтключенныеВариантыПрограммы)
ИНАЧЕ ВариантыОтчетов.Ссылка В (&amp;ВариантыПользователя)
КОНЕЦ</QueryText>
<MainTable>Catalog.ВариантыОтчетов</MainTable>
<ListSettings>
@ -771,12 +810,6 @@
</Type>
<Columns>
<Column name="Ссылка" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
@ -798,12 +831,6 @@
</Type>
</Column>
<Column name="Имя" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -813,12 +840,6 @@
</Type>
</Column>
<Column name="ПолноеИмя" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полное имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -828,12 +849,6 @@
</Type>
</Column>
<Column name="Приоритет" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Приоритет</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -843,12 +858,6 @@
</Type>
</Column>
<Column name="ПолноеПредставление" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полное представление</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -860,12 +869,6 @@
</Columns>
</Attribute>
<Attribute name="ДеревоПодсистемТекущаяСтрока" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дерево разделов текущая строка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
@ -876,12 +879,6 @@
</Type>
</Attribute>
<Attribute name="РежимРаботыФормы" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Режим работы формы</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -904,43 +901,7 @@
<Field>ВключаяПодчиненные</Field>
</Save>
</Attribute>
<Attribute name="ОтчетыПользователя" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отчеты пользователя</v8:content>
</v8:item>
</Title>
<Type/>
<View>
<xr:Common>false</xr:Common>
</View>
<Edit>
<xr:Common>false</xr:Common>
</Edit>
</Attribute>
<Attribute name="ОтключенныеВариантыПрограммы" id="11">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отключенные варианты программы</v8:content>
</v8:item>
</Title>
<Type/>
<View>
<xr:Common>false</xr:Common>
</View>
<Edit>
<xr:Common>false</xr:Common>
</Edit>
</Attribute>
<Attribute name="ПараметрыКлиента" id="12">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры клиента</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
</Attributes>
@ -958,6 +919,10 @@
<v8:content>Найти</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.Find</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ВыполнитьПоиск</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
@ -983,4 +948,26 @@
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
<Parameters>
<Parameter name="ТолькоВарианты">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Parameter>
<Parameter name="СтрокаПоиска">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Parameter>
<Parameter name="РазделСсылка">
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
</Type>
</Parameter>
</Parameters>
</Form>

View File

@ -1,14 +1,20 @@
#Область ОбработчикиСобытийФормы
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
ОпределитьПоведениеВМобильномКлиенте();
ПараметрыКлиента = ВариантыОтчетов.ПараметрыКлиента();
ВключаяПодчиненные = Истина;
ДеревоЗначений = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя().Скопировать();
@ -20,35 +26,27 @@
Если Параметры.РежимВыбора = Истина Тогда
РежимРаботыФормы = "Выбор";
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ИначеЕсли Параметры.Свойство("РазделСсылка") Или Параметры.Свойство("РазделСсылка") Тогда
Элементы.Список.Отображение = ОтображениеТаблицы.Список;
ИначеЕсли Параметры.РазделСсылка <> Неопределено Тогда
РежимРаботыФормы = "ВсеОтчетыРаздела";
МассивОбхода = Новый Массив;
МассивОбхода.Добавить(ДеревоПодсистем.ПолучитьЭлементы()[0]);
Пока МассивОбхода.Количество() > 0 Цикл
СтрокиРодителя = МассивОбхода[0].ПолучитьЭлементы();
МассивОбхода.Удалить(0);
Для Каждого СтрокаДерева Из СтрокиРодителя Цикл
Если СтрокаДерева.Ссылка = Параметры.РазделСсылка Тогда
Элементы.ДеревоПодсистем.ТекущаяСтрока = СтрокаДерева.ПолучитьИдентификатор();
МассивОбхода.Очистить();
РодительскиеЭлементы = Новый Массив;
РодительскиеЭлементы.Добавить(ДеревоПодсистем.ПолучитьЭлементы()[0]);
Пока РодительскиеЭлементы.Количество() > 0 Цикл
РодительскийЭлемент = РодительскиеЭлементы[0].ПолучитьЭлементы();
РодительскиеЭлементы.Удалить(0);
Для Каждого ДочернийЭлемент Из РодительскийЭлемент Цикл
Если ДочернийЭлемент.Ссылка = Параметры.РазделСсылка Тогда
Элементы.ДеревоПодсистем.ТекущаяСтрока = ДочернийЭлемент.ПолучитьИдентификатор();
РодительскиеЭлементы.Очистить();
Прервать;
Иначе
МассивОбхода.Добавить(СтрокаДерева);
КонецЕсли;
РодительскиеЭлементы.Добавить(ДочернийЭлемент);
КонецЦикла;
КонецЦикла;
Иначе
РежимРаботыФормы = "Список";
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"Изменить",
"Отображение",
ОтображениеКнопки.КартинкаИТекст);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"РазместитьВРазделах",
"ТолькоВоВсехДействиях",
Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Изменить", "Отображение", ОтображениеКнопки.КартинкаИТекст);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "РазместитьВРазделах", "ТолькоВоВсехДействиях", Ложь);
КонецЕсли;
ГлобальныеНастройки = ВариантыОтчетов.ГлобальныеНастройки();
@ -62,28 +60,9 @@
УстановитьСвойствоСпискаПоПараметруФормы("МножественныйВыбор");
УстановитьСвойствоСпискаПоПараметруФормы("ТекущаяСтрока");
Если Параметры.РежимВыбора Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ВЫБРАТЬ",
"КнопкаПоУмолчанию",
Истина);
Иначе
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ВЫБРАТЬ",
"Видимость",
Ложь);
КонецЕсли;
ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты();
Если Не ПолныеПраваНаВарианты Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ОтборТипОтчета",
"Видимость",
Ложь);
КонецЕсли;
Элементы.Выбрать.КнопкаПоУмолчанию = Параметры.РежимВыбора;
Элементы.Выбрать.Видимость = Параметры.РежимВыбора;
Элементы.ОтборТипОтчета.Видимость = ВариантыОтчетов.ПолныеПраваНаВарианты();
СписокВыбора = Элементы.ОтборТипОтчета.СписокВыбора;
СписокВыбора.Добавить(1, НСтр("ru = 'Все, кроме внешних'"));
@ -92,21 +71,14 @@
СписокВыбора.Добавить(Перечисления.ТипыОтчетов.Дополнительный, НСтр("ru = 'Дополнительные'"));
СписокВыбора.Добавить(Перечисления.ТипыОтчетов.Внешний, НСтр("ru = 'Внешние'"));
Параметры.Свойство("СтрокаПоиска", СтрокаПоиска);
СтрокаПоиска = Параметры.СтрокаПоиска;
Если Параметры.Отбор.Свойство("ТипОтчета", ОтборТипОтчета) Тогда
Параметры.Отбор.Удалить("ТипОтчета");
КонецЕсли;
Если Параметры.Свойство("ТолькоВарианты") Тогда
Если Параметры.ТолькоВарианты Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"КлючВарианта",
"",
ВидСравненияКомпоновкиДанных.НеРавно,
,
,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
КонецЕсли;
Если Параметры.ТолькоВарианты Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список,
"КлючВарианта", "", ВидСравненияКомпоновкиДанных.НеРавно,,,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
КонецЕсли;
ПерсональныеНастройкиСписка = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
@ -116,15 +88,14 @@
Элементы.СтрокаПоиска.СписокВыбора.ЗагрузитьЗначения(ПерсональныеНастройкиСписка.СтрокаПоискаСписокВыбора);
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("ТипВнутренний", Перечисления.ТипыОтчетов.Внутренний);
Список.Параметры.УстановитьЗначениеПараметра("ТипРасширение", Перечисления.ТипыОтчетов.Расширение);
Список.Параметры.УстановитьЗначениеПараметра("ТипДополнительный", Перечисления.ТипыОтчетов.Дополнительный);
Список.Параметры.УстановитьЗначениеПараметра("ДоступныеОтчеты", ВариантыОтчетовПовтИсп.ДоступныеОтчеты());
Список.Параметры.УстановитьЗначениеПараметра("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы());
Список.Параметры.УстановитьЗначениеПараметра("ДоступныеОтчеты", ВариантыОтчетов.ОтчетыТекущегоПользователя());
Список.Параметры.УстановитьЗначениеПараметра("ОтключенныеВариантыПрограммы", Новый Массив(ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()));
Список.Параметры.УстановитьЗначениеПараметра("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
Список.Параметры.УстановитьЗначениеПараметра("КодЯзыка", ТекущийЯзык().КодЯзыка);
ТекущийЭлемент = Элементы.Список;
СтандартныеПодсистемыСервер.ДополнитьОтборыИзСтруктуры(Список.КомпоновщикНастроек.Настройки.Отбор, Параметры.Отбор);
ВариантыОтчетов.ДополнитьОтборыИзСтруктуры(Список.КомпоновщикНастроек.Настройки.Отбор, Параметры.Отбор);
Параметры.Отбор.Очистить();
ОбновитьСодержимоеСписка("ПриСозданииНаСервере");
@ -139,7 +110,7 @@
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта()
Если ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеВарианта()
Или ИмяСобытия = "Запись_НаборКонстант" Тогда
ДеревоПодсистемТекущаяСтрока = -1;
ПодключитьОбработчикОжидания("ДеревоПодсистемОбработчикАктивизацииСтроки", 0.1, Истина);
@ -195,6 +166,11 @@
&НаКлиенте
Процедура ДеревоПодсистемПриАктивизацииСтроки(Элемент)
ПодключитьОбработчикОжидания("ДеревоПодсистемОбработчикАктивизацииСтроки", 0.1, Истина);
#Если МобильныйКлиент Тогда
ПодключитьОбработчикОжидания("УстановитьЗаголовокДереваПодсистем", 0.1, Истина);
ТекущийЭлемент = Элементы.Список;
#КонецЕсли
КонецПроцедуры
&НаКлиенте
@ -318,6 +294,19 @@
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ОпределитьПоведениеВМобильномКлиенте()
Если Не ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Возврат;
КонецЕсли;
Элементы.СтрокаПоиска.Ширина = 0;
Элементы.СтрокаПоиска.РастягиватьПоГоризонтали = Неопределено;
Элементы.СтрокаПоиска.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элементы.СтрокаПоиска.КнопкаВыпадающегоСписка = Ложь;
Элементы.ВыполнитьПоиск.Отображение = ОтображениеКнопки.Картинка;
КонецПроцедуры
&НаСервере
Процедура ДеревоПодсистемЗаполнитьПолноеПредставление(НаборСтрок, ПредставлениеРодителя = "")
Для Каждого СтрокаДерева Из НаборСтрок Цикл
@ -334,11 +323,20 @@
&НаСервере
Процедура УстановитьУсловноеОформление()
Инструкция = СтандартныеПодсистемыСервер.ИнструкцияУсловногоОформления();
Инструкция.Поля = "Описание";
Инструкция.Отборы.Вставить("Список.Описание", ВидСравненияКомпоновкиДанных.Заполнено);
Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.ПоясняющийТекст);
СтандартныеПодсистемыСервер.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция);
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Описание.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Описание");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ПоясняющийТекст);
КонецПроцедуры
&НаКлиенте
@ -348,10 +346,57 @@
КонецЕсли;
РезультатВыполнения = РазместитьВариантыВПодсистеме(ПараметрыРазмещения);
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы();
СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(ЭтотОбъект, РезультатВыполнения);
Если ПараметрыРазмещения.Варианты.Всего = РезультатВыполнения.Размещено Тогда
Если ПараметрыРазмещения.Варианты.Всего = 1 Тогда
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Успешно перемещен в ""%1"".'");
Иначе
Шаблон = НСтр("ru = 'Успешно размещен в ""%1"".'");
КонецЕсли;
Текст = ПараметрыРазмещения.Варианты.Представление;
Ссылка = ПолучитьНавигационнуюСсылку(ПараметрыРазмещения.Варианты.Массив[0]);
Иначе
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Успешно перемещены в ""%1"".'");
Иначе
Шаблон = НСтр("ru = 'Успешно размещены в ""%1"".'");
КонецЕсли;
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Варианты отчетов (%1).'"), Формат(ПараметрыРазмещения.Варианты.Всего, "ЧН=0; ЧГ=0"));
Ссылка = Неопределено;
КонецЕсли;
Шаблон = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ПараметрыРазмещения.Приемник.ПолноеПредставление);
ПоказатьОповещениеПользователя(Шаблон, Ссылка, Текст);
Иначе
ТекстОшибок = "";
Если Не ПустаяСтрока(РезультатВыполнения.НеМогутРазмещаться) Тогда
ТекстОшибок = ?(ТекстОшибок = "", "", ТекстОшибок + Символы.ПС + Символы.ПС)
+ НСтр("ru = 'Не могут размещаться в командном интерфейсе:'")
+ Символы.ПС
+ РезультатВыполнения.НеМогутРазмещаться;
КонецЕсли;
Если Не ПустаяСтрока(РезультатВыполнения.УжеРазмещены) Тогда
ТекстОшибок = ?(ТекстОшибок = "", "", ТекстОшибок + Символы.ПС + Символы.ПС)
+ НСтр("ru = 'Уже размещены в этом разделе:'")
+ Символы.ПС
+ РезультатВыполнения.УжеРазмещены;
КонецЕсли;
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Перемещено вариантов отчетов: %1 из %2.
|Подробности:
|%3'");
Иначе
Шаблон = НСтр("ru = 'Размещено вариантов отчетов: %1 из %2.
|Подробности:
|%3'");
КонецЕсли;
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, РезультатВыполнения.Размещено,
ПараметрыРазмещения.Варианты.Всего, ТекстОшибок), РежимДиалогаВопрос.ОК);
КонецЕсли;
КонецПроцедуры
@ -402,7 +447,7 @@
Возврат;
КонецЕсли;
ВсеПодсистемы = НЕ ЗначениеЗаполнено(СтрокаДерева.ПолноеИмя);
ВсеПодсистемы = Не ЗначениеЗаполнено(СтрокаДерева.ПолноеИмя);
ПараметрыПоиска = Новый Структура;
Если ЗначениеЗаполнено(СтрокаПоиска) Тогда
@ -411,29 +456,35 @@
Иначе
Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.НеРаскрывать;
КонецЕсли;
Если Не ВсеПодсистемы Тогда
МассивПодсистем = Новый Массив;
МассивПодсистем.Добавить(СтрокаДерева.Ссылка);
Если ВключаяПодчиненные Тогда
ДобавитьРекурсивно(МассивПодсистем, СтрокаДерева.ПолучитьЭлементы());
Если Не ВсеПодсистемы Или ЗначениеЗаполнено(СтрокаПоиска) Тогда
ПодсистемыОтчетов = Новый Массив;
Если Не ВсеПодсистемы Тогда
ПодсистемыОтчетов.Добавить(СтрокаДерева.Ссылка);
КонецЕсли;
ПараметрыПоиска.Вставить("Подсистемы", МассивПодсистем);
Если ВсеПодсистемы Или ВключаяПодчиненные Тогда
ДобавитьРекурсивно(ПодсистемыОтчетов, СтрокаДерева.ПолучитьЭлементы());
КонецЕсли;
ПараметрыПоиска.Вставить("Подсистемы", ПодсистемыОтчетов);
КонецЕсли;
Если ЗначениеЗаполнено(ОтборТипОтчета) Тогда
МассивТиповОтчетов = Новый Массив;
ТипыОтчетов = Новый Массив;
Если ОтборТипОтчета = 1 Тогда
МассивТиповОтчетов.Добавить(Перечисления.ТипыОтчетов.Внутренний);
МассивТиповОтчетов.Добавить(Перечисления.ТипыОтчетов.Расширение);
МассивТиповОтчетов.Добавить(Перечисления.ТипыОтчетов.Дополнительный);
ТипыОтчетов.Добавить(Перечисления.ТипыОтчетов.Внутренний);
ТипыОтчетов.Добавить(Перечисления.ТипыОтчетов.Расширение);
ТипыОтчетов.Добавить(Перечисления.ТипыОтчетов.Дополнительный);
Иначе
МассивТиповОтчетов.Добавить(ОтборТипОтчета);
ТипыОтчетов.Добавить(ОтборТипОтчета);
КонецЕсли;
ПараметрыПоиска.Вставить("ТипыОтчетов", МассивТиповОтчетов);
ПараметрыПоиска.Вставить("ТипыОтчетов", ТипыОтчетов);
КонецЕсли;
РезультатПоиска = ВариантыОтчетов.НайтиСсылки(ПараметрыПоиска);
ВариантыПользователя = ?(РезультатПоиска = Неопределено, Null, РезультатПоиска.Ссылки);
Список.Параметры.УстановитьЗначениеПараметра("ВариантыПользователя", ВариантыПользователя);
ЕстьОтборПоВариантам = ПараметрыПоиска.Количество() > 0;
ПараметрыПоиска.Вставить("ПометкаУдаления", Ложь);
ПараметрыПоиска.Вставить("ЖесткийОтборПоПодсистемам", Не ВсеПодсистемы);
РезультатПоиска = ВариантыОтчетов.НайтиВариантыОтчетов(ПараметрыПоиска);
Список.Параметры.УстановитьЗначениеПараметра("ЕстьОтборПоВариантам", ЕстьОтборПоВариантам);
Список.Параметры.УстановитьЗначениеПараметра("ВариантыПользователя", РезультатПоиска.Ссылки);
КонецПроцедуры
@ -444,6 +495,13 @@
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьЗаголовокДереваПодсистем()
Элементы.ГруппаРазделы.Заголовок = ?(Элементы.ДеревоПодсистем.ТекущиеДанные = Неопределено,
НСтр("ru = 'Все разделы'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
Элементы.ДеревоПодсистем.ТекущиеДанные.Представление);
КонецПроцедуры
&НаСервере
Процедура ДобавитьРекурсивно(МассивПодсистем, КоллекцияСтрокДерева)
Для Каждого СтрокаДерева Из КоллекцияСтрокДерева Цикл
@ -470,9 +528,9 @@
КонецЕсли;
Размещено = 0;
НачатьТранзакцию();
УжеРазмещены = "";
НеМогутРазмещаться = "";
НачатьТранзакцию();
Попытка
Для Каждого ВариантСсылка Из ПараметрыРазмещения.Варианты.Массив Цикл
Если ВариантСсылка.ТипОтчета = Перечисления.ТипыОтчетов.Внешний Тогда
@ -547,59 +605,12 @@
ВызватьИсключение;
КонецПопытки;
РезультатВыполнения = Новый Структура;
Если ПараметрыРазмещения.Варианты.Всего = Размещено Тогда
Если ПараметрыРазмещения.Варианты.Всего = 1 Тогда
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Успешно перемещен в ""%1"".'");
Иначе
Шаблон = НСтр("ru = 'Успешно размещен в ""%1"".'");
КонецЕсли;
Текст = ПараметрыРазмещения.Варианты.Представление;
Ссылка = ПолучитьНавигационнуюСсылку(ПараметрыРазмещения.Варианты.Массив[0]);
Иначе
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Успешно перемещены в ""%1"".'");
Иначе
Шаблон = НСтр("ru = 'Успешно размещены в ""%1"".'");
КонецЕсли;
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Варианты отчетов (%1).'"), Формат(ПараметрыРазмещения.Варианты.Всего, "ЧН=0; ЧГ=0"));
Ссылка = Неопределено;
КонецЕсли;
Шаблон = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ПараметрыРазмещения.Приемник.ПолноеПредставление);
СтандартныеПодсистемыКлиентСервер.ВывестиОповещение(РезультатВыполнения, Шаблон, Текст, , Ссылка);
Иначе
ТекстОшибок = "";
Если Не ПустаяСтрока(НеМогутРазмещаться) Тогда
ТекстОшибок = ?(ТекстОшибок = "", "", ТекстОшибок + Символы.ПС + Символы.ПС)
+ НСтр("ru = 'Не могут размещаться в командном интерфейсе:'")
+ Символы.ПС
+ НеМогутРазмещаться;
КонецЕсли;
Если Не ПустаяСтрока(УжеРазмещены) Тогда
ТекстОшибок = ?(ТекстОшибок = "", "", ТекстОшибок + Символы.ПС + Символы.ПС)
+ НСтр("ru = 'Уже размещены в этом разделе:'")
+ Символы.ПС
+ УжеРазмещены;
КонецЕсли;
Если ПараметрыРазмещения.Действие = "Перемещение" Тогда
Шаблон = НСтр("ru = 'Перемещено вариантов отчетов: %1 из %2.'");
Иначе
Шаблон = НСтр("ru = 'Размещено вариантов отчетов: %1 из %2.'");
КонецЕсли;
СтандартныеПодсистемыКлиентСервер.ВывестиПредупреждение(РезультатВыполнения,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Формат(Размещено, "ЧН=0; ЧГ=0"), Формат(ПараметрыРазмещения.Варианты.Всего, "ЧН=0; ЧГ=0")),
ТекстОшибок);
КонецЕсли;
Если ПараметрыРазмещения.Действие = "Перемещение" И Размещено > 0 Тогда
Элементы.ДеревоПодсистем.ТекущаяСтрока = ПараметрыРазмещения.Приемник.Идентификатор;
ОбновитьСодержимоеСписка();
КонецЕсли;
Возврат РезультатВыполнения;
Возврат Новый Структура("Размещено,УжеРазмещены,НеМогутРазмещаться", Размещено, УжеРазмещены, НеМогутРазмещаться);
КонецФункции
&НаКлиенте
@ -631,17 +642,17 @@
Комментарий = Комментарий + "; " + НСтр("ru = 'Без поиска'");
КонецЕсли;
Замер = Новый Структура("МодульОценкаПроизводительностиКлиентСервер, Идентификатор");
Замер.Идентификатор = Новый УникальныйИдентификатор;
Замер.МодульОценкаПроизводительностиКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ОценкаПроизводительностиКлиентСервер");
Замер.МодульОценкаПроизводительностиКлиентСервер.НачатьРучнойЗамерВремени(Имя, Замер.Идентификатор, Комментарий);
Замер = Новый Структура("МодульОценкаПроизводительностиКлиент, Идентификатор");
Замер.МодульОценкаПроизводительностиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОценкаПроизводительностиКлиент");
Замер.Идентификатор = Замер.МодульОценкаПроизводительностиКлиент.ЗамерВремени(Имя, Ложь, Ложь);
Замер.МодульОценкаПроизводительностиКлиент.УстановитьКомментарийЗамера(Замер.Идентификатор, Комментарий);
Возврат Замер;
КонецФункции
&НаКлиенте
Процедура ЗакончитьЗамер(Замер)
Если Замер <> Неопределено Тогда
Замер.МодульОценкаПроизводительностиКлиентСервер.ЗакончитьРучнойЗамерВремени(Замер.Идентификатор);
Замер.МодульОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(Замер.Идентификатор);
КонецЕсли;
КонецПроцедуры

View File

@ -37,12 +37,6 @@
<v8:content>Сброс настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сброс настроек</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="СбросНастроекExtendedTooltip" id="154"/>
<ChildItems>
<Button name="ФормаСброситьНастройкиРазмещения" id="119">
@ -89,6 +83,7 @@
<Event name="AfterWrite">ПослеЗаписи</Event>
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
<Event name="NotificationProcessing">ОбработкаОповещения</Event>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
@ -98,6 +93,9 @@
<DataPath>Объект.Description</DataPath>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="161"/>
<Events>
<Event name="Opening">НаименованиеОткрытие</Event>
</Events>
</InputField>
<InputField name="Описание" id="3">
<DataPath>Объект.Описание</DataPath>
@ -115,108 +113,97 @@
<ExtendedTooltip name="ОписаниеExtendedTooltip" id="162"/>
<Events>
<Event name="StartChoice">ОписаниеНачалоВыбора</Event>
<Event name="Opening">ОписаниеОткрытие</Event>
</Events>
</InputField>
<UsualGroup name="ГруппаДоступен" id="106">
<InputField name="Автор" id="115">
<DataPath>Объект.Автор</DataPath>
<ContextMenu name="АвторКонтекстноеМеню" id="116"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="167"/>
</InputField>
<RadioButtonField name="Доступен" id="109">
<DataPath>Доступен</DataPath>
<TitleLocation>Left</TitleLocation>
<RadioButtonType>Auto</RadioButtonType>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только для автора</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">1</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Всем пользователям</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">2</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ДоступенКонтекстноеМеню" id="110"/>
<ExtendedTooltip name="ДоступенExtendedTooltip" id="164"/>
<Events>
<Event name="OnChange">ДоступенПриИзменении</Event>
</Events>
</RadioButtonField>
<UsualGroup name="ДеревоПодсистемЗаголовокИВидимостьПоУмолчанию" id="236">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доступен</v8:content>
<v8:content>Дерево подсистем заголовок и видимость по умолчанию</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доступен</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДоступенExtendedTooltip" id="163"/>
<ExtendedTooltip name="ДеревоПодсистемЗаголовокИВидимостьПоУмолчаниюРасширеннаяПодсказка" id="237"/>
<ChildItems>
<RadioButtonField name="Доступен" id="109">
<DataPath>Доступен</DataPath>
<TitleLocation>Left</TitleLocation>
<RadioButtonType>Auto</RadioButtonType>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только для автора:</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">1</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Всем пользователям</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">2</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ДоступенКонтекстноеМеню" id="110"/>
<ExtendedTooltip name="ДоступенExtendedTooltip" id="164"/>
<Events>
<Event name="OnChange">ДоступенПриИзменении</Event>
</Events>
</RadioButtonField>
<UsualGroup name="ГруппаАвторИВидимостьПоУмолчанию" id="108">
<Title>
<LabelDecoration name="ДеревоПодсистемЗаголовок" id="238">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа автор и видимость по умолчанию</v8:content>
<v8:content>Размещение в панелях отчетов: </v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа автор и видимость по умолчанию</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаАвторИВидимостьПоУмолчаниюExtendedTooltip" id="165"/>
<ChildItems>
<InputField name="Автор" id="115">
<DataPath>Объект.Автор</DataPath>
<TitleLocation>None</TitleLocation>
<ContextMenu name="АвторКонтекстноеМеню" id="116"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="167"/>
</InputField>
<CheckBoxField name="ВидимостьПоУмолчанию" id="203">
<DataPath>Объект.ВидимостьПоУмолчанию</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВидимостьПоУмолчаниюКонтекстноеМеню" id="204"/>
<ExtendedTooltip name="ВидимостьПоУмолчаниюРасширеннаяПодсказка" id="205"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<GroupHorizontalAlign>Left</GroupHorizontalAlign>
<ContextMenu name="ДеревоПодсистемЗаголовокКонтекстноеМеню" id="239"/>
<ExtendedTooltip name="ДеревоПодсистемЗаголовокРасширеннаяПодсказка" id="240"/>
</LabelDecoration>
<CheckBoxField name="ВидимостьПоУмолчанию" id="203">
<DataPath>Объект.ВидимостьПоУмолчанию</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВидимостьПоУмолчаниюКонтекстноеМеню" id="204"/>
<ExtendedTooltip name="ВидимостьПоУмолчаниюРасширеннаяПодсказка" id="205"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<Table name="ДеревоПодсистем" id="80">
<Representation>Tree</Representation>
<TitleLocation>Top</TitleLocation>
<ChangeRowOrder>false</ChangeRowOrder>
<AutoInsertNewRow>true</AutoInsertNewRow>
<InitialTreeView>ExpandAllLevels</InitialTreeView>
<FileDragMode>AsFile</FileDragMode>
<DataPath>ДеревоПодсистем</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дерево подсистем</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Copy</ExcludedCommand>
@ -229,9 +216,7 @@
<ExcludedCommand>SortListDesc</ExcludedCommand>
<ExcludedCommand>Tree</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<CurrentRowUse>SelectionPresentationAndChoice</CurrentRowUse>
<ContextMenu name="ДеревоПодсистемКонтекстноеМеню" id="81"/>
<AutoCommandBar name="ДеревоПодсистемКоманднаяПанель" id="82">
<Autofill>false</Autofill>
@ -262,23 +247,17 @@
<ExtendedTooltip name="ДеревоПодсистемSearchControlExtendedTooltip" id="214"/>
</SearchControlAddition>
<ChildItems>
<ColumnGroup name="ГруппаКолонок" id="83">
<ColumnGroup name="ГруппаКолонок" id="83" DisplayImportance="VeryHigh">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа колонок</v8:content>
<v8:content>Колонок</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа колонок</v8:content>
</v8:item>
</ToolTip>
<Group>InCell</Group>
<ExtendedTooltip name="ГруппаКолонокExtendedTooltip" id="170"/>
<ChildItems>
<CheckBoxField name="ДеревоПодсистемИспользование" id="104">
<CheckBoxField name="ДеревоПодсистемИспользование" id="104" DisplayImportance="VeryHigh">
<DataPath>ДеревоПодсистем.Использование</DataPath>
<TitleLocation>None</TitleLocation>
<HorizontalAlign>Left</HorizontalAlign>
@ -290,7 +269,7 @@
<Event name="OnChange">ДеревоПодсистемИспользованиеПриИзменении</Event>
</Events>
</CheckBoxField>
<InputField name="ДеревоПодсистемПредставление" id="86">
<InputField name="ДеревоПодсистемПредставление" id="86" DisplayImportance="VeryHigh">
<DataPath>ДеревоПодсистем.Представление</DataPath>
<ReadOnly>true</ReadOnly>
<HorizontalAlign>Left</HorizontalAlign>
@ -304,10 +283,7 @@
<DataPath>ДеревоПодсистем.Важность</DataPath>
<EditMode>EnterOnInput</EditMode>
<Width>8</Width>
<ChoiceButton>true</ChoiceButton>
<ClearButton>true</ClearButton>
<SpinButton>false</SpinButton>
<OpenButton>false</OpenButton>
<ListChoiceMode>true</ListChoiceMode>
<ChooseType>false</ChooseType>
<ChoiceListButton>false</ChoiceListButton>
@ -340,17 +316,11 @@
<v8:content>Техническая информация</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Техническая информация</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Behavior>Collapsible</Behavior>
<Collapsed>true</Collapsed>
<ControlRepresentation>Picture</ControlRepresentation>
<Representation>StrongSeparation</Representation>
<Representation>NormalSeparation</Representation>
<ExtendedTooltip name="ТехническаяИнформацияExtendedTooltip" id="174"/>
<ChildItems>
<InputField name="Отчет" id="136">
@ -371,6 +341,7 @@
<ExtendedTooltip name="ПредопределенныйВариантExtendedTooltip" id="176"/>
</InputField>
<Table name="Размещение" id="122">
<Visible>false</Visible>
<ReadOnly>true</ReadOnly>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
@ -399,9 +370,6 @@
<ExcludedCommand>SortListAsc</ExcludedCommand>
<ExcludedCommand>SortListDesc</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<RowFilter xsi:nil="true"/>
<ContextMenu name="РазмещениеКонтекстноеМеню" id="123"/>
<AutoCommandBar name="РазмещениеКоманднаяПанель" id="124"/>
@ -460,11 +428,16 @@
</CheckBoxField>
</ChildItems>
</Table>
<UsualGroup name="Группа2" id="190">
<Group>Horizontal</Group>
<UsualGroup name="НаименованияПолейИПараметров" id="190">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименования полей и параметров</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="Группа2РасширеннаяПодсказка" id="191"/>
<ExtendedTooltip name="НаименованияПолейИПараметровРасширеннаяПодсказка" id="191"/>
<ChildItems>
<InputField name="НаименованияПолей" id="182">
<DataPath>Объект.НаименованияПолей</DataPath>
@ -484,6 +457,82 @@
</InputField>
</ChildItems>
</UsualGroup>
<Table name="Представления" id="244">
<ReadOnly>true</ReadOnly>
<HeightInTableRows>3</HeightInTableRows>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Объект.Представления</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представления</v8:content>
</v8:item>
</Title>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ПредставленияКонтекстноеМеню" id="245"/>
<AutoCommandBar name="ПредставленияКоманднаяПанель" id="246"/>
<ExtendedTooltip name="ПредставленияРасширеннаяПодсказка" id="247"/>
<SearchStringAddition name="ПредставленияСтрокаПоиска" id="248">
<AdditionSource>
<Item>Представления</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПредставленияСтрокаПоискаКонтекстноеМеню" id="249"/>
<ExtendedTooltip name="ПредставленияСтрокаПоискаРасширеннаяПодсказка" id="250"/>
</SearchStringAddition>
<ViewStatusAddition name="ПредставленияСостояниеПросмотра" id="251">
<AdditionSource>
<Item>Представления</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПредставленияСостояниеПросмотраКонтекстноеМеню" id="252"/>
<ExtendedTooltip name="ПредставленияСостояниеПросмотраРасширеннаяПодсказка" id="253"/>
</ViewStatusAddition>
<SearchControlAddition name="ПредставленияУправлениеПоиском" id="254">
<AdditionSource>
<Item>Представления</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ПредставленияУправлениеПоискомКонтекстноеМеню" id="255"/>
<ExtendedTooltip name="ПредставленияУправлениеПоискомРасширеннаяПодсказка" id="256"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ПредставленияНомерСтроки" id="257">
<DataPath>Объект.Представления.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПредставленияНомерСтрокиКонтекстноеМеню" id="258"/>
<ExtendedTooltip name="ПредставленияНомерСтрокиРасширеннаяПодсказка" id="259"/>
</LabelField>
<InputField name="ПредставленияКодЯзыка" id="260">
<DataPath>Объект.Представления.КодЯзыка</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПредставленияКодЯзыкаКонтекстноеМеню" id="261"/>
<ExtendedTooltip name="ПредставленияКодЯзыкаРасширеннаяПодсказка" id="262"/>
</InputField>
<InputField name="ПредставленияНаименование" id="263">
<DataPath>Объект.Представления.Наименование</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПредставленияНаименованиеКонтекстноеМеню" id="264"/>
<ExtendedTooltip name="ПредставленияНаименованиеРасширеннаяПодсказка" id="265"/>
</InputField>
<InputField name="ПредставленияОписание" id="266">
<DataPath>Объект.Представления.Описание</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ПредставленияОписаниеКонтекстноеМеню" id="267"/>
<ExtendedTooltip name="ПредставленияОписаниеРасширеннаяПодсказка" id="268"/>
</InputField>
</ChildItems>
</Table>
<CheckBoxField name="ИнтерактивнаяПометкаУдаления" id="241">
<DataPath>Объект.ИнтерактивнаяПометкаУдаления</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ИнтерактивнаяПометкаУдаленияКонтекстноеМеню" id="242"/>
<ExtendedTooltip name="ИнтерактивнаяПометкаУдаленияРасширеннаяПодсказка" id="243"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
</ChildItems>
@ -496,31 +545,10 @@
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ПолныеПраваНаВарианты" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полные права на варианты</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОшибкаОткрытия" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ошибка открытия</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ДеревоПодсистем" id="2">
<Title>
<v8:item>
@ -531,14 +559,9 @@
<Type>
<v8:Type>v8:ValueTree</v8:Type>
</Type>
<SavedData>true</SavedData>
<Columns>
<Column name="Ссылка" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовРасширений</v8:Type>
<v8:Type>cfg:CatalogRef.ИдентификаторыОбъектовМетаданных</v8:Type>
@ -560,12 +583,6 @@
</Type>
</Column>
<Column name="Имя" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -575,12 +592,6 @@
</Type>
</Column>
<Column name="ПолноеИмя" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полное имя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -590,12 +601,6 @@
</Type>
</Column>
<Column name="Приоритет" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Приоритет</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -636,12 +641,6 @@
</Type>
</Column>
<Column name="Модифицированность" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Модифицированность</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -649,12 +648,6 @@
</Columns>
</Attribute>
<Attribute name="ИмяОтчета" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя отчета</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@ -664,12 +657,6 @@
</Type>
</Attribute>
<Attribute name="ЭтоВнешний" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Это внешний</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
@ -688,30 +675,20 @@
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="СвойстваПредопределенного" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойства предопределенного</v8:content>
</v8:item>
</Title>
<Type/>
<View>
<xr:Common>false</xr:Common>
</View>
<Edit>
<xr:Common>false</xr:Common>
</Edit>
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ПараметрыОткрытияФормыОтчета" id="11">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры открытия формы отчета</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
<Attribute name="ДоступенВсемПользователям" id="12">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ЭтоПредопределенный" id="15">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
</Form>

View File

@ -1,23 +1,24 @@
#Область ОбработчикиСобытийФормы
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Объект.Ссылка.Пустая() Тогда
ОшибкаОткрытия = НСтр("ru = 'Новый вариант отчета можно создать только из формы отчета'");
Возврат;
КонецЕсли;
УстановитьУсловноеОформление();
Если Параметры.Свойство("ПараметрыОткрытияФормыОтчета", ПараметрыОткрытияФормыОтчета) Тогда
Возврат;
КонецЕсли;
Доступен = ?(Объект.ТолькоДляАвтора, "1", "2");
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
// Чтение свойств предопределенного;
// Заполнение реквизитов, связанных с предопределенным объектом при открытии.
ПрочитатьСвойстваПредопределенного(Истина);
Доступен = ?(Объект.ТолькоДляАвтора, "1", "2");
ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты();
ПравоНаЭтотВариант = ПолныеПраваНаВарианты Или Объект.Автор = Пользователи.АвторизованныйПользователь();
@ -44,6 +45,7 @@
Элементы.Доступен.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
Элементы.Автор.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
Элементы.ВидимостьПоУмолчанию.ТолькоПросмотр = Не ПолныеПраваНаВарианты;
Элементы.ТехническаяИнформация.Видимость = ПолныеПраваНаВарианты;
// Заполнение имени отчета для команды "Просмотр".
@ -58,19 +60,16 @@
ПерезаполнитьДерево(Ложь);
ВариантыОтчетов.ДеревоПодсистемДобавитьУсловноеОформление(ЭтотОбъект);
ЛокализуемыеЭлементы = Новый Массив;
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
ЛокализуемыеЭлементы.Добавить(Элементы.Описание);
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если Не ПустаяСтрока(ОшибкаОткрытия) Тогда
Если Объект.Ссылка.Пустая() Тогда
Отказ = Истина;
Иначе
ТолькоПросмотр = Истина;
КонецЕсли;
ПоказатьПредупреждение(, ОшибкаОткрытия);
ИначеЕсли ПараметрыОткрытияФормыОтчета <> Неопределено Тогда
Если ПараметрыОткрытияФормыОтчета <> Неопределено Тогда
Отказ = Истина;
ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Неопределено, ПараметрыОткрытияФормыОтчета);
КонецЕсли;
@ -79,7 +78,7 @@
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Источник <> ЭтотОбъект
И (ИмяСобытия = ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта()
И (ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеВарианта()
Или ИмяСобытия = "Запись_НаборКонстант") Тогда
ПерезаполнитьДерево(Истина);
Элементы.ДеревоПодсистем.Развернуть(ДеревоПодсистем.ПолучитьЭлементы()[0].ПолучитьИдентификатор(), Истина);
@ -89,35 +88,73 @@
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// Запись свойств, связанных с предопределенным вариантом отчета.
Если ТипЗнч(СвойстваПредопределенного) = Тип("ФиксированнаяСтруктура") Тогда
ТекущийОбъект.ВидимостьПоУмолчаниюПереопределена =
Объект.ВидимостьПоУмолчанию <> СвойстваПредопределенного.ВидимостьПоУмолчанию;
ОписаниеИзменено = Ложь;
Если ЭтоПредопределенный Тогда
Если Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) = НРег(СокрЛП(СвойстваПредопределенного.Описание)) Тогда
ПредопределенныйВариант = ТекущийОбъект.ПредопределенныйВариант.ПолучитьОбъект();
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ПредопределенныйВариант);
ТекущийОбъект.ВидимостьПоУмолчаниюПереопределена =
Объект.ВидимостьПоУмолчанию <> ПредопределенныйВариант.ВидимостьПоУмолчанию;
ОписаниеИзменено = Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) <> НРег(СокрЛП(ПредопределенныйВариант.Описание));
Если Не ОписаниеИзменено Тогда
ТекущийОбъект.Описание = "";
Для каждого ПредставлениеВарианта Из ТекущийОбъект.Представления Цикл
ПредставлениеВарианта.Описание = "";
КонецЦикла;
КонецЕсли;
КонецЕсли;
// Запись дерева подсистем.
ВариантыОтчетов.ДеревоПодсистемЗаписать(ЭтотОбъект, ТекущийОбъект);
ДеревоПриемник = РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений"));
Если ТекущийОбъект.ЭтоНовый() Тогда
ИзмененныеРазделы = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 1), Истина);
Иначе
ИзмененныеРазделы = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Модифицированность", Истина), Истина);
КонецЕсли;
ВариантыОтчетов.ДеревоПодсистемЗаписать(ТекущийОбъект, ИзмененныеРазделы);
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
Если ЭтоПредопределенный И Не ОписаниеИзменено Тогда
ТекущийОбъект.Представления.Очистить();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
ПерезаполнитьДерево(Ложь);
ПрочитатьСвойстваПредопределенного(Ложь);
ЗаполнитьИзПредопределенного(ТекущийОбъект);
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПараметрОповещения = Новый Структура("Ссылка, Наименование, Автор, Описание");
ЗаполнитьЗначенияСвойств(ПараметрОповещения, Объект);
Оповестить(ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта(), ПараметрОповещения, ЭтотОбъект);
РазворачиваемыйУзел = Новый Структура("ИмяТаблицы, Идентификатор, СПодчиненными");
РазворачиваемыйУзел.ИмяТаблицы = "ДеревоПодсистем";
РазворачиваемыйУзел.Идентификатор = "*";
РазворачиваемыйУзел.СПодчиненными = Истина;
СтандартныеПодсистемыКлиент.РазвернутьУзлыДерева(ЭтотОбъект, РазворачиваемыйУзел);
ВариантыОтчетовКлиент.ОбновитьОткрытыеФормы(Объект.Ссылка, ЭтотОбъект);
СтандартныеПодсистемыКлиент.РазвернутьУзлыДерева(ЭтотОбъект, "ДеревоПодсистем", "*", Истина);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
ЗаполнитьИзПредопределенного(ТекущийОбъект);
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
#КонецОбласти
@ -135,6 +172,16 @@
Объект.ТолькоДляАвтора = (ЭтотОбъект.Доступен = "1");
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ОписаниеОткрытие(Элемент, СтандартнаяОбработка)
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Описание", СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоПодсистем
@ -153,6 +200,14 @@
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
ВариантыОтчетов.УстановитьУсловноеОформлениеДереваПодсистем(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Функция ПерезаполнитьДерево(Прочитать)
ВыделенныеСтроки = ОтчетыСервер.ЗапомнитьВыделенныеСтроки(ЭтотОбъект, "ДеревоПодсистем", "Ссылка");
@ -166,29 +221,36 @@
КонецФункции
&НаСервере
Процедура ПрочитатьСвойстваПредопределенного(ПервоеЧтение)
Если ПервоеЧтение Тогда
Если Не Объект.Пользовательский
И (Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или Объект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(Объект.ПредопределенныйВариант) Тогда // Чтение настроек предопределенного.
Сведения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.ПредопределенныйВариант, "ВидимостьПоУмолчанию, Описание");
СвойстваПредопределенного = Новый ФиксированнаяСтруктура(Сведения);
Иначе
Возврат; // Не предопределенный.
КонецЕсли;
Процедура ЗаполнитьИзПредопределенного(ВариантОбъект)
ЭтоПредопределенный = Не ВариантОбъект.Пользовательский
И (ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант);
Если Не ЭтоПредопределенный Тогда
Возврат;
КонецЕсли;
ПредопределенныйВариант = ВариантОбъект.ПредопределенныйВариант.ПолучитьОбъект();
Если ВариантОбъект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда
ВариантОбъект.ВидимостьПоУмолчанию = ПредопределенныйВариант.ВидимостьПоУмолчанию;
КонецЕсли;
ВариантОбъект.Наименование = ПредопределенныйВариант.Наименование;
ПредставленияВарианта = ВариантОбъект.Представления.Выгрузить();
ВариантОбъект.Представления.Очистить();
ВариантОбъект.Представления.Загрузить(ПредопределенныйВариант.Представления.Выгрузить());
Если ПустаяСтрока(ВариантОбъект.Описание) Тогда
ВариантОбъект.Описание = ПредопределенныйВариант.Описание;
Иначе
Если ТипЗнч(СвойстваПредопределенного) <> Тип("ФиксированнаяСтруктура") Тогда
Возврат; // Не предопределенный.
КонецЕсли;
КонецЕсли;
Если Объект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда
Объект.ВидимостьПоУмолчанию = СвойстваПредопределенного.ВидимостьПоУмолчанию;
КонецЕсли;
Если ПустаяСтрока(Объект.Описание) Тогда
Объект.Описание = СвойстваПредопределенного.Описание;
ВариантОбъект.Представления.Сортировать("КодЯзыка");
ПредставленияВарианта.Сортировать("КодЯзыка");
Для каждого ПредставлениеВарианта Из ВариантОбъект.Представления Цикл
ОписаниеВарианта = ПредставленияВарианта.Найти(ПредставлениеВарианта.КодЯзыка, "КодЯзыка");
ПредставлениеВарианта.Описание = ОписаниеВарианта.Описание;
КонецЦикла;
КонецЕсли;
КонецПроцедуры

View File

@ -9,7 +9,7 @@
<ul><li><strong>По умолчанию виден в панели отчетов</strong> - включите флажок, чтобы отчет был всегда виден всем пользователям в <a href="CommonForm.ПанельОтчетов/Help">панели отчетов</a>.</li></ul></li></ul></li></ul><p></p>
<h3><a name="Размещение">Размещение в панелях отчетов</a></h3>
<p>Размещение вариантов отчетов могут менять администраторы вариантов отчетов и авторы.</p>
<ul><li>Включите один или несколько флажков в колонке <strong>Раздел, группа</strong> для размещения варианта отчетов в соответствующих разделах или группах программы. При размещении в разделе вариант отчета будет выводиться в верхней части панели отчетов раздела, без размещения в группах.
<ul><li>Включите один или несколько флажков в колонке <strong>Раздел, группа</strong> для размещения варианта отчетов в разделах или группах программы. При размещении в разделе вариант отчета будет выводиться в верхней части панели отчетов раздела, без размещения в группах.
</li><li>
<div>В колонке <strong>Важность</strong> выберите способ выделения варианта отчета в группе: </div>
<ul><li>

View File

@ -367,8 +367,7 @@
<v8:lang>ru</v8:lang>
<v8:content>Строки вида:
&lt;Имя расширения&gt; (&lt;Версия расширения&gt;) &lt;Хеш расширения&gt;
...
#&lt;Имя конфигурации&gt; (&lt;Версия конфигурации&gt;)</v8:content>
...</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>

View File

@ -1,138 +1,154 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
// Возвращает текущую версию расширений.
// Для поиска версии используется описание установленных расширений,
// дополненное описанием конфигурации, которое обеспечивает соответствие уникального
// идентификатора "слепку" метаданных из конфигурации и подключенных расширений.
//
Функция ВерсияРасширений() Экспорт
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса.
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса, УстановленныеПараметры) Экспорт
Если Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных()
И ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения) Тогда
ВызватьИсключение
НСтр("ru = 'Расширения недоступны в неразделенном режиме.
|Удалите все расширения через конфигуратор.'");
Если ИменаПараметровСеанса = Неопределено
Или ИменаПараметровСеанса.Найти("УстановленныеРасширения") <> Неопределено Тогда
ПараметрыСеанса.УстановленныеРасширения = УстановленныеРасширения(Истина);
УстановленныеПараметры.Добавить("УстановленныеРасширения");
КонецЕсли;
Если СтандартныеПодсистемыСервер.УстановленныеРасширенияНедоступны() Тогда
Возврат ПустаяСсылка();
Если ИменаПараметровСеанса = Неопределено
Или ИменаПараметровСеанса.Найти("ПодключенныеРасширения") <> Неопределено Тогда
Расширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
ПараметрыСеанса.ПодключенныеРасширения = КонтрольныеСуммыРасширений(Расширения, "БезопасныйРежим");
УстановленныеПараметры.Добавить("ПодключенныеРасширения");
КонецЕсли;
Если Не ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения) Тогда
ЗарегистрироватьПервыйВходПослеУдаленияВсехРасширений();
Возврат ПустаяСсылка();
Если ИменаПараметровСеанса <> Неопределено
И ИменаПараметровСеанса.Найти("ВерсияРасширений") <> Неопределено Тогда
ПараметрыСеанса.ВерсияРасширений = ВерсияРасширений();
УстановленныеПараметры.Добавить("ВерсияРасширений");
КонецЕсли;
ВерсияРасширений = ВерсияРасширенийБезУчетаКонтрольнойСуммы();
Если ЗначениеЗаполнено(ВерсияРасширений) Тогда
Возврат ВерсияРасширений;
КонецЕсли;
Если ИменаПараметровСеанса = Неопределено
И ТекущийРежимЗапуска() <> Неопределено Тогда
// Описание расширений включено описание метаданных конфигурации,
// так как состав подключенных расширений зависит от изменения конфигурации.
ОписаниеРасширений = ПараметрыСеанса.УстановленныеРасширения + Символы.ПС
+ "#" + Метаданные.Имя + " (" + Метаданные.Версия + ")";
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОписаниеРасширений", ОписаниеРасширений);
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ВерсииРасширений.ОписаниеМетаданных ПОДОБНО &ОписаниеРасширений";
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
НачатьТранзакцию();
Попытка
Выборка = Запрос.Выполнить().Выбрать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Если Выборка.Следующий() Тогда
ВерсияРасширений = Выборка.Ссылка;
Иначе
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
НачатьТранзакцию();
Попытка
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ВерсияРасширений = Выборка.Ссылка;
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И Выборка.Количество() = 1 Тогда
Объект = Выборка.Ссылка.ПолучитьОбъект();
// Тут должна быть именно ТекущаяДата(), так как
// именно она устанавливается в поле НачалоСеанса.
Объект.ПоследняяДатаДобавленияВторойВерсии = ТекущаяДата();
Объект.Записать();
ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Истина);
КонецЕсли;
Объект = СоздатьЭлемент();
Объект.ОписаниеМетаданных = ОписаниеРасширений;
Объект.Записать();
ВерсияРасширений = Объект.Ссылка;
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
Возврат ВерсияРасширений;
КонецФункции
// При запуске в режиме отладки без обновления информационной базы допустимо
// использовать старый кэш метаданных расширений.
//
Процедура ПеререгистрироватьВерсиюРасширенийВРежимеОтладки() Экспорт
Если СтандартныеПодсистемыСервер.УстановленныеРасширенияНедоступны() Тогда
Возврат;
КонецЕсли;
ВерсияРасширений = ВерсияРасширенийБезУчетаКонтрольнойСуммы();
Если Не ЗначениеЗаполнено(ВерсияРасширений) Тогда
Возврат;
КонецЕсли;
Если ПараметрыСеанса.ВерсияРасширений <> ВерсияРасширений Тогда
ПараметрыСеанса.ВерсияРасширений = ВерсияРасширений;
ЗарегистрироватьИспользованиеВерсииРасширений();
КонецЕсли;
КонецПроцедуры
// Возвращает отдельные контрольные суммы для основных расширений и
// исправлений для установки параметра сеанса УстановленныеРасширения и
// дальнейшей проверки изменений.
//
// Вызывается при запуске для установки параметра сеанса УстановленныеРасширения,
// который требуется для анализа наличия расширений и контроля динамического обновления,
// а также из формы установки расширений конфигурации в режиме 1С:Предприятия.
//
// Для сеанса запущенного без разделителей возвращается только состав неразделенных (общих)
// расширений, независимо от установленных разделителей.
//
// Возвращаемое значение:
// ФиксированнаяСтруктура - со свойствами:
// * Основные - Строка - контрольная сумма всех расширений, кроме исправительных расширений.
// * Исправления - Строка - контрольная сумма всех исправительных расширений.
//
Функция УстановленныеРасширения(ПриЗапуске = Ложь) Экспорт
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Неразделенные = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
Иначе
Неразделенные = Ложь;
КонецЕсли;
РасширенияБазыДанных = РасширенияКонфигурации.Получить();
Если ПриЗапуске Тогда
РасширенияПриЗапуске = Новый Соответствие;
АктивныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
Для Каждого Расширение Из АктивныеРасширения Цикл
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
КонецЦикла;
НеподключенныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансОтключенные);
Для Каждого Расширение Из НеподключенныеРасширения Цикл
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
КонецЦикла;
ДобавленныеРасширения = Новый Соответствие;
Расширения = Новый Массив;
Для Каждого Расширение Из РасширенияБазыДанных Цикл
КонтрольнаяСумма = КонтрольнаяСуммаРасширения(Расширение);
РасширениеПриЗапуске = РасширенияПриЗапуске.Получить(КонтрольнаяСумма);
Если РасширениеПриЗапуске <> Неопределено Тогда
ДобавленныеРасширения.Вставить(КонтрольнаяСумма, Истина);
Расширения.Добавить(РасширениеПриЗапуске);
КонецЕсли;
КонецЦикла;
Для Каждого ОписаниеРасширения Из РасширенияПриЗапуске Цикл
Если ДобавленныеРасширения.Получить(ОписаниеРасширения.Ключ) = Неопределено Тогда
Расширения.Добавить(ОписаниеРасширения.Значение);
КонецЕсли;
КонецЦикла;
Иначе
Расширения = РасширенияБазыДанных;
КонецЕсли;
Основные = Новый Массив;
Исправления = Новый Массив;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
Иначе
МодульОбновлениеКонфигурации = Неопределено;
КонецЕсли;
Для Каждого Расширение Из Расширения Цикл
Если Неразделенные И Расширение.ОбластьДействия = ОбластьДействияРасширенияКонфигурации.РазделениеДанных Тогда
Продолжить;
КонецЕсли;
Если МодульОбновлениеКонфигурации <> Неопределено И МодульОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
Исправления.Добавить(Расширение);
Иначе
Основные.Добавить(Расширение);
КонецЕсли;
КонецЦикла;
УстановленныеРасширения = Новый Структура;
УстановленныеРасширения.Вставить("Основные", КонтрольныеСуммыРасширений(Основные));
УстановленныеРасширения.Вставить("Исправления", КонтрольныеСуммыРасширений(Исправления));
УстановленныеРасширения.Вставить("ОсновныеСостояние", КонтрольныеСуммыРасширений(Основные, "Все"));
УстановленныеРасширения.Вставить("ИсправленияСостояние", КонтрольныеСуммыРасширений(Исправления, "Все"));
Возврат Новый ФиксированнаяСтруктура(УстановленныеРасширения);
КонецФункции
// Возвращает признак изменения состава расширений после запуска сеанса.
Функция РасширенияИзмененыДинамически() Экспорт
УстановитьПривилегированныйРежим(Истина);
УстановленныеРасширения = УстановленныеРасширения();
Возврат ПараметрыСеанса.УстановленныеРасширения.ОсновныеСостояние <> УстановленныеРасширения.ОсновныеСостояние
Или ПараметрыСеанса.УстановленныеРасширения.ИсправленияСостояние <> УстановленныеРасширения.ИсправленияСостояние;
КонецФункции
// Добавляет сведения, что сеанс начал использование версии метаданных.
Процедура ЗарегистрироватьИспользованиеВерсииРасширений() Экспорт
Если СтандартныеПодсистемыСервер.УстановленныеРасширенияНедоступны() Тогда
ВерсияРасширений = ПараметрыСеанса.ВерсияРасширений;
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат;
КонецЕсли;
// Тут должна быть именно ТекущаяДата(), так как
// именно она устанавливается в поле НачалоСеанса.
НачалоСеанса = ТекущаяДата();
НомерСеанса = НомерСеансаИнформационнойБазы();
ВерсияРасширений = ПараметрыСеанса.ВерсияРасширений;
Если Не ЗначениеЗаполнено(ВерсияРасширений) Тогда
@ -144,8 +160,11 @@
"ВЫБРАТЬ ПЕРВЫЕ 2
| ИСТИНА КАК ЗначениеИстина
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник изменяется в другом сеансе, тогда нужно дождаться окончания изменений.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
@ -161,9 +180,14 @@
КонецПопытки;
Если РезультатыЗапроса[0].Выбрать().Количество() < 2 Тогда
ОбновитьПоследнююВерсиюРасширений(ВерсияРасширений);
Возврат;
КонецЕсли;
ТекущийСеанс = ПолучитьТекущийСеансИнформационнойБазы();
НачалоСеанса = ТекущийСеанс.НачалоСеанса;
НомерСеанса = ТекущийСеанс.НомерСеанса;
НаборЗаписей = РегистрыСведений.СеансыВерсийРасширений.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.НомерСеанса.Установить(НомерСеанса);
НаборЗаписей.Отбор.НачалоСеанса.Установить(НачалоСеанса);
@ -174,10 +198,30 @@
НоваяЗапись.НачалоСеанса = НачалоСеанса;
НоваяЗапись.ВерсияРасширений = ВерсияРасширений;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();
ОбновитьПоследнююВерсиюРасширений(ВерсияРасширений);
КонецПроцедуры
Функция ПоследняяВерсияРасширений() Экспорт
ИмяПараметра = "СтандартныеПодсистемы.БазоваяФункциональность.ПоследняяВерсияРасширений";
ХранимыеСвойства = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
Если ХранимыеСвойства = Неопределено
Или ТипЗнч(ХранимыеСвойства) <> Тип("Структура")
Или Не ХранимыеСвойства.Свойство("ВерсияРасширений")
Или Не ХранимыеСвойства.Свойство("ДатаОбновления") Тогда
ХранимыеСвойства = Новый Структура("ВерсияРасширений, ДатаОбновления", , '00010101');
КонецЕсли;
Возврат ХранимыеСвойства;
КонецФункции
// Удаляет устаревшие версии метаданных.
Процедура УдалитьУстаревшиеВерсииПараметров() Экспорт
@ -194,6 +238,7 @@
| ПО (СеансыВерсийРасширений.ВерсияРасширений = ВерсииРасширений.Ссылка)
|ГДЕ
| ВерсииРасширений.Ссылка <> &ТекущаяВерсияРасширений
| И НЕ ВерсииРасширений.ПометкаУдаления
|ИТОГИ ПО
| ВерсияРасширений
|;
@ -201,22 +246,26 @@
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ВерсииРасширений.Ссылка КАК ВерсияРасширений,
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии КАК ПоследняяДатаДобавленияВторойВерсии
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| И НЕ ВерсииРасширений.ПометкаУдаления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ВерсииРасширений.Ссылка КАК ВерсияРасширений,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)";
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| И НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник ВерсииРасширений или регистр сведений СеансыВерсийРасширений изменяются в другом сеансе,
// тогда нужно дождаться окончания изменений.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
@ -242,7 +291,10 @@
// использоваться сеансами, которые были открыты до этого события.
ВерсияИспользуемаяВНезарегистрированныхСеансах = Неопределено;
ДатаОкончанияСеансовИспользующихРасширенияБезРегистрации = '00010101';
Если ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения) Тогда
Если ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Основные)
Или ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Исправления) Тогда
Если Не РезультатыЗапроса[1].Пустой() Тогда
Свойства = РезультатыЗапроса[1].Выгрузить()[0];
ДатаОкончанияСеансовИспользующихРасширенияБезРегистрации
@ -293,12 +345,33 @@
Или ТекущаяВерсия = ВерсияИспользуемаяВНезарегистрированныхСеансах Тогда
Продолжить;
КонецЕсли;
Объект = ТекущаяВерсия.ПолучитьОбъект();
Объект.Удалить();
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ТекущаяВерсия);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Объект = ТекущаяВерсия.ПолучитьОбъект();
Объект.ПометкаУдаления = Истина;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
ВерсииУдалялись = Истина;
КонецЦикла;
// Отключение регламентного задания, если осталась только одна версия расширений.
// Достаточно полной разделяемой блокировки справочника ВерсииРасширений и
// регистра сведений СеансыВерсийРасширений (исключительную ставить избыточно и
// крайне плохо, так как это задержит вход в другие сеансы).
// Взаимоблокировки исключены использованием разделяемых блокировок на всю таблицу в целом,
// что допустимо и необходимо для механизма регистрации использования версий.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
@ -307,9 +380,11 @@
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 2
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
НачатьТранзакцию();
Попытка
@ -322,7 +397,10 @@
// Удаление всех регистраций использования метаданных.
ВсеЗаписи = РегистрыСведений.СеансыВерсийРасширений.СоздатьНаборЗаписей();
ВсеЗаписи.Записать();
Если ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения) Тогда
Если ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Основные)
Или ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Исправления) Тогда
ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Ложь);
КонецЕсли;
Если ВерсииУдалялись
@ -357,7 +435,7 @@
КонецПроцедуры
// Вызывается из формы УстановленныеРасширения.
// Вызывается из формы Расширения.
Процедура ПриУдаленииВсехРасширений() Экспорт
ЗарегистрироватьПервыйВходПослеУдаленияВсехРасширений();
@ -368,7 +446,7 @@
// Включает/Отключает регламентное задание УдалениеУстаревшихПараметровРаботыВерсийРасширений.
Процедура ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Включить) Экспорт
СтандартныеПодсистемыСервер.УстановитьИспользованиеПредопределенногоРегламентногоЗадания(
РегламентныеЗаданияСервер.УстановитьИспользованиеПредопределенногоРегламентногоЗадания(
Метаданные.РегламентныеЗадания.УдалениеУстаревшихПараметровРаботыВерсийРасширений, Включить);
КонецПроцедуры
@ -377,65 +455,162 @@
#Область СлужебныеПроцедурыИФункции
// Для функции ВерсияРасширений и процедуры ПеререгистрироватьВерсиюРасширенийВРежимеОтладки.
Функция ВерсияРасширенийБезУчетаКонтрольнойСуммы()
// Возвращает контрольные суммы указанных расширений.
//
// Параметры:
// Расширения - Массив - получить контрольные суммы указанных расширений.
// УчитыватьСостояниеРасширений - Булево - учитывать признаки Активно и БезопасныйРежим.
//
// Возвращаемое значение:
// Строка - строки вида "<Имя расширения> (<Версия расширения>) <Контрольная сумма>".
//
Функция КонтрольныеСуммыРасширений(Расширения, СвойстваПодключения = "")
Если Не ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения) Тогда
Возврат Неопределено;
КонецЕсли;
Список = Новый СписокЗначений;
Если Не ОбщегоНазначенияКлиентСервер.РежимОтладки()
Или Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных()
Или ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы() Тогда
Возврат Неопределено;
КонецЕсли;
УстановленныеРасширения = ПараметрыСеанса.УстановленныеРасширения;
ОписаниеРасширений = Новый Массив;
ЧислоСтрок = СтрЧислоСтрок(УстановленныеРасширения);
Для НомерСтроки = 1 По ЧислоСтрок Цикл
ТекущаяСтрока = СтрПолучитьСтроку(УстановленныеРасширения, НомерСтроки);
Позиция = СтрНайти(ТекущаяСтрока, ")");
ОписаниеРасширений.Добавить(Лев(ТекущаяСтрока, Позиция));
Для Каждого Расширение Из Расширения Цикл
Список.Добавить(КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения));
КонецЦикла;
ОписаниеРасширений.Добавить("#" + Метаданные.Имя + " (" + Метаданные.Версия + ")");
Если Список.Количество() <> 0 Тогда
КонтрольнаяСумма = "#" + Метаданные.Имя + " (" + Метаданные.Версия + ")";
Список.Добавить(КонтрольнаяСумма);
КонецЕсли;
КонтрольныеСуммы = "";
Для Каждого Элемент Из Список Цикл
КонтрольныеСуммы = КонтрольныеСуммы + Символы.ПС + Элемент.Значение;
КонецЦикла;
Возврат СокрЛ(КонтрольныеСуммы);
КонецФункции
// Для функций КонтрольныеСуммыРасширений и УстановленныеРасширения.
Функция КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения = "")
КонтрольнаяСумма = Расширение.Имя + " (" + Расширение.Версия + ") " + Base64Строка(Расширение.ХешСумма);
Если ЗначениеЗаполнено(СвойстваПодключения) Тогда
КонтрольнаяСумма = КонтрольнаяСумма + " БезопасныйРежим:" + Расширение.БезопасныйРежим;
КонецЕсли;
Если СвойстваПодключения = "Все" Тогда
КонтрольнаяСумма = КонтрольнаяСумма
+ " ПередаватьВПодчиненныеУзлыРИБ:" + Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе
+ " Активно:" + Расширение.Активно;
КонецЕсли;
Возврат КонтрольнаяСумма;
КонецФункции
// Возвращает текущую версию расширений.
// Для поиска версии используется описание подключенных расширений.
//
Функция ВерсияРасширений()
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат ПустаяСсылка();
КонецЕсли;
Если Не ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Основные)
И Не ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения.Исправления) Тогда
ЗарегистрироватьПервыйВходПослеУдаленияВсехРасширений();
КонецЕсли;
ОписаниеРасширений = ПараметрыСеанса.ПодключенныеРасширения;
Если Не ЗначениеЗаполнено(ОписаниеРасширений) Тогда
Возврат ПустаяСсылка();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ОписаниеМетаданных
| ВерсииРасширений.ОписаниеМетаданных КАК ОписаниеРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК ВерсииИдентификаторов
| ГДЕ
| ВерсииИдентификаторов.ВерсияРасширений = ВерсииРасширений.Ссылка)
|
|УПОРЯДОЧИТЬ ПО
| ВерсииРасширений.Код УБЫВ";
Выборка = Запрос.Выполнить().Выбрать();
| НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник изменяется в другом сеансе, тогда нужно дождаться окончания изменений.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Выборка = Запрос.Выполнить().Выбрать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Если ВерсияНайдена(Выборка, ОписаниеРасширений) Тогда
ВерсияРасширений = Выборка.Ссылка;
Иначе
// Создание новой версии расширений.
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
НачатьТранзакцию();
Попытка
// Повторная проверка, что версия еще не создана,
// что маловероятно, но возможно между транзакциями.
// Сразу исключительная блокировка недопустима, так как это
// замедлит вход пользователей в другие сеансы.
Выборка = Запрос.Выполнить().Выбрать();
Если ВерсияНайдена(Выборка, ОписаниеРасширений) Тогда
ВерсияРасширений = Выборка.Ссылка;
Иначе
Блокировка.Заблокировать();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И Выборка.Количество() = 1 Тогда
Объект = Выборка.Ссылка.ПолучитьОбъект();
// Тут должна быть именно ТекущаяДата(), так как
// именно она устанавливается в поле НачалоСеанса.
Объект.ПоследняяДатаДобавленияВторойВерсии = ТекущаяДата();
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();
ВключитьЗаданиеУдалениеУстаревшихПараметровРаботыВерсийРасширений(Истина);
КонецЕсли;
Объект = СоздатьЭлемент();
Объект.ОписаниеМетаданных = ОписаниеРасширений;
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();
ВерсияРасширений = Объект.Ссылка;
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
Возврат ВерсияРасширений;
КонецФункции
// Для функции ВерсияРасширений.
Функция ВерсияНайдена(Выборка, ОписаниеРасширений)
Пока Выборка.Следующий() Цикл
ВерсияРасширений = Выборка.Ссылка;
Для Каждого ОписаниеРасширения Из ОписаниеРасширений Цикл
НомерСтроки = ОписаниеРасширений.Найти(ОписаниеРасширения) + 1;
ТекущаяСтрока = СтрПолучитьСтроку(Выборка.ОписаниеМетаданных, НомерСтроки);
Если Не СтрНачинаетсяС(ТекущаяСтрока, ОписаниеРасширения) Тогда
ВерсияРасширений = Неопределено;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(ВерсияРасширений) Тогда
Прервать;
Если Выборка.ОписаниеРасширений = ОписаниеРасширений Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат ВерсияРасширений;
Возврат Ложь;
КонецФункции
@ -457,19 +632,66 @@
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 2
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
Выгрузка = Запрос.Выполнить().Выгрузить();
Если Выгрузка.Количество() = 1
И Не ЗначениеЗаполнено(Выгрузка[0].ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
Объект = Выгрузка[0].Ссылка.ПолучитьОбъект();
// Тут должна быть именно ТекущаяДата(), так как
// именно она устанавливается в поле НачалоСеанса.
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата();
Объект.Записать();
ВерсияРасширенийСсылка = Выгрузка[0].Ссылка;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВерсияРасширенийСсылка);
Блокировка.Заблокировать();
Объект = ВерсияРасширенийСсылка.ПолучитьОбъект();
Если Не ЗначениеЗаполнено(Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений) Тогда
// АПК:143-выкл. См. 643.2.1. Требуется ТекущаяДата сервера, а не ТекущаяДатаСеанса,
// так как именно ТекущаяДата устанавливается в поле НачалоСеанса.
Объект.ДатаПервогоВходаПослеУдаленияВсехРасширений = ТекущаяДата();
// АПК:143-вкл.
Объект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
КонецПроцедуры
// Для процедуры ЗарегистрироватьИспользованиеВерсииРасширений.
Процедура ОбновитьПоследнююВерсиюРасширений(ВерсияРасширений)
Если КонфигурацияБазыДанныхИзмененаДинамически()
Или РасширенияИзмененыДинамически() Тогда
Возврат;
КонецЕсли;
ХранимыеСвойства = ПоследняяВерсияРасширений();
Если ХранимыеСвойства.ВерсияРасширений = ВерсияРасширений Тогда
Возврат;
КонецЕсли;
ХранимыеСвойства.ВерсияРасширений = ВерсияРасширений;
ХранимыеСвойства.ДатаОбновления = ТекущаяДатаСеанса();
ИмяПараметра = "СтандартныеПодсистемы.БазоваяФункциональность.ПоследняяВерсияРасширений";
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметра, ХранимыеСвойства, Истина);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
МодульУправлениеДоступомСлужебный.ЗапланироватьОбновлениеПараметровОграниченияДоступа(
"ОбновитьПоследнююВерсиюРасширений");
КонецЕсли;
КонецПроцедуры

View File

@ -1,8 +1,19 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОписаниеПеременных
Перем НовыйОбъект;
#КонецОбласти
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
@ -29,4 +40,6 @@
#КонецОбласти
#КонецЕсли
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Width>70</Width>
<Height>10</Height>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаВключитьВозможностьРедактирования" id="22">
@ -23,7 +21,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПользовательскихНастроекРасширеннаяПодсказка" id="2"/>
@ -38,9 +35,12 @@
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>

View File

@ -1,4 +1,11 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере

View File

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Width>50</Width>
<Height>7</Height>
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
@ -18,20 +16,21 @@
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<InputField name="ОписаниеМетаданных" id="4">
<DataPath>Объект.ОписаниеМетаданных</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoMaxWidth>false</AutoMaxWidth>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="ОписаниеМетаданныхКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="ОписаниеМетаданныхРасширеннаяПодсказка" id="6"/>
</InputField>
<InputField name="Код" id="1">
<DataPath>Объект.Code</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КодКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="3"/>
</InputField>
<InputField name="ОписаниеМетаданных" id="4">
<DataPath>Объект.ОписаниеМетаданных</DataPath>
<EditMode>EnterOnInput</EditMode>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<ContextMenu name="ОписаниеМетаданныхКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="ОписаниеМетаданныхРасширеннаяПодсказка" id="6"/>
</InputField>
<InputField name="ПоследняяДатаДобавленияВторойВерсии" id="9">
<DataPath>Объект.ПоследняяДатаДобавленияВторойВерсии</DataPath>
<ContextMenu name="ПоследняяДатаДобавленияВторойВерсииКонтекстноеМеню" id="10"/>

View File

@ -1,4 +1,11 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере

View File

@ -322,7 +322,7 @@
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm>Catalog.ВерсииФайлов.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultObjectForm/>
<DefaultFolderForm/>
<DefaultListForm>Catalog.ВерсииФайлов.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm>Catalog.ВерсииФайлов.Form.ФормаВыбора</DefaultChoiceForm>
@ -365,6 +365,7 @@
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.ВнешниеПользователи</v8:Type>
<v8:Type>cfg:CatalogRef.УчетныеЗаписиСинхронизацииФайлов</v8:Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
@ -546,11 +547,11 @@
</Attribute>
<Attribute uuid="f8ab477c-8e78-48c0-9f99-27748b109706">
<Properties>
<Name>Зашифрован</Name>
<Name>УдалитьЗашифрован</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Зашифрована</v8:content>
<v8:content>(не используется) Зашифрована</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -740,11 +741,11 @@
</Attribute>
<Attribute uuid="2d51aae9-650d-4719-a94d-2609b69a2d36">
<Properties>
<Name>ПодписанЭП</Name>
<Name>УдалитьПодписанЭП</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подписана электронно</v8:content>
<v8:content>(не используется) Подписана электронно</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -1252,21 +1253,21 @@
</Attribute>
<TabularSection uuid="ab1bcabf-ffb0-4914-8ad0-b94b5aaeab1d">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.ВерсииФайлов.ЭлектронныеПодписи" category="TabularSection">
<xr:GeneratedType name="CatalogTabularSection.ВерсииФайлов.УдалитьЭлектронныеПодписи" category="TabularSection">
<xr:TypeId>5da3d5eb-b33d-49ee-a0c7-e7bce043d7d7</xr:TypeId>
<xr:ValueId>1349a0c3-4a9d-460c-8f72-0d86cc51d6f4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.ВерсииФайлов.ЭлектронныеПодписи" category="TabularSectionRow">
<xr:GeneratedType name="CatalogTabularSectionRow.ВерсииФайлов.УдалитьЭлектронныеПодписи" category="TabularSectionRow">
<xr:TypeId>204f0716-62ac-492f-ac0f-9b6e774a82f7</xr:TypeId>
<xr:ValueId>9239b454-c752-4814-943c-3d448fdcce59</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ЭлектронныеПодписи</Name>
<Name>УдалитьЭлектронныеПодписи</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>электронные подписи</v8:content>
<v8:content>(не используется) Электронные подписи</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -1747,34 +1748,9 @@
</Attribute>
</ChildObjects>
</TabularSection>
<Form>ФормаЭлемента</Form>
<Form>ФормаСписка</Form>
<Form>ФормаВыбора</Form>
<Form>ВерсииФайла</Form>
<Form>ВыборСпособаСравненияВерсий</Form>
<Command uuid="346cb8b7-a20e-4a06-823e-26dfb2e3e741">
<Properties>
<Name>ОткрытьВерсииФайла</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Версии файла</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>FormNavigationPanelGoTo</Group>
<CommandParameterType>
<v8:Type>cfg:CatalogRef.Файлы</v8:Type>
</CommandParameterType>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -1,20 +0,0 @@
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Файл", ПараметрКоманды);
ПараметрыФормы.Вставить("УникальныйИдентификаторКарточкиФайла",
ПараметрыВыполненияКоманды.Источник.УникальныйИдентификатор);
ОткрытьФорму(
"Справочник.ВерсииФайлов.Форма.ВерсииФайла",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры
#КонецОбласти

View File

@ -2,7 +2,7 @@
<p>Предназначен для просмотра и управления версиями файла.</p>
<p>Для просмотра списка всех версий <a href="Catalog.Файлы.Form.ФормаЭлемента/Help">файла</a> откройте его карточку (в <a href="Catalog.Файлы/Help">списке файлов</a> нажмите <strong>F2</strong> или <strong>Еще -</strong> <strong>Открыть карточку</strong>) и нажмите <strong>Версии файла</strong> на панели навигации.</p>
<p>Список версий является иерархическим, для удобства просмотра отображается в виде дерева. В этом случае легко проследить историю редактирования файла. Более поздние версии отображаются подчиненными более ранним. При этом первую версию файла удалить из списка невозможно.</p>
<p>По окончании редактирования файла программа рекомендует сохранить версию файла и ввести информацию о данной версии. По умолчанию эта возможность включена (рекомендуется использовать сохранение версий, так как в случае серьезных ошибок, которые привели к порче файла, можно вернуться к более ранней, неиспорченной версии). Хранение версий можно включить с помощью соответствующего флажка в <a href="Catalog.Файлы.Form.ФормаЭлемента/Help">карточке файла</a> или при <a href="Catalog.Файлы.Form.ФормаИмпортаФайлов/Help">загрузке файлов</a> (<a href="Catalog.Файлы.Form.ФормаИмпортаПапки/Help">папок</a>). Впоследствии можно изменить некоторые <a href="Catalog.Файлы.Form.ФормаВозвратаФайла/Help">сведения о версии</a>, например, комментарий.</p>
<p>По окончании редактирования файла программа рекомендует сохранить версию файла и ввести информацию о данной версии. По умолчанию эта возможность включена (рекомендуется использовать сохранение версий, так как в случае серьезных ошибок, которые привели к порче файла, можно вернуться к более ранней, неиспорченной версии). Хранение версий можно включить с помощью соответствующего флажка в <a href="Catalog.Файлы.Form.ФормаЭлемента/Help">карточке файла</a> или при <a href="DataProcessor.РаботаСФайлами.Form.ФормаИмпортаФайлов/Help">загрузке файлов</a> (<a href="DataProcessor.РаботаСФайлами.Form.ФормаИмпортаПапки/Help">папок</a>). Впоследствии можно изменить некоторые <a href="DataProcessor.РаботаСФайлами.Form.ВерсияПрисоединенногоФайла/Help">сведения о версии</a>, например, комментарий.</p>
<p>В списке выводится:</p>
<ul><li>
<div><strong>Автор</strong> - пользователь, который добавил версию файла. Также в этой колонке в виде картинки отображается тип файла.</div>
@ -21,8 +21,8 @@
</li><li>
<div><strong>Расширение</strong> - формат файла, и некоторые другие поля.</div></li></ul><h3>Просмотр версии файла</h3>
<ul><li>Нажмите <strong>Просмотреть</strong>, для того чтобы открыть выбранную версию файла соответствующим приложением для просмотра или редактирования (также можно открыть версию файла двойным щелчком мыши по нужной строке или с помощью команды <strong>Еще - Просмотреть</strong>). </li></ul><h3>Просмотр сведений о версии файла</h3>
<ul><li>Нажмите <strong>Открыть карточку</strong>, для того чтобы открыть <a href="Catalog.ВерсииФайлов.Form.ФормаЭлемента/Help">сведения</a> о выбранной версии. В карточке версии можно изменить <strong>Комментарий</strong>.</li></ul><h3>Замена текущей версии файла</h3>
<ul><li>Нажмите <strong>Открыть карточку</strong>, для того чтобы открыть <a href="DataProcessor.РаботаСФайлами.Form.ВерсияПрисоединенногоФайла/Help">сведения</a> о выбранной версии. В карточке версии можно изменить <strong>Комментарий</strong>.</li></ul><h3>Замена текущей версии файла</h3>
<ul><li>Выберите нужную версию файла в списке, нажмите <strong>Сделать активной</strong>, для того чтобы изменить активную (текущую) версию. При этом нумерация версий остается прежней, меняется только порядок версий в списке. </li></ul><h3>Сравнение двух версий файла</h3>
<ul><li>Выделите две версии в списке и нажмите <strong>Показать отличия </strong>для их сравнения. Сравнение версий поддерживается для следующих типов файлов:  HTML, TXT, RTF, DOC, DOCX, ODT. </li></ul><h3>Сохранение версии файла на диск</h3>
<ul><li>Для того чтобы сохранить файл версии на диск или другое устройство,  нажмите <strong>Еще - Сохранить как</strong>. Выберите каталог для сохранения файла.</li></ul><h3>См. также: </h3>
<ul><li>Выделите две версии в списке и нажмите <strong>Показать отличия </strong>для их сравнения. Сравнение версий поддерживается для следующих типов файлов:HTML, TXT, RTF, DOC, DOCX, ODT. </li></ul><h3>Сохранение версии файла на диск</h3>
<ul><li>Для того чтобы сохранить файл версии на диск или другое устройство,нажмите <strong>Еще - Сохранить как</strong>. Выберите каталог для сохранения файла.</li></ul><h3>См. также: </h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>

View File

@ -1,7 +1,19 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые разрешается редактировать
// с помощью обработки группового изменения реквизитов.
//
@ -16,6 +28,41 @@
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// СтандартныеПодсистемы.УправлениеДоступом
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтение
|ГДЕ
| ЧтениеОбъектаРазрешено(Владелец.ВладелецФайла)
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ИзменениеОбъектаРазрешено(Владелец.ВладелецФайла)";
Ограничение.ТекстДляВнешнихПользователей = Ограничение.Текст;
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
#КонецОбласти
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаОбъекта" Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "Обработка.РаботаСФайлами.Форма.ВерсияПрисоединенногоФайла";
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли

View File

@ -1,10 +1,18 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
@ -20,33 +28,8 @@
РодительскаяВерсия = Владелец.ТекущаяВерсия;
КонецЕсли;
Если НЕ ЭтоНовый() Тогда
УстановленаПометкаУдаления = ПометкаУдаления И Не ПометкаУдаленияВИБ();
ЗаписьПодписанногоОбъекта = Ложь;
Если ДополнительныеСвойства.Свойство("ЗаписьПодписанногоОбъекта") Тогда
ЗаписьПодписанногоОбъекта = ДополнительныеСвойства.ЗаписьПодписанногоОбъекта;
КонецЕсли;
Если ЗаписьПодписанногоОбъекта <> Истина Тогда
СтруктураРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка,
"ПодписанЭП, Зашифрован");
СсылкаПодписан = СтруктураРеквизитов.ПодписанЭП;
СсылкаЗашифрован = СтруктураРеквизитов.Зашифрован;
Если Зашифрован И СсылкаЗашифрован И ПодписанЭП И НЕ СсылкаПодписан Тогда
ВызватьИсключение НСтр("ru = 'Зашифрованную версию файла нельзя подписывать.'");
КонецЕсли;
КонецЕсли;
КонецЕсли;
// Выполним установку индекса пиктограммы при записи объекта.
ИндексКартинки = ФайловыеФункцииСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение);
ИндексКартинки = РаботаСФайламиСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение);
Если СтатусИзвлеченияТекста.Пустая() Тогда
СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
@ -72,23 +55,35 @@
"ВЫБРАТЬ
| ВерсииФайлов.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
| Справочник." + Метаданные.НайтиПоТипу(ТипЗнч(Ссылка)).Имя + " КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.РодительскаяВерсия = &РодительскаяВерсия";
Запрос.УстановитьПараметр("РодительскаяВерсия", Ссылка);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Объект = Выборка.Ссылка.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка);
Объект.РодительскаяВерсия = РодительскаяВерсия;
Объект.Записать();
КонецЕсли;
НачатьТранзакцию();
Попытка
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(Выборка.Ссылка)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Выборка.Ссылка);
БлокировкаДанных.Заблокировать();
Объект = Выборка.Ссылка.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка);
Объект.РодительскаяВерсия = РодительскаяВерсия;
Объект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
КонецПроцедуры
@ -96,59 +91,41 @@
Процедура ПередУдалением(Отказ)
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
Если НЕ Том.Пустая() Тогда
ПолныйПуть = ФайловыеФункцииСлужебный.ПолныйПутьТома(Том) + ПутьКФайлу;
Если НЕ Том.Пустая() И ОбщегоНазначения.СсылкаСуществует(Том) Тогда
ПолныйПуть = РаботаСФайламиСлужебный.ПолныйПутьТома(Том) + ПутьКФайлу;
Попытка
Файл = Новый Файл(ПолныйПуть);
Файл.УстановитьТолькоЧтение(Ложь);
УдалитьФайлы(ПолныйПуть);
ПутьСПодкаталогом = Файл.Путь;
МассивФайловВКаталоге = НайтиФайлы(ПутьСПодкаталогом, "*.*");
МассивФайловВКаталоге = НайтиФайлы(ПутьСПодкаталогом, ПолучитьМаскуВсеФайлы());
Если МассивФайловВКаталоге.Количество() = 0 Тогда
УдалитьФайлы(ПутьСПодкаталогом);
КонецЕсли;
Исключение
// Обработка исключения не требуется
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Ошибка удаления файла.'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,
Файл, ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецЕсли;
// Проверку ОбменДанными.Загрузка следует выполнять начиная с этой строки.
// Сначала требуется физически удалить файл, а потом уже сведения о нем в информационной базе.
// Иначе данные о расположении файла будут недоступны.
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Возвращает текущее значение пометки удаления в информационной базе.
Функция ПометкаУдаленияВИБ()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииФайлов.ПометкаУдаления
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка.ПометкаУдаления;
КонецЕсли;
Возврат Неопределено;
КонецФункции
#КонецОбласти
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="98edcd6b-1c50-45c6-9a4c-390827a4ba52">
<Form uuid="aa299fc6-051f-487c-ada4-451e08c4763c">
<Properties>
<Name>ВерсииФайла</Name>
<Synonym>

View File

@ -30,13 +30,6 @@
<CommandName>Form.Command.Сравнить</CommandName>
<ExtendedTooltip name="ФормаСравнитьExtendedTooltip" id="78"/>
</Button>
<Button name="ФормаУстановитьПометкуУдаления" id="42">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ПометитьНаУдаление</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка" id="77"/>
</Button>
<Button name="ФормаСохранитьКак" id="70">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.СохранитьКак</CommandName>
@ -50,14 +43,19 @@
<v8:content>Форма стандартные команды</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма стандартные команды</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="ФормаСтандартныеКомандыExtendedTooltip" id="80"/>
<ChildItems>
<Button name="ФормаУстановитьПометкуУдаления" id="108">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка" id="109"/>
</Button>
<Button name="ФормаИзменитьФорму" id="110">
<Type>CommandBarButton</Type>
<CommandName>Form.StandardCommand.CustomizeForm</CommandName>
<ExtendedTooltip name="ФормаИзменитьФормуРасширеннаяПодсказка" id="111"/>
</Button>
</ChildItems>
</ButtonGroup>
<Button name="ФормаСправка" id="73">
<Type>CommandBarButton</Type>
@ -72,33 +70,49 @@
</Events>
<ChildItems>
<Table name="Список" id="2">
<Representation>Tree</Representation>
<Representation>List</Representation>
<CommandBarLocation>None</CommandBarLocation>
<SkipOnInput>false</SkipOnInput>
<DefaultItem>true</DefaultItem>
<Width>40</Width>
<HeightInTableRows>10</HeightInTableRows>
<HeightInTableRows>7</HeightInTableRows>
<AutoInsertNewRow>true</AutoInsertNewRow>
<InitialListView>Beginning</InitialListView>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.ИндексКартинки</RowPictureDataPath>
<RowsPicture>
<xr:Ref>CommonPicture.КоллекцияПиктограммФайлов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</RowsPicture>
<BorderColor>style:BorderColor</BorderColor>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>HierarchicalList</ExcludedCommand>
<ExcludedCommand>List</ExcludedCommand>
<ExcludedCommand>MoveDown</ExcludedCommand>
<ExcludedCommand>MoveUp</ExcludedCommand>
<ExcludedCommand>SortListAsc</ExcludedCommand>
<ExcludedCommand>SortListDesc</ExcludedCommand>
<ExcludedCommand>Tree</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<CurrentRowUse>SelectionPresentationAndChoice</CurrentRowUse>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
<v8:variant xsi:type="v8:StandardPeriodVariant">Custom</v8:variant>
<v8:startDate>0001-01-01T00:00:00</v8:startDate>
<v8:endDate>0001-01-01T00:00:00</v8:endDate>
</Period>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<RestoreCurrentRow>false</RestoreCurrentRow>
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true</ShowRoot>
<AllowRootChoice>false</AllowRootChoice>
<UpdateOnDataChange>Auto</UpdateOnDataChange>
<ContextMenu name="СписокКонтекстноеМеню" id="13">
<Autofill>false</Autofill>
<ChildItems>
@ -126,17 +140,16 @@
<CommandName>Form.Command.Сравнить</CommandName>
<ExtendedTooltip name="КонтекстноеМенюСписокСравнитьExtendedTooltip" id="85"/>
</Button>
<Button name="КонтекстноеМенюСписокУстановитьПометкуУдаления" id="45">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ПометитьНаУдаление</CommandName>
<ExtendedTooltip name="КонтекстноеМенюСписокУстановитьПометкуУдаленияРасширеннаяПодсказка" id="87"/>
</Button>
<Button name="КонтекстноеМенюСписокСохранитьКак" id="71">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.СохранитьКак</CommandName>
<ExtendedTooltip name="КонтекстноеМенюСписокСохранитьКакExtendedTooltip" id="86"/>
</Button>
<Button name="СписокКонтекстноеМенюУстановитьПометкуУдаления" id="112">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка" id="113"/>
</Button>
<Button name="КонтекстноеМенюСписокКопировать" id="46">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
@ -175,107 +188,107 @@
<Event name="Selection">СписокВыбор</Event>
<Event name="BeforeAddRow">СписокПередНачаломДобавления</Event>
<Event name="BeforeDeleteRow">СписокПередУдалением</Event>
<Event name="OnActivateRow">СписокПриАктивизацииСтроки</Event>
<Event name="BeforeRowChange">СписокПередНачаломИзменения</Event>
</Events>
<ChildItems>
<ColumnGroup name="КартинкаИНаименование" id="67">
<ColumnGroup name="ГруппаВертикально" id="114">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Картинка и наименование</v8:content>
<v8:content>Вертикально</v8:content>
</v8:item>
</Title>
<Group>InCell</Group>
<ExtendedTooltip name="КартинкаИНаименованиеExtendedTooltip" id="90"/>
<ExtendedTooltip name="ГруппаВертикальноРасширеннаяПодсказка" id="115"/>
<ChildItems>
<PictureField name="СписокИндексКартинкиТекущий" id="68">
<DataPath>Список.ИндексКартинкиТекущий</DataPath>
<EditMode>EnterOnInput</EditMode>
<ShowInHeader>false</ShowInHeader>
<Width>15</Width>
<ValuesPicture>
<xr:Ref>CommonPicture.КоллекцияПиктограммФайлов</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</ValuesPicture>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="СписокИндексКартинкиТекущийКонтекстноеМеню" id="69"/>
<ExtendedTooltip name="СписокИндексКартинкиТекущийРасширеннаяПодсказка" id="91"/>
</PictureField>
<InputField name="СписокАвтор" id="49">
<DataPath>Список.Автор</DataPath>
<ColumnGroup name="ГруппаОсновное" id="116">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основное</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<ExtendedTooltip name="ГруппаОсновноеРасширеннаяПодсказка" id="117"/>
<ChildItems>
<InputField name="СписокАвтор" id="49" DisplayImportance="VeryHigh">
<DataPath>Список.Автор</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользователь, который добавил версию файла в список</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="50"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="92"/>
</InputField>
<InputField name="СписокВладелец" id="47" DisplayImportance="Usual">
<DataPath>Список.Владелец</DataPath>
<Visible>false</Visible>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="48"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="93"/>
</InputField>
<InputField name="СписокНомерВерсии" id="57" DisplayImportance="Usual">
<DataPath>Список.НомерВерсии</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер версии файла</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<Width>12</Width>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="58"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="94"/>
</InputField>
<InputField name="СписокДатаСоздания" id="53" DisplayImportance="Usual">
<DataPath>Список.ДатаСоздания</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата добавления версии файла в список</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<Width>15</Width>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="54"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="96"/>
</InputField>
<InputField name="СписокРазмер" id="55" DisplayImportance="Usual">
<DataPath>Список.Размер</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Размер версии файла в байтах</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="97"/>
</InputField>
</ChildItems>
</ColumnGroup>
<InputField name="СписокКомментарий" id="51" DisplayImportance="VeryLow">
<DataPath>Список.Комментарий</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользователь, который добавил версию файла в список</v8:content>
<v8:content>Комментарий к версии файла</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="50"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="92"/>
<AutoCellHeight>true</AutoCellHeight>
<ShowInHeader>false</ShowInHeader>
<TextColor>style:ПоясняющийТекст</TextColor>
<ContextMenu name="СписокКомментарийКонтекстноеМеню" id="52"/>
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="95"/>
</InputField>
</ChildItems>
</ColumnGroup>
<InputField name="СписокВладелец" id="47">
<DataPath>Список.Владелец</DataPath>
<Visible>false</Visible>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="48"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="93"/>
</InputField>
<InputField name="СписокНомерВерсии" id="57">
<DataPath>Список.НомерВерсии</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер версии файла</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<Width>12</Width>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="58"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="94"/>
</InputField>
<InputField name="СписокКомментарий" id="51">
<DataPath>Список.Комментарий</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комментарий к версии файла</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокКомментарийКонтекстноеМеню" id="52"/>
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="95"/>
</InputField>
<InputField name="СписокДатаСоздания" id="53">
<DataPath>Список.ДатаСоздания</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата добавления версии файла в список</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<Width>15</Width>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="54"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="96"/>
</InputField>
<InputField name="СписокРазмер" id="55">
<DataPath>Список.Размер</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Размер версии файла в байтах</v8:content>
</v8:item>
</ToolTip>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="97"/>
</InputField>
<InputField name="СписокСсылка" id="59">
<InputField name="СписокСсылка" id="59" DisplayImportance="VeryLow">
<DataPath>Список.Ссылка</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
@ -297,197 +310,91 @@
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTree</v8:Type>
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<Columns>
<Column name="Владелец" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Владелец</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.Файлы</v8:Type>
</Type>
</Column>
<Column name="Автор" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.УчетныеЗаписиСинхронизацииФайлов</v8:Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
</Column>
<Column name="Комментарий" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комментарий</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="ДатаСоздания" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата создания</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
</Column>
<Column name="Размер" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Размер (байт)</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
<Column name="НомерВерсии" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Номер версии</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>5</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
<Column name="Ссылка" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ВерсииФайлов</v8:Type>
</Type>
</Column>
<Column name="ИндексКартинкиТекущий" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Индекс картинки текущий</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
<Column name="ЭтоТекущая" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Это текущая</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Column>
<Column name="РодительскаяВерсия" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Родительская версия</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ВерсииФайлов</v8:Type>
</Type>
</Column>
<Column name="Расширение" id="11">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Расширение</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="ПометкаУдаления" id="12">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пометка удаления</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Column>
<Column name="ИндексКартинки" id="13">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Индекс картинки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
</Columns>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>~Список.ИндексКартинкиТекущий</Field>
<Field>Список.Владелец</Field>
<Field>Список.ДатаСоздания</Field>
<Field>Список.ИндексКартинки</Field>
<Field>Список.Код</Field>
<Field>Список.Комментарий</Field>
<Field>Список.НомерВерсии</Field>
<Field>Список.ПолноеНаименование</Field>
<Field>Список.ПометкаУдаления</Field>
<Field>Список.Размер</Field>
<Field>Список.Расширение</Field>
<Field>Список.РодительскаяВерсия</Field>
<Field>Список.Ссылка</Field>
<Field>Список.ЭтоТекущая</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<QueryText>ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВерсииФайловПереопределяемый.Код КАК Код,
ВерсииФайловПереопределяемый.Размер КАК Размер,
ВерсииФайловПереопределяемый.Комментарий КАК Комментарий,
ВерсииФайловПереопределяемый.Автор КАК Автор,
ВерсииФайловПереопределяемый.ДатаСоздания КАК ДатаСоздания,
ВерсииФайловПереопределяемый.ПолноеНаименование КАК ПолноеНаименование,
ВерсииФайловПереопределяемый.РодительскаяВерсия КАК РодительскаяВерсия,
ВЫБОР
КОГДА ВерсииФайловПереопределяемый.ПометкаУдаления
ТОГДА ВерсииФайловПереопределяемый.ИндексКартинки + 1
ИНАЧЕ ВерсииФайловПереопределяемый.ИндексКартинки
КОНЕЦ КАК ИндексКартинки,
ВерсииФайловПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
ВерсииФайловПереопределяемый.Владелец КАК Владелец,
ВерсииФайловПереопределяемый.Ссылка КАК Ссылка,
ВЫБОР
КОГДА ВерсииФайловПереопределяемый.Владелец.ТекущаяВерсия = ВерсииФайловПереопределяемый.Ссылка
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЭтоТекущая,
ВерсииФайловПереопределяемый.Расширение КАК Расширение,
ВерсииФайловПереопределяемый.НомерВерсии КАК НомерВерсии
ИЗ
Справочник.ВерсииФайлов КАК ВерсииФайловПереопределяемый
ГДЕ
ВерсииФайловПереопределяемый.Владелец = &amp;Владелец</QueryText>
<MainTable>Catalog.ВерсииФайлов</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
<dcsset:field>ЭтоТекущая</dcsset:field>
<dcsset:orderType>Desc</dcsset:orderType>
</dcsset:item>
<dcsset:item xsi:type="dcsset:OrderItemField">
<dcsset:field>НомерВерсии</dcsset:field>
<dcsset:orderType>Desc</dcsset:orderType>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</dcsset:userSettingID>
</dcsset:conditionalAppearance>
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
<dcsset:itemsUserSettingID>911b6018-f537-43e8-a417-da56b22f9aec</dcsset:itemsUserSettingID>
</ListSettings>
</Settings>
</Attribute>
<Attribute name="УникальныйИдентификаторКарточкиФайла" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Уникальный идентификатор карточки файла</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:UUID</v8:Type>
</Type>
</Attribute>
<Attribute name="ВладелецВерсии" id="1">
<Type>
<v8:TypeSet>cfg:CatalogRef</v8:TypeSet>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="СделатьАктивной" id="1">
@ -523,7 +430,6 @@
<xr:Ref>StdPicture.MarkToDelete</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ПометитьНаУдаление</Action>
<Representation>Picture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
@ -608,10 +514,15 @@
<Parameters>
<Parameter name="Файл">
<Type>
<v8:Type>cfg:CatalogRef.Файлы</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
</Type>
<KeyParameter>true</KeyParameter>
</Parameter>
<Parameter name="УникальныйИдентификаторКарточкиФайла">
<Type>
<v8:Type>v8:UUID</v8:Type>
</Type>
</Parameter>
</Parameters>
<CommandInterface>
<CommandBar>

View File

@ -1,26 +1,43 @@
&НаКлиенте
Перем Ссылка1;
&НаКлиенте
Перем Ссылка2;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
ЗаголовокОшибки = НСтр("ru = 'Ошибка при настройке динамического списка присоединенных файлов.'");
ОкончаниеОшибки = НСтр("ru = 'В этом случае настройка динамического списка невозможна.'");
ИмяСправочникаХранилищаВерсийФайлов = РаботаСФайламиСлужебный.ИмяСправочникаХраненияВерсийФайлов(
Параметры.Файл.ВладелецФайла, "", ЗаголовокОшибки, ОкончаниеОшибки);
Если Не ПустаяСтрока(ИмяСправочникаХранилищаВерсийФайлов) Тогда
НастроитьДинамическийСписок(ИмяСправочникаХранилищаВерсийФайлов);
КонецЕсли;
ВидимостьКомандыСравнить =
Не ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент() И Не ОбщегоНазначенияКлиентСервер.ЭтоВебКлиент();
Не ОбщегоНазначения.ЭтоLinuxКлиент() И Не ОбщегоНазначения.ЭтоВебКлиент();
Элементы.ФормаСравнить.Видимость = ВидимостьКомандыСравнить;
Элементы.КонтекстноеМенюСписокСравнить.Видимость = ВидимостьКомандыСравнить;
УникальныйИдентификаторКарточкиФайла = Параметры.УникальныйИдентификаторКарточкиФайла;
ЗаполнитьСписок();
Список.Параметры.УстановитьЗначениеПараметра("Владелец", Параметры.Файл);
ВладелецВерсии = Параметры.Файл;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.ФормаОткрытьВерсию.Картинка = БиблиотекаКартинок.Лупа;
Элементы.ФормаОткрытьВерсию.Отображение = ОтображениеКнопки.Картинка;
Элементы.СписокКомментарий.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
@ -35,51 +52,33 @@
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайла(ТекущиеДанные.Ссылка);
Если Не ЗначениеЗаполнено(ДанныеФайла.Редактирует) Тогда
СменитьАктивнуюВерсиюФайла(ТекущиеДанные.Ссылка);
ЗаполнитьСписок();
Оповестить("Запись_Файл", Новый Структура("Событие", "АктивнаяВерсияИзменена"), Параметры.Файл);
Иначе
НоваяАктивнаяВерсия = ТекущиеДанные.Ссылка;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайла(ТекущиеДанные.Владелец, ТекущиеДанные.Ссылка);
Если ЗначениеЗаполнено(ДанныеФайла.Редактирует) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Смена активной версии разрешена только для незанятых файлов.'"));
ИначеЕсли ДанныеФайла.ПодписанЭП Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Смена активной версии разрешена только для неподписанных файлов.'"));
Иначе
СменитьАктивнуюВерсиюФайла(НоваяАктивнаяВерсия);
Оповестить("Запись_Файл", Новый Структура("Событие", "АктивнаяВерсияИзменена"), Параметры.Файл);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ОбойтиВсеУзлыДерева(Элементы, ТекущаяВерсия)
Для Каждого Версия Из Элементы Цикл
Если Версия.Ссылка = ТекущаяВерсия Тогда
Идентификатор = Версия.ПолучитьИдентификатор();
Возврат Идентификатор;
КонецЕсли;
КодВозврата = ОбойтиВсеУзлыДерева(Версия.ПолучитьЭлементы(), ТекущаяВерсия);
Если КодВозврата <> -1 Тогда
Возврат КодВозврата;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Запись_Файл" И (Параметр.Событие = "ЗаконченоРедактирование" Или Параметр.Событие = "ВерсияСохранена") Тогда
Если ИмяСобытия = "Запись_Файл"
И Параметр.Свойство("Событие")
И ( Параметр.Событие = "ЗаконченоРедактирование"
Или Параметр.Событие = "ВерсияСохранена") Тогда
Если Параметры.Файл = Источник Тогда
ТекущаяВерсия = Элементы.Список.ТекущиеДанные.Ссылка;
ЗаполнитьСписок();
КодВозврата = ОбойтиВсеУзлыДерева(Список.ПолучитьЭлементы(), ТекущаяВерсия);
Если КодВозврата <> -1 Тогда
Элементы.Список.ТекущаяСтрока = КодВозврата;
КонецЕсли;
Элементы.Список.Обновить();
КонецЕсли;
@ -96,7 +95,7 @@
Возврат;
КонецЕсли;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, УникальныйИдентификатор);
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Владелец, ТекущиеДанные.Ссылка, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
@ -110,9 +109,9 @@
Версия = ТекущиеДанные.Ссылка;
ПараметрыОткрытияФормы = Новый Структура("Ключ", Версия);
ОткрытьФорму("Справочник.ВерсииФайлов.ФормаОбъекта", ПараметрыОткрытияФормы);
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВерсияПрисоединенногоФайла", ПараметрыОткрытияФормы);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@ -120,14 +119,6 @@
Процедура СписокПередУдалением(Элемент, Отказ)
Отказ = Истина;
ПометитьНаУдалениеСнятьПометку();
КонецПроцедуры
&НаКлиенте
Процедура ПометитьНаУдаление(Команда)
ПометитьНаУдалениеСнятьПометку();
КонецПроцедуры
@ -142,7 +133,7 @@
Версия = ТекущиеДанные.Ссылка;
ПараметрыОткрытияФормы = Новый Структура("Ключ", Версия);
ОткрытьФорму("Справочник.ВерсииФайлов.ФормаОбъекта", ПараметрыОткрытияФормы);
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВерсияПрисоединенногоФайла", ПараметрыОткрытияФормы);
КонецЕсли;
@ -153,86 +144,22 @@
Процедура Сравнить(Команда)
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
Если ЧислоВыделенныхСтрок = 2 ИЛИ ЧислоВыделенныхСтрок = 1 Тогда
Если ЧислоВыделенныхСтрок = 2 Тогда
Ссылка1 = Список.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[0]).Ссылка;
Ссылка2 = Список.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[1]).Ссылка;
ИначеЕсли ЧислоВыделенныхСтрок = 1 Тогда
Ссылка1 = Элементы.Список.ТекущиеДанные.Ссылка;
Ссылка2 = Элементы.Список.ТекущиеДанные.РодительскаяВерсия;
КонецЕсли;
СпособСравненияВерсийФайлов = Неопределено;
Расширение = НРег(Элементы.Список.ТекущиеДанные.Расширение);
РасширениеПоддерживается = (
Расширение = "txt"
ИЛИ Расширение = "doc"
ИЛИ Расширение = "docx"
ИЛИ Расширение = "rtf"
ИЛИ Расширение = "htm"
ИЛИ Расширение = "html"
ИЛИ Расширение = "odt");
Если Не РасширениеПоддерживается Тогда
ТекстПредупреждения =
НСтр("ru = 'Сравнение версий поддерживается только для файлов следующих типов:
| Текстовый документ (.txt)
| Документ формата RTF (.rtf)
| Документ Microsoft Word (.doc, .docx)
| Документ HTML (.html .htm)
| Текстовый документ OpenDocument (.odt)'");
ПоказатьПредупреждение(, ТекстПредупреждения);
Возврат;
КонецЕсли;
Если СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().ЭтоБазоваяВерсияКонфигурации Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Данная операция не поддерживается в базовой версии.'"));
Возврат;
КонецЕсли;
Если Расширение = "odt" Тогда
СпособСравненияВерсийФайлов = "OpenOfficeOrgWriter";
ИначеЕсли Расширение = "htm" ИЛИ Расширение = "html" Тогда
СпособСравненияВерсийФайлов = "MicrosoftOfficeWord";
КонецЕсли;
ПродолжитьСравнениеВерсий(СпособСравненияВерсийФайлов);
Если ЧислоВыделенныхСтрок <> 2 И ЧислоВыделенныхСтрок <> 1 Тогда
ПоказатьПредупреждение(, НСтр("ru='Для просмотра отличий необходимо выбрать две версии файла.'"));
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
КомандаСравненияДоступна = Ложь;
Если ЧислоВыделенныхСтрок = 2 Тогда
КомандаСравненияДоступна = Истина;
ПервыйФайл = Элементы.Список.ВыделенныеСтроки[0];
ВторойФайл = Элементы.Список.ВыделенныеСтроки[1];
ИначеЕсли ЧислоВыделенныхСтрок = 1 Тогда
Если Не Элементы.Список.ТекущиеДанные.РодительскаяВерсия.Пустая() Тогда
КомандаСравненияДоступна = Истина;
Иначе
КомандаСравненияДоступна = Ложь;
КонецЕсли;
Иначе
КомандаСравненияДоступна = Ложь;
КонецЕсли;
Если КомандаСравненияДоступна = Истина Тогда
Элементы.ФормаСравнить.Доступность = Истина;
Элементы.КонтекстноеМенюСписокСравнить.Доступность = Истина;
Иначе
Элементы.ФормаСравнить.Доступность = Ложь;
Элементы.КонтекстноеМенюСписокСравнить.Доступность = Ложь;
ПервыйФайл = Элементы.Список.ТекущиеДанные.Ссылка;
ВторойФайл = Элементы.Список.ТекущиеДанные.РодительскаяВерсия;
КонецЕсли;
Расширение = НРег(Элементы.Список.ТекущиеДанные.Расширение);
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(УникальныйИдентификатор, ПервыйФайл, ВторойФайл, Расширение, ВладелецВерсии);
КонецПроцедуры
&НаКлиенте
@ -243,7 +170,7 @@
Возврат;
КонецЕсли;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, УникальныйИдентификатор);
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Владелец, ТекущиеДанные.Ссылка ,УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
@ -256,7 +183,7 @@
Возврат;
КонецЕсли;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляСохранения(ТекущиеДанные.Ссылка, УникальныйИдентификатор);
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляСохранения(ТекущиеДанные.Владелец, ТекущиеДанные.Ссылка , УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.СохранитьКак(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
@ -273,262 +200,86 @@
&НаСервере
Процедура СменитьАктивнуюВерсиюФайла(Версия)
ФайлОбъект = Версия.Владелец.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, , УникальныйИдентификаторКарточкиФайла);
ФайлОбъект.ТекущаяВерсия = Версия;
ФайлОбъект.ТекстХранилище = Версия.ТекстХранилище;
ФайлОбъект.Записать();
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификаторКарточкиФайла);
ВерсияОбъект = Версия.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(Версия, , УникальныйИдентификаторКарточкиФайла);
ВерсияОбъект.Записать();
РазблокироватьДанныеДляРедактирования(Версия, УникальныйИдентификаторКарточкиФайла);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСписок()
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВерсииФайлов.Код КАК Код,
| ВерсииФайлов.Размер КАК Размер,
| ВерсииФайлов.Комментарий КАК Комментарий,
| ВерсииФайлов.Автор КАК Автор,
| ВерсииФайлов.ДатаСоздания КАК ДатаСоздания,
| ВерсииФайлов.ПолноеНаименование КАК ПолноеНаименование,
| ВерсииФайлов.РодительскаяВерсия КАК РодительскаяВерсия,
| ВерсииФайлов.ИндексКартинки,
| ВЫБОР
| КОГДА ВерсииФайлов.ПометкаУдаления = ИСТИНА
| ТОГДА 1
| ИНАЧЕ ВерсииФайлов.ИндексКартинки
| КОНЕЦ КАК ИндексКартинкиТекущий,
| ВерсииФайлов.ПометкаУдаления КАК ПометкаУдаления,
| ВерсииФайлов.Владелец КАК Владелец,
| ВерсииФайлов.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ВерсииФайлов.Владелец.ТекущаяВерсия = ВерсииФайлов.Ссылка
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоТекущая,
| ВерсииФайлов.Расширение КАК Расширение,
| ВерсииФайлов.НомерВерсии КАК НомерВерсии
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Владелец = &Владелец");
Запрос.УстановитьПараметр("Владелец", Параметры.Файл);
Данные = Запрос.Выполнить().Выгрузить();
Дерево = РеквизитФормыВЗначение("Список");
Дерево.Строки.Очистить();
ДобавитьПредыдущуюВерсию(Неопределено, Дерево, Данные);
ЗначениеВРеквизитФормы(Дерево, "Список");
КонецПроцедуры
&НаСервере
Процедура ДобавитьПредыдущуюВерсию(ТекущаяВетвь, Дерево, Данные)
НайденнаяСтрока = Неопределено;
Если ТекущаяВетвь = Неопределено Тогда
Для Каждого Строка Из Данные Цикл
Если Строка.ЭтоТекущая Тогда
НайденнаяСтрока = Строка;
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
Для Каждого Строка Из Данные Цикл
Если Строка.Ссылка = ТекущаяВетвь.РодительскаяВерсия Тогда
НайденнаяСтрока = Строка;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если НайденнаяСтрока <> Неопределено Тогда
Ветвь = Дерево.Строки.Добавить();
ЗаполнитьЗначенияСвойств(Ветвь, НайденнаяСтрока);
Данные.Удалить(НайденнаяСтрока);
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ДобавитьПодчиненныеВерсии(Ветвь, Данные);
ДобавитьПредыдущуюВерсию(Ветвь, Дерево, Данные);
КонецЕсли;
ЭлементБлокировкиДанных = Блокировка.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(Версия.Владелец)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Версия.Владелец);
ЭлементБлокировкиДанных = Блокировка.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(Версия)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", Версия);
Блокировка.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(Версия.Владелец, , УникальныйИдентификаторКарточкиФайла);
ЗаблокироватьДанныеДляРедактирования(Версия, , УникальныйИдентификаторКарточкиФайла);
ФайлОбъект = Версия.Владелец.ПолучитьОбъект();
Если ФайлОбъект.ПодписанЭП Тогда
ВызватьИсключение НСтр("ru = 'У подписанного файла нельзя изменять активную версию.'");
КонецЕсли;
ФайлОбъект.ТекущаяВерсия = Версия;
ФайлОбъект.ТекстХранилище = Версия.ТекстХранилище;
ФайлОбъект.Записать();
ВерсияОбъект = Версия.ПолучитьОбъект();
ВерсияОбъект.Записать();
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификаторКарточкиФайла);
РазблокироватьДанныеДляРедактирования(Версия, УникальныйИдентификаторКарточкиФайла);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
Процедура ДобавитьПодчиненныеВерсии(Ветвь, Данные)
Процедура НастроитьДинамическийСписок(ИмяСправочникаХранилищаВерсийФайлов)
Для Каждого Строка Из Данные Цикл
Если Ветвь.Ссылка = Строка.РодительскаяВерсия Тогда
ЗаполнитьЗначенияСвойств(Ветвь.Строки.Добавить(), Строка);
КонецЕсли;
КонецЦикла;
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
Для Каждого Веточка Из Ветвь.Строки Цикл
ДобавитьПодчиненныеВерсии(Веточка, Данные);
КонецЦикла;
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВерсииФайлов.Код КАК Код,
| ВерсииФайлов.Размер КАК Размер,
| ВерсииФайлов.Комментарий КАК Комментарий,
| ВерсииФайлов.Автор КАК Автор,
| ВерсииФайлов.ДатаСоздания КАК ДатаСоздания,
| ВерсииФайлов.ПолноеНаименование КАК ПолноеНаименование,
| ВерсииФайлов.РодительскаяВерсия КАК РодительскаяВерсия,
| ВЫБОР
| КОГДА ВерсииФайлов.ПометкаУдаления
| ТОГДА ВерсииФайлов.ИндексКартинки + 1
| ИНАЧЕ ВерсииФайлов.ИндексКартинки
| КОНЕЦ КАК ИндексКартинки,
| ВерсииФайлов.ПометкаУдаления КАК ПометкаУдаления,
| ВерсииФайлов.Владелец КАК Владелец,
| ВерсииФайлов.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ВерсииФайлов.Владелец.ТекущаяВерсия = ВерсииФайлов.Ссылка
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоТекущая,
| ВерсииФайлов.Расширение КАК Расширение,
| ВерсииФайлов.НомерВерсии КАК НомерВерсии
|ИЗ
| Справочник." + ИмяСправочникаХранилищаВерсийФайлов + " КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Владелец = &Владелец";
КонецПроцедуры
&НаСервере
Процедура УстановитьПометкуУдаления(Версия, Пометка)
ВерсияОбъект = Версия.ПолучитьОбъект();
ВерсияОбъект.Заблокировать();
ВерсияОбъект.УстановитьПометкуУдаления(Пометка);
КонецПроцедуры
&НаКлиенте
Процедура ПометитьНаУдалениеСнятьПометку()
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПолноеИмяСправочника = "Справочник." + ИмяСправочникаХранилищаВерсийФайлов;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяСправочника", ПолноеИмяСправочника);
Если ТекущиеДанные.ПометкаУдаления Тогда
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Снять с ""%1"" пометку на удаление?'"),
Строка(ТекущиеДанные.Ссылка));
Иначе
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Пометить ""%1"" на удаление?'"),
Строка(ТекущиеДанные.Ссылка));
КонецЕсли;
ПараметрыОбработчика = Новый Структура;
ПараметрыОбработчика.Вставить("ТекущиеДанные", ТекущиеДанные);
Обработчик = Новый ОписаниеОповещения("ПометитьНаУдалениеСнятьПометкуЗавершение", ЭтотОбъект, ПараметрыОбработчика);
ПоказатьВопрос(Обработчик, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
КонецПроцедуры
&НаКлиенте
Процедура ПометитьНаУдалениеСнятьПометкуЗавершение(Ответ, ПараметрыВыполнения) Экспорт
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ПараметрыВыполнения.ТекущиеДанные.ПометкаУдаления = Не ПараметрыВыполнения.ТекущиеДанные.ПометкаУдаления;
УстановитьПометкуУдаления(ПараметрыВыполнения.ТекущиеДанные.Ссылка, ПараметрыВыполнения.ТекущиеДанные.ПометкаУдаления);
Если ПараметрыВыполнения.ТекущиеДанные.ПометкаУдаления Тогда
ПараметрыВыполнения.ТекущиеДанные.ИндексКартинкиТекущий = 1;
Иначе
ПараметрыВыполнения.ТекущиеДанные.ИндексКартинкиТекущий = ПараметрыВыполнения.ТекущиеДанные.ИндексКартинки;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПродолжитьСравнениеВерсий(СпособСравненияВерсийФайлов)
ПараметрыВыполнения = Новый Структура;
ПараметрыВыполнения.Вставить("СпособСравненияВерсийФайлов", СпособСравненияВерсийФайлов);
ПараметрыВыполнения.Вставить("ТекущийШаг", 1);
ПараметрыВыполнения.Вставить("ДанныеФайла1", Неопределено);
ПараметрыВыполнения.Вставить("ДанныеФайла2", Неопределено);
ПараметрыВыполнения.Вставить("Результат1", Неопределено);
ПараметрыВыполнения.Вставить("Результат2", Неопределено);
ПараметрыВыполнения.Вставить("ПолноеИмяФайла1", Неопределено);
ПараметрыВыполнения.Вставить("ПолноеИмяФайла2", Неопределено);
СравнениеВерсийАвтомат(-1, ПараметрыВыполнения);
КонецПроцедуры
&НаКлиенте
Процедура СравнениеВерсийАвтомат(Результат, ПараметрыВыполнения) Экспорт
Если Результат <> -1 Тогда
Если ПараметрыВыполнения.ТекущийШаг = 1 Тогда
Если Результат <> КодВозвратаДиалога.ОК Тогда
Возврат;
КонецЕсли;
ПерсональныеНастройки = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами();
ПараметрыВыполнения.СпособСравненияВерсийФайлов = ПерсональныеНастройки.СпособСравненияВерсийФайлов;
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыВыполнения.ТекущийШаг = 2;
ИначеЕсли ПараметрыВыполнения.ТекущийШаг = 3 Тогда
ПараметрыВыполнения.Результат1 = Результат.ФайлПолучен;
ПараметрыВыполнения.ПолноеИмяФайла1 = Результат.ПолноеИмяФайла;
ПараметрыВыполнения.ТекущийШаг = 4;
ИначеЕсли ПараметрыВыполнения.ТекущийШаг = 4 Тогда
ПараметрыВыполнения.Результат2 = Результат.ФайлПолучен;
ПараметрыВыполнения.ПолноеИмяФайла2 = Результат.ПолноеИмяФайла;
ПараметрыВыполнения.ТекущийШаг = 5;
КонецЕсли;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 1 Тогда
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
ПерсональныеНастройки = ФайловыеФункцииСлужебныйКлиентСервер.ПерсональныеНастройкиРаботыСФайлами();
ПараметрыВыполнения.СпособСравненияВерсийФайлов = ПерсональныеНастройки.СпособСравненияВерсийФайлов;
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
// Первый вызов - еще не инициализирована настройка.
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
ОткрытьФорму("Справочник.ВерсииФайлов.Форма.ВыборСпособаСравненияВерсий", ,
ЭтотОбъект, , , , Обработчик);
Возврат;
КонецЕсли;
КонецЕсли;
ПараметрыВыполнения.ТекущийШаг = 2;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 2 Тогда
ПараметрыВыполнения.ДанныеФайла1 = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(
Ссылка1, УникальныйИдентификатор);
ПараметрыВыполнения.ДанныеФайла2 = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(
Ссылка2, УникальныйИдентификатор);
ТекстСостояния = НСтр("ru = 'Выполняется сравнение версий файла ""%1""...'");
ТекстСостояния = СтрЗаменить(ТекстСостояния, "%1", Строка(ПараметрыВыполнения.ДанныеФайла1.Ссылка));
Состояние(ТекстСостояния);
ПараметрыВыполнения.ТекущийШаг = 3;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 3 Тогда
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
Обработчик, ПараметрыВыполнения.ДанныеФайла1, ПараметрыВыполнения.ПолноеИмяФайла1);
Возврат;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 4 Тогда
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
РаботаСФайламиСлужебныйКлиент.ПолучитьФайлВерсииВРабочийКаталог(
Обработчик, ПараметрыВыполнения.ДанныеФайла2, ПараметрыВыполнения.ПолноеИмяФайла2);
Возврат;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 5 Тогда
Если ПараметрыВыполнения.Результат1 И ПараметрыВыполнения.Результат2 Тогда
Если ПараметрыВыполнения.ДанныеФайла1.НомерВерсии < ПараметрыВыполнения.ДанныеФайла2.НомерВерсии Тогда
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла1;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла2;
Иначе
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла2;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла1;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.СравнитьФайлы(
ПолноеИмяФайлаСлева,
ПолноеИмяФайлаСправа,
ПараметрыВыполнения.СпособСравненияВерсийФайлов);
КонецЕсли;
Состояние();
КонецЕсли;
СвойстваСписка.ОсновнаяТаблица = ПолноеИмяСправочника;
СвойстваСписка.ДинамическоеСчитываниеДанных = Истина;
СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СвойстваСписка);
КонецПроцедуры

View File

@ -0,0 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Предназначен для хранения сведений о версиях файлов.</p>
<p>Открывается командой <strong>Версии файла</strong> на панели навигации <a href="Catalog.Файлы.Form.ФормаЭлемента/Help">карточки файла</a>.</p>
<p>В списке с помощью кнопок панели навигации можно:</p>
<ul><li><strong>Просмотреть</strong> - открыть версию файла соответствующим приложением для просмотра (также это можно сделать двойным щелчком мыши);
</li><li><strong>Открыть карточку</strong> - просмотреть данные о версии файла;
</li><li><strong>Сделать активной</strong> - установить выбранную версию файла текущей. Команда доступна только для незанятых файлов;
</li><li><strong>Показать отличия</strong> - сравнить две любые версии файла, предварительно выделив их. Сравнение версий поддерживается для файлов формата HTML, TXT, RTF, DOC, DOCX, ODT.
</li><li>Записать версию файла на компьютер с помощью команды <strong>Сохранить как</strong> меню <strong>Еще</strong>. Укажите путь на компьютере для сохранения версии файла.</li></ul><h3>См. также:</h3>
<ul><li><a href="Catalog.Файлы/Help">Общие сведения о файлах</a>;
</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>

View File

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выберите способ сравнения версий файлов</v8:content>
</v8:item>
</Title>
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<AutoTitle>false</AutoTitle>
<CommandBarLocation>Bottom</CommandBarLocation>
<CommandSet>
<ExcludedCommand>CustomizeForm</ExcludedCommand>
</CommandSet>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<HorizontalAlign>Right</HorizontalAlign>
<Autofill>false</Autofill>
<ChildItems>
<Button name="ОК" id="4">
<Type>CommandBarButton</Type>
<Representation>Text</Representation>
<DefaultButton>true</DefaultButton>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ЗаписатьИЗакрыть</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ОК</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ОКExtendedTooltip" id="7"/>
</Button>
<Button name="Отмена" id="5">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.StandardCommand.Cancel</CommandName>
<ExtendedTooltip name="ОтменаExtendedTooltip" id="8"/>
</Button>
<Button name="Справка" id="6">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.StandardCommand.Help</CommandName>
<ExtendedTooltip name="СправкаExtendedTooltip" id="9"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ChildItems>
<InputField name="СпособСравненияВерсийФайлов" id="1">
<DataPath>СпособСравненияВерсийФайлов</DataPath>
<ContextMenu name="СпособСравненияВерсийФайловКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="СпособСравненияВерсийФайловExtendedTooltip" id="10"/>
</InputField>
</ChildItems>
<Attributes>
<Attribute name="СпособСравненияВерсийФайлов" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сравнивать версии файлов при помощи</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.СпособыСравненияВерсийФайлов</v8:Type>
</Type>
<FillCheck>ShowError</FillCheck>
</Attribute>
</Attributes>
<Commands>
<Command name="ЗаписатьИЗакрыть" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Записать и закрыть</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Записать и закрыть</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.EndEdit</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ЗаписатьИЗакрыть</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -1,28 +0,0 @@

#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда)
ОчиститьСообщения();
Если НЕ ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
МассивСтруктур = Новый Массив;
Элемент = Новый Структура;
Элемент.Вставить("Объект", "НастройкиСравненияФайлов");
Элемент.Вставить("Настройка", "СпособСравненияВерсийФайлов");
Элемент.Вставить("Значение", СпособСравненияВерсийФайлов);
МассивСтруктур.Добавить(Элемент);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассивИОбновитьПовторноИспользуемыеЗначения(
МассивСтруктур);
РезультатВыбора = КодВозвратаДиалога.ОК;
ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры
#КонецОбласти

View File

@ -6,10 +6,16 @@
<v8:content>Выбор версии файла</v8:content>
</v8:item>
</Title>
<Width>80</Width>
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<AutoTitle>false</AutoTitle>
<CommandBarLocation>Top</CommandBarLocation>
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">КоманднаяПанель</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
</AutoCommandBar>
@ -24,7 +30,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПользовательскихНастроекРасширеннаяПодсказка" id="36"/>
@ -43,13 +48,19 @@
<CommandBarLocation>None</CommandBarLocation>
<SkipOnInput>false</SkipOnInput>
<DefaultItem>true</DefaultItem>
<Width>40</Width>
<HeightInTableRows>10</HeightInTableRows>
<HeightInTableRows>7</HeightInTableRows>
<ChoiceMode>true</ChoiceMode>
<SelectionMode>SingleRow</SelectionMode>
<UseAlternationRowColor>true</UseAlternationRowColor>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<BorderColor>style:BorderColor</BorderColor>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
@ -95,41 +106,72 @@
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="50"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="СписокВладелец" id="39">
<DataPath>Список.Владелец</DataPath>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="40"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="41"/>
</LabelField>
<InputField name="СписокНомерВерсии" id="19">
<DataPath>Список.НомерВерсии</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>11</Width>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="28"/>
</InputField>
<InputField name="СписокАвтор" id="21">
<DataPath>Список.Автор</DataPath>
<Width>15</Width>
<Wrap>false</Wrap>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="29"/>
</InputField>
<InputField name="СписокДатаСоздания" id="23">
<DataPath>Список.ДатаСоздания</DataPath>
<Width>15</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="30"/>
</InputField>
<InputField name="СписокРазмер" id="25">
<DataPath>Список.Размер</DataPath>
<Wrap>false</Wrap>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="31"/>
</InputField>
<ColumnGroup name="ГруппаВертикально" id="51">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вертикально</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ГруппаВертикальноРасширеннаяПодсказка" id="52"/>
<ChildItems>
<ColumnGroup name="ГруппаОсновное" id="53">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основное</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<ExtendedTooltip name="ГруппаОсновноеРасширеннаяПодсказка" id="54"/>
<ChildItems>
<LabelField name="СписокВладелец" id="39" DisplayImportance="VeryHigh">
<DataPath>Список.Владелец</DataPath>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="40"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="41"/>
</LabelField>
<InputField name="СписокНомерВерсии" id="19" DisplayImportance="VeryHigh">
<DataPath>Список.НомерВерсии</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>11</Width>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="28"/>
</InputField>
<InputField name="СписокАвтор" id="21">
<DataPath>Список.Автор</DataPath>
<Width>15</Width>
<Wrap>false</Wrap>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="29"/>
</InputField>
<InputField name="СписокДатаСоздания" id="23">
<DataPath>Список.ДатаСоздания</DataPath>
<Width>15</Width>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="30"/>
</InputField>
<InputField name="СписокРазмер" id="25">
<DataPath>Список.Размер</DataPath>
<Wrap>false</Wrap>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="31"/>
</InputField>
</ChildItems>
</ColumnGroup>
<LabelField name="Комментарий" id="55">
<DataPath>Список.Комментарий</DataPath>
<AutoCellHeight>true</AutoCellHeight>
<ShowInHeader>false</ShowInHeader>
<TextColor>style:ПоясняющийТекст</TextColor>
<ContextMenu name="КомментарийКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="57"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<LabelField name="СписокСсылка" id="32">
<DataPath>Список.Ссылка</DataPath>
<UserVisible>
@ -158,10 +200,11 @@
ВерсииФайлов.Ссылка КАК Ссылка,
ВерсииФайлов.Владелец КАК Владелец,
ВерсииФайлов.ПометкаУдаления КАК ПометкаУдаления,
ВерсииФайлов.НомерВерсии,
ВерсииФайлов.Размер,
ВерсииФайлов.Автор,
ВерсииФайлов.ДатаСоздания
ВерсииФайлов.НомерВерсии КАК НомерВерсии,
ВерсииФайлов.Размер КАК Размер,
ВерсииФайлов.Автор КАК Автор,
ВерсииФайлов.ДатаСоздания КАК ДатаСоздания,
ВерсииФайлов.Комментарий КАК Комментарий
ИЗ
Справочник.ВерсииФайлов КАК ВерсииФайлов</QueryText>
<MainTable>Catalog.ВерсииФайлов</MainTable>

View File

@ -1,32 +1,37 @@
#Область ОбработчикиСобытийФормы
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если Параметры.Отбор.Свойство("Владелец") Тогда
Элементы.СписокВладелец.Видимость = Ложь;
КонецЕсли;
// Оформление помеченных на удаление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ЭлементУсловногоОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаУдаления");
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Список");
ЭлементОформляемогоПоля.Использование = Истина;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Комментарий.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Предназначен для выбора версии файла.</p>
<p>Вызывается из <a href="Catalog.ВерсииФайлов.Form.ФормаЭлемента/Help">карточки версии файла</a> при выборе <strong>Родительской версии</strong>.</p>
<p>Вызывается из <a href="DataProcessor.РаботаСФайлами.Form.ВерсияПрисоединенногоФайла/Help">карточки версии файла</a> при выборе <strong>Родительской версии</strong>.</p>
<p>В списке выводится:</p>
<ul><li><strong>Номер версии</strong> - нумерация <a href="Catalog.ВерсииФайлов/Help">версий</a> ведется программой автоматически при изменениях файла, при этом максимальный номер имеет последняя сохраненная версия.
</li><li>

View File

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Width>70</Width>
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">КоманднаяПанель</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<CommandSet>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Create</ExcludedCommand>
@ -21,7 +27,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПользовательскихНастроекРасширеннаяПодсказка" id="52"/>
@ -54,12 +59,6 @@
<v8:content>Форма стандартные команды</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма стандартные команды</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="ФормаСтандартныеКомандыExtendedTooltip" id="33"/>
</ButtonGroup>
@ -84,6 +83,12 @@
<xr:Ref>CommonPicture.КоллекцияПиктограммФайлов</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</RowsPicture>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Create</ExcludedCommand>
@ -163,70 +168,87 @@
<Event name="Selection">СписокВыбор</Event>
<Event name="BeforeAddRow">СписокПередНачаломДобавления</Event>
<Event name="BeforeDeleteRow">СписокПередУдалением</Event>
<Event name="BeforeRowChange">СписокПередНачаломИзменения</Event>
</Events>
<ChildItems>
<LabelField name="СписокПолноеНаименование" id="8">
<DataPath>Список.ПолноеНаименование</DataPath>
<ColumnGroup name="ГруппаВертикально" id="64">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
<v8:content>Вертикально</v8:content>
</v8:item>
</Title>
<ContextMenu name="СписокПолноеНаименованиеКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="СписокПолноеНаименованиеРасширеннаяПодсказка" id="39"/>
</LabelField>
<LabelField name="СписокРасширение" id="30">
<DataPath>Список.Расширение</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СписокРасширениеКонтекстноеМеню" id="31"/>
<ExtendedTooltip name="СписокРасширениеРасширеннаяПодсказка" id="47"/>
</LabelField>
<LabelField name="СписокВладелец" id="16">
<DataPath>Список.Owner</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="40"/>
</LabelField>
<LabelField name="СписокАвтор" id="18">
<DataPath>Список.Автор</DataPath>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="41"/>
</LabelField>
<LabelField name="СписокКомментарий" id="20">
<DataPath>Список.Комментарий</DataPath>
<Height>1</Height>
<ContextMenu name="СписокКомментарийКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="42"/>
</LabelField>
<LabelField name="СписокДатаСоздания" id="22">
<DataPath>Список.ДатаСоздания</DataPath>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="43"/>
</LabelField>
<LabelField name="СписокРазмер" id="24">
<DataPath>Список.Размер</DataPath>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="44"/>
</LabelField>
<LabelField name="СписокНомерВерсии" id="26">
<DataPath>Список.НомерВерсии</DataPath>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="45"/>
</LabelField>
<CheckBoxField name="СписокПометкаУдаления" id="28">
<DataPath>Список.DeletionMark</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СписокПометкаУдаленияКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="СписокПометкаУдаленияРасширеннаяПодсказка" id="46"/>
</CheckBoxField>
<ExtendedTooltip name="ГруппаВертикальноРасширеннаяПодсказка" id="65"/>
<ChildItems>
<ColumnGroup name="ГруппаОсновное" id="66" DisplayImportance="VeryHigh">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основное</v8:content>
</v8:item>
</Title>
<Group>Horizontal</Group>
<ExtendedTooltip name="ГруппаОсновноеРасширеннаяПодсказка" id="67"/>
<ChildItems>
<LabelField name="СписокПолноеНаименование" id="8" DisplayImportance="VeryHigh">
<DataPath>Список.ПолноеНаименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Title>
<ContextMenu name="СписокПолноеНаименованиеКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="СписокПолноеНаименованиеРасширеннаяПодсказка" id="39"/>
</LabelField>
<LabelField name="СписокРасширение" id="30">
<DataPath>Список.Расширение</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СписокРасширениеКонтекстноеМеню" id="31"/>
<ExtendedTooltip name="СписокРасширениеРасширеннаяПодсказка" id="47"/>
</LabelField>
<LabelField name="СписокВладелец" id="16">
<DataPath>Список.Owner</DataPath>
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<ContextMenu name="СписокВладелецКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="СписокВладелецРасширеннаяПодсказка" id="40"/>
</LabelField>
<LabelField name="СписокАвтор" id="18">
<DataPath>Список.Автор</DataPath>
<ContextMenu name="СписокАвторКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СписокАвторРасширеннаяПодсказка" id="41"/>
</LabelField>
<LabelField name="СписокДатаСоздания" id="22">
<DataPath>Список.ДатаСоздания</DataPath>
<ContextMenu name="СписокДатаСозданияКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="СписокДатаСозданияРасширеннаяПодсказка" id="43"/>
</LabelField>
<LabelField name="СписокРазмер" id="24">
<DataPath>Список.Размер</DataPath>
<ContextMenu name="СписокРазмерКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="СписокРазмерРасширеннаяПодсказка" id="44"/>
</LabelField>
<LabelField name="СписокНомерВерсии" id="26">
<DataPath>Список.НомерВерсии</DataPath>
<ContextMenu name="СписокНомерВерсииКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="СписокНомерВерсииРасширеннаяПодсказка" id="45"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<LabelField name="СписокКомментарий" id="20">
<DataPath>Список.Комментарий</DataPath>
<AutoCellHeight>true</AutoCellHeight>
<ShowInHeader>false</ShowInHeader>
<TextColor>style:ПоясняющийТекст</TextColor>
<ContextMenu name="СписокКомментарийКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="42"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<LabelField name="СписокСсылка" id="48">
<DataPath>Список.Ссылка</DataPath>
<UserVisible>

View File

@ -1,29 +1,32 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
// Оформление помеченных на удаление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ЭлементУсловногоОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаУдаления");
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Список");
ЭлементОформляемогоПоля.Использование = Истина;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.СписокКомментарий.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
@ -31,6 +34,7 @@
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Запись_Файл"
И Параметр.Свойство("Событие")
И ( Параметр.Событие = "ЗаконченоРедактирование"
ИЛИ Параметр.Событие = "ВерсияСохранена") Тогда
@ -47,8 +51,8 @@
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ВыбраннаяСтрока, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ВладелецФайла(ВыбраннаяСтрока), ВыбраннаяСтрока, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
@ -70,4 +74,35 @@
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ОткрытьКарточкуФайла();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОткрытьКарточкуФайла()
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Версия = ТекущиеДанные.Ссылка;
ПараметрыОткрытияФормы = Новый Структура("Ключ", Версия);
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВерсияПрисоединенногоФайла", ПараметрыОткрытияФормы);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВладелецФайла(ВыбраннаяСтрока)
Возврат ВыбраннаяСтрока.Владелец;
КонецФункции
#КонецОбласти

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="9a4a0b04-3dfb-4551-90f0-16231f64b14f">
<Properties>
<Name>ФормаЭлемента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма элемента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

View File

@ -1,392 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandBarLocation>Top</CommandBarLocation>
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="Открыть" id="26">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.Открыть</CommandName>
<TextColor>style:ButtonTextColor</TextColor>
<BackColor>style:ButtonBackColor</BackColor>
<BorderColor>style:BorderColor</BorderColor>
<ExtendedTooltip name="ОткрытьExtendedTooltip" id="57"/>
</Button>
<Button name="ФормаСохранитьКак" id="50">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.СохранитьКак</CommandName>
<ExtendedTooltip name="ФормаСохранитьКакExtendedTooltip" id="58"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="AfterWrite">ПослеЗаписи</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<InputField name="Владелец" id="6">
<DataPath>Объект.Owner</DataPath>
<ReadOnly>true</ReadOnly>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ВладелецКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="ВладелецExtendedTooltip" id="59"/>
</InputField>
<UsualGroup name="НаименованиеКод" id="31">
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование код</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="НаименованиеКодExtendedTooltip" id="60"/>
<ChildItems>
<InputField name="ПолноеНаименование" id="29">
<DataPath>Объект.ПолноеНаименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Title>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ПолноеНаименованиеКонтекстноеМеню" id="30"/>
<ExtendedTooltip name="ПолноеНаименованиеExtendedTooltip" id="61"/>
<Events>
<Event name="OnChange">ПолноеНаименованиеПриИзменении</Event>
</Events>
</InputField>
<InputField name="Код" id="2">
<DataPath>Объект.Code</DataPath>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="КодКонтекстноеМеню" id="3"/>
<ExtendedTooltip name="КодExtendedTooltip" id="62"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="РодительскаяВерсия" id="33">
<DataPath>Объект.РодительскаяВерсия</DataPath>
<ReadOnly>true</ReadOnly>
<Wrap>false</Wrap>
<ChoiceParameterLinks>
<xr:Link>
<xr:Name>Отбор.Владелец</xr:Name>
<xr:DataPath xsi:type="xs:string">Объект.Owner</xr:DataPath>
<xr:ValueChange>Clear</xr:ValueChange>
</xr:Link>
</ChoiceParameterLinks>
<ContextMenu name="РодительскаяВерсияКонтекстноеМеню" id="34"/>
<ExtendedTooltip name="РодительскаяВерсияExtendedTooltip" id="63"/>
</InputField>
<UsualGroup name="РасширениеКартинка" id="32">
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Расширение картинка</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="РасширениеКартинкаExtendedTooltip" id="64"/>
<ChildItems>
<InputField name="Размер" id="8">
<DataPath>Объект.Размер</DataPath>
<ReadOnly>true</ReadOnly>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="РазмерКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="РазмерExtendedTooltip" id="65"/>
</InputField>
<InputField name="Расширение" id="10">
<DataPath>Объект.Расширение</DataPath>
<ReadOnly>true</ReadOnly>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<HorizontalStretch>false</HorizontalStretch>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="РасширениеКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="РасширениеExtendedTooltip" id="66"/>
</InputField>
<PictureField name="Картинка" id="20">
<DataPath>Объект.ИндексКартинки</DataPath>
<TitleLocation>None</TitleLocation>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Width>2</Width>
<Height>1</Height>
<HorizontalStretch>false</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<ValuesPicture>
<xr:Ref>CommonPicture.КоллекцияПиктограммФайлов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="10" y="10"/>
</ValuesPicture>
<Border width="1">
<v8ui:style xsi:type="v8ui:ControlBorderType">WithoutBorder</v8ui:style>
</Border>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="КартинкаКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="КартинкаExtendedTooltip" id="67"/>
</PictureField>
</ChildItems>
</UsualGroup>
<InputField name="Комментарий" id="12">
<DataPath>Объект.Комментарий</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комментарий к версии</v8:content>
</v8:item>
</Title>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Height>2</Height>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="КомментарийКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="КомментарийExtendedTooltip" id="68"/>
</InputField>
<InputField name="Автор" id="14">
<DataPath>Объект.Автор</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Автор</v8:content>
</v8:item>
</Title>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="АвторКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="АвторExtendedTooltip" id="69"/>
</InputField>
<UsualGroup name="ДатаИНомер" id="35">
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата и номер</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ДатаИНомерExtendedTooltip" id="70"/>
<ChildItems>
<InputField name="ДатаСоздания" id="16">
<DataPath>Объект.ДатаСоздания</DataPath>
<ReadOnly>true</ReadOnly>
<FooterHorizontalAlign>Left</FooterHorizontalAlign>
<Wrap>false</Wrap>
<BorderColor>style:BorderColor</BorderColor>
<ContextMenu name="ДатаСозданияКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ДатаСозданияExtendedTooltip" id="71"/>
</InputField>
<InputField name="НомерВерсии" id="36">
<DataPath>Объект.НомерВерсии</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="НомерВерсииКонтекстноеМеню" id="37"/>
<ExtendedTooltip name="НомерВерсииExtendedTooltip" id="72"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="ДатаМодификацииФайла" id="48">
<DataPath>Объект.ДатаМодификацииФайла</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата изменения данных версии файла (местное время)</v8:content>
</v8:item>
</ToolTip>
<ContextMenu name="ДатаМодификацииФайлаКонтекстноеМеню" id="49"/>
<ExtendedTooltip name="ДатаМодификацииФайлаРасширеннаяПодсказка" id="73"/>
</InputField>
<LabelField name="Кодировка" id="55">
<DataPath>Кодировка</DataPath>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="КодировкаКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="КодировкаExtendedTooltip" id="74"/>
</LabelField>
<UsualGroup name="ГруппаХранение" id="38">
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа хранение</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа хранение</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаХранениеExtendedTooltip" id="75"/>
<ChildItems>
<InputField name="ТипХраненияФайла" id="39">
<DataPath>Объект.ТипХраненияФайла</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="ТипХраненияФайлаКонтекстноеМеню" id="40"/>
<ExtendedTooltip name="ТипХраненияФайлаExtendedTooltip" id="76"/>
</InputField>
<UsualGroup name="ГруппаТом" id="47">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа том</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа том</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ChildItemsWidth>LeftNarrowest</ChildItemsWidth>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаТомExtendedTooltip" id="77"/>
<ChildItems>
<InputField name="Том" id="51">
<DataPath>Объект.Том</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="ТомКонтекстноеМеню" id="52"/>
<ExtendedTooltip name="ТомExtendedTooltip" id="78"/>
</InputField>
<InputField name="ТомПолныйПуть" id="53">
<DataPath>ТомПолныйПуть</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="ТомПолныйПутьКонтекстноеМеню" id="54"/>
<ExtendedTooltip name="ТомПолныйПутьExtendedTooltip" id="79"/>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="ПутьКФайлу" id="43">
<DataPath>Объект.ПутьКФайлу</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="ПутьКФайлуКонтекстноеМеню" id="44"/>
<ExtendedTooltip name="ПутьКФайлуExtendedTooltip" id="80"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:CatalogObject.ВерсииФайлов</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
<UseAlways>
<Field>Объект.ТекстХранилище</Field>
<Field>Объект.ФайлХранилище</Field>
</UseAlways>
</Attribute>
<Attribute name="ТомПолныйПуть" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полный путь тома</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="Кодировка" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кодировка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="Открыть" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Просмотреть</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть версию файла для просмотра</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ОткрытьВыбранныйФайл</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Action>ОткрытьВыполнить</Action>
<Representation>Text</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="СохранитьКак" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сохранить как...</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сохранить версию файла на диск или другое устройство</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.СохранитьФайлКак</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Action>СохранитьКак</Action>
<Representation>Text</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
<CommandInterface>
<NavigationPanel>
<Item>
<Command>2:40e2fb30-bb03-4178-a8eb-ddf48337ef23</Command>
<Type>Auto</Type>
<DefaultVisible>false</DefaultVisible>
<Visible>
<xr:Common>false</xr:Common>
</Visible>
</Item>
</NavigationPanel>
</CommandInterface>
</Form>

View File

@ -1,88 +0,0 @@

#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.Файлы") Тогда
Элементы.ПолноеНаименование.ТолькоПросмотр = Истина;
КонецЕсли;
Если Пользователи.ЭтоПолноправныйПользователь() Тогда
Элементы.Автор.ТолькоПросмотр = Ложь;
Элементы.ДатаСоздания.ТолькоПросмотр = Ложь;
Элементы.РодительскаяВерсия.ТолькоПросмотр = Ложь;
Иначе
Элементы.ГруппаХранение.Видимость = Ложь;
КонецЕсли;
ТомПолныйПуть = ФайловыеФункцииСлужебный.ПолныйПутьТома(Объект.Том);
ОбщиеНастройки = ФайловыеФункцииСлужебныйКлиентСервер.ОбщиеНастройкиРаботыСФайлами();
РасширениеФайлаВСписке = ФайловыеФункцииСлужебныйКлиентСервер.РасширениеФайлаВСписке(
ОбщиеНастройки.СписокРасширенийТекстовыхФайлов, Объект.Расширение);
Если РасширениеФайлаВСписке Тогда
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
КодировкаЗначение = РаботаСФайламиСлужебныйВызовСервера.ПолучитьКодировкуВерсииФайла(Объект.Ссылка);
СписокКодировок = РаботаСФайламиСлужебный.ПолучитьСписокКодировок();
ЭлементСписка = СписокКодировок.НайтиПоЗначению(КодировкаЗначение);
Если ЭлементСписка = Неопределено Тогда
Кодировка = КодировкаЗначение;
Иначе
Кодировка = ЭлементСписка.Представление;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Кодировка) Тогда
Кодировка = НСтр("ru='По умолчанию'");
КонецЕсли;
Иначе
Элементы.Кодировка.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_Файл", Новый Структура("Событие", "ВерсияСохранена"), Объект.Владелец);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОткрытьВыполнить()
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(Объект.Ссылка, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПолноеНаименованиеПриИзменении(Элемент)
Объект.Наименование = Объект.ПолноеНаименование;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура СохранитьКак(Команда)
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляСохранения(Объект.Ссылка, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.СохранитьКак(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти

View File

@ -1,37 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Просмотр сведений о версии файла.</p>
<p>По окончании редактирования файла (по команде <strong>Завершить редактирование</strong> в <a href="Catalog.Файлы.Form.Файлы/Help">списке файлов</a>) программа рекомендует сохранить версию файла и ввести информацию о данной версии. По умолчанию эта возможность включена (рекомендуется использовать сохранение версий, так как в случае серьезных ошибок, которые привели к порче файла, можно вернуться к более ранней, неиспорченной версии). Впоследствии можно отредактировать комментарий и при необходимости изменить автора версии.</p>
<h3>Сведения о версии файла</h3>
<ul><li>
<div><strong>Владелец</strong> - наименование файла-владельца, автоматически заполняется при добавлении версии, не подлежит редактированию;</div>
</li><li>
<div><strong>Наименование</strong> - наименование версии, автоматически заполняется при добавлении версии, не подлежит редактированию;</div>
</li><li>
<div><strong>Родительская версия</strong> - для того чтобы подчинить одну версию другой, выберите из <a href="Catalog.ВерсииФайлов.Form.ФормаВыбора/Help">списка</a> нужную версию. История версий в программе для наглядности представляется в виде дерева;</div>
</li><li>
<div>
<div><strong>Размер (байт)</strong> - размер данных версии файла в байтах.</div></div>
</li><li>
<div>
<div><strong>Расширение</strong> - расширение (формат) версии файла. Рядом располагается картинка, которая также показывает формат версии файла, определяется программой автоматически.</div></div>
</li><li>
<div>
<div>
<div><strong>Комментарий к версии</strong> - введите дополнительные сведения о версии файла (также можно ввести при сохранении версии по окончании редактирования файла).</div></div></div>
</li><li>
<div>
<div><strong>Автор</strong> - пользователь, который добавил версию файла. При необходимости можно выбрать другого автора из списка пользователей.</div></div>
</li><li>
<div>
<div>
<div><strong>Дата создания</strong> - дата и время добавления версии файла в базу.</div></div></div>
</li><li>
<div><strong>Номер версии</strong> - нумерация версий ведется программой автоматически при изменениях файла, при этом максимальный номер имеет последняя сохраненная версия. </div>
</li><li>
<div><strong>Дата изменения</strong> - дата изменения данных версии файла (местное время).</div>
</li><li>
<div><strong>Кодировка</strong> - автоматически выбирается значение <strong>По умолчанию</strong>.</div></li></ul><h3>Просмотр версии файла</h3>
<ul><li>Нажмите <strong>Просмотреть</strong>, для того чтобы открыть выбранную версию файла соответствующим приложением для просмотра или редактирования (также можно открыть версию файла двойным щелчком мыши по нужной строке или с помощью соответствующей команды меню <strong>Еще</strong>). </li></ul><h3>Сохранение версии файла на диск</h3>
<ul><li>Для того чтобы сохранить версию файла на диск или другое устройство,  нажмите <strong>Сохранить как</strong>. Выберите каталог для сохранения файла.</li></ul><h3>См. также:</h3>
<ul><li><a href="Catalog.ВерсииФайлов/Help">Версии файла</a>;
</li><li><a href="Catalog.Файлы/Help">Файлы</a>.</li></ul></body></html>

View File

@ -41,7 +41,7 @@
<Owners/>
<SubordinationUse>ToItems</SubordinationUse>
<CodeLength>0</CodeLength>
<DescriptionLength>100</DescriptionLength>
<DescriptionLength>150</DescriptionLength>
<CodeType>String</CodeType>
<CodeAllowedLength>Fixed</CodeAllowedLength>
<CodeSeries>WholeCatalog</CodeSeries>
@ -207,7 +207,7 @@
</xr:StandardAttribute>
<xr:StandardAttribute name="Parent">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:FillChecking>ShowError</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>true</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
@ -264,7 +264,20 @@
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Name</v8:content>
</v8:item>
<v8:item>
<v8:lang>de</v8:lang>
<v8:content>Benennung</v8:content>
</v8:item>
</xr:Synonym>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
@ -344,11 +357,11 @@
<ChildObjects>
<Attribute uuid="0eea37cc-47f8-4819-85da-d4991f4e58ed">
<Properties>
<Name>АдресТолькоРоссийский</Name>
<Name>ТолькоНациональныйАдрес</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Адрес только российский</v8:content>
<v8:content>Только национальный адрес</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -361,7 +374,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Допустимы только российские адреса</v8:content>
<v8:content>Допустимы только национальные адреса</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -387,6 +400,55 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="0f314b6b-5ed1-46ed-bdfd-cf53330c2783">
<Properties>
<Name>ВидПоляДругое</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид поля другое</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>20</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внешний вид поля другое на форме</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>true</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string">МногострочноеШирокое</FillValue>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="b51eaf45-baa1-4d1c-bcb7-a89bb8bcc26a">
<Properties>
<Name>ВключатьСтрануВПредставление</Name>
@ -612,55 +674,6 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="aa7ceeee-3b3c-49e2-95c2-bfb34e381aa3">
<Properties>
<Name>Подсказка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подсказка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подсказка для вида контактной информации</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="313e0688-745a-4385-b040-7ef8317a0eb7">
<Properties>
<Name>ПроверятьКорректность</Name>
@ -815,7 +828,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактировать контактную информацию только в диалоге (ручной ввод информации не возможен)</v8:content>
<v8:content>Редактировать контактную информацию только в диалоге (ручной ввод информации невозможен)</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -847,7 +860,7 @@
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Реквизит доп упорядочивания</v8:content>
<v8:content>Порядок</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -1026,13 +1039,13 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="8a13c899-1659-48cf-9aa2-07ca99547b7b">
<Attribute uuid="9395eb9d-6aff-4af5-a6f1-5c39014ba67b">
<Properties>
<Name>УказыватьОКТМО</Name>
<Name>УдалитьМногострочноеПоле</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Указывать ОКТМО</v8:content>
<v8:content>(не используется) Многострочное поле</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -1045,7 +1058,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Возможность ввода ОКТМО в адресе</v8:content>
<v8:content>Выводит многострочное поле </v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -1071,13 +1084,13 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="9395eb9d-6aff-4af5-a6f1-5c39014ba67b">
<Attribute uuid="8a13c899-1659-48cf-9aa2-07ca99547b7b">
<Properties>
<Name>МногострочноеПоле</Name>
<Name>УказыватьОКТМО</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Многострочное поле</v8:content>
<v8:content>Указывать ОКТМО</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -1090,7 +1103,7 @@
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выводит многострочное поле </v8:content>
<v8:content>Возможность ввода ОКТМО в адресе</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
@ -1161,6 +1174,286 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="71dfde27-3762-4dd0-9252-6e703ce1b101">
<Properties>
<Name>МеждународныйФорматАдреса</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Международный формат адреса</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Адрес редактируется в международном формате на английском языке.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="d8fc4644-5351-443c-8b5d-5de2c4b855d1">
<Properties>
<Name>ИмяПредопределенногоВида</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя предопределенного вида</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForFolderAndItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="0f039952-09d3-49c8-b909-e8333a3fc8f9">
<Properties>
<Name>ИмяГруппы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя группы</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="99387869-f8b1-4269-bd26-e39380d17b69">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.ВидыКонтактнойИнформации.Представления" category="TabularSection">
<xr:TypeId>9cb91b1a-ae31-403c-8c5d-e0fd01955e6c</xr:TypeId>
<xr:ValueId>74fba94b-4c84-497d-a403-5c2dd8ebbc57</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.ВидыКонтактнойИнформации.Представления" category="TabularSectionRow">
<xr:TypeId>0ed0fdb2-6d8e-4edc-a853-be09de3beb73</xr:TypeId>
<xr:ValueId>11f094f7-934d-4111-826e-d2ffc13f229a</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>Представления</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представления</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ToolTip/>
<FillChecking>DontCheck</FillChecking>
<StandardAttributes>
<xr:StandardAttribute name="LineNumber">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Use>ForFolderAndItem</Use>
</Properties>
<ChildObjects>
<Attribute uuid="4b2acdb9-fefd-4735-9dfd-d7d141967f3c">
<Properties>
<Name>КодЯзыка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код языка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>10</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код языка представления реквизита</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="bc07d643-a044-4882-b95b-2173a197fd0e">
<Properties>
<Name>Наименование</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>150</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представление реквизита на другом языке</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>Index</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>ФормаСписка</Form>
<Form>ФормаЭлемента</Form>
<Form>ФормаГруппы</Form>

View File

@ -5,9 +5,9 @@
<p>Поставка программы осуществляется c предопределенными группами и элементами списка. Предопределенные группы списка соответствуют спискам или документам программы - носителям контактной информации. Добавление новых групп в список запрещено. Элементы внутри этих групп определяют состав контактной информации соответствующих объектов программы.</p>
<p>В списках и табличных частях документов программы предусмотрено несколько предопределенных видов контактной информации, кроме того, имеется возможность добавлять новые виды контактной информации. </p>
<p>Настройку видов контактной информации рекомендуется выполнить на этапе начального заполнения программы. Эта рекомендация не исключает настройку в процессе ведения контактной информации. Настройку обычно выполняет администратор программы.</p>
<p>Список открывается соответствующей командой панели навигации раздела <strong>Администрирование - Общие настройки</strong>.</p>
<p>Список открывается соответствующей командой панели навигации раздела <strong>Администрирование - Общие настройки - Контактная информация</strong>.</p>
<h3>Добавление нового поля контактной информации в список или документ</h3>
<ul><li>
<div>Выбрав соответствующую группу в списке, нажмите  <strong>Создать</strong>. Заполните необходимые <a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">поля</a>.</div></li></ul><h3>Предопределенные виды контактной информации</h3>
<div>Выбрав соответствующую группу в списке, нажмите<strong>Создать</strong>. Заполните необходимые <a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">поля</a>.</div></li></ul><h3>Предопределенные виды контактной информации</h3>
<ul><li>У предопределенных элементов списка в отличие от произвольных полей контактной информации можно изменить только настройки, остальные реквизиты заполнены по умолчанию и защищены от редактирования.</li></ul><h3>См. также: </h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>

View File

@ -1,27 +1,18 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
// Возвращает описание блокируемых реквизитов.
//
// Возвращаемое значение:
// Массив - содержит строки в формате ИмяРеквизита[;ИмяЭлементаФормы,...]
// где ИмяРеквизита - имя реквизита объекта, ИмяЭлементаФормы - имя элемента формы,
// связанного с реквизитом.
//
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
БлокируемыеРеквизиты = Новый Массив;
БлокируемыеРеквизиты.Добавить("Тип;Тип");
БлокируемыеРеквизиты.Добавить("Родитель");
Возврат БлокируемыеРеквизиты;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
////////////////////////////////////////////////////////////////////////////////
// Групповое изменение объектов.
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые не рекомендуется редактировать
// с помощью обработки группового изменения реквизитов.
@ -36,6 +27,160 @@
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
// См. ЗапретРедактированияРеквизитовОбъектовПереопределяемый.ПриОпределенииОбъектовСЗаблокированнымиРеквизитами.
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
БлокируемыеРеквизиты = Новый Массив;
БлокируемыеРеквизиты.Добавить("Тип;Тип");
БлокируемыеРеквизиты.Добавить("Родитель");
Возврат БлокируемыеРеквизиты;
КонецФункции
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ЛокализацияКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
// Регистрирует к обработке виды контактной информации другое у которых необходимо заполнить поле ВидПоляДругое
// и исправить Наименования на разных языках.
//
Процедура ЗаполнитьВидыКонтактнойИнформацииКОбработке(Параметры) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВидыКонтактнойИнформации.Ссылка,
| ВидыКонтактнойИнформации.УдалитьМногострочноеПоле
|ИЗ
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации";
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры,
РезультатЗапроса.ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьВидыКонтактнойИнформации(Параметры) Экспорт
ВидКонтактнойИнформацииСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
ЯзыковБольшеОдного = Метаданные.Языки.Количество() > 1;
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
Пока ВидКонтактнойИнформацииСсылка.Следующий() Цикл
Попытка
ВидКонтактнойИнформации = ВидКонтактнойИнформацииСсылка.Ссылка.ПолучитьОбъект();
// Исправление наименований на разных языках
Если ЯзыковБольшеОдного Тогда
ИмяВида = ?(ЗначениеЗаполнено(ВидКонтактнойИнформации.ИмяПредопределенногоВида),
ВидКонтактнойИнформации.ИмяПредопределенногоВида, ВидКонтактнойИнформации.ИмяПредопределенныхДанных);
Если ЗначениеЗаполнено(ИмяВида) Тогда
УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования);
КонецЕсли;
КонецЕсли;
// Обработчик изменения вида контактной информации Другое.
Если ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Другое
И ПустаяСтрока(ВидКонтактнойИнформации.ВидПоляДругое) Тогда
Если ВидКонтактнойИнформации.УдалитьМногострочноеПоле Тогда
ВидКонтактнойИнформации.ВидПоляДругое = "МногострочноеШирокое";
Иначе
ВидКонтактнойИнформации.ВидПоляДругое = "ОднострочноеШирокое";
КонецЕсли;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВидКонтактнойИнформации);
ОбъектовОбработано = ОбъектовОбработано + 1;
Исключение
// Если не удалось обработать какой-либо вид контактной информации, повторяем попытку снова.
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать вид контактной информации: %1 по причине: %2'"),
ВидКонтактнойИнформацииСсылка.Ссылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.ВидыКонтактнойИнформации, ВидКонтактнойИнформацииСсылка.Ссылка, ТекстСообщения);
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре ЗаполнитьВидыКонтактнойИнформации не удалось обработать некоторые виды контактной информации (пропущены): %1'"),
ПроблемныхОбъектов);
ВызватьИсключение ТекстСообщения;
Иначе
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
Метаданные.Справочники.ВидыКонтактнойИнформации,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Процедура ЗаполнитьВидыКонтактнойИнформации обработала очередную порцию видов контактной информации: %1'"),
ОбъектовОбработано));
КонецЕсли;
КонецПроцедуры
Процедура УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования)
Для Каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][ИмяВида];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
ВидКонтактнойИнформации.Наименование = Представление;
Иначе
Если Наименования[Язык.КодЯзыка][ИмяВида] <> Неопределено Тогда
Отбор = Новый Структура;
Отбор.Вставить("КодЯзыка", Язык.КодЯзыка);
Отбор.Вставить("Наименование", Представление);
НайденныеСтроки = ВидКонтактнойИнформации.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НоваяСтрока = НайденныеСтроки[0];
Иначе
НоваяСтрока = ВидКонтактнойИнформации.Представления.Добавить();
КонецЕсли;
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецЕсли

View File

@ -1,22 +1,68 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
Если ЭтотОбъект.ОбменДанными.Загрузка Тогда
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если НЕ ЭтотОбъект.ЭтоГруппа Тогда
Если НЕ ЭтоГруппа Тогда
Результат = УправлениеКонтактнойИнформациейСлужебный.ПроверитьПараметрыВидаКонтактнойИнформации(ЭтотОбъект);
Если Результат.ЕстьОшибки Тогда
Отказ = Истина;
ВызватьИсключение Результат.ТекстОшибки;
КонецЕсли;
ИмяГруппы = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Родитель, "ИмяПредопределенногоВида");
Если ПустаяСтрока(ИмяГруппы) Тогда
ИмяГруппы = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Родитель, "ИмяПредопределенныхДанных");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если СтрНачинаетсяС(ИмяПредопределенныхДанных, "Удалить") Тогда
ПроверяемыеРеквизиты.Очистить();
Возврат;
КонецЕсли;
Если ЭтоГруппа Тогда
НепроверяемыеРеквизиты = Новый Массив;
НепроверяемыеРеквизиты.Добавить("Родитель");
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
КонецЕсли;
КонецПроцедуры
Процедура ПриКопировании(ОбъектКопирования)
ИмяПредопределенногоВида = "";
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПриЧтенииПредставленийНаСервере() Экспорт
ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

View File

@ -20,56 +20,6 @@
</Item>
</ChildItems>
</Item>
<Item id="c34c4e9d-c7c5-42bb-8def-93ecfe7b1977">
<Name>СправочникОрганизации</Name>
<Code/>
<Description>Контактная информация справочника "Организации"</Description>
<IsFolder>true</IsFolder>
<ChildItems>
<Item id="405f9f12-d546-435c-8768-4775d31cf689">
<Name>ДругаяИнформацияОрганизации</Name>
<Code/>
<Description>Другое</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="1e232d30-a13f-442d-ab7b-65c711d3ad75">
<Name>ПочтовыйАдресОрганизации</Name>
<Code/>
<Description>Почтовый адрес</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="b4ceb8fc-3a0c-42c1-bd37-2d52de36fb52">
<Name>ТелефонОрганизации</Name>
<Code/>
<Description>Телефон</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="a709fef2-4895-4ad2-9cf1-27b46f031549">
<Name>ФаксОрганизации</Name>
<Code/>
<Description>Факс</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="afa527f2-8b59-4c20-95ae-d0d5a08111ee">
<Name>ФактАдресОрганизации</Name>
<Code/>
<Description>Фактический адрес</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="89b1f358-52f0-402c-9540-d97e38aefeee">
<Name>EmailОрганизации</Name>
<Code/>
<Description>Электронная почта</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="6b0a2669-1bb5-4c9a-9466-54433ac0a955">
<Name>ЮрАдресОрганизации</Name>
<Code/>
<Description>Юридический адрес</Description>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="8cbaa30d-faab-45ad-880e-84f8b421f448">
<Name>СправочникПользователи</Name>
<Code/>

View File

@ -20,12 +20,6 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
@ -38,12 +32,6 @@
<v8:content>Командная панель</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="КоманднаяПанельРасширеннаяПодсказка" id="14"/>
</CommandBar>
@ -62,15 +50,18 @@
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Create</ExcludedCommand>
<ExcludedCommand>CreateFolder</ExcludedCommand>
<ExcludedCommand>MoveItem</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>

View File

@ -1,13 +1,16 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "ЭтоГруппа", Истина);
КонецПроцедуры

View File

@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandBarLocation>Top</CommandBarLocation>
<CommandSet>
<ExcludedCommand>CreateFolder</ExcludedCommand>
</CommandSet>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
</AutoCommandBar>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
@ -18,51 +15,11 @@
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПользовательскихНастроекРасширеннаяПодсказка" id="43"/>
</UsualGroup>
<CommandBar name="КоманднаяПанель" id="44">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Командная панель</v8:content>
</v8:item>
</ToolTip>
<CommandSource>Form</CommandSource>
<ExtendedTooltip name="КоманднаяПанельРасширеннаяПодсказка" id="45"/>
<ChildItems>
<Button name="ПереместитьВверх" id="17">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ПереместитьЭлементВверх</CommandName>
<TextColor>style:ButtonTextColor</TextColor>
<BackColor>style:ButtonBackColor</BackColor>
<ExtendedTooltip name="ПереместитьВверхExtendedTooltip" id="32"/>
</Button>
<Button name="ПереместитьВниз" id="18">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
<CommandName>Form.Command.ПереместитьЭлементВниз</CommandName>
<TextColor>style:ButtonTextColor</TextColor>
<BackColor>style:ButtonBackColor</BackColor>
<ExtendedTooltip name="ПереместитьВнизExtendedTooltip" id="33"/>
</Button>
</ChildItems>
</CommandBar>
<Table name="Список" id="1">
<Representation>Tree</Representation>
<CommandBarLocation>None</CommandBarLocation>
@ -74,14 +31,22 @@
<InitialTreeView>ExpandAllLevels</InitialTreeView>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.ИндексПиктограммы</RowPictureDataPath>
<RowsPicture>
<xr:Ref>CommonPicture.ВидыКонтактнойИнформации</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</RowsPicture>
<BorderColor>style:BorderColor</BorderColor>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<CommandSet>
<ExcludedCommand>CreateFolder</ExcludedCommand>
<ExcludedCommand>MoveItem</ExcludedCommand>
</CommandSet>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@ -127,53 +92,18 @@
<Event name="BeforeAddRow">СписокПередНачаломДобавления</Event>
</Events>
<ChildItems>
<ColumnGroup name="Представление" id="40">
<LabelField name="Наименование" id="37" DisplayImportance="VeryHigh">
<DataPath>Список.Наименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представление</v8:content>
<v8:content>Вид контактной информации</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представление</v8:content>
</v8:item>
</ToolTip>
<Group>InCell</Group>
<ExtendedTooltip name="ПредставлениеРасширеннаяПодсказка" id="41"/>
<ChildItems>
<PictureField name="Пиктограмма" id="28">
<DataPath>Список.ИндексПиктограммы</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пиктограмма</v8:content>
</v8:item>
</Title>
<TitleLocation>None</TitleLocation>
<Width>2</Width>
<ValuesPicture>
<xr:Ref>CommonPicture.ВидыКонтактнойИнформации</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</ValuesPicture>
<FileDragMode>AsFile</FileDragMode>
<ContextMenu name="ПиктограммаКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="ПиктограммаРасширеннаяПодсказка" id="35"/>
</PictureField>
<LabelField name="Наименование" id="37">
<DataPath>Список.Description</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид контактной информации</v8:content>
</v8:item>
</Title>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="39"/>
</LabelField>
</ChildItems>
</ColumnGroup>
<HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="39"/>
</LabelField>
<InputField name="Ссылка" id="30">
<DataPath>Список.Ref</DataPath>
<UserVisible>
@ -253,15 +183,22 @@
СправочникВидыКонтактнойИнформации.Предопределенный,
СправочникВидыКонтактнойИнформации.Родитель,
СправочникВидыКонтактнойИнформации.ЭтоГруппа,
СправочникВидыКонтактнойИнформации.Наименование,
ВЫБОР
КОГДА &amp;ЭтоОсновнойЯзык
ТОГДА СправочникВидыКонтактнойИнформации.Наименование
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ВидыКонтактнойИнформацииПредставления.Наименование, СправочникВидыКонтактнойИнформации.Наименование) КАК СТРОКА(150))
КОНЕЦ КАК Наименование,
СправочникВидыКонтактнойИнформации.Тип,
СправочникВидыКонтактнойИнформации.РеквизитДопУпорядочивания,
СправочникВидыКонтактнойИнформации.РедактированиеТолькоВДиалоге,
СправочникВидыКонтактнойИнформации.МожноИзменятьСпособРедактирования,
СправочникВидыКонтактнойИнформации.АдресТолькоРоссийский,
СправочникВидыКонтактнойИнформации.ТолькоНациональныйАдрес,
СправочникВидыКонтактнойИнформации.Используется
ИЗ
Справочник.ВидыКонтактнойИнформации КАК СправочникВидыКонтактнойИнформации
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыКонтактнойИнформации.Представления КАК ВидыКонтактнойИнформацииПредставления
ПО (ВидыКонтактнойИнформацииПредставления.Ссылка = СправочникВидыКонтактнойИнформации.Ссылка)
И ВидыКонтактнойИнформацииПредставления.КодЯзыка = &amp;КодЯзыка
ГДЕ
СправочникВидыКонтактнойИнформации.Используется И ЕстьNULL(СправочникВидыКонтактнойИнформации.Родитель.Используется, Истина)
</QueryText>
@ -289,46 +226,4 @@
</Settings>
</Attribute>
</Attributes>
<Commands>
<Command name="ПереместитьЭлементВверх" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Переместить элемент вверх</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Переместить элемент вверх</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.MoveUp</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ПереместитьЭлементВверх</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ПереместитьЭлементВниз" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Переместить элемент вниз</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Переместить элемент вниз</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.MoveDown</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ПереместитьЭлементВниз</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -1,4 +1,11 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
@ -6,6 +13,13 @@
УстановитьУсловноеОформление();
// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
Список.Параметры.УстановитьЗначениеПараметра("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
Список.Параметры.УстановитьЗначениеПараметра("КодЯзыка", ТекущийЯзык().КодЯзыка);
КонецПроцедуры
#КонецОбласти
@ -28,43 +42,27 @@
#Область ОбработчикиКомандФормы
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура ПереместитьЭлементВверх()
Если Не ВозможноПеремещениеЭлемента(Элементы.Список.ТекущиеДанные.Ссылка, "Вверх") Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Перемещение данного вида контактной информации не предусмотрено'"));
Возврат;
КонецЕсли;
НастройкаПорядкаЭлементовКлиент.ПереместитьЭлементВверхВыполнить(Список, Элементы.Список);
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат);
КонецПроцедуры
&НаКлиенте
Процедура ПереместитьЭлементВниз()
Если Не ВозможноПеремещениеЭлемента(Элементы.Список.ТекущиеДанные.Ссылка, "Вниз") Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Перемещение данного вида контактной информации не предусмотрено'"));
Возврат;
КонецЕсли;
НастройкаПорядкаЭлементовКлиент.ПереместитьЭлементВнизВыполнить(Список, Элементы.Список);
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция ВозможноПеремещениеЭлемента(ТекущийЭлемент, Направление)
СоседнийЭлемент = НастройкаПорядкаЭлементовСлужебный.СоседнийЭлемент(ТекущийЭлемент, Список, Направление);
Возврат СоседнийЭлемент = Неопределено Или Не (ТекущийЭлемент.ЗапретитьРедактированиеПользователем Или СоседнийЭлемент.ЗапретитьРедактированиеПользователем);
КонецФункции
&НаСервере
Процедура УстановитьУсловноеОформление()

View File

@ -5,58 +5,82 @@
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
<Event name="FillCheckProcessingAtServer">ОбработкаПроверкиЗаполненияНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаТипНаименование" id="72">
<Group>Horizontal</Group>
<UsualGroup name="ГруппаОсновнаяИнформация" id="148">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основная информация</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаТипНаименованиеExtendedTooltip" id="85"/>
<ExtendedTooltip name="ГруппаОсновнаяИнформацияРасширеннаяПодсказка" id="149"/>
<ChildItems>
<InputField name="Тип" id="70">
<DataPath>Объект.Тип</DataPath>
<Width>19</Width>
<HorizontalStretch>false</HorizontalStretch>
<TextEdit>false</TextEdit>
<BackColor>style:ФонУправляющегоПоля</BackColor>
<ContextMenu name="ТипКонтекстноеМеню" id="71"/>
<ExtendedTooltip name="ТипExtendedTooltip" id="86"/>
<Events>
<Event name="OnChange">ТипПриИзменении</Event>
<Event name="Clearing">ТипОчистка</Event>
</Events>
</InputField>
<UsualGroup name="ГруппаТипИНастройки" id="155">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип и настройки</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаТипИНастройкиРасширеннаяПодсказка" id="156"/>
<ChildItems>
<InputField name="Тип" id="70">
<DataPath>Объект.Тип</DataPath>
<Width>19</Width>
<HorizontalStretch>false</HorizontalStretch>
<TextEdit>false</TextEdit>
<BackColor>style:ФонУправляющегоПоля</BackColor>
<ContextMenu name="ТипКонтекстноеМеню" id="71"/>
<ExtendedTooltip name="ТипExtendedTooltip" id="86"/>
<Events>
<Event name="OnChange">ТипПриИзменении</Event>
<Event name="Clearing">ТипОчистка</Event>
</Events>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="Наименование" id="1">
<DataPath>Объект.Description</DataPath>
<DefaultItem>true</DefaultItem>
<Width>20</Width>
<Wrap>false</Wrap>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="НаименованиеExtendedTooltip" id="87"/>
<Events>
<Event name="Opening">НаименованиеОткрытие</Event>
</Events>
</InputField>
<InputField name="Родитель" id="11">
<DataPath>Объект.Parent</DataPath>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<ChooseType>false</ChooseType>
<TextEdit>false</TextEdit>
<ContextMenu name="РодительКонтекстноеМеню" id="12"/>
<ExtendedTooltip name="РодительExtendedTooltip" id="89"/>
<Events>
<Event name="Clearing">РодительОчистка</Event>
</Events>
</InputField>
</ChildItems>
</UsualGroup>
<InputField name="Подсказка" id="73">
<DataPath>Объект.Подсказка</DataPath>
<TitleLocation>Left</TitleLocation>
<Height>2</Height>
<MultiLine>true</MultiLine>
<ContextMenu name="ПодсказкаКонтекстноеМеню" id="74"/>
<ExtendedTooltip name="ПодсказкаExtendedTooltip" id="88"/>
</InputField>
<InputField name="Родитель" id="11">
<DataPath>Объект.Parent</DataPath>
<Wrap>false</Wrap>
<OpenButton>false</OpenButton>
<ContextMenu name="РодительКонтекстноеМеню" id="12"/>
<ExtendedTooltip name="РодительExtendedTooltip" id="89"/>
</InputField>
<UsualGroup name="ГруппаТипКонтактнойИнформации" id="63">
<Group>Horizontal</Group>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип контактной информации</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаТипКонтактнойИнформацииExtendedTooltip" id="90"/>
@ -65,16 +89,9 @@
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа тип общие для всех</v8:content>
<v8:content>Тип общие для всех</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа тип общие для всех</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>true</HorizontalStretch>
<Group>Vertical</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
@ -93,7 +110,45 @@
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="РедактированиеТолькоВДиалогеКонтекстноеМеню" id="10"/>
<ExtendedTooltip name="РедактированиеТолькоВДиалогеExtendedTooltip" id="93"/>
<Events>
<Event name="OnChange">РедактированиеТолькоВДиалогеПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="ГруппаХранитьИсториюИзменений" id="157">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Хранить историю изменений</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаХранитьИсториюИзмененийРасширеннаяПодсказка" id="158"/>
<ChildItems>
<LabelDecoration name="ОтступХранитьИсториюИзменений" id="159">
<Width>1</Width>
<ContextMenu name="ОтступХранитьИсториюИзмененийКонтекстноеМеню" id="160"/>
<ExtendedTooltip name="ОтступХранитьИсториюИзмененийРасширеннаяПодсказка" id="161"/>
</LabelDecoration>
<CheckBoxField name="ХранитьИсториюИзменений" id="162">
<DataPath>Объект.ХранитьИсториюИзменений</DataPath>
<TitleLocation>Right</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Поле контактной информации хранит не только текущее значение, но и его историю изменений на указанную дату. Для просмотра истории необходимо в контекстном меню элемента контактной информации выбрать пункт «История изменений».</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ХранитьИсториюИзмененийКонтекстноеМеню" id="163"/>
<ExtendedTooltip name="ХранитьИсториюИзмененийРасширеннаяПодсказка" id="164"/>
<Events>
<Event name="OnChange">ХранитьИсториюИзмененийПриИзменении</Event>
</Events>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<CheckBoxField name="РазрешитьВводНесколькихЗначений" id="80">
<DataPath>Объект.РазрешитьВводНесколькихЗначений</DataPath>
<TitleLocation>Right</TitleLocation>
@ -106,351 +161,219 @@
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="РазрешитьВводНесколькихЗначенийКонтекстноеМеню" id="81"/>
<ExtendedTooltip name="РазрешитьВводНесколькихЗначенийExtendedTooltip" id="94"/>
<Events>
<Event name="OnChange">РазрешитьВводНесколькихЗначенийПриИзменении</Event>
</Events>
</CheckBoxField>
<LabelDecoration name="ХранитИсториюИзменений" id="145">
<TextColor>style:ПоясняющийТекст</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Хранит историю изменений</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Поле контактной информации хранит не только текущее значение, но и его историю изменений на указанную дату. Для просмотра истории необходимо в контекстном меню элемента контактной информации выбрать пункт «История изменений».</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<ContextMenu name="ХранитИсториюИзмененийКонтекстноеМеню" id="146"/>
<ExtendedTooltip name="ХранитИсториюИзмененийРасширеннаяПодсказка" id="147"/>
</LabelDecoration>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаРазделительКолонок" id="82">
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаРазделительКолонокРасширеннаяПодсказка" id="95"/>
<ChildItems>
<LabelDecoration name="ДекорацияОтступВтораяКолонка" id="83">
<Width>1</Width>
<ContextMenu name="ДекорацияОтступВтораяКолонкаКонтекстноеМеню" id="84"/>
<ExtendedTooltip name="ДекорацияОтступВтораяКолонкаРасширеннаяПодсказка" id="96"/>
</LabelDecoration>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНаименованиеНастройкиПоТипам" id="65">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа наименование настройки по типам</v8:content>
<v8:content>Наименование настройки по типам</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа наименование настройки по типам</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>false</HorizontalStretch>
<Group>Vertical</Group>
<Representation>None</Representation>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНаименованиеНастройкиПоТипамExtendedTooltip" id="97"/>
<ChildItems>
<UsualGroup name="ГруппаВыравниваниеПоТипам" id="66">
<Pages name="Проверки" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа выравнивание по типам</v8:content>
<v8:content>Проверки</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа выравнивание по типам</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>false</HorizontalStretch>
<Group>Horizontal</Group>
<Representation>NormalSeparation</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаВыравниваниеПоТипамExtendedTooltip" id="98"/>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="ПроверкиExtendedTooltip" id="99"/>
<ChildItems>
<Pages name="Проверки" id="27">
<Page name="Адрес" id="25">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверки</v8:content>
<v8:content>Адрес</v8:content>
</v8:item>
</Title>
<ToolTip>
<ExtendedTooltip name="АдресExtendedTooltip" id="100"/>
<ChildItems>
<CheckBoxField name="ВключатьСтрануВПредставление" id="16">
<DataPath>Объект.ВключатьСтрануВПредставление</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВключатьСтрануВПредставлениеКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ВключатьСтрануВПредставлениеExtendedTooltip" id="107"/>
</CheckBoxField>
<CheckBoxField name="МеждународныйФорматАдреса" id="165">
<DataPath>Объект.МеждународныйФорматАдреса</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="МеждународныйФорматАдресаКонтекстноеМеню" id="166"/>
<ExtendedTooltip name="МеждународныйФорматАдресаРасширеннаяПодсказка" id="167"/>
<Events>
<Event name="OnChange">МеждународныйФорматАдресаПриИзменении</Event>
</Events>
</CheckBoxField>
<Button name="ДополнительныеНастройкиАдреса" id="153">
<Type>Hyperlink</Type>
<CommandName>Form.Command.ДополнительныеНастройкиАдреса</CommandName>
<ExtendedTooltip name="ДополнительныеНастройкиАдресаРасширеннаяПодсказка" id="154"/>
</Button>
</ChildItems>
</Page>
<Page name="АдресЭлектроннойПочты" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверки</v8:content>
<v8:content>Адрес электронной почты</v8:content>
</v8:item>
</ToolTip>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="ПроверкиExtendedTooltip" id="99"/>
</Title>
<ExtendedTooltip name="АдресЭлектроннойПочтыExtendedTooltip" id="108"/>
<ChildItems>
<Page name="Адрес" id="25">
<ExtendedTooltip name="АдресExtendedTooltip" id="100"/>
<ChildItems>
<CheckBoxField name="АдресТолькоРоссийский" id="13">
<DataPath>Объект.АдресТолькоРоссийский</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Только российский</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="АдресТолькоРоссийскийКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="АдресТолькоРоссийскийExtendedTooltip" id="101"/>
<Events>
<Event name="OnChange">АдресТолькоРоссийскийПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="ГруппаПроверкаАдреса" id="37">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа проверка адреса</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа проверка адреса</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПроверкаАдресаРасширеннаяПодсказка" id="102"/>
<ChildItems>
<LabelDecoration name="ДекорацияОтступ" id="38">
<Width>1</Width>
<ContextMenu name="ДекорацияОтступКонтекстноеМеню" id="39"/>
<ExtendedTooltip name="ДекорацияОтступРасширеннаяПодсказка" id="103"/>
</LabelDecoration>
<UsualGroup name="ГруппаНастройкиПроверкаАдреса" id="34">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа настройки проверка адреса</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа настройки проверка адреса</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаНастройкиПроверкаАдресаРасширеннаяПодсказка" id="104"/>
<ChildItems>
<CheckBoxField name="ПроверятьКорректностьАдреса" id="118">
<DataPath>Объект.ПроверятьКорректность</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПроверятьКорректностьАдресаКонтекстноеМеню" id="119"/>
<ExtendedTooltip name="ПроверятьКорректностьАдресаРасширеннаяПодсказка" id="120"/>
<Events>
<Event name="OnChange">ПроверятьКорректностьАдресаПриИзменении</Event>
</Events>
</CheckBoxField>
<RadioButtonField name="ПроверятьПоКлассификатору" id="121">
<DataPath>ПроверятьПоКлассификатору</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверять по</v8:content>
</v8:item>
</Title>
<TitleLocation>Left</TitleLocation>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<RadioButtonType>Auto</RadioButtonType>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ФИАС</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:decimal">0</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>КЛАДР</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:decimal">1</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПроверятьПоКлассификаторуКонтекстноеМеню" id="122"/>
<ExtendedTooltip name="ПроверятьПоКлассификаторуРасширеннаяПодсказка" id="123">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>При проверке адреса по классификатору ФИАС выполняются дополнительные проверки:
- "Округ" (между уровнями "Регион" и "Район").
- "Внутригородской район" (между уровнями "Город" и "Населенный пункт")
- Уровни дополнительных территорий (между "Улица", и номером дома или владения)
- Дома, владения, корпуса, строения и т.п.</v8:content>
</v8:item>
</Title>
</ExtendedTooltip>
</RadioButtonField>
<CheckBoxField name="СкрыватьНеактуальныеАдреса" id="61">
<DataPath>Объект.СкрыватьНеактуальныеАдреса</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СкрыватьНеактуальныеАдресаКонтекстноеМеню" id="62"/>
<ExtendedTooltip name="СкрыватьНеактуальныеАдресаExtendedTooltip" id="106"/>
</CheckBoxField>
<CheckBoxField name="УказыватьОКТМОВручную" id="129">
<DataPath>Объект.УказыватьОКТМО</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="УказыватьОКТМОВручнуюКонтекстноеМеню" id="130"/>
<ExtendedTooltip name="УказыватьОКТМОВручнуюРасширеннаяПодсказка" id="131"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<CheckBoxField name="ВключатьСтрануВПредставление" id="16">
<DataPath>Объект.ВключатьСтрануВПредставление</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВключатьСтрануВПредставлениеКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ВключатьСтрануВПредставлениеExtendedTooltip" id="107"/>
</CheckBoxField>
</ChildItems>
</Page>
<Page name="АдресЭлектроннойПочты" id="28">
<ExtendedTooltip name="АдресЭлектроннойПочтыExtendedTooltip" id="108"/>
<ChildItems>
<CheckBoxField name="ПроверятьКорректность" id="20">
<DataPath>Объект.ПроверятьКорректность</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Запрещать ввод некорректных адресов</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПроверятьКорректностьКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="ПроверятьКорректностьExtendedTooltip" id="109"/>
</CheckBoxField>
</ChildItems>
</Page>
<Page name="Телефон" id="132">
<CheckBoxField name="ПроверятьКорректность" id="20">
<DataPath>Объект.ПроверятьКорректность</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Телефон</v8:content>
<v8:content>Запрещать ввод некорректных адресов</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Телефон</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="ТелефонРасширеннаяПодсказка" id="133"/>
<ChildItems>
<CheckBoxField name="ТелефонCДобавочнымНомером" id="134">
<DataPath>Объект.ТелефонCДобавочнымНомером</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ТелефонCДобавочнымНомеромКонтекстноеМеню" id="135"/>
<ExtendedTooltip name="ТелефонCДобавочнымНомеромРасширеннаяПодсказка" id="136"/>
</CheckBoxField>
<CheckBoxField name="ПроверятьКорректность1" id="137">
<DataPath>Объект.ПроверятьКорректность</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПроверятьКорректность1КонтекстноеМеню" id="138"/>
<ExtendedTooltip name="ПроверятьКорректность1РасширеннаяПодсказка" id="139"/>
</CheckBoxField>
</ChildItems>
</Page>
<Page name="Skype" id="124">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Skype</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Skype</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="SkypeРасширеннаяПодсказка" id="125"/>
<ChildItems>
<LabelDecoration name="ДекорацияЗаглушкаSkype" id="126">
<ContextMenu name="ДекорацияЗаглушкаSkypeКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="ДекорацияЗаглушкаSkypeРасширеннаяПодсказка" id="128"/>
</LabelDecoration>
</ChildItems>
</Page>
<Page name="Другое" id="51">
<ExtendedTooltip name="ДругоеExtendedTooltip" id="110"/>
<ChildItems>
<CheckBoxField name="МногострочноеПоле" id="142">
<DataPath>Объект.МногострочноеПоле</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="МногострочноеПолеКонтекстноеМеню" id="143"/>
<ExtendedTooltip name="МногострочноеПолеРасширеннаяПодсказка" id="144"/>
</CheckBoxField>
</ChildItems>
</Page>
<Page name="Прочие" id="140">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Прочие</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Прочие</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="ПрочиеРасширеннаяПодсказка" id="141"/>
<ChildItems>
<LabelDecoration name="ДекорацияЗаглушка" id="54">
<ContextMenu name="ДекорацияЗаглушкаКонтекстноеМеню" id="55"/>
<ExtendedTooltip name="ДекорацияЗаглушкаРасширеннаяПодсказка" id="111"/>
</LabelDecoration>
</ChildItems>
</Page>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПроверятьКорректностьКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="ПроверятьКорректностьExtendedTooltip" id="109"/>
</CheckBoxField>
</ChildItems>
</Pages>
</Page>
<Page name="Телефон" id="132">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Телефон</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ТелефонРасширеннаяПодсказка" id="133"/>
<ChildItems>
<CheckBoxField name="ТелефонCДобавочнымНомером" id="134">
<DataPath>Объект.ТелефонCДобавочнымНомером</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ТелефонCДобавочнымНомеромКонтекстноеМеню" id="135"/>
<ExtendedTooltip name="ТелефонCДобавочнымНомеромРасширеннаяПодсказка" id="136"/>
</CheckBoxField>
<CheckBoxField name="ПроверятьКорректностьТелефон" id="137">
<DataPath>Объект.ПроверятьКорректность</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Запрещать ввод некорректных номеров</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПроверятьКорректностьТелефонКонтекстноеМеню" id="138"/>
<ExtendedTooltip name="ПроверятьКорректностьТелефонРасширеннаяПодсказка" id="139"/>
</CheckBoxField>
</ChildItems>
</Page>
<Page name="Skype" id="124">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Skype</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="SkypeРасширеннаяПодсказка" id="125"/>
<ChildItems>
<LabelDecoration name="ДекорацияЗаглушкаSkype" id="126">
<ContextMenu name="ДекорацияЗаглушкаSkypeКонтекстноеМеню" id="127"/>
<ExtendedTooltip name="ДекорацияЗаглушкаSkypeРасширеннаяПодсказка" id="128"/>
</LabelDecoration>
</ChildItems>
</Page>
<Page name="Другое" id="51">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Другое</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ДругоеExtendedTooltip" id="110"/>
<ChildItems>
<RadioButtonField name="ВидПоляДругое" id="150">
<DataPath>Объект.ВидПоляДругое</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид поля</v8:content>
</v8:item>
</Title>
<RadioButtonType>Auto</RadioButtonType>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Многострочное широкое</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">МногострочноеШирокое</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Однострочное широкое</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">ОднострочноеШирокое</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Однострочное узкое</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">ОднострочноеУзкое</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ВидПоляДругоеКонтекстноеМеню" id="151"/>
<ExtendedTooltip name="ВидПоляДругоеРасширеннаяПодсказка" id="152"/>
</RadioButtonField>
</ChildItems>
</Page>
<Page name="Прочие" id="140">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Прочие</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ПрочиеРасширеннаяПодсказка" id="141"/>
<ChildItems>
<LabelDecoration name="ДекорацияЗаглушка" id="54">
<ContextMenu name="ДекорацияЗаглушкаКонтекстноеМеню" id="55"/>
<ExtendedTooltip name="ДекорацияЗаглушкаРасширеннаяПодсказка" id="111"/>
</LabelDecoration>
</ChildItems>
</Page>
</ChildItems>
</UsualGroup>
</Pages>
</ChildItems>
</UsualGroup>
</ChildItems>
@ -465,12 +388,6 @@
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ПроверятьПоКлассификатору" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Проверять по классификатору</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
@ -481,5 +398,28 @@
</Type>
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ДоступныДополнительныеНастройкиАдреса" id="3">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ДополнительныеНастройкиАдреса" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дополнительные настройки адреса</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дополнительные настройки адреса</v8:content>
</v8:item>
</ToolTip>
<Action>ДополнительныеНастройкиАдреса</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -1,18 +1,20 @@

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;
Если Объект.Предопределенный Или Объект.ЗапретитьРедактированиеПользователем Тогда
Элементы.Наименование.ТолькоПросмотр = Истина;
Элементы.Родитель.ТолькоПросмотр = Истина;
Элементы.Тип.ТолькоПросмотр = Истина;
Элементы.Подсказка.ТолькоПросмотр = Истина;
Элементы.ГруппаТипОбщиеДляВсех.ТолькоПросмотр = Объект.ЗапретитьРедактированиеПользователем;
Иначе
// Обработчик подсистемы запрета редактирования реквизитов объектов.
@ -23,45 +25,78 @@
Иначе
Элементы.Родитель.ТолькоПросмотр = Истина;
Элементы.Тип.ТолькоПросмотр = Истина;
КонецЕсли;
КонецЕсли;
СсылкаРодителя = Объект.Родитель;
Элементы.ХранитьИсториюИзменений.Доступность = Объект.РедактированиеТолькоВДиалоге;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = НЕ Объект.ХранитьИсториюИзменений;
Если Не Объект.МожноИзменятьСпособРедактирования Тогда
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Ложь;
Элементы.ГруппаНаименованиеНастройкиПоТипам.Доступность = Ложь;
Иначе
Если Объект.ХранитьИсториюИзменений ИЛИ СсылкаРодителя.Пустая() ИЛИ СсылкаРодителя.Уровень() > 0 Тогда
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Ложь;
Иначе
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Истина;
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
КонецЕсли;
Элементы.ГруппаХранитьИсториюИзменений.Видимость = Ложь;
Если Объект.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
ИЛИ НЕ СсылкаРодителя.Пустая()
ИЛИ СсылкаРодителя.Уровень() = 0 Тогда
ТабличнаяЧасть = Неопределено;
РеквизитыРодителя = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаРодителя, "ИмяПредопределенныхДанных, ИмяПредопределенногоВида");
ИмяПредопределенногоВида = ?(ЗначениеЗаполнено(РеквизитыРодителя.ИмяПредопределенногоВида),
РеквизитыРодителя.ИмяПредопределенногоВида, РеквизитыРодителя.ИмяПредопределенныхДанных);
Если СтрНачинаетсяС(ИмяПредопределенногоВида, "Справочник") Тогда
ИмяОбъекта = Сред(ИмяПредопределенногоВида, СтрДлина("Справочник") + 1);
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда
ТабличнаяЧасть = Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация");
КонецЕсли;
ИначеЕсли СтрНачинаетсяС(ИмяПредопределенногоВида, "Документ") Тогда
ИмяОбъекта = Сред(ИмяПредопределенногоВида, СтрДлина("Документ") + 1);
Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда
ТабличнаяЧасть = Метаданные.Документы[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация");
КонецЕсли;
КонецЕсли;
Если ТабличнаяЧасть <> Неопределено Тогда
Если ТабличнаяЧасть.Реквизиты.Найти("ДействуетС") <> Неопределено Тогда
Элементы.ГруппаХранитьИсториюИзменений.Видимость = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Элементы.ХранитИсториюИзменений.Видимость = Объект.ХранитьИсториюИзменений;
ПроверятьПоКлассификатору = ?(Объект.ПроверятьПоФИАС, 0, 1);
ДоступныДополнительныеНастройкиАдреса = (Метаданные.Обработки.Найти("РасширенныйВводКонтактнойИнформации") <> Неопределено
И Метаданные.Обработки["РасширенныйВводКонтактнойИнформации"].Формы.Найти("НастройкиАдреса") <> Неопределено);
ЛокализацияСервер.ПриСозданииНаСервере(Элементы.Наименование);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ИзменитьОтображениеПриИзмененииТипа();
ОтобразитьДоступностьВариантовПроверкиПоКлассификатору();
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.ПроверятьПоФИАС = (ПроверятьПоКлассификатору = 0);
Если Не ТекущийОбъект.ПроверитьЗаполнение() Тогда
Отказ = Истина;
КонецЕсли;
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
КонецПроцедуры
&НаСервере
@ -75,6 +110,8 @@
КонецЕсли;
КонецЕсли;
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаСервере
@ -104,16 +141,56 @@
КонецПроцедуры
&НаКлиенте
Процедура АдресТолькоРоссийскийПриИзменении(Элемент)
Процедура РедактированиеТолькоВДиалогеПриИзменении(Элемент)
ИзменитьРеквизитыПриИзмененииТолькоРоссии();
ИзменитьОтображениеПриИзмененииТолькоРоссии();
Если Объект.РедактированиеТолькоВДиалоге Тогда
Элементы.ХранитьИсториюИзменений.Доступность = Истина;
Иначе
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
Объект.ХранитьИсториюИзменений = Ложь;
КонецЕсли;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = НЕ Объект.ХранитьИсториюИзменений;
КонецПроцедуры
&НаКлиенте
Процедура ПроверятьКорректностьАдресаПриИзменении(Элемент)
ОтобразитьДоступностьВариантовПроверкиПоКлассификатору();
Процедура ХранитьИсториюИзмененийПриИзменении(Элемент)
Если Объект.ХранитьИсториюИзменений Тогда
Объект.РазрешитьВводНесколькихЗначений = Ложь;
КонецЕсли;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Не Объект.ХранитьИсториюИзменений;
КонецПроцедуры
&НаКлиенте
Процедура РазрешитьВводНесколькихЗначенийПриИзменении(Элемент)
Если Объект.РазрешитьВводНесколькихЗначений Тогда
Объект.ХранитьИсториюИзменений = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РодительОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура МеждународныйФорматАдресаПриИзменении(Элемент)
ИзменитьОтображениеПриИзмененииТипа();
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
@ -132,6 +209,16 @@
КонецПроцедуры
&НаКлиенте
Процедура ДополнительныеНастройкиАдреса(Команда)
ОповещениеОЗакрытие = Новый ОписаниеОповещения("ПослеЗакрытияФормыНастроекАдреса", ЭтотОбъект);
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("Объект", Объект);
ПараметрыФормы.Вставить("ТолькоПросмотр", ЭтотОбъект.ТолькоПросмотр);
ИмяФормыНастройкиАдреса = "Обработка.РасширенныйВводКонтактнойИнформации.Форма.НастройкиАдреса";
ОткрытьФорму(ИмяФормыНастройкиАдреса, ПараметрыФормы,,,,, ОповещениеОЗакрытие);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -141,78 +228,65 @@
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
ИзменитьОтображениеПриИзмененииТолькоРоссии();
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.АдресЭлектроннойПочты;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Skype") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Skype;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Истина;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Телефон;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Другое") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
Элементы.ДополнительныеНастройкиАдреса.Видимость = ДоступныДополнительныеНастройкиАдреса;
Элементы.ДополнительныеНастройкиАдреса.Доступность = Не Объект.МеждународныйФорматАдреса;
Иначе
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Прочие;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.ДополнительныеНастройкиАдреса.Видимость = Ложь;
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.АдресЭлектроннойПочты;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Skype") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Skype;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
Элементы.РазрешитьВводНесколькихЗначений.Доступность = Истина;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Телефон;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Другое") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Другое;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.ВебСтраница") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Прочие;
Элементы.РедактированиеТолькоВДиалоге.Видимость = Ложь;
Элементы.ГруппаХранитьИсториюИзменений.Видимость = Ложь;
Иначе
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Прочие;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтобразитьДоступностьВариантовПроверкиПоКлассификатору()
Если Объект.ПроверятьКорректность Тогда
Элементы.ПроверятьПоКлассификатору.Доступность = Истина;
Иначе
Элементы.ПроверятьПоКлассификатору.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРеквизитыПриИзмененииТипа()
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
ИзменитьРеквизитыПриИзмененииТолькоРоссии();
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Объект.РедактированиеТолькоВДиалоге = Ложь;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
// Нет изменений
Элементы.ХранитьИсториюИзменений.Доступность = Истина;
Иначе
Объект.РедактированиеТолькоВДиалоге = Ложь;
Объект.ХранитьИсториюИзменений = Ложь;
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
Объект.РедактированиеТолькоВДиалоге = Ложь;
ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
// Нет изменений
Иначе
Объект.РедактированиеТолькоВДиалоге = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьОтображениеПриИзмененииТолькоРоссии()
Элементы.ПроверятьПоКлассификатору.Доступность = Объект.ПроверятьКорректность;
Элементы.ПроверятьКорректностьАдреса.Доступность = Объект.АдресТолькоРоссийский;
Элементы.СкрыватьНеактуальныеАдреса.Доступность = Объект.АдресТолькоРоссийский;
Элементы.УказыватьОКТМОВручную.Доступность = Объект.АдресТолькоРоссийский;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРеквизитыПриИзмененииТолькоРоссии()
Если Не Объект.АдресТолькоРоссийский Тогда
Объект.ПроверятьКорректность = Ложь;
Объект.СкрыватьНеактуальныеАдреса = Ложь;
Объект.УказыватьОКТМО = Ложь;
Процедура ПослеЗакрытияФормыНастроекАдреса(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(Объект, Результат);
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.18427"></meta></head><body>
<p>Описание свойств поля контактной информации.</p>
<p>Поставка программы осуществляется c предопределенными полями контактной информации для некоторых документов и списков. У предопределенных полей контактной информации можно только поменять  настройки, остальные реквизиты заполнены по умолчанию и защищены от редактирования.</p>
<p>Поставка программы осуществляется c предопределенными полями контактной информации для некоторых документов и списков. У предопределенных полей контактной информации можно только поменятьнастройки, остальные реквизиты заполнены по умолчанию и защищены от редактирования.</p>
<h3>Типы контактной информации</h3>
<p>Программа позволяет хранить следующие типы контактной информации:</p>
<ul><li>
@ -10,7 +10,7 @@
</li><li>
<div><strong>Адрес электронной почты</strong> - поле с таким типом контактной информации предназначено для хранения адреса электронной почты. Реквизит используется при отправке электронных писем из программы.</div>
</li><li>
<div><strong>Веб-страница</strong> - поле с таким типом контактной информации предназначено для хранения адресов веб страниц.</div>
<div><strong>Веб-страница</strong> - поле с таким типом контактной информации предназначено для хранения адресов веб страниц. Позволяет прикрепить гиперссылки на интернет-страницы, после этого ссылки будут храниться в базе с возможностью перехода по ним.</div>
</li><li>
<div><strong>Факс</strong> - поле с таким типом контактной информации предназначено для хранения номеров факсов в виде произвольной строки, или в соответствии с шаблоном ввода номера факса. Реквизит используется в печатных формах документов.</div>
</li><li>
@ -33,12 +33,12 @@
</li><li>
<div>Настройка <strong>Запрещать ввод некорректного адреса</strong> используется для полей <strong>Адрес</strong>, <strong>Телефон</strong> или <strong>Адрес электронной почты</strong>. Такая настройка позволяет запретить ввод российских адресов, телефонов или адресов электронной почты, которые заполнены не по установленным правилам.</div>
</li><li>
<div>Включите флажок <strong>Разрешить ввод нескольких значений</strong>, для того чтобы можно было ввести несколько значений. Например, у организации или физического лица может быть несколько адресов электронной почты или номеров телефонов, по которым можно с ними связаться.</div></li></ul><h3>Особенности настройки поля Адрес </h3>
<ul><li>Включите флажок <strong>Только российский</strong>, для того чтобы запретить выбор другой страны при заполнении адреса. Используйте эту возможность, если у сотрудников Вашей организации только российские адреса, это ускорит ввод информации. При этом становятся доступными дополнительные настройки:
<ul><li><strong>Запрещать ввод некорректного адреса</strong> - если флажок включен, то при некорректном вводе российского адреса невозможно будет ввести данные в программу (имеет смысл только при использовании шаблонов ввода и адресного классификатора - для использования этой возможности включите флажок <strong>Редактировать только в диалоге</strong>).
</li><li><strong>Проверять по КЛАДР</strong>;
</li><li><strong>Проверять по ФИАС</strong> - при использовании классификатора ФИАС адреса ведутся в дополнительных разрезах (например, <strong>Округ</strong>);
</li><li><strong>Скрывать неактуальные адреса</strong> - включите флажок, для того чтобы программа не показывала в списках устаревшие адреса на момент последней загрузки классификатора адреса. Такие адреса помечены в списках значком <img src="CommonPicture.КонтактнаяИнформацияНеактуально"></img>. По умолчанию флажок отключен.
<div>Включите флажок <strong>Разрешить ввод нескольких значений</strong>, для того чтобы можно было ввести несколько значений. Например, у организации или физического лица может быть несколько адресов электронной почты или номеров телефонов, по которым можно с ними связаться.</div></li></ul><h3>Международный формат адреса</h3>
<li>Для создания международного адреса (например, для валютных платежей), включите флажок <strong>Международный формат адреса</strong>, в этом случае ссылка <strong>Дополнительные настройки адреса</strong> становится недоступной.
<h3>Дополнительные настройки поля Адрес </h3>
<p>С помощью соответствующей ссылки можно перейти к дополнительным настройкам адреса:</p>
<ul><li>Включите флажок <strong>Только российский адрес</strong>, для того чтобы запретить выбор другой страны при заполнении адреса. Используйте эту возможность, если у сотрудников Вашей организации только российские адреса, это ускорит ввод информации. При этом становятся доступными дополнительные настройки:
<ul><li><strong>Запрещать ввод некорректного адреса</strong> - если флажок включен, то при некорректном вводе российского адреса невозможно будет ввести данные в программу (имеет смысл только при использовании шаблонов ввода и адресного классификатора - для использования этой возможности включите флажок <strong>Редактировать только в диалоге</strong>). Адрес проверяется по ФИАС.
</li><li><strong>Указывать ОКТМО</strong> - включите флажок, для того чтобы автоматически заполнялось поле ОКТМО. При необходимости поле можно отредактировать.</li></ul></li><li><strong>Включать страну в представление</strong> - включите флажок, для того чтобы при автоматическом составлении полного адреса в поле <strong>Адрес</strong> указывалась страна.
</li><li>Если включена возможность хранить историю изменения адреса, то в поле выводится состояние <strong>Хранит историю изменений</strong>.</li></ul><h3>Особенности настройки поля Телефон и факс</h3>
<ul><li>
@ -47,7 +47,13 @@
<div>Для некоторых типов телефонов (например, мобильный телефон) не предусмотрено добавочных номеров.</div></li></ul><h3>Особенности настройки поля Адрес электронной почты</h3>
<ul><li>Если у поля установлен тип <strong>Адрес электронной почты</strong>, то программа проверяет правильность ввода адреса электронной почты. Включите флажок <strong>Запрещать ввод некорректных адресов</strong>, в этом случае ввести некорректный адрес электронной почты будет невозможно.</li></ul><h3>Особенности настройки поля Другое</h3>
<ul><li>
<div>С помощью флажка <strong>Многострочное поле</strong> можно указать, выводить эти поля как многострочные или однострочные. Такая возможность позволяет более точно расположить поле в окне объекта.</div></li></ul><h3>См. также: </h3>
<ul><li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a>;
</li><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>;
</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
<div>С помощью переключателя можно указать <strong>Вид поля</strong>, для того чтобы более точно расположить поле в окне объекта:</div>
<ul><li>
<div><strong>Многострочное широкое</strong> - включает несколько строк;</div>
</li><li>
<div><strong>Однострочное широкое</strong> - длинная строка;</div>
</li><li>
<div><strong>Однострочное узкое</strong> - если вид контактной информации <strong>Другое</strong> используется для ввода текстовых данных небольшой длины, то размер поля ввода можно уменьшить.</div></li></ul></li></ul><h3>См. также: </h3>
<ul><li>
<div><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a>; </div></li></ul><ul><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>;
</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></li></body></html>

View File

@ -0,0 +1,824 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Catalog uuid="36d6b0e1-5e10-408a-8eb1-09839e57690f">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.ВидыПроверок" category="Object">
<xr:TypeId>da9c4b91-6f72-4c8f-8f5e-7c7b6154f790</xr:TypeId>
<xr:ValueId>60fa556b-29f7-4179-a1c1-0f41ff519d41</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ВидыПроверок" category="Ref">
<xr:TypeId>3ffba5ed-96cc-4b8a-b89c-c52671b0e490</xr:TypeId>
<xr:ValueId>a74e899e-b62c-4248-9579-a64c49b7795a</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ВидыПроверок" category="Selection">
<xr:TypeId>ed1dc262-efb5-4f7e-bf97-08d00b18477d</xr:TypeId>
<xr:ValueId>bb220ccc-4eba-4e20-b562-92b11b9bf690</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ВидыПроверок" category="List">
<xr:TypeId>ff7733d9-c6a6-462b-a542-f88be2978539</xr:TypeId>
<xr:ValueId>4a0a0a50-dedd-4df8-afa6-f413238fa033</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ВидыПроверок" category="Manager">
<xr:TypeId>4fc5986a-6a4a-4e3d-9059-c0ffdf2f93ae</xr:TypeId>
<xr:ValueId>67220b61-25c1-4c4c-ae36-459c550d6cb0</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ВидыПроверок</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Виды проверок</v8:content>
</v8:item>
</Synonym>
<Comment>Содержит проверяемые объекты, как конкретные (Ссылка на документ / справочник), так и абстрактные (Операция закрытия месяца).</Comment>
<Hierarchical>true</Hierarchical>
<HierarchyType>HierarchyFoldersAndItems</HierarchyType>
<LimitLevelCount>false</LimitLevelCount>
<LevelCount>2</LevelCount>
<FoldersOnTop>true</FoldersOnTop>
<UseStandardCommands>true</UseStandardCommands>
<Owners/>
<SubordinationUse>ToItems</SubordinationUse>
<CodeLength>9</CodeLength>
<DescriptionLength>128</DescriptionLength>
<CodeType>String</CodeType>
<CodeAllowedLength>Variable</CodeAllowedLength>
<CodeSeries>WholeCatalog</CodeSeries>
<CheckUnique>true</CheckUnique>
<Autonumbering>true</Autonumbering>
<DefaultPresentation>AsDescription</DefaultPresentation>
<StandardAttributes>
<xr:StandardAttribute name="PredefinedDataName">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Predefined">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Ref">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="DeletionMark">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="IsFolder">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Owner">
<xr:LinkByType/>
<xr:FillChecking>ShowError</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>true</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Parent">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>true</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа к которой относится вид проверок.</v8:content>
</v8:item>
</xr:ToolTip>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Входит в группу</v8:content>
</v8:item>
</xr:Synonym>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:type="xr:DesignTimeRef">Catalog.ВидыПроверок.EmptyRef</xr:FillValue>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Description">
<xr:LinkByType/>
<xr:FillChecking>ShowError</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование вида проверок.</v8:content>
</v8:item>
</xr:ToolTip>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</xr:Synonym>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
<xr:StandardAttribute name="Code">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код вида проверок.</v8:content>
</v8:item>
</xr:ToolTip>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код</v8:content>
</v8:item>
</xr:Synonym>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Characteristics/>
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
<EditType>InDialog</EditType>
<QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<InputByString>
<xr:Field>Catalog.ВидыПроверок.StandardAttribute.Description</xr:Field>
<xr:Field>Catalog.ВидыПроверок.StandardAttribute.Code</xr:Field>
</InputByString>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm>Catalog.ВидыПроверок.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultFolderForm/>
<DefaultListForm/>
<DefaultChoiceForm/>
<DefaultFolderChoiceForm/>
<AuxiliaryObjectForm/>
<AuxiliaryFolderForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<AuxiliaryFolderChoiceForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<BasedOn/>
<DataLockFields>
<xr:Field>Catalog.ВидыПроверок.Attribute.Свойство1</xr:Field>
<xr:Field>Catalog.ВидыПроверок.Attribute.Свойство2</xr:Field>
<xr:Field>Catalog.ВидыПроверок.Attribute.Свойство3</xr:Field>
<xr:Field>Catalog.ВидыПроверок.Attribute.Свойство4</xr:Field>
<xr:Field>Catalog.ВидыПроверок.Attribute.Свойство5</xr:Field>
</DataLockFields>
<DataLockControlMode>Managed</DataLockControlMode>
<FullTextSearch>Use</FullTextSearch>
<ObjectPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид проверки</v8:content>
</v8:item>
</ObjectPresentation>
<ExtendedObjectPresentation/>
<ListPresentation/>
<ExtendedListPresentation/>
<Explanation/>
<CreateOnInput>Use</CreateOnInput>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects>
<Attribute uuid="6423b849-7ca4-4501-8856-445157d7e5df">
<Properties>
<Name>Свойство1</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство1</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство №1 вида проблемы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="0819e2b0-1eb0-41b3-ab89-0974bd926fb6">
<Properties>
<Name>Свойство2</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство2</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство №2 вида проблемы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="e814287f-1c13-4f74-9507-d22a62394fd2">
<Properties>
<Name>Свойство3</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство3</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство №3 вида проблемы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="417ac987-7369-45af-b670-fdffb048f33d">
<Properties>
<Name>Свойство4</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство4</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство №4 вида проблемы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="640a5d72-dbc7-421b-afdb-cc3a4622ae04">
<Properties>
<Name>Свойство5</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство5</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойство №5 вида проблемы.</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="79da84c1-5ac2-4472-8eb9-f0484b9582c2">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.ВидыПроверок.СвойстваОбъекта" category="TabularSection">
<xr:TypeId>0ce834b5-eb99-4dcb-bd5e-dfaa949cbd7f</xr:TypeId>
<xr:ValueId>cc76a7e0-b1eb-46f9-b863-73611337868c</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.ВидыПроверок.СвойстваОбъекта" category="TabularSectionRow">
<xr:TypeId>d4f20b2f-e41e-4dbd-a3fb-b2a12e91567d</xr:TypeId>
<xr:ValueId>76c5aaef-b931-4000-93a2-a00b234c514d</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СвойстваОбъекта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Свойства объекта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ToolTip/>
<FillChecking>DontCheck</FillChecking>
<StandardAttributes>
<xr:StandardAttribute name="LineNumber">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Use>ForItem</Use>
</Properties>
<ChildObjects>
<Attribute uuid="2d0b161b-7d69-4ec4-a483-79bd458cb62c">
<Properties>
<Name>ИмяСвойства</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя свойства</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>128</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="f178bc1b-ebea-4fa9-8861-fe0d91f103e4">
<Properties>
<Name>ЗначениеСвойства</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Значение свойства</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
<v8:NumberQualifiers>
<v8:Digits>16</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>64</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,49 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// Возвращает реквизиты объекта, которые не рекомендуется редактировать
// с помощью обработки группового изменения реквизитов.
//
// Возвращаемое значение:
// Массив - список имен реквизитов объекта.
Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт
НеРедактируемыеРеквизиты = Новый Массив;
Возврат НеРедактируемыеРеквизиты;
КонецФункции
// Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов
// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
// См. ЗапретРедактированияРеквизитовОбъектовПереопределяемый.ПриОпределенииОбъектовСЗаблокированнымиРеквизитами.
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
БлокируемыеРеквизиты = Новый Массив;
Возврат БлокируемыеРеквизиты;
КонецФункции
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
#КонецОбласти
#КонецОбласти
#КонецЕсли

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" 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:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="e33a9c94-7e98-4b38-ba20-4546a90b2937">
<Properties>
<Name>ФормаЭлемента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма элемента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

Some files were not shown because too many files have changed in this diff Show More