diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form index 3404ba251..10ae5bcbf 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form @@ -2156,41 +2156,6 @@ true - - ПредопределеннаяВидимостьПоУмолчанию - - <key>ru</key> - <value>Предопределенная видимость по умолчанию</value> - - 13 - - Boolean - - - true - - - true - - - - ПредопределенноеОписание - - <key>ru</key> - <value>Предопределенное описание</value> - - 14 - - String - - - - true - - - true - - ЭтоПредопределенный diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl index 5663fd0a4..605ee9d01 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl @@ -22,19 +22,6 @@ ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект); Доступен = ?(Объект.ТолькоДляАвтора, "1", "2"); - ЭтоПредопределенный = Не Объект.Пользовательский - И (Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний - Или Объект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение) - И ЗначениеЗаполнено(Объект.ПредопределенныйВариант); - - Если ЭтоПредопределенный Тогда - ПредопределенныйВариант = Объект.ПредопределенныйВариант.ПолучитьОбъект(); - ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ПредопределенныйВариант); - - ПредопределеннаяВидимостьПоУмолчанию = ПредопределенныйВариант.ВидимостьПоУмолчанию; - ПредопределенноеОписание = ПредопределенныйВариант.Описание; - ЗаполнитьИзПредопределенного(); - КонецЕсли; ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты(); ПравоНаЭтотВариант = ПолныеПраваНаВарианты Или Объект.Автор = Пользователи.АвторизованныйПользователь(); @@ -104,11 +91,20 @@ &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) // Запись свойств, связанных с предопределенным вариантом отчета. + ОписаниеИзменено = Ложь; Если ЭтоПредопределенный Тогда + + ПредопределенныйВариант = ТекущийОбъект.ПредопределенныйВариант.ПолучитьОбъект(); + ЛокализацияСервер.ПриЧтенииПредставленийНаСервере(ПредопределенныйВариант); + ТекущийОбъект.ВидимостьПоУмолчаниюПереопределена = - Объект.ВидимостьПоУмолчанию <> ПредопределеннаяВидимостьПоУмолчанию; - Если Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) = НРег(СокрЛП(ПредопределенноеОписание)) Тогда + Объект.ВидимостьПоУмолчанию <> ПредопределенныйВариант.ВидимостьПоУмолчанию; + ОписаниеИзменено = Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) <> НРег(СокрЛП(ПредопределенныйВариант.Описание)); + Если Не ОписаниеИзменено Тогда ТекущийОбъект.Описание = ""; + Для каждого ПредставлениеВарианта Из ТекущийОбъект.Представления Цикл + ПредставлениеВарианта.Описание = ""; + КонецЦикла; КонецЕсли; КонецЕсли; @@ -122,13 +118,16 @@ ВариантыОтчетов.ДеревоПодсистемЗаписать(ТекущийОбъект, ИзмененныеРазделы); ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект); + Если ЭтоПредопределенный И Не ОписаниеИзменено Тогда + ТекущийОбъект.Представления.Очистить(); + КонецЕсли; КонецПроцедуры &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) ПерезаполнитьДерево(Ложь); - ЗаполнитьИзПредопределенного(); + ЗаполнитьИзПредопределенного(ТекущийОбъект); ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект); КонецПроцедуры @@ -148,6 +147,7 @@ КонецЕсли; // Конец СтандартныеПодсистемы.УправлениеДоступом + ЗаполнитьИзПредопределенного(ТекущийОбъект); ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект); КонецПроцедуры @@ -216,18 +216,36 @@ КонецФункции &НаСервере -Процедура ЗаполнитьИзПредопределенного() +Процедура ЗаполнитьИзПредопределенного(ВариантОбъект) + ЭтоПредопределенный = Не ВариантОбъект.Пользовательский + И (ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний + Или ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение) + И ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант); Если Не ЭтоПредопределенный Тогда Возврат; КонецЕсли; - Если Объект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда - Объект.ВидимостьПоУмолчанию = ПредопределеннаяВидимостьПоУмолчанию; + ПредопределенныйВариант = ВариантОбъект.ПредопределенныйВариант.ПолучитьОбъект(); + Если ВариантОбъект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда + ВариантОбъект.ВидимостьПоУмолчанию = ПредопределенныйВариант.ВидимостьПоУмолчанию; КонецЕсли; - Если ПустаяСтрока(Объект.Описание) Тогда - Объект.Описание = ПредопределенноеОписание; + ВариантОбъект.Наименование = ПредопределенныйВариант.Наименование; + + ПредставленияВарианта = ВариантОбъект.Представления.Выгрузить(); + ВариантОбъект.Представления.Очистить(); + ВариантОбъект.Представления.Загрузить(ПредопределенныйВариант.Представления.Выгрузить()); + + Если ПустаяСтрока(ВариантОбъект.Описание) Тогда + ВариантОбъект.Описание = ПредопределенныйВариант.Описание; + Иначе + ВариантОбъект.Представления.Сортировать("КодЯзыка"); + ПредставленияВарианта.Сортировать("КодЯзыка"); + Для каждого ПредставлениеВарианта Из ВариантОбъект.Представления Цикл + ОписаниеВарианта = ПредставленияВарианта.Найти(ПредставлениеВарианта.КодЯзыка, "КодЯзыка"); + ПредставлениеВарианта.Описание = ОписаниеВарианта.Описание; + КонецЦикла; КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl index 4615f5f7b..8d8cd5f38 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl @@ -49,13 +49,18 @@ ИЛИ НЕ СсылкаРодителя.Пустая() ИЛИ СсылкаРодителя.Уровень() = 0 Тогда ТабличнаяЧасть = Неопределено; - Если СтрНачинаетсяС(СсылкаРодителя.ИмяПредопределенныхДанных, "Справочник") Тогда - ИмяОбъекта = Сред(СсылкаРодителя.ИмяПредопределенныхДанных, 11); + + РеквизитыРодителя = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаРодителя, "ИмяПредопределенныхДанных, ИмяПредопределенногоВида"); + ИмяПредопределенногоВида = ?(ЗначениеЗаполнено(РеквизитыРодителя.ИмяПредопределенногоВида), + РеквизитыРодителя.ИмяПредопределенногоВида, РеквизитыРодителя.ИмяПредопределенныхДанных); + + Если СтрНачинаетсяС(ИмяПредопределенногоВида, "Справочник") Тогда + ИмяОбъекта = Сред(ИмяПредопределенногоВида, 11); Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда ТабличнаяЧасть = Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация"); КонецЕсли; - ИначеЕсли СтрНачинаетсяС(СсылкаРодителя.ИмяПредопределенныхДанных, "Документ") Тогда - ИмяОбъекта = Сред(СсылкаРодителя.ИмяПредопределенныхДанных, 9); + ИначеЕсли СтрНачинаетсяС(ИмяПредопределенногоВида, "Документ") Тогда + ИмяОбъекта = Сред(ИмяПредопределенногоВида, 9); Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда ТабличнаяЧасть = Метаданные.Документы[ИмяОбъекта].ТабличныеЧасти.Найти("КонтактнаяИнформация"); КонецЕсли; diff --git a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl index 4e3329f59..c03150466 100644 --- a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl @@ -71,8 +71,8 @@ | СправочникГрафикиРаботы.ГоризонтПланирования КАК ГоризонтПланирования, | СправочникГрафикиРаботы.ДатаОкончания КАК ДатаОкончания, | СправочникГрафикиРаботы.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь, - | ДанныеГрафиков.ДатаЗаполненности КАК ДатаЗаполненности, - | ДанныеПроизводственныхКалендарей.ДатаЗаполненности КАК ДатаЗаполненностиПроизводственногоКалендаря + | ЕСТЬNULL(ДанныеГрафиков.ДатаЗаполненности, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаЗаполненности, + | ЕСТЬNULL(ДанныеПроизводственныхКалендарей.ДатаЗаполненности, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаЗаполненностиПроизводственногоКалендаря |ИЗ | Справочник.Календари КАК СправочникГрафикиРаботы | ЛЕВОЕ СОЕДИНЕНИЕ ВТДатыЗаполненностиГрафиков КАК ДанныеГрафиков diff --git a/SSL/src/Catalogs/Календари/ObjectModule.bsl b/SSL/src/Catalogs/Календари/ObjectModule.bsl index 1c724da80..c8bf27a57 100644 --- a/SSL/src/Catalogs/Календари/ObjectModule.bsl +++ b/SSL/src/Catalogs/Календари/ObjectModule.bsl @@ -10,6 +10,15 @@ #Область ОбработчикиСобытий +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + Если ЗначениеЗаполнено(ДатаОкончания) И ДатаОкончания < ДатаНачала Тогда + ТекстСообщения = НСтр("ru = 'Дата окончания меньше даты начала. Скорее всего, дата окончания заполнена неверно.'"); + ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Ссылка, , , Отказ); + КонецЕсли; + +КонецПроцедуры + Процедура ПередЗаписью(Отказ) Если ОбменДанными.Загрузка Тогда diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form index 523dcc44e..0a6b2df76 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form @@ -446,6 +446,10 @@ <items xsi:type="form:FormField"> <name>ОбщиеНаборыСвойствПредставление</name> <id>436</id> + <title> + <key>ru</key> + <value>Представление</value> + true true diff --git a/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html b/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html index 25a34892e..c2e2075e9 100644 --- a/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html +++ b/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html @@ -1,6 +1,6 @@

Выводит варианты отчетов, размещенные в разделе или группах раздела программы.

-

Открыть панель отчетов можно по соответствующей команде из раздела программы.

+

Открыть панель отчетов можно по соответствующей команде из разделов программы, например, в разделе Администрирование - Обслуживание - Отчеты и обработки предусмотрена команда Отчеты администратора.

Панель отчетов позволяет работать с отчетами из одного места и группирует варианты отчетов по группам командного интерфейса. Работа с панелью отчетов ведется в двух режимах:

Режим просмотра

@@ -9,7 +9,7 @@
  • Нажмите Настройка или клавишу F2, для того чтобы перейти в режим настройки панели отчетов.
  • Поиск отчетов

    +
  • Эти группы можно настроить в списке всех отчетов, к которому можно перейти по команде Все отчеты.
  • Нажмите Настройка или клавишу F2, для того чтобы перейти в режим настройки панели отчетов.
  • Поиск отчетов

    Поиск доступен как в режиме просмотра, так и в режиме настройки.