diff --git a/src/cf/Catalogs/узКонстанты.xml b/src/cf/Catalogs/узКонстанты.xml new file mode 100644 index 000000000..5a60e0d0b --- /dev/null +++ b/src/cf/Catalogs/узКонстанты.xml @@ -0,0 +1,156 @@ + + + + + + 00c27174-d8aa-4ec9-bb9a-ae704a9e126b + 6ea9c259-2e79-41d7-80e3-57cd52eae43e + + + ce9815e6-50e4-48fe-98d2-084c98aafe75 + e1472d55-5d02-4023-ba4a-8a2c0ce069f8 + + + 65c0797d-b6b9-4d70-943a-7656632b0287 + b94acb32-086d-421c-bb63-1739ff51c1e4 + + + 68258734-4782-4f18-8245-de48e0adb093 + 3fcf647c-840e-4f49-acb4-b3a6adec8ac9 + + + 981d1e15-759d-410a-ae12-9130abe3bb40 + cdb5825e-ad96-4fd2-91d0-50191b3e19cd + + + + узКонстанты + + + ru + Константы + + + + true + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.узКонстанты.StandardAttribute.Description + Catalog.узКонстанты.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + + + + + + 39810dde-56b4-422a-b62b-04b71b83d9f0 + b36a84c5-e48c-4589-8ff9-cc05f3e67bbe + + + 71b32f5f-2f24-4d8d-a25d-bca3d87679a8 + 5d6f1256-b6bd-4c71-b447-8701a093a6f1 + + + + ТЧЗначения + + + ru + ТЧЗначения + + + + + DontCheck + ForItem + + + + + ЛевоеЗначение + + + ru + Левое значение + + + + + xs:string + + 150 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + + + + + + + \ No newline at end of file diff --git a/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl b/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl new file mode 100644 index 000000000..374d68d97 --- /dev/null +++ b/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl @@ -0,0 +1,52 @@ +Функция ПолучитьМассивЗначенийКонстанты(ИмяКонстанты,ТипКонстанты,РеквизитТЧЗначения = "ЛевоеЗначение",Отказ = Ложь, ВыдаватьСообщенияОбОшибках = Истина) Экспорт + МассивЗначенийКонстанты = Неопределено; + + пКонстанта = ПредопределенноеЗначение("Справочник.узКонстанты."+ИмяКонстанты); + + Если ТипЗнч(ТипКонстанты) = Тип("Строка") Тогда + ТипКонстанты = Тип(ТипКонстанты); + Конецесли; + + пТЧЗначения = пКонстанта.ТЧЗначения; + Если пТЧЗначения.Количество() = 0 Тогда + Если ВыдаватьСообщенияОбОшибках Тогда + Сообщить("Ошибка! Не заполнена ТЧЗначения """+ИмяКонстанты+""", в константах"); + КонецЕсли; + Отказ = Истина; + Возврат МассивЗначенийКонстанты; + Иначе + МассивЗначенийКонстанты = Новый Массив(); + Конецесли; + + МассивОшибок = Новый Массив(); + + Для каждого СтрокаТЧЗначения из пТЧЗначения цикл + мЗначениеКонстанты = СтрокаТЧЗначения[РеквизитТЧЗначения]; + Если мЗначениеКонстанты = Неопределено + ИЛИ НЕ ЗначениеЗаполнено(мЗначениеКонстанты) Тогда + МассивОшибок.Добавить("Ошибка! не заполнен элемент в ТЧЗначения """+ИмяКонстанты+""", в константах"); + Отказ = Истина; + Продолжить; + Конецесли; + Если ТипЗнч(мЗначениеКонстанты) <> ТипКонстанты Тогда + МассивОшибок.Добавить("Ошибка! указан неверный тип для элемента """+ИмяКонстанты+""", в константах" + +" должен быть тип ["+ТипКонстанты+"]"); + Отказ = Истина; + Продолжить; + Конецесли; + МассивЗначенийКонстанты.Добавить(мЗначениеКонстанты); + Конеццикла; + + Если НЕ ЗначениеЗаполнено(МассивЗначенийКонстанты) Тогда + МассивОшибок.Добавить("Ошибка! Не заполнена ТЧЗначения """+ИмяКонстанты+""", в константах"); + Отказ = Истина; + Конецесли; + + Если ВыдаватьСообщенияОбОшибках Тогда + Для каждого ЭлМассиваОшибок из МассивОшибок цикл + Сообщить(ЭлМассиваОшибок); + Конеццикла; + Конецесли; + + Возврат МассивЗначенийКонстанты; +КонецФункции diff --git a/src/cf/Catalogs/узКонстанты/Ext/Predefined.xml b/src/cf/Catalogs/узКонстанты/Ext/Predefined.xml new file mode 100644 index 000000000..fce88d412 --- /dev/null +++ b/src/cf/Catalogs/узКонстанты/Ext/Predefined.xml @@ -0,0 +1,9 @@ + + + + СписокАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений + 000000001 + Список адресов электронной почты для отправки системных уведомлений + false + + \ No newline at end of file diff --git a/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form.xml b/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form.xml index dea03d065..245154303 100644 --- a/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form.xml +++ b/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form.xml @@ -71,6 +71,72 @@ узИспользоватьСвоиЦветаДляЗадачПриИзменении + + false + false + true + true + true + узКонстанты + узКонстанты.DefaultPicture + false + 60 + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + Items + false + + true + false + Auto + + + false + + + + + узКонстанты + SearchStringRepresentation + + + + + + + узКонстанты + ViewStatusRepresentation + + + + + + + узКонстанты + SearchControl + + + + + + КонстантыПередНачаломДобавления + + + + узКонстанты.Description + + + + + узКонстанты.Code + + + + +
@@ -106,5 +172,37 @@ xs:boolean + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Константы</v8:content> + </v8:item> + + + cfg:DynamicList + + + false + true + Catalog.узКонстанты + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + + + \ No newline at end of file diff --git a/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form/Module.bsl b/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form/Module.bsl index 4a1a78167..fb3ed231c 100644 --- a/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form/Module.bsl +++ b/src/cf/CommonForms/узНастройкиУправленияЗадачами/Ext/Form/Module.bsl @@ -14,12 +14,12 @@ &НаСервере Процедура узИспользоватьУчетВремениПриИзмененииНаСервере() - Константы.узИспользоватьУчетВремени.Установить(узИспользоватьУчетВремени); + узКонстанты.узИспользоватьУчетВремени.Установить(узИспользоватьУчетВремени); КонецПроцедуры &НаСервере Процедура узИспользоватьВопросыИОтветыПриИзмененииНаСервере() - Константы.узИспользоватьВопросыИОтветы.Установить(узИспользоватьВопросыИОтветы); + узКонстанты.узИспользоватьВопросыИОтветы.Установить(узИспользоватьВопросыИОтветы); КонецПроцедуры &НаКлиенте @@ -37,5 +37,10 @@ &НаСервере Процедура узИспользоватьСвоиЦветаДляЗадачПриИзмененииНаСервере() - Константы.узИспользоватьСвоиЦветаДляЗадач.Установить(узИспользоватьСвоиЦветаДляЗадач); + узКонстанты.узИспользоватьСвоиЦветаДляЗадач.Установить(узИспользоватьСвоиЦветаДляЗадач); КонецПроцедуры + +&НаКлиенте +Процедура КонстантыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Отказ = Истина; +КонецПроцедуры diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 752b2491d..6f785c4e1 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -1232,6 +1232,7 @@ узСпринты узИдентификаторыОбъектовМетаданныхКонфигурации узИсторияКонфигураций + узКонстанты Встреча ЗапланированноеВзаимодействие СообщениеSMS diff --git a/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl index 65c42d924..1655a231b 100644 --- a/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl +++ b/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl @@ -1,5 +1,6 @@ Перем мТЗПоискКэш; Перем мТЗСвойстваМетаданных; +Перем мМассивАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений; Функция ЗагрузитьИзмененияИзХранилища(АдресФайлаПолученныйНаКлиенте = Неопределено,ФайлВыгрузкиИзменений = Неопределено) Экспорт СоздатьСтруктурумТЗПоискКэш(); @@ -420,17 +421,26 @@ Перем пЗадача; пКомментарий = СокрЛП(СтрокаТЗИсторияХранилища.Комментарий); - Если НЕ ЗначениеЗаполнено(пКомментарий) Тогда - ОтправитьУведомлениеОТомЧтоНезаполненКомментарийИлиНетУказанияЗадачи(СтрокаТЗИсторияХранилища); + Если НЕ ЗначениеЗаполнено(пКомментарий) Тогда + ТекстОшибки = "Ошибка! Не заполнен комментарий в хранилище"; + ОтправитьУведомлениеОшибкаВКомментарииХранилища(ТекстОшибки,СтрокаТЗИсторияХранилища); Возврат пЗадача; Конецесли; ПозРешетки = СтрНайти(пКомментарий,"#"); Если ПозРешетки = 0 Тогда - ОтправитьУведомлениеОТомЧтоНезаполненКомментарийИлиНетУказанияЗадачи(СтрокаТЗИсторияХранилища); + ТекстОшибки = "Ошибка! В комментарии не указан номер задачи. Необходимо указать #НомерЗадачи"; + ОтправитьУведомлениеОшибкаВКомментарииХранилища(ТекстОшибки,СтрокаТЗИсторияХранилища); Возврат пЗадача; Конецесли; + КоличествоУказанныхЗадач = СтрЧислоВхождений(пКомментарий,"#"); + Если КоличествоУказанныхЗадач > 1 Тогда + ТекстОшибки = "Ошибка! В комментарии можно указывать только один номер задачи. В будущем всегда разбивайте помещения объектов в хранилище на отдельные задачи."; + ОтправитьУведомлениеОшибкаВКомментарииХранилища(ТекстОшибки,СтрокаТЗИсторияХранилища); + Возврат пЗадача; + Конецесли; + ДлинаСтроки = СтрДлина(пКомментарий); НомерСимвола = ПозРешетки + 1; НомерЗадачи = ""; @@ -458,15 +468,24 @@ Возврат пЗадача; КонецФункции -Процедура ОтправитьУведомлениеОТомЧтоНезаполненКомментарийИлиНетУказанияЗадачи(СтрокаТЗИсторияХранилища) +Процедура ОтправитьУведомлениеОшибкаВКомментарииХранилища(ТекстОшибки,СтрокаТЗИсторияХранилища) пПользовательКому = узОбщийМодульСервер.ПолучитьПользователяПоПользователюХранилища(СтрокаТЗИсторияХранилища.ПользовательХранилища); - Если НЕ ЗначениеЗаполнено(пПользовательКому) Тогда + МассивПользователейКому = Новый Массив(); + Если ЗначениеЗаполнено(пПользовательКому) Тогда + МассивПользователейКому.Добавить(пПользовательКому); + Конецесли; + + Для каждого ЭлМассиваАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений из мМассивАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений цикл + МассивПользователейКому.Добавить(ЭлМассиваАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений); + Конеццикла; + + Если МассивПользователейКому.Количество() = 0 Тогда Возврат; Конецесли; - пТемаПисьма = "Ошибка! Не заполнен номер задачи в комментарии в хранилище"; + пТемаПисьма = ТекстОшибки; пТекстПисьма = пТемаПисьма +" | версия ["+СтрокаТЗИсторияХранилища.Версия+"] @@ -478,7 +497,7 @@ ДопПараметры.Вставить("ВажностьЗадачи",Перечисления.ВариантыВажностиЗадачи.Высокая); ДопПараметры.Вставить("ТекстПисьма",пТекстПисьма); ДопПараметры.Вставить("ТемаПисьма",пТемаПисьма); - ДопПараметры.Вставить("ПользовательКому",пПользовательКому); + ДопПараметры.Вставить("МассивПользователейКому",МассивПользователейКому); узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры); КонецПроцедуры @@ -603,4 +622,8 @@ Функция ВЗначенииЯчейкиЕстьПодстрока(ЗначениеЯчейки,ПодстрокаПоиска) Возврат СтрНайти(НРЕГ(ЗначениеЯчейки),НРЕГ(ПодстрокаПоиска))>0; -КонецФункции \ No newline at end of file +КонецФункции + + +мМассивАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений = Справочники.узКонстанты.ПолучитьМассивЗначенийКонстанты("СписокАдресовЭлектроннойПочтыДляОтправкиСистемныхУведомлений" + ,Тип("Строка"),,Ложь,Ложь); \ No newline at end of file diff --git a/src/cf/Roles/ПолныеПрава/Ext/Rights.xml b/src/cf/Roles/ПолныеПрава/Ext/Rights.xml index a1717058b..1056b6bd5 100644 --- a/src/cf/Roles/ПолныеПрава/Ext/Rights.xml +++ b/src/cf/Roles/ПолныеПрава/Ext/Rights.xml @@ -3494,6 +3494,25 @@ false + + Catalog.узКонстанты + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + InformationRegister.УдалитьСтраныМира.Dimension.ОбластьДанных diff --git a/src/cf/Roles/узПолныеПрава/Ext/Rights.xml b/src/cf/Roles/узПолныеПрава/Ext/Rights.xml index 4abc8cf87..b0eff260a 100644 --- a/src/cf/Roles/узПолныеПрава/Ext/Rights.xml +++ b/src/cf/Roles/узПолныеПрава/Ext/Rights.xml @@ -7038,6 +7038,53 @@ true + + Catalog.узКонстанты + + Read + true + + + Insert + true + + + Update + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InputByString + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + Report.ИспользуемыеВнешниеРесурсы diff --git a/src/cf/Roles/узПользователь/Ext/Rights.xml b/src/cf/Roles/узПользователь/Ext/Rights.xml index f82bdd1c2..e631ce727 100644 --- a/src/cf/Roles/узПользователь/Ext/Rights.xml +++ b/src/cf/Roles/узПользователь/Ext/Rights.xml @@ -4222,6 +4222,21 @@ true + + Catalog.узКонстанты + + Read + true + + + View + true + + + InputByString + true + + Report.ИспользуемыеВнешниеРесурсы diff --git a/src/cf/Subsystems/узУправлениеЗадачами.xml b/src/cf/Subsystems/узУправлениеЗадачами.xml index cc7ff942d..2c4cc5bae 100644 --- a/src/cf/Subsystems/узУправлениеЗадачами.xml +++ b/src/cf/Subsystems/узУправлениеЗадачами.xml @@ -71,6 +71,7 @@ Enum.узОформлениеТекста FunctionalOption.узИспользоватьСвоиЦветаДляЗадач Constant.узИспользоватьСвоиЦветаДляЗадач + Catalog.узКонстанты diff --git a/src/cf/Subsystems/узУправлениеЗадачами/Ext/CommandInterface.xml b/src/cf/Subsystems/узУправлениеЗадачами/Ext/CommandInterface.xml index c1bbae6ec..c2b5a86bd 100644 --- a/src/cf/Subsystems/узУправлениеЗадачами/Ext/CommandInterface.xml +++ b/src/cf/Subsystems/узУправлениеЗадачами/Ext/CommandInterface.xml @@ -16,6 +16,11 @@ false + + + false + + false