diff --git a/src/cf/Catalogs/узВопросыОтветы/Ext/ObjectModule.bsl b/src/cf/Catalogs/узВопросыОтветы/Ext/ObjectModule.bsl
index c57b84dc9..a4f7faa87 100644
--- a/src/cf/Catalogs/узВопросыОтветы/Ext/ObjectModule.bsl
+++ b/src/cf/Catalogs/узВопросыОтветы/Ext/ObjectModule.bsl
@@ -33,9 +33,39 @@
СтрокаТЗСобытия.ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ЗакрытВопрос");
Конецесли;
+ Если ИзмененОтвет() Тогда
+ СтрокаТЗСобытия = ТЗСобытия.Добавить();
+ СтрокаТЗСобытия.ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененОтвет");
+ КонецЕсли;
+
+ Если ИзмененВопрос() Тогда
+ СтрокаТЗСобытия = ТЗСобытия.Добавить();
+ СтрокаТЗСобытия.ВидСобытия = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененВопрос");
+ КонецЕсли;
+
Возврат ТЗСобытия;
КонецФункции
+Функция ИзмененОтвет()
+ пИзмененОтвет = Ложь;
+
+ Если Ссылка.Ответ <> Ответ Тогда
+ пИзмененОтвет = Истина;
+ КонецЕсли;
+
+ Возврат пИзмененОтвет;
+КонецФункции
+
+Функция ИзмененВопрос()
+ пИзмененВопрос = Ложь;
+
+ Если Ссылка.Вопрос <> Вопрос Тогда
+ пИзмененВопрос = Истина;
+ КонецЕсли;
+
+ Возврат пИзмененВопрос;
+КонецФункции
+
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
@@ -48,6 +78,10 @@
РегистрацияАктивностиПользователя(ДополнительныеСвойства.ТЗСобытия,Отказ);
+ // + #179 SZ 2020-06-07
+ ОтправитьУведомлениеНаПочту(ДополнительныеСвойства.ТЗСобытия);
+ // - #179 SZ 2020-06-07
+
ДополнительныеСвойства.Удалить("ТЗСобытия");
КонецПроцедуры
@@ -56,3 +90,196 @@
ВТДопПараметры.Вставить("ТЗСобытия",ТЗСобытия);
РегистрыСведений.узАктивностиПользователей.ДобавитьАктивностьПользователя(ЭтотОбъект,ВТДопПараметры,Отказ);
КонецПроцедуры
+
+// + #179 SZ 2020-06-07
+Процедура ОтправитьУведомлениеНаПочту(СобытияВИстории) Экспорт
+
+ ВсегоСобытий = СобытияВИстории.Количество();
+
+ Если ВсегоСобытий = 0 Тогда
+ Возврат;
+ КонецЕсли;
+
+ Для Каждого СтрСобытияВИстории из СобытияВИстории Цикл
+
+ ОтправитьУведомлениеНаПочтуПоВидуСобытия(СобытияВИстории, СтрСобытияВИстории.ВидСобытия);
+
+ КонецЦикла;
+
+КонецПроцедуры // - #179 SZ 2020-06-07
+
+// + #179 SZ 2020-06-07
+Процедура ОтправитьУведомлениеНаПочтуПоВидуСобытия(СобытияВИстории, ВидСобытия)
+
+ ПараметрыПисьма = ПолучитьПараметрыПисьмаПоСобытию(ВидСобытия);
+
+ ДопПараметры = Новый Структура();
+ ДопПараметры.Вставить("ТекстПисьма",ПараметрыПисьма.ТекстПисьма);
+ ДопПараметры.Вставить("ТемаПисьма",ПараметрыПисьма.ТемаПисьма);
+ ДопПараметры.Вставить("ВажностьЗадачи",ПараметрыПисьма.ВажностьЗадачи);
+
+ ТекПользователь = Пользователи.ТекущийПользователь();
+ Исполнитель = ПредопределенноеЗначение("Справочник.Пользователи.ПустаяСсылка");
+
+ МассивНаблюдателей = Новый Массив();
+ Если ЗначениеЗаполнено(Задача) Тогда
+ МассивНаблюдателей = РегистрыСведений.узНаблюдателиЗаЗадачами.ПолучитьМассивНаблюдателей(Задача);
+ Исполнитель = Задача.Исполнитель;
+ КонецЕсли;
+
+ МассивПользователейКомуПредварительный = Новый Массив();
+ МассивПользователейКомуПредварительный.Добавить(Автор);
+ МассивПользователейКомуПредварительный.Добавить(Исполнитель);
+ МассивПользователейКомуПредварительный.Добавить(КтоМожетОтветить);
+ Для каждого пНаблюдатель из МассивНаблюдателей Цикл
+ МассивПользователейКомуПредварительный.Добавить(пНаблюдатель);
+ КонецЦикла;
+
+ МассивПользователейКому = Новый Массив();
+
+ Для каждого пПользовательПредв из МассивПользователейКомуПредварительный Цикл
+
+ Если НЕ ЗначениеЗаполнено(пПользовательПредв) Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Если пПользовательПредв.узНеОтправлятьУведомленияНаПочту Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Если пПользовательПредв = ТекПользователь
+ И НЕ пПользовательПредв.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
+ Продолжить;
+ КонецЕсли;
+
+ МассивПользователейКому.Добавить(пПользовательПредв);
+ КонецЦикла;
+
+ ДопПараметры.Вставить("МассивПользователейКому",МассивПользователейКому);
+
+ узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
+
+КонецПроцедуры // - #179 SZ 2020-06-07
+
+Функция ПолучитьПараметрыПисьмаПоСобытию(ВидСобытия)
+
+ ТемаПисьма = "";
+ ТекстПисьма = "";
+ ВажностьЗадачи = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Обычная");
+
+ ПараметрыПисьма = Новый Структура();
+ ПараметрыПисьма.Вставить("ТемаПисьма",ТемаПисьма);
+ ПараметрыПисьма.Вставить("ТекстПисьма",ТекстПисьма);
+ ПараметрыПисьма.Вставить("ВажностьЗадачи",ВажностьЗадачи);
+
+ ЗаполненаЗадача = Ложь;
+ НомерЗадачи = "";
+ ПредставлениеЗадачи = "";
+ Если ЗначениеЗаполнено(Задача) Тогда
+ ЗаполненаЗадача = Истина;
+ ВажностьЗадачи = Задача.Важность;
+ НомерЗадачи = ""+Формат(Задача.Код,"ЧГ=0");
+ ПредставлениеЗадачи = "#" + НомерЗадачи + " " + Задача.Наименование;
+ КонецЕсли;
+
+ ТемаПисьма = "Изменения по вопросу";
+ ТекстПисьма = "Изменения по вопросу ";
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ Если ВидСобытия = Перечисления.узВидыСобытий.ДобавленВопрос Тогда
+
+ ТемаПисьма = "Новый вопрос ";
+
+ ТекстПисьма = "" + Автор + " задал вопрос к " + КтоМожетОтветить;
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+
+ Если ЗаполненаЗадача Тогда
+
+ ТемаПисьма = "Новый вопрос к задаче " + ПредставлениеЗадачи;
+
+ ТекстПисьма = "К задаче " + ПредставлениеЗадачи + " " + Автор + " задал вопрос " + КтоМожетОтветить;
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+
+ КонецЕсли
+
+ ИначеЕсли ВидСобытия = Перечисления.узВидыСобытий.ИзмененОтвет Тогда
+
+ ТемаПисьма = "Изменен ответ ";
+
+ ТекстПисьма = "Изменен ответ ";
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ Если ЗаполненаЗадача Тогда
+
+ ТемаПисьма = "Изменен ответ по вопросу к задаче " + ПредставлениеЗадачи;
+
+ ТекстПисьма = "Изменен ответ по вопросу к задаче " + ПредставлениеЗадачи;
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ КонецЕсли
+
+ ИначеЕсли ВидСобытия = Перечисления.узВидыСобытий.ИзмененВопрос Тогда
+
+ ТемаПисьма = "Изменен вопрос ";
+
+ ТекстПисьма = "Изменен вопрос ";
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ Если ЗаполненаЗадача Тогда
+
+ ТемаПисьма = "Изменен вопрос к задаче " + ПредставлениеЗадачи;
+
+ ТекстПисьма = "Изменен вопрос к задаче " + ПредставлениеЗадачи;
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ КонецЕсли
+
+ ИначеЕсли ВидСобытия = Перечисления.узВидыСобытий.ЗакрытВопрос Тогда
+
+ ТемаПисьма = "Вопрос закрыт";
+
+ ТекстПисьма = "Вопрос закрыт";
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ Если ЗаполненаЗадача Тогда
+
+ ТемаПисьма = "Вопрос закрыт к задаче " + ПредставлениеЗадачи;
+ ТекстПисьма = "Вопрос закрыт к задаче " + ПредставлениеЗадачи;
+
+ ДобавитьВТекстПисьмаВопрос(ТекстПисьма);
+ ДобавитьВТекстПисьмаОтвет(ТекстПисьма);
+
+ КонецЕсли
+
+ Иначе
+ ТекстОшибки = "Ошибка! нет алгоритма для " + ВидСобытия;
+ ВызватьИсключение ТекстОшибки;
+ КонецЕсли;
+
+ ПараметрыПисьма.ТемаПисьма = ТемаПисьма;
+ ПараметрыПисьма.ТекстПисьма = ТекстПисьма;
+ ПараметрыПисьма.ВажностьЗадачи = ВажностьЗадачи;
+
+ Возврат ПараметрыПисьма;
+КонецФункции
+
+Процедура ДобавитьВТекстПисьмаВопрос(ТекстПисьма)
+
+ ТекстПисьма = ТекстПисьма + Символы.ПС + "Вопрос: "
+ + Символы.ПС + Вопрос + Символы.ПС;
+
+КонецПроцедуры
+
+Процедура ДобавитьВТекстПисьмаОтвет(ТекстПисьма)
+
+ ТекстПисьма = ТекстПисьма + Символы.ПС + "Ответ: "
+ + Символы.ПС + Ответ + Символы.ПС;
+
+КонецПроцедуры
+
diff --git a/src/cf/Catalogs/узВопросыОтветы/Forms/ФормаЭлемента/Ext/Form/Module.bsl b/src/cf/Catalogs/узВопросыОтветы/Forms/ФормаЭлемента/Ext/Form/Module.bsl
index e8743d6d6..2048fe0d9 100644
--- a/src/cf/Catalogs/узВопросыОтветы/Forms/ФормаЭлемента/Ext/Form/Module.bsl
+++ b/src/cf/Catalogs/узВопросыОтветы/Forms/ФормаЭлемента/Ext/Form/Module.bsl
@@ -27,8 +27,6 @@
// Объект.Наименование = Объект.Вопрос;
//КонецПроцедуры
//}milanse 31.05.2020 20:46:11
-
-&НаСервере
//+ #201 Иванов А.Б. 2020-05-23 Изменения от Дениса Урянского @d-hurricane
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
index ec885c116..8f42fb5bc 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
@@ -693,95 +693,98 @@
КонецФункции
Функция ПолучитьМассивНаблюдателей()
- пЗадача = Ссылка;
- МассивНаблюдателей = Новый Массив();
+ Возврат РегистрыСведений.узНаблюдателиЗаЗадачами.ПолучитьМассивНаблюдателей(Ссылка);
- Запрос = Новый Запрос;
- Запрос.Текст =
- "ВЫБРАТЬ
- | узНаблюдателиЗаЗадачами.Пользователь
- |ИЗ
- | РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами
- |ГДЕ
- | узНаблюдателиЗаЗадачами.Задача = &Задача
- | И узНаблюдателиЗаЗадачами.Пользователь.узНеОтправлятьУведомленияНаПочту = ЛОЖЬ
- | И узНаблюдателиЗаЗадачами.Пользователь <> &Исполнитель";
-
-
- //+ #190 SZ 16.03.2020
- // Убираем из запроса проверку на Текущего пользователя.
- // Проверку сделаем в обработке результата запроса
+ //пЗадача = Ссылка;
//
- // | И узНаблюдателиЗаЗадачами.Пользователь <> &ТекущийПользователь
+ //МассивНаблюдателей = Новый Массив();
//
- //- #190 SZ 16.03.2020
-
-
- ТекущийПользователь = Пользователи.ТекущийПользователь();
- //+ #190 SZ 16.03.2020
- // Убираем из запроса проверку на Текущего пользователя.
+ //Запрос = Новый Запрос;
+ //Запрос.Текст =
+ //"ВЫБРАТЬ
+ //| узНаблюдателиЗаЗадачами.Пользователь
+ //|ИЗ
+ //| РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами
+ //|ГДЕ
+ //| узНаблюдателиЗаЗадачами.Задача = &Задача
+ //| И узНаблюдателиЗаЗадачами.Пользователь.узНеОтправлятьУведомленияНаПочту = ЛОЖЬ
+ //| И узНаблюдателиЗаЗадачами.Пользователь <> &Исполнитель";
//
- //Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь);
//
- // Проверку сделаем в обработке результата запроса
- //- #190 SZ 16.03.2020
-
- Запрос.УстановитьПараметр("Исполнитель", Исполнитель);
- Запрос.УстановитьПараметр("Задача", пЗадача);
-
- РезультатЗапроса = Запрос.Выполнить();
- Если НЕ РезультатЗапроса.Пустой() Тогда
- Выборка = РезультатЗапроса.Выбрать();
- Пока Выборка.Следующий() Цикл
- МассивНаблюдателей.Добавить(Выборка.Пользователь);
- КонецЦикла;
- Конецесли;
-
- Для каждого СтрокаНаблюдатели из Статус.Наблюдатели цикл
- Если МассивНаблюдателей.Найти(СтрокаНаблюдатели.Пользователь) <> Неопределено Тогда
- Продолжить;
- Конецесли;
-
- //+ #190 SZ 16.03.2020
- //Если СтрокаНаблюдатели.Пользователь = Пользователи.ТекущийПользователь() Тогда
- // Продолжить;
- //Конецесли;
- Если СтрокаНаблюдатели.Пользователь = ТекущийПользователь
- И НЕ СтрокаНаблюдатели.Пользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
- Продолжить;
- Конецесли;
- //- #190 SZ 16.03.2020
-
- //Павлюков - отсеем ненужных наблюдателей, у которых явно задано, за кем наблюдать
- Если Не СтрокаНаблюдатели.Контрагент.Пустая()
- И Не пЗадача.Контрагент.Пустая()
- И Не СтрокаНаблюдатели.Контрагент = пЗадача.Контрагент Тогда
- Продолжить;
- КонецЕсли;
- МассивНаблюдателей.Добавить(СтрокаНаблюдатели.Пользователь);
- Конеццикла;
-
- пНаблюдателиЗаОснЗадачей = пЗадача.ОсновнаяЗадача.НаблюдателиЗаОсновнойЗадачей;
- Для каждого СтрокапНаблюдателиЗаОснЗадачей из пНаблюдателиЗаОснЗадачей цикл
- пНаблюдатель = СтрокапНаблюдателиЗаОснЗадачей.Пользователь;
- Если МассивНаблюдателей.Найти(пНаблюдатель) <> Неопределено Тогда
- Продолжить;
- Конецесли;
- //+ #190 SZ 16.03.2020
- //Если пНаблюдатель = Пользователи.ТекущийПользователь() Тогда
- // Продолжить;
- //Конецесли;
- Если пНаблюдатель = ТекущийПользователь
- И НЕ пНаблюдатель.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
- Продолжить;
- Конецесли;
- //- #190 SZ 16.03.2020
-
- МассивНаблюдателей.Добавить(пНаблюдатель);
- Конеццикла;
-
- Возврат МассивНаблюдателей;
+ ////+ #190 SZ 16.03.2020
+ //// Убираем из запроса проверку на Текущего пользователя.
+ //// Проверку сделаем в обработке результата запроса
+ ////
+ //// | И узНаблюдателиЗаЗадачами.Пользователь <> &ТекущийПользователь
+ ////
+ ////- #190 SZ 16.03.2020
+ //
+ //
+ //ТекущийПользователь = Пользователи.ТекущийПользователь();
+ ////+ #190 SZ 16.03.2020
+ //// Убираем из запроса проверку на Текущего пользователя.
+ ////
+ ////Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь);
+ ////
+ //// Проверку сделаем в обработке результата запроса
+ ////- #190 SZ 16.03.2020
+ //
+ //Запрос.УстановитьПараметр("Исполнитель", Исполнитель);
+ //Запрос.УстановитьПараметр("Задача", пЗадача);
+ //
+ //РезультатЗапроса = Запрос.Выполнить();
+ //Если НЕ РезультатЗапроса.Пустой() Тогда
+ // Выборка = РезультатЗапроса.Выбрать();
+ // Пока Выборка.Следующий() Цикл
+ // МассивНаблюдателей.Добавить(Выборка.Пользователь);
+ // КонецЦикла;
+ //Конецесли;
+ //
+ //Для каждого СтрокаНаблюдатели из Статус.Наблюдатели цикл
+ // Если МассивНаблюдателей.Найти(СтрокаНаблюдатели.Пользователь) <> Неопределено Тогда
+ // Продолжить;
+ // Конецесли;
+ //
+ // //+ #190 SZ 16.03.2020
+ // //Если СтрокаНаблюдатели.Пользователь = Пользователи.ТекущийПользователь() Тогда
+ // // Продолжить;
+ // //Конецесли;
+ // Если СтрокаНаблюдатели.Пользователь = ТекущийПользователь
+ // И НЕ СтрокаНаблюдатели.Пользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
+ // Продолжить;
+ // Конецесли;
+ // //- #190 SZ 16.03.2020
+ //
+ // //Павлюков - отсеем ненужных наблюдателей, у которых явно задано, за кем наблюдать
+ // Если Не СтрокаНаблюдатели.Контрагент.Пустая()
+ // И Не пЗадача.Контрагент.Пустая()
+ // И Не СтрокаНаблюдатели.Контрагент = пЗадача.Контрагент Тогда
+ // Продолжить;
+ // КонецЕсли;
+ // МассивНаблюдателей.Добавить(СтрокаНаблюдатели.Пользователь);
+ //Конеццикла;
+ //
+ //пНаблюдателиЗаОснЗадачей = пЗадача.ОсновнаяЗадача.НаблюдателиЗаОсновнойЗадачей;
+ //Для каждого СтрокапНаблюдателиЗаОснЗадачей из пНаблюдателиЗаОснЗадачей цикл
+ // пНаблюдатель = СтрокапНаблюдателиЗаОснЗадачей.Пользователь;
+ // Если МассивНаблюдателей.Найти(пНаблюдатель) <> Неопределено Тогда
+ // Продолжить;
+ // Конецесли;
+ // //+ #190 SZ 16.03.2020
+ // //Если пНаблюдатель = Пользователи.ТекущийПользователь() Тогда
+ // // Продолжить;
+ // //Конецесли;
+ // Если пНаблюдатель = ТекущийПользователь
+ // И НЕ пНаблюдатель.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
+ // Продолжить;
+ // Конецесли;
+ // //- #190 SZ 16.03.2020
+ //
+ // МассивНаблюдателей.Добавить(пНаблюдатель);
+ //Конеццикла;
+ //
+ //Возврат МассивНаблюдателей;
КонецФункции
Функция ПолучитьТемаПисьмаСобытие(ДопПараметры,СобытияВИстории)
diff --git a/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl b/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl
index 806136bb0..f27366d20 100644
--- a/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl
+++ b/src/cf/Catalogs/узКонстанты/Ext/ManagerModule.bsl
@@ -86,11 +86,11 @@
Возврат мЗначениеКонстанты;
КонецФункции //ПолучитьЗначениеКонстанты(ИмяКонстанты,ТипКонстанты)
-Функция УстановитьЗначениеКонстанты(ИмяКонстанты,ЗначениеКонстанты) Экспорт
+Процедура УстановитьЗначениеКонстанты(ИмяКонстанты,ЗначениеКонстанты) Экспорт
пКонстанта = ПредопределенноеЗначение("Справочник.узКонстанты."+ИмяКонстанты);
пКонстантаОбъект = пКонстанта.ПолучитьОбъект();
пКонстантаОбъект.Значение = ЗначениеКонстанты;
пКонстантаОбъект.Записать();
-КонецФункции
\ No newline at end of file
+КонецПроцедуры
\ No newline at end of file
diff --git a/src/cf/Catalogs/узКонфигурации/Forms/ФормаЭлемента/Ext/Form/Module.bsl b/src/cf/Catalogs/узКонфигурации/Forms/ФормаЭлемента/Ext/Form/Module.bsl
index 9cc0b4a69..8ca101902 100644
--- a/src/cf/Catalogs/узКонфигурации/Forms/ФормаЭлемента/Ext/Form/Module.bsl
+++ b/src/cf/Catalogs/узКонфигурации/Forms/ФормаЭлемента/Ext/Form/Module.bsl
@@ -160,46 +160,6 @@
ДиалогВыбораФайла.Показать (Оповещение);
КонецПроцедуры
-&НаКлиенте
-Процедура КомандаСоздатьVBSФайлДляПланировщикаЗаданий(Команда)
- //Если НЕ ЗначениеЗаполнено(Объект.КаталогДляЗагрузкиИзмененийИзХранилща) Тогда
- // Сообщение = Новый СообщениеПользователю;
- // Сообщение.Текст = "Ошибка! Необходимо заполнить реквизит КаталогДляЗагрузкиИзмененийИзХранилща";
- // Сообщение.Поле = "Объект.КаталогДляЗагрузкиИзмененийИзХранилща";
- // Сообщение.Сообщить();
- // Возврат;
- //Конецесли;
- //Если Объект.Ссылка.Пустая() Тогда
- // Сообщение = Новый СообщениеПользователю;
- // Сообщение.Текст = "Ошибка! необходиом сначала записать элемент";
- // Сообщение.Сообщить();
- // Возврат;
- //Конецесли;
- //
- //ТекстКоманды = ПолучитьТекстКомандыНаСервере();
- //VBSФайл = Новый ТекстовыйДокумент();
- //VBSФайл.УстановитьТекст(
- //"
- //|Set WshShell = CreateObject(""WScript.Shell"")
- //|
- //|TekDate = date
- //|TekTime = Time
- //|FileName = ""StorageHistory_"" & Replace(TekDate,""."","""") & ""_"" & Replace(TekTime,"":"","""") & "".mxl""
- // |
- //|WshShell.Run """ + ТекстКоманды + ",0,0
- //|");
- //ИмяСкриптФайла = Объект.КаталогДляЗагрузкиИзмененийИзХранилща + "DumpStorage.vbs";
- //VBSФайл.Записать(ИмяСкриптФайла,КодировкаТекста.ANSI);
-КонецПроцедуры
-
-&НаСервере
-Функция ПолучитьТекстКомандыНаСервере()
- //ОбрОбъект = Обработки.узЗагрузкаИзмененийИзХранилища.Создать();
- //ОбрОбъект.Конфигурация = Объект.Ссылка;
- //ФайлВыгрузкиИзменений = ""+Объект.КаталогДляЗагрузкиИзмененийИзХранилща + "\"" & FileName &";
- //РезультатФункции = ОбрОбъект.ПолучитьНастройкиЗапускаКонфигуратора(ФайлВыгрузкиИзменений);
- //Возврат РезультатФункции.ТекстКоманды;
-КонецФункции
&НаКлиенте
Процедура ИспользоватьАльтернативнуюЗагрузкуДанныхИзХранилищаПриИзменении(Элемент)
diff --git a/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form/Module.bsl b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form/Module.bsl
index 6f1c56995..fe124f282 100644
--- a/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form/Module.bsl
+++ b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form/Module.bsl
@@ -48,6 +48,8 @@
ДвоичныеДанные = Новый ДвоичныеДанные(АдресНаСервере);
ТекущийОбъект.ФайлШаблонаХранилищеЗначений = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
+ УдалитьФайлы(АдресНаСервере);
+
КонецПроцедуры
&НаКлиенте
diff --git a/src/cf/CommonForms/узПрисоединенныеФайлыПисемПоЗадаче/Ext/Form/Module.bsl b/src/cf/CommonForms/узПрисоединенныеФайлыПисемПоЗадаче/Ext/Form/Module.bsl
index 67a79996b..fe702db52 100644
--- a/src/cf/CommonForms/узПрисоединенныеФайлыПисемПоЗадаче/Ext/Form/Module.bsl
+++ b/src/cf/CommonForms/узПрисоединенныеФайлыПисемПоЗадаче/Ext/Form/Module.bsl
@@ -1754,8 +1754,9 @@
&НаСервере
Процедура ПриИзмененииИспользованияПодписанияИлиШифрованияНаСервере()
- //++ УправлениеЗадачами: типовой код приводит к ошибке, т.к. опирается на основную таблицу списка.
+ //++ УправлениеЗадачами: типовой код приводит к ошибке, т.к. опирается на основную таблицу списка.
// Основной таблицы у нас нет, поэтому всегда прячем все поля, связанные с криптографией.
+ //РаботаСФайламиСлужебный.КриптографияПриСозданииФормыНаСервере(ЭтотОбъект);
Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь;
Элементы.ФормаГруппаКомандЭлектроннаяПодписьИШифрование.Видимость = Ложь;
Элементы.СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрование.Видимость = Ложь;
@@ -1763,7 +1764,7 @@
Возврат;
//-- УправлениеЗадачами
- РаботаСФайламиСлужебный.КриптографияПриСозданииФормыНаСервере(ЭтотОбъект);
+
КонецПроцедуры
diff --git a/src/cf/CommonModules/узОбновлениеИнформационнойБазы/Ext/Module.bsl b/src/cf/CommonModules/узОбновлениеИнформационнойБазы/Ext/Module.bsl
index 0772cf1ee..d259c37af 100644
--- a/src/cf/CommonModules/узОбновлениеИнформационнойБазы/Ext/Module.bsl
+++ b/src/cf/CommonModules/узОбновлениеИнформационнойБазы/Ext/Module.bsl
@@ -1,6 +1,6 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "УправлениеЗадачами";
- Описание.Версия = "1.0.5.003";
+ Описание.Версия = "1.0.5.004";
//+ УрянскийД 2020-06-22 (начало)
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
diff --git a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl
index 207a23249..8219355a4 100644
--- a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl
+++ b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl
@@ -1,11 +1,4 @@
-Функция Удалить_ПолучитьТекстHTMLMarkdown(ТекстСодержания) Экспорт
-
- //РезультатФункции = узОбщийМодульСервер.ПолучитьМакетыMardown(ТекстСодержания);
- //
- //ТекстHTMLМакет = РезультатФункции.ТекстHTMLМакет;
- //Возврат ТекстHTMLМакет;
-КонецФункции
-
+
Функция УстановитьТекстВБуферОбмена(ТекстДляКопирования) Экспорт
пОбъект = Новый COMОбъект("htmlfile");
пОбъект.ParentWindow.ClipboardData.Setdata("Text", ТекстДляКопирования);
diff --git a/src/cf/CommonModules/узТелеграммСервер/Ext/Module.bsl b/src/cf/CommonModules/узТелеграммСервер/Ext/Module.bsl
index f70d5bbe9..675902fce 100644
--- a/src/cf/CommonModules/узТелеграммСервер/Ext/Module.bsl
+++ b/src/cf/CommonModules/узТелеграммСервер/Ext/Module.bsl
@@ -95,7 +95,7 @@
Ресурс = "bot" + ТокенБота + "/sendMessage?chat_id=" + Формат(элемПолучатель.ИД, "ЧГ=") + "&text=" + ТекстПисьма+"&parse_mode=Markdown&disable_web_page_preview=true";
//Ресурс = "bot" + ТокенБота + "/sendMessage?chat_id=" + Формат(элемПолучатель.ИД, "ЧГ=") + "&text=" + ТекстПисьма+"&disable_web_page_preview=true";
- Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
+ Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,30,Новый ЗащищенноеСоединениеOpenSSL());
ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(ЗапросHTTP);
diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml
index c5b5896d6..831ebabdd 100644
--- a/src/cf/Configuration.xml
+++ b/src/cf/Configuration.xml
@@ -49,7 +49,7 @@
Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок
Управление задачами
- 1.0.5.003
+ 1.0.5.004
false
true
diff --git a/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl
index 58af70913..331bfc283 100644
--- a/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl
+++ b/src/cf/DataProcessors/узЗагрузкаИзмененийИзХранилища/Ext/ObjectModule.bsl
@@ -750,6 +750,8 @@
НастройкиЗапускаКонфигуратора = ПолучитьНастройкиЗапускаКонфигуратора();
ТекстКоманды = НастройкиЗапускаКонфигуратора.ТекстКоманды;
Сообщить(ТекстКоманды);
+
+ Возврат ТекстКоманды;
Конецфункции
diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/Удалить_Форма/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/Удалить_Форма/Ext/Form/Module.bsl
index 5b61ce4d4..8397fa4e8 100644
--- a/src/cf/DataProcessors/узКанбанДоска/Forms/Удалить_Форма/Ext/Form/Module.bsl
+++ b/src/cf/DataProcessors/узКанбанДоска/Forms/Удалить_Форма/Ext/Form/Module.bsl
@@ -1,679 +1,679 @@
-&НаКлиенте
-Процедура ТЧЗадачиПередНачаломИзменения(Элемент, Отказ)
- Отказ = Ложь;
- //ПоказатьЗначение(,Элемент.ТекущиеДанные.Задача);
- ////Элемент.ЗакончитьРедактированиеСтроки(Истина);
- //Элементы.ТЧЗадачиЗарегистрирована.ЗакончитьРедактированиеСтроки(Ложь);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ТЧЗадачиПередНачаломИзменения(Элемент, Отказ)
+// Отказ = Ложь;
+// //ПоказатьЗначение(,Элемент.ТекущиеДанные.Задача);
+// ////Элемент.ЗакончитьРедактированиеСтроки(Истина);
+// //Элементы.ТЧЗадачиЗарегистрирована.ЗакончитьРедактированиеСтроки(Ложь);
+//КонецПроцедуры
-&НаСервере
-Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
- // + Иванов А.Б. 2020-06-28
- ////{Код для декомпиляции управляемой формы
- //Если ЭтаФорма.Параметры.Свойство("ДекомпиляцияЭлементов") Тогда
- // ВнешниеОбработки.Создать(ЭтаФорма.Параметры.ДекомпиляцияЭлементов.ИмяПодключеннойОбработки,Ложь).ОпределитьВнутренниеСвойстваЭлементов(ЭтаФорма);
- //КонецЕсли;
- ////}Код для декомпиляции управляемой формы
- // - Иванов А.Б. 2020-06-28
-
- пНастройкиКомпоновщика = Неопределено;
-
- ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика);
-
- НастройкиТЧДляАктивацииПервойСтроки = Новый Структура();
-
- ОпределитьОтборНаСервере(пНастройкиКомпоновщика);
- Попытка
- ЗаполнитьЗадачиНаСервере();
- Исключение
- УстановитьСтандартныеНастройкиНаСервере();
- ЗаполнитьЗадачиНаСервере();
- КонецПопытки;
-
- УстановитьВидимостьДоступность();
- УстановитьОтборТЧ();
-
- ОформлениеЦветаЗадачНаСервере();
-
-КонецПроцедуры
+//&НаСервере
+//Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
+// // + Иванов А.Б. 2020-06-28
+// ////{Код для декомпиляции управляемой формы
+// //Если ЭтаФорма.Параметры.Свойство("ДекомпиляцияЭлементов") Тогда
+// // ВнешниеОбработки.Создать(ЭтаФорма.Параметры.ДекомпиляцияЭлементов.ИмяПодключеннойОбработки,Ложь).ОпределитьВнутренниеСвойстваЭлементов(ЭтаФорма);
+// //КонецЕсли;
+// ////}Код для декомпиляции управляемой формы
+// // - Иванов А.Б. 2020-06-28
+//
+// пНастройкиКомпоновщика = Неопределено;
+//
+// ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика);
+//
+// НастройкиТЧДляАктивацииПервойСтроки = Новый Структура();
+//
+// ОпределитьОтборНаСервере(пНастройкиКомпоновщика);
+// Попытка
+// ЗаполнитьЗадачиНаСервере();
+// Исключение
+// УстановитьСтандартныеНастройкиНаСервере();
+// ЗаполнитьЗадачиНаСервере();
+// КонецПопытки;
+//
+// УстановитьВидимостьДоступность();
+// УстановитьОтборТЧ();
+//
+// ОформлениеЦветаЗадачНаСервере();
+//
+//КонецПроцедуры
-&НаСервере
-Процедура ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика)
- КлючНастроек = ПолучитьКлючНастроек();
- СохраненныеНастройки = ХранилищеОбщихНастроек.Загрузить(КлючНастроек,КлючНастроек);
-
- Если СохраненныеНастройки <> Неопределено Тогда
- //ЗаполнитьТЧНастройкиКолонокНаСервере();
- Если СохраненныеНастройки.Свойство("ТЧНастройкиКолонок") Тогда
- ЗаполнитьТЧНастройкиКолонокНаСервере();
- ТЧНастройкиКолонок = СохраненныеНастройки.ТЧНастройкиКолонок;
- Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл
- ПараметрыОтбора=Новый Структура();
- ПараметрыОтбора.Вставить("Статус",СтрокаТЧНастройкиКолонок.Статус);
- НайденныеСтрокиСохраненныеНастройки = ТЧНастройкиКолонок.НайтиСтроки(ПараметрыОтбора);
- Для каждого СтрокаНайденныеСтроки из НайденныеСтрокиСохраненныеНастройки цикл
- СтрокаТЧНастройкиКолонок.Видимость = СтрокаНайденныеСтроки.Видимость;
- Конеццикла;
- Конеццикла;
- Иначе
- ЗаполнитьТЧНастройкиКолонокНаСервере();
- Конецесли;
- Если СохраненныеНастройки.Свойство("НастройкиКомпоновщикаХранилище") Тогда
- пНастройкиКомпоновщика = СохраненныеНастройки.НастройкиКомпоновщикаХранилище.Получить();
- Конецесли;
- Иначе
- ЗаполнитьТЧНастройкиКолонокНаСервере();
- Конецесли;
-КонецПроцедуры
+//&НаСервере
+//Процедура ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика)
+// КлючНастроек = ПолучитьКлючНастроек();
+// СохраненныеНастройки = ХранилищеОбщихНастроек.Загрузить(КлючНастроек,КлючНастроек);
+//
+// Если СохраненныеНастройки <> Неопределено Тогда
+// //ЗаполнитьТЧНастройкиКолонокНаСервере();
+// Если СохраненныеНастройки.Свойство("ТЧНастройкиКолонок") Тогда
+// ЗаполнитьТЧНастройкиКолонокНаСервере();
+// ТЧНастройкиКолонок = СохраненныеНастройки.ТЧНастройкиКолонок;
+// Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл
+// ПараметрыОтбора=Новый Структура();
+// ПараметрыОтбора.Вставить("Статус",СтрокаТЧНастройкиКолонок.Статус);
+// НайденныеСтрокиСохраненныеНастройки = ТЧНастройкиКолонок.НайтиСтроки(ПараметрыОтбора);
+// Для каждого СтрокаНайденныеСтроки из НайденныеСтрокиСохраненныеНастройки цикл
+// СтрокаТЧНастройкиКолонок.Видимость = СтрокаНайденныеСтроки.Видимость;
+// Конеццикла;
+// Конеццикла;
+// Иначе
+// ЗаполнитьТЧНастройкиКолонокНаСервере();
+// Конецесли;
+// Если СохраненныеНастройки.Свойство("НастройкиКомпоновщикаХранилище") Тогда
+// пНастройкиКомпоновщика = СохраненныеНастройки.НастройкиКомпоновщикаХранилище.Получить();
+// Конецесли;
+// Иначе
+// ЗаполнитьТЧНастройкиКолонокНаСервере();
+// Конецесли;
+//КонецПроцедуры
-&НаСервере
-Функция ПолучитьКлючНастроек()
- КлючНастроек = "Обработка.узКанбанДоска";
- Возврат КлючНастроек;
-КонецФункции
+//&НаСервере
+//Функция ПолучитьКлючНастроек()
+// КлючНастроек = "Обработка.узКанбанДоска";
+// Возврат КлючНастроек;
+//КонецФункции
-&НаСервере
-Процедура ЗаполнитьТЧНастройкиКолонокНаСервере()
- пОбъект = РеквизитФормыВЗначение("Объект");
- пОбъект.ЗаполнитьТЧНастройкиКолонок();
- ЗначениеВРеквизитФормы(пОбъект,"Объект");
-КонецПроцедуры
+//&НаСервере
+//Процедура ЗаполнитьТЧНастройкиКолонокНаСервере()
+// пОбъект = РеквизитФормыВЗначение("Объект");
+// пОбъект.ЗаполнитьТЧНастройкиКолонок();
+// ЗначениеВРеквизитФормы(пОбъект,"Объект");
+//КонецПроцедуры
-&НаСервере
-Процедура УстановитьОтборТЧ()
-
- Элементы.ТЧЗадачиОтменена.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Отменена"));
- Элементы.ТЧЗадачиBacklog.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Backlog"));
- Элементы.ТЧЗадачиЗарегистрирована.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Зарегистрирована"));
- Элементы.ТЧЗадачиВПроцессеВыполнения.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ВПроцессеВыполнения"));
- Элементы.ТЧЗадачиОжидаетОтвета.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ОжидаетОтвета"));
- Элементы.ТЧЗадачиНаТестированииПоказПользователям.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.НаТестированииПоказПользователям"));
- Элементы.ТЧЗадачиЗапросНаДобавление.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ЗапросНаДобавление"));
- Элементы.ТЧЗадачиКПереносуВРабочую.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.КПереносуВРабочую"));
- Элементы.ТЧЗадачиОтложена.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Отложена"));
- Элементы.ТЧЗадачиГотово.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Готово"));
- Элементы.ТЧЗадачиАрхив.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Архив"));
+//&НаСервере
+//Процедура УстановитьОтборТЧ()
+//
+// Элементы.ТЧЗадачиОтменена.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Отменена"));
+// Элементы.ТЧЗадачиBacklog.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Backlog"));
+// Элементы.ТЧЗадачиЗарегистрирована.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Зарегистрирована"));
+// Элементы.ТЧЗадачиВПроцессеВыполнения.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ВПроцессеВыполнения"));
+// Элементы.ТЧЗадачиОжидаетОтвета.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ОжидаетОтвета"));
+// Элементы.ТЧЗадачиНаТестированииПоказПользователям.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.НаТестированииПоказПользователям"));
+// Элементы.ТЧЗадачиЗапросНаДобавление.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.ЗапросНаДобавление"));
+// Элементы.ТЧЗадачиКПереносуВРабочую.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.КПереносуВРабочую"));
+// Элементы.ТЧЗадачиОтложена.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Отложена"));
+// Элементы.ТЧЗадачиГотово.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Готово"));
+// Элементы.ТЧЗадачиАрхив.ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.Архив"));
-КонецПроцедуры
+//КонецПроцедуры
-&НаСервере
-Процедура УстановитьВидимостьДоступность()
- Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл
- ИмяГруппы = "Группа"+СтрокаТЧНастройкиКолонок.ИмяПредопределенныхДанных;
- Элементы[ИмяГруппы].Видимость = СтрокаТЧНастройкиКолонок.Видимость;
- Конеццикла;
-КонецПроцедуры
+//&НаСервере
+//Процедура УстановитьВидимостьДоступность()
+// Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл
+// ИмяГруппы = "Группа"+СтрокаТЧНастройкиКолонок.ИмяПредопределенныхДанных;
+// Элементы[ИмяГруппы].Видимость = СтрокаТЧНастройкиКолонок.Видимость;
+// Конеццикла;
+//КонецПроцедуры
-&НаСервере
-Процедура ЗаполнитьЗадачиНаСервере()
- Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор());
-
- пОбъект = РеквизитФормыВЗначение("Объект");
- пОбъект.ЗаполнитьЗадачи();
- ЗначениеВРеквизитФормы(пОбъект,"Объект");
-КонецПроцедуры
+//&НаСервере
+//Процедура ЗаполнитьЗадачиНаСервере()
+// Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор());
+//
+// пОбъект = РеквизитФормыВЗначение("Объект");
+// пОбъект.ЗаполнитьЗадачи();
+// ЗначениеВРеквизитФормы(пОбъект,"Объект");
+//КонецПроцедуры
-&НаКлиенте
-Процедура ТЧЗадачиПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
- СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания);
- ОформлениеЦветаЗадачНаСервере();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ТЧЗадачиПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
+// СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания);
+// ОформлениеЦветаЗадачНаСервере();
+//КонецПроцедуры
-&НаКлиенте
-Процедура СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания)
- //ИмяТЧ = Элемент.Имя;
- //пОтборСтрок = Элементы[ИмяТЧ].ОтборСтрок;
- НовыйСтатус = Элемент.ОтборСтрок.Статус;
- ДанныеИсточник = ПараметрыПеретаскивания.Значение;
-
- МассивЗадач = Новый Массив();
- Для каждого ДанныеИсточник из ПараметрыПеретаскивания.Значение цикл
- ЗадачаСсылка = ДанныеИсточник.Задача;
- МассивЗадач.Добавить(ЗадачаСсылка);
- Конеццикла;
-
- ДопПараметры = Новый Структура();
- ДопПараметры.Вставить("НовыйСтатус",НовыйСтатус);
- ДопПараметры.Вставить("МассивЗадач",МассивЗадач);
- СменитьСтатусЗадачиНаСервере(ДопПараметры);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания)
+// //ИмяТЧ = Элемент.Имя;
+// //пОтборСтрок = Элементы[ИмяТЧ].ОтборСтрок;
+// НовыйСтатус = Элемент.ОтборСтрок.Статус;
+// ДанныеИсточник = ПараметрыПеретаскивания.Значение;
+//
+// МассивЗадач = Новый Массив();
+// Для каждого ДанныеИсточник из ПараметрыПеретаскивания.Значение цикл
+// ЗадачаСсылка = ДанныеИсточник.Задача;
+// МассивЗадач.Добавить(ЗадачаСсылка);
+// Конеццикла;
+//
+// ДопПараметры = Новый Структура();
+// ДопПараметры.Вставить("НовыйСтатус",НовыйСтатус);
+// ДопПараметры.Вставить("МассивЗадач",МассивЗадач);
+// СменитьСтатусЗадачиНаСервере(ДопПараметры);
+//КонецПроцедуры
-&НаСервере
-Процедура СменитьСтатусЗадачиНаСервере(ДопПараметры)
- пОбъект = РеквизитФормыВЗначение("Объект");
- пОбъект.СменитьСтатусЗадачи(ДопПараметры);
- ЗначениеВРеквизитФормы(пОбъект,"Объект");
-КонецПроцедуры
+//&НаСервере
+//Процедура СменитьСтатусЗадачиНаСервере(ДопПараметры)
+// пОбъект = РеквизитФормыВЗначение("Объект");
+// пОбъект.СменитьСтатусЗадачи(ДопПараметры);
+// ЗначениеВРеквизитФормы(пОбъект,"Объект");
+//КонецПроцедуры
-&НаКлиенте
-Процедура ТЧЗадачиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
- Отказ = Истина;
- ДобавитьНовуюЗадачу(Элемент);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ТЧЗадачиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
+// Отказ = Истина;
+// ДобавитьНовуюЗадачу(Элемент);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ДобавитьНовуюЗадачу(Элемент)
- пСтатус = Элемент.ОтборСтрок.Статус;
- ПараметрыНовойЗадачи = Новый Структура();
- ПараметрыНовойЗадачи.Вставить("Статус",пСтатус);
- ЭлементыОтбора = КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы;
- Для каждого ЭлементОтбора из ЭлементыОтбора цикл
- Если НЕ ЭлементОтбора.Использование Тогда
- Продолжить;
- Конецесли;
- Если ЭлементОтбора.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно Тогда
- Продолжить;
- Конецесли;
- Если СтрНайти(ЭлементОтбора.ЛевоеЗначение,".") > 0 Тогда
- Продолжить;
- Конецесли;
- Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
- ПараметрыНовойЗадачи.Вставить("" + ЭлементОтбора.ЛевоеЗначение,ЭлементОтбора.ПравоеЗначение);
- Конецесли;
- Конеццикла;
- ДопПараметры = Новый Структура();
- ДопПараметры.Вставить("ТребоватьЗаполнитьРодителя",Истина);
- ДопПараметры.Вставить("ПараметрыНовойЗадачи",ПараметрыНовойЗадачи);
- ОткрытьФорму("Справочник.узЗадачи.Форма.ФормаЭлемента",ДопПараметры);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ДобавитьНовуюЗадачу(Элемент)
+// пСтатус = Элемент.ОтборСтрок.Статус;
+// ПараметрыНовойЗадачи = Новый Структура();
+// ПараметрыНовойЗадачи.Вставить("Статус",пСтатус);
+// ЭлементыОтбора = КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы;
+// Для каждого ЭлементОтбора из ЭлементыОтбора цикл
+// Если НЕ ЭлементОтбора.Использование Тогда
+// Продолжить;
+// Конецесли;
+// Если ЭлементОтбора.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно Тогда
+// Продолжить;
+// Конецесли;
+// Если СтрНайти(ЭлементОтбора.ЛевоеЗначение,".") > 0 Тогда
+// Продолжить;
+// Конецесли;
+// Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
+// ПараметрыНовойЗадачи.Вставить("" + ЭлементОтбора.ЛевоеЗначение,ЭлементОтбора.ПравоеЗначение);
+// Конецесли;
+// Конеццикла;
+// ДопПараметры = Новый Структура();
+// ДопПараметры.Вставить("ТребоватьЗаполнитьРодителя",Истина);
+// ДопПараметры.Вставить("ПараметрыНовойЗадачи",ПараметрыНовойЗадачи);
+// ОткрытьФорму("Справочник.узЗадачи.Форма.ФормаЭлемента",ДопПараметры);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
- Если ИмяСобытия = "СправочникЗадачаЗаписана"
- ИЛИ ИмяСобытия = "ДобавленУбранНаблюдатель"
- ИЛИ ИмяСобытия = "СправочникВариантВажностиЗаписан"
- ИЛИ ИмяСобытия = "СправочникСпринтЗаписан"
- Тогда
- ЗаполнитьЗадачиНаСервере();
- Конецесли;
-
- ОбновитьКанбанДоску();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
+// Если ИмяСобытия = "СправочникЗадачаЗаписана"
+// ИЛИ ИмяСобытия = "ДобавленУбранНаблюдатель"
+// ИЛИ ИмяСобытия = "СправочникВариантВажностиЗаписан"
+// ИЛИ ИмяСобытия = "СправочникСпринтЗаписан"
+// Тогда
+// ЗаполнитьЗадачиНаСервере();
+// Конецесли;
+//
+// ОбновитьКанбанДоску();
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаНастройки(Команда)
-
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаНастройки(Команда)
+//
+//КонецПроцедуры
-&НаКлиенте
-Процедура ПриЗакрытии()
- ОтключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте");
- ПриЗакрытииНаСервере();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ПриЗакрытии()
+// ОтключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте");
+// ПриЗакрытииНаСервере();
+//КонецПроцедуры
-&НаСервере
-Процедура ПриЗакрытииНаСервере()
- СохранитьНастройки();
-КонецПроцедуры
+//&НаСервере
+//Процедура ПриЗакрытииНаСервере()
+// СохранитьНастройки();
+//КонецПроцедуры
-&НаСервере
-Процедура СохранитьНастройки()
- НастройкиКомпоновщикаХранилище = Новый ХранилищеЗначения(КомпоновщикНастроекКомпоновкиДанных.Настройки);
-
- КлючНастроек = ПолучитьКлючНастроек();
- ДопПараметры = Новый Структура();
- ДопПараметры.Вставить("ТЧНастройкиКолонок",Объект.ТЧНастройкиКолонок.Выгрузить());
- ДопПараметры.Вставить("НастройкиКомпоновщикаХранилище",НастройкиКомпоновщикаХранилище);
-
- ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,ДопПараметры);
-КонецПроцедуры
+//&НаСервере
+//Процедура СохранитьНастройки()
+// НастройкиКомпоновщикаХранилище = Новый ХранилищеЗначения(КомпоновщикНастроекКомпоновкиДанных.Настройки);
+//
+// КлючНастроек = ПолучитьКлючНастроек();
+// ДопПараметры = Новый Структура();
+// ДопПараметры.Вставить("ТЧНастройкиКолонок",Объект.ТЧНастройкиКолонок.Выгрузить());
+// ДопПараметры.Вставить("НастройкиКомпоновщикаХранилище",НастройкиКомпоновщикаХранилище);
+//
+// ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,ДопПараметры);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ГруппаСтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
- ВыполнитьДействиеДляАктивнойСтраницы();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ГруппаСтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
+// ВыполнитьДействиеДляАктивнойСтраницы();
+//КонецПроцедуры
-&НаКлиенте
-Процедура ВыполнитьДействиеДляАктивнойСтраницы()
- пТекущаяСтраница = Элементы.ГруппаСтраницы.ТекущаяСтраница;
- Если пТекущаяСтраница = Элементы.ГруппаКанбанДоска Тогда
- ОбновитьКанбанДоску();
- Конецесли;
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ВыполнитьДействиеДляАктивнойСтраницы()
+// пТекущаяСтраница = Элементы.ГруппаСтраницы.ТекущаяСтраница;
+// Если пТекущаяСтраница = Элементы.ГруппаКанбанДоска Тогда
+// ОбновитьКанбанДоску();
+// Конецесли;
+//КонецПроцедуры
-&НаКлиенте
-Процедура ОбновитьКанбанДоску()
- Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор());
- ЗаполнитьЗадачиНаСервере();
- УстановитьВидимостьДоступность();
- ОчиститьАктивизацииСтрок();
-
- ОформлениеЦветаЗадачНаСервере();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ОбновитьКанбанДоску()
+// Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор());
+// ЗаполнитьЗадачиНаСервере();
+// УстановитьВидимостьДоступность();
+// ОчиститьАктивизацииСтрок();
+//
+// ОформлениеЦветаЗадачНаСервере();
+//КонецПроцедуры
-&НаКлиенте
-Процедура ОчиститьАктивизацииСтрок(ИсключитьИмяТЧ = Неопределено)
- Для каждого НастройкаАктивации из НастройкиТЧДляАктивацииПервойСтроки цикл
- ИмяТЧ = НастройкаАктивации.Ключ;
- Если ИмяТЧ = ИсключитьИмяТЧ Тогда
- Продолжить;
- Конецесли;
- Элементы[ИмяТЧ].ВыделенныеСтроки.Очистить();
- Конеццикла;
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ОчиститьАктивизацииСтрок(ИсключитьИмяТЧ = Неопределено)
+// Для каждого НастройкаАктивации из НастройкиТЧДляАктивацииПервойСтроки цикл
+// ИмяТЧ = НастройкаАктивации.Ключ;
+// Если ИмяТЧ = ИсключитьИмяТЧ Тогда
+// Продолжить;
+// Конецесли;
+// Элементы[ИмяТЧ].ВыделенныеСтроки.Очистить();
+// Конеццикла;
+//КонецПроцедуры
-&НаСервере
-Функция ОпределитьОтборНаСервере(пНастройкиКомпоновщика = Неопределено) Экспорт
- пОбъект = РеквизитФормыВЗначение("Объект");
- МакетСКД = пОбъект.ПолучитьМакет("СхемаКомпоновкиДанных");
-
- АдресВременногоХранилищаМакетаСКД = ПоместитьВоВременноеХранилище(МакетСКД,Новый УникальныйИдентификатор());
-
- ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВременногоХранилищаМакетаСКД);
- КомпоновщикНастроекКомпоновкиДанных.Инициализировать(ИсточникНастроек);
-
- Если пНастройкиКомпоновщика = Неопределено Тогда
- КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
- Иначе
- КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(пНастройкиКомпоновщика);
- Конецесли;
- //ЗначениеВРеквизитФормы(КомпоновщикНастроекКомпоновкиДанных,"КомпоновщикНастроекКомпоновкиДанных");
- //ЗначениеВРеквизитФормы(СправочникОбъект,"Объект");
-КонецФункции
+//&НаСервере
+//Функция ОпределитьОтборНаСервере(пНастройкиКомпоновщика = Неопределено) Экспорт
+// пОбъект = РеквизитФормыВЗначение("Объект");
+// МакетСКД = пОбъект.ПолучитьМакет("СхемаКомпоновкиДанных");
+//
+// АдресВременногоХранилищаМакетаСКД = ПоместитьВоВременноеХранилище(МакетСКД,Новый УникальныйИдентификатор());
+//
+// ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВременногоХранилищаМакетаСКД);
+// КомпоновщикНастроекКомпоновкиДанных.Инициализировать(ИсточникНастроек);
+//
+// Если пНастройкиКомпоновщика = Неопределено Тогда
+// КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
+// Иначе
+// КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(пНастройкиКомпоновщика);
+// Конецесли;
+// //ЗначениеВРеквизитФормы(КомпоновщикНастроекКомпоновкиДанных,"КомпоновщикНастроекКомпоновкиДанных");
+// //ЗначениеВРеквизитФормы(СправочникОбъект,"Объект");
+//КонецФункции
-&НаКлиенте
-Процедура ПриОткрытии(Отказ)
- //Элементы.ТЧЗадачиЗарегистрирована.ТекущаяСтрока = -1;
- ////Элементы.ТЧЗадачиЗарегистрирована.ТекущиеДанные = Неопределено;
- //Элементы.ТЧЗадачиЗарегистрирована.ТекущийЭлемент = -1;
- Элементы.ТЧЗадачиЗарегистрирована.ВыделенныеСтроки.Очистить();
- ПодключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте", 180);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ПриОткрытии(Отказ)
+// //Элементы.ТЧЗадачиЗарегистрирована.ТекущаяСтрока = -1;
+// ////Элементы.ТЧЗадачиЗарегистрирована.ТекущиеДанные = Неопределено;
+// //Элементы.ТЧЗадачиЗарегистрирована.ТекущийЭлемент = -1;
+// Элементы.ТЧЗадачиЗарегистрирована.ВыделенныеСтроки.Очистить();
+// ПодключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте", 180);
+//КонецПроцедуры
-&НаСервере
-Процедура УстановитьБазовоеОформлениеЗадачНаСервере()
- УсловноеОформление.Элементы.Очистить();
-
- ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
- Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
- Отбор.Использование = ИСТИНА;
- Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
- Отбор.ПравоеЗначение = 1;
-
- ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
- ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,102,102));
-
- ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
- ОтборГруппа = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
- ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
- ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
- ОтборЭлементы.Использование = ИСТИНА;
- ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
- ОтборЭлементы.ПравоеЗначение = 2;
-
- ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
- ОтборЭлементы.Использование = ИСТИНА;
- ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
-
- ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
- ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(153,204,0));
-
- ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
- Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
- Отбор.Использование = ИСТИНА;
- Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
- Отбор.ПравоеЗначение = 3;
-
- ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
- ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(207,238,0));
-
-КонецПроцедуры
+//&НаСервере
+//Процедура УстановитьБазовоеОформлениеЗадачНаСервере()
+// УсловноеОформление.Элементы.Очистить();
+//
+// ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
+// Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
+// Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
+// Отбор.Использование = ИСТИНА;
+// Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
+// Отбор.ПравоеЗначение = 1;
+//
+// ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
+// ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,102,102));
+//
+// ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
+// ОтборГруппа = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
+// ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
+// ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
+// ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
+// ОтборЭлементы.Использование = ИСТИНА;
+// ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
+// ОтборЭлементы.ПравоеЗначение = 2;
+//
+// ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
+// ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
+// ОтборЭлементы.Использование = ИСТИНА;
+// ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
+//
+// ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
+// ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(153,204,0));
+//
+// ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
+// Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
+// Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
+// Отбор.Использование = ИСТИНА;
+// Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло");
+// Отбор.ПравоеЗначение = 3;
+//
+// ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи);
+// ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(207,238,0));
+//
+//КонецПроцедуры
-&НаСервере
-Процедура ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи)
- Для Каждого ТекЭлементФормы Из Элементы Цикл
- Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда
- ИмяТЧЗадачи = ТекЭлементФормы.Имя;
-
- Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда
- Продолжить;
- КонецЕсли;
-
- Поля = ОформлениеЗадачи.Поля.Элементы.Добавить();
- Поля.Использование = ИСТИНА;
- Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление");
- КонецЕсли;
- КонецЦикла;
-КонецПроцедуры
+//&НаСервере
+//Процедура ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи)
+// Для Каждого ТекЭлементФормы Из Элементы Цикл
+// Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда
+// ИмяТЧЗадачи = ТекЭлементФормы.Имя;
+//
+// Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда
+// Продолжить;
+// КонецЕсли;
+//
+// Поля = ОформлениеЗадачи.Поля.Элементы.Добавить();
+// Поля.Использование = ИСТИНА;
+// Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление");
+// КонецЕсли;
+// КонецЦикла;
+//КонецПроцедуры
-&НаСервере
-Процедура ОформлениеЦветаЗадачНаСервере()
- УсловноеОформление.Элементы.Очистить();
-
- УстановитьБазовоеОформлениеЗадачНаСервере();
-
- Для Каждого ТекЭлементФормы Из Элементы Цикл
- Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда
- Для Каждого СтрокаЗадача Из Объект.ТЧЗадачи Цикл
- ТекЗадача = СтрокаЗадача.Задача;
-
- ИмяТЧЗадачи = "ТЧЗадачи" + СтрокаЗадача.Статус.ИмяПредопределенныхДанных;
-
- Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда
- Продолжить;
- КонецЕсли;
-
- ТекЦвет = ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача);
- ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет);
-
- Если ЦветЗаполнен Тогда
- ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
- Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
- Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
- Отбор.Использование = ИСТИНА;
- Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.Задача");
- Отбор.ПравоеЗначение = ТекЗадача;
-
- Поля = ОформлениеЗадачи.Поля.Элементы.Добавить();
- Поля.Использование = ИСТИНА;
- Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление");
-
- ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", ТекЦвет);
- КонецЕсли;
- КонецЦикла;
- КонецЕсли;
- КонецЦикла;
-КонецПроцедуры
+//&НаСервере
+//Процедура ОформлениеЦветаЗадачНаСервере()
+// УсловноеОформление.Элементы.Очистить();
+//
+// УстановитьБазовоеОформлениеЗадачНаСервере();
+//
+// Для Каждого ТекЭлементФормы Из Элементы Цикл
+// Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда
+// Для Каждого СтрокаЗадача Из Объект.ТЧЗадачи Цикл
+// ТекЗадача = СтрокаЗадача.Задача;
+//
+// ИмяТЧЗадачи = "ТЧЗадачи" + СтрокаЗадача.Статус.ИмяПредопределенныхДанных;
+//
+// Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда
+// Продолжить;
+// КонецЕсли;
+//
+// ТекЦвет = ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача);
+// ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет);
+//
+// Если ЦветЗаполнен Тогда
+// ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить();
+// Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
+// Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
+// Отбор.Использование = ИСТИНА;
+// Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.Задача");
+// Отбор.ПравоеЗначение = ТекЗадача;
+//
+// Поля = ОформлениеЗадачи.Поля.Элементы.Добавить();
+// Поля.Использование = ИСТИНА;
+// Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление");
+//
+// ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", ТекЦвет);
+// КонецЕсли;
+// КонецЦикла;
+// КонецЕсли;
+// КонецЦикла;
+//КонецПроцедуры
-&НаКлиентеНаСервереБезКонтекста
-Функция ПроверитьЗаполнениеЦвета(ТекЦвет)
- Если ТекЦвет = Неопределено ИЛИ ТекЦвет = Новый Цвет(0,0,0) Тогда
- Возврат ЛОЖЬ;
- Иначе
- Возврат ИСТИНА;
- КонецЕсли;
-КонецФункции
+//&НаКлиентеНаСервереБезКонтекста
+//Функция ПроверитьЗаполнениеЦвета(ТекЦвет)
+// Если ТекЦвет = Неопределено ИЛИ ТекЦвет = Новый Цвет(0,0,0) Тогда
+// Возврат ЛОЖЬ;
+// Иначе
+// Возврат ИСТИНА;
+// КонецЕсли;
+//КонецФункции
-&НаСервере
-Функция ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача)
- Для Каждого ВидПриоритета Из ПолучитьМассивПриоритетовЦветаЗадач() Цикл
- ТекЦвет = ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета);
- ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет);
- Если ЦветЗаполнен Тогда
- Прервать;
- КонецЕсли;
- КонецЦикла;
-
- Возврат ТекЦвет;
-КонецФункции
+//&НаСервере
+//Функция ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача)
+// Для Каждого ВидПриоритета Из ПолучитьМассивПриоритетовЦветаЗадач() Цикл
+// ТекЦвет = ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета);
+// ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет);
+// Если ЦветЗаполнен Тогда
+// Прервать;
+// КонецЕсли;
+// КонецЦикла;
+//
+// Возврат ТекЦвет;
+//КонецФункции
-&НаСервере
-Функция ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета)
- НужныйЦвет = Неопределено;
- Задача = СтрокаЗадача.Задача;
-
- Если ВидПриоритета = ВидыПриоритетаЦвета().Задача Тогда
- НужныйЦвет = Задача.ЦветЗадачи.Получить();
- ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Спринт Тогда
- НужныйЦвет = Задача.Спринт.ЦветСпринта.Получить();
- ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().ОсновнаяЗадача Тогда
- НужныйЦвет = Задача.ОсновнаяЗадача.ЦветЗадачи.Получить();
- ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Важность Тогда
- НужныйЦвет = Задача.Важность.ЦветВажности.Получить();
- КонецЕсли;
-
- Возврат НужныйЦвет;
-КонецФункции
+//&НаСервере
+//Функция ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета)
+// НужныйЦвет = Неопределено;
+// Задача = СтрокаЗадача.Задача;
+//
+// Если ВидПриоритета = ВидыПриоритетаЦвета().Задача Тогда
+// НужныйЦвет = Задача.ЦветЗадачи.Получить();
+// ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Спринт Тогда
+// НужныйЦвет = Задача.Спринт.ЦветСпринта.Получить();
+// ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().ОсновнаяЗадача Тогда
+// НужныйЦвет = Задача.ОсновнаяЗадача.ЦветЗадачи.Получить();
+// ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Важность Тогда
+// НужныйЦвет = Задача.Важность.ЦветВажности.Получить();
+// КонецЕсли;
+//
+// Возврат НужныйЦвет;
+//КонецФункции
-&НаКлиентеНаСервереБезКонтекста
-Функция ПолучитьМассивПриоритетовЦветаЗадач()
- Приоритеты = Новый Массив;
- Приоритеты.Добавить(ВидыПриоритетаЦвета().Задача);
- Приоритеты.Добавить(ВидыПриоритетаЦвета().Спринт);
- Приоритеты.Добавить(ВидыПриоритетаЦвета().ОсновнаяЗадача);
- Приоритеты.Добавить(ВидыПриоритетаЦвета().Важность);
-
- Возврат Новый ФиксированныйМассив(Приоритеты);
-КонецФункции
+//&НаКлиентеНаСервереБезКонтекста
+//Функция ПолучитьМассивПриоритетовЦветаЗадач()
+// Приоритеты = Новый Массив;
+// Приоритеты.Добавить(ВидыПриоритетаЦвета().Задача);
+// Приоритеты.Добавить(ВидыПриоритетаЦвета().Спринт);
+// Приоритеты.Добавить(ВидыПриоритетаЦвета().ОсновнаяЗадача);
+// Приоритеты.Добавить(ВидыПриоритетаЦвета().Важность);
+//
+// Возврат Новый ФиксированныйМассив(Приоритеты);
+//КонецФункции
-&НаКлиентеНаСервереБезКонтекста
-Функция ВидыПриоритетаЦвета()
- Виды = Новый Структура();
- Виды.Вставить("Важность" , "Важность");
- Виды.Вставить("ОсновнаяЗадача", "ОсновнаяЗадача");
- Виды.Вставить("Спринт" , "Спринт");
- Виды.Вставить("Задача" , "Задача");
-
- Возврат Новый ФиксированнаяСтруктура(Виды);
-КонецФункции
+//&НаКлиентеНаСервереБезКонтекста
+//Функция ВидыПриоритетаЦвета()
+// Виды = Новый Структура();
+// Виды.Вставить("Важность" , "Важность");
+// Виды.Вставить("ОсновнаяЗадача", "ОсновнаяЗадача");
+// Виды.Вставить("Спринт" , "Спринт");
+// Виды.Вставить("Задача" , "Задача");
+//
+// Возврат Новый ФиксированнаяСтруктура(Виды);
+//КонецФункции
-&НаКлиенте
-Процедура ЗаполнитьЗадачиНаКлиенте()
- ОбновитьКанбанДоску();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ЗаполнитьЗадачиНаКлиенте()
+// ОбновитьКанбанДоску();
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаОбновить(Команда)
- Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаКанбанДоска;
- ЗаполнитьЗадачиНаКлиенте();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаОбновить(Команда)
+// Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаКанбанДоска;
+// ЗаполнитьЗадачиНаКлиенте();
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаУстановитьСтандартныеНастройки(Команда)
- УстановитьСтандартныеНастройкиНаСервере();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаУстановитьСтандартныеНастройки(Команда)
+// УстановитьСтандартныеНастройкиНаСервере();
+//КонецПроцедуры
-&НаСервере
-Процедура УстановитьСтандартныеНастройкиНаСервере()
- КлючНастроек = ПолучитьКлючНастроек();
- ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,Неопределено);
- пНастройкиКомпоновщика = Неопределено;
- ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика);
- ОпределитьОтборНаСервере(пНастройкиКомпоновщика);
-КонецПроцедуры
+//&НаСервере
+//Процедура УстановитьСтандартныеНастройкиНаСервере()
+// КлючНастроек = ПолучитьКлючНастроек();
+// ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,Неопределено);
+// пНастройкиКомпоновщика = Неопределено;
+// ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика);
+// ОпределитьОтборНаСервере(пНастройкиКомпоновщика);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ТЧЗадачиПриАктивизацииЯчейки(Элемент)
- ИмяТЧ = Элемент.Имя;
- ИмяАктивнойТЧ = ИмяТЧ;
- ОчиститьАктивизацииСтрок(ИмяТЧ);
- Если НЕ НастройкиТЧДляАктивацииПервойСтроки.Свойство(ИмяТЧ) Тогда
- Элемент.ВыделенныеСтроки.Очистить();
- НастройкиТЧДляАктивацииПервойСтроки.Вставить(ИмяТЧ,"Истина");
- Конецесли;
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ТЧЗадачиПриАктивизацииЯчейки(Элемент)
+// ИмяТЧ = Элемент.Имя;
+// ИмяАктивнойТЧ = ИмяТЧ;
+// ОчиститьАктивизацииСтрок(ИмяТЧ);
+// Если НЕ НастройкиТЧДляАктивацииПервойСтроки.Свойство(ИмяТЧ) Тогда
+// Элемент.ВыделенныеСтроки.Очистить();
+// НастройкиТЧДляАктивацииПервойСтроки.Вставить(ИмяТЧ,"Истина");
+// Конецесли;
+//КонецПроцедуры
-&НаКлиенте
-Процедура ТЧЗадачиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
- СтандартнаяОбработка = Ложь;
- ПоказатьЗначение(,Элемент.ТекущиеДанные.Задача);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ТЧЗадачиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
+// СтандартнаяОбработка = Ложь;
+// ПоказатьЗначение(,Элемент.ТекущиеДанные.Задача);
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаДобавитьВСпринт(Команда)
- ДобавитьУбратьВСпринтНаКлиенте(1);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаДобавитьВСпринт(Команда)
+// ДобавитьУбратьВСпринтНаКлиенте(1);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ДобавитьУбратьВСпринтНаКлиенте(КодОперации)
- СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные;
- Если СтрокаТЧ = Неопределено тогда
- Сообщить("Выберите задачи, которые хотите добавить в спринт");
- Возврат;
- Конецесли;
- МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки;
- Если МассивВыделенныхСтрок.Количество() = 0 Тогда
- Сообщить("Выберите задачи, которые хотите добавить в спринт");
- Возврат;
- Конецесли;
- РезультатФункции = ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок);
- КомандаДобавитьУбратьВыполнена = РезультатФункции.КомандаДобавитьУбратьВыполнена;
- Если НЕ КомандаДобавитьУбратьВыполнена Тогда
- Если РезультатФункции.Свойство("НеобходимоВыбратьСпринт") Тогда
- ДополнительныеПараметры = Новый Структура();
- ДополнительныеПараметры.Вставить("МассивВыделенныхСтрок",МассивВыделенныхСтрок);
- ОповещениеОЗакрытии = Новый ОписаниеОповещения("ОбработатьВыборСпринта", ЭтаФорма, ДополнительныеПараметры);
-
- пОтбор = Новый Структура("СпринтЗавершен", Ложь);
- ПараметрыОткрытияФормы = Новый Структура("Отбор", пОтбор);
- ОткрытьФорму("Справочник.узСпринты.Форма.ФормаВыбора",ПараметрыОткрытияФормы,,,,,ОповещениеОЗакрытии);
- Конецесли;
- Конецесли;
- ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ДобавитьУбратьВСпринтНаКлиенте(КодОперации)
+// СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные;
+// Если СтрокаТЧ = Неопределено тогда
+// Сообщить("Выберите задачи, которые хотите добавить в спринт");
+// Возврат;
+// Конецесли;
+// МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки;
+// Если МассивВыделенныхСтрок.Количество() = 0 Тогда
+// Сообщить("Выберите задачи, которые хотите добавить в спринт");
+// Возврат;
+// Конецесли;
+// РезультатФункции = ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок);
+// КомандаДобавитьУбратьВыполнена = РезультатФункции.КомандаДобавитьУбратьВыполнена;
+// Если НЕ КомандаДобавитьУбратьВыполнена Тогда
+// Если РезультатФункции.Свойство("НеобходимоВыбратьСпринт") Тогда
+// ДополнительныеПараметры = Новый Структура();
+// ДополнительныеПараметры.Вставить("МассивВыделенныхСтрок",МассивВыделенныхСтрок);
+// ОповещениеОЗакрытии = Новый ОписаниеОповещения("ОбработатьВыборСпринта", ЭтаФорма, ДополнительныеПараметры);
+//
+// пОтбор = Новый Структура("СпринтЗавершен", Ложь);
+// ПараметрыОткрытияФормы = Новый Структура("Отбор", пОтбор);
+// ОткрытьФорму("Справочник.узСпринты.Форма.ФормаВыбора",ПараметрыОткрытияФормы,,,,,ОповещениеОЗакрытии);
+// Конецесли;
+// Конецесли;
+// ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции)
- Если РезультатФункции.Свойство("МассивСообщений") Тогда
- МассивСообщений = РезультатФункции.МассивСообщений;
- Для каждого ЭлМассиваСообщения из МассивСообщений цикл
- Сообщить(ЭлМассиваСообщения);
- Конеццикла;
- Конецесли;
- ЗаполнитьЗадачиНаСервере();
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции)
+// Если РезультатФункции.Свойство("МассивСообщений") Тогда
+// МассивСообщений = РезультатФункции.МассивСообщений;
+// Для каждого ЭлМассиваСообщения из МассивСообщений цикл
+// Сообщить(ЭлМассиваСообщения);
+// Конеццикла;
+// Конецесли;
+// ЗаполнитьЗадачиНаСервере();
+//КонецПроцедуры
-&НаКлиенте
-Процедура ОбработатьВыборСпринта(РезультатЗакрытия, ДопПараметры) Экспорт
- Если РезультатЗакрытия = Неопределено Тогда
- Возврат;
- Конецесли;
- пСпринт = РезультатЗакрытия;
- МассивВыделенныхСтрок = ДопПараметры.МассивВыделенныхСтрок;
- РезультатФункции = ДобавитьУбратьВСпринтНаСервере(1,МассивВыделенныхСтрок,пСпринт);
- ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ОбработатьВыборСпринта(РезультатЗакрытия, ДопПараметры) Экспорт
+// Если РезультатЗакрытия = Неопределено Тогда
+// Возврат;
+// Конецесли;
+// пСпринт = РезультатЗакрытия;
+// МассивВыделенныхСтрок = ДопПараметры.МассивВыделенныхСтрок;
+// РезультатФункции = ДобавитьУбратьВСпринтНаСервере(1,МассивВыделенныхСтрок,пСпринт);
+// ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции);
+//КонецПроцедуры
-&НаСервере
-Функция ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок,пСпринт = Неопределено)
- МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок);
- РезультатФункцииТекущийСпринт = Справочники.узСпринты.ПолучитьТекущийСпринт();
- ТекстОшибки = РезультатФункцииТекущийСпринт.ТекстОшибки;
- Если ЗначениеЗаполнено(ТекстОшибки) Тогда
- МассивСообщений = Новый Массив();
- МассивСообщений.Добавить(ТекстОшибки);
-
- РезультатФункции = Новый Структура();
- РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь);
- РезультатФункции.Вставить("МассивСообщений",МассивСообщений);
- Возврат РезультатФункции;
- Конецесли;
-
- Если КодОперации = -1 Тогда
- РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,Неопределено,МассивЗадач);
- Возврат РезультатФункции;
- Конецесли;
-
- Если ЗначениеЗаполнено(пСпринт) Тогда
- РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач);
- Возврат РезультатФункции;
- Конецесли;;
-
- Только1АктивныйСпринт = РезультатФункцииТекущийСпринт.Только1АктивныйСпринт;
- Если Только1АктивныйСпринт Тогда
- пСпринт = РезультатФункцииТекущийСпринт.Спринт;
- РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач);
- Возврат РезультатФункции;
- Конецесли;
-
- РезультатФункции = Новый Структура();
- РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь);
- РезультатФункции.Вставить("НеобходимоВыбратьСпринт",Истина);
- Возврат РезультатФункции;
-
-КонецФункции
+//&НаСервере
+//Функция ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок,пСпринт = Неопределено)
+// МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок);
+// РезультатФункцииТекущийСпринт = Справочники.узСпринты.ПолучитьТекущийСпринт();
+// ТекстОшибки = РезультатФункцииТекущийСпринт.ТекстОшибки;
+// Если ЗначениеЗаполнено(ТекстОшибки) Тогда
+// МассивСообщений = Новый Массив();
+// МассивСообщений.Добавить(ТекстОшибки);
+//
+// РезультатФункции = Новый Структура();
+// РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь);
+// РезультатФункции.Вставить("МассивСообщений",МассивСообщений);
+// Возврат РезультатФункции;
+// Конецесли;
+//
+// Если КодОперации = -1 Тогда
+// РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,Неопределено,МассивЗадач);
+// Возврат РезультатФункции;
+// Конецесли;
+//
+// Если ЗначениеЗаполнено(пСпринт) Тогда
+// РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач);
+// Возврат РезультатФункции;
+// Конецесли;;
+//
+// Только1АктивныйСпринт = РезультатФункцииТекущийСпринт.Только1АктивныйСпринт;
+// Если Только1АктивныйСпринт Тогда
+// пСпринт = РезультатФункцииТекущийСпринт.Спринт;
+// РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач);
+// Возврат РезультатФункции;
+// Конецесли;
+//
+// РезультатФункции = Новый Структура();
+// РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь);
+// РезультатФункции.Вставить("НеобходимоВыбратьСпринт",Истина);
+// Возврат РезультатФункции;
+//
+//КонецФункции
-&НаСервере
-Функция ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок)
- МассивЗадач = Новый Массив();
- Для каждого ЭлМассиваВыделенныхСтрок из МассивВыделенныхСтрок цикл
- ИдентификаторСтроки = ЭлМассиваВыделенныхСтрок;
- СтрокаТЧЗадачи = Объект.ТЧЗадачи.НайтиПоИдентификатору(ИдентификаторСтроки);
- МассивЗадач.Добавить(СтрокаТЧЗадачи.Задача);
- Конеццикла;
- Возврат МассивЗадач;
-КонецФункции
+//&НаСервере
+//Функция ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок)
+// МассивЗадач = Новый Массив();
+// Для каждого ЭлМассиваВыделенныхСтрок из МассивВыделенныхСтрок цикл
+// ИдентификаторСтроки = ЭлМассиваВыделенныхСтрок;
+// СтрокаТЧЗадачи = Объект.ТЧЗадачи.НайтиПоИдентификатору(ИдентификаторСтроки);
+// МассивЗадач.Добавить(СтрокаТЧЗадачи.Задача);
+// Конеццикла;
+// Возврат МассивЗадач;
+//КонецФункции
-&НаСервере
-Функция ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач)
- ЭтоДобавление = КодОперации = 1;
- ЭтоУдаление = КодОперации = -1;
-
- РезультатФункции = Новый Структура();
- МассивСообщений = Новый Массив();
- Для каждого ЭлМассиваЗадач из МассивЗадач цикл
- пЗадачаСсылка = ЭлМассиваЗадач;
- Если ЭтоДобавление Тогда
- Если пЗадачаСсылка.Спринт <> пСпринт Тогда
- ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект();
- ЗадачаОбъект.Спринт = пСпринт;
- ЗадачаОбъект.Записать();
- МассивСообщений.Добавить("Добавлена"
- +" в спринт ["+пСпринт+"] "
- +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
- Иначе
- МассивСообщений.Добавить("Уже указана"
- +" в спринте ["+пСпринт+"] "
- +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
- Конецесли;
- ИначеЕсли ЭтоУдаление Тогда
- пСпринт = пЗадачаСсылка.Спринт;
- Если ЗначениеЗаполнено(пСпринт) Тогда
- ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект();
- ЗадачаОбъект.Спринт = Неопределено;
- ЗадачаОбъект.Записать();
- МассивСообщений.Добавить("Убрана"
- +" из спринта ["+пСпринт+"] "
- +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
- Иначе
- МассивСообщений.Добавить("Не указана в спринте"
- +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
- Конецесли;
- Иначе
- ВызватьИсключение "Неизвестный код операции " + КодОперации;
- КонецЕсли;
- Конеццикла;
- РезультатФункции.Вставить("МассивСообщений",МассивСообщений);
- РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Истина);
- Возврат РезультатФункции;
-КонецФункции
+//&НаСервере
+//Функция ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач)
+// ЭтоДобавление = КодОперации = 1;
+// ЭтоУдаление = КодОперации = -1;
+//
+// РезультатФункции = Новый Структура();
+// МассивСообщений = Новый Массив();
+// Для каждого ЭлМассиваЗадач из МассивЗадач цикл
+// пЗадачаСсылка = ЭлМассиваЗадач;
+// Если ЭтоДобавление Тогда
+// Если пЗадачаСсылка.Спринт <> пСпринт Тогда
+// ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект();
+// ЗадачаОбъект.Спринт = пСпринт;
+// ЗадачаОбъект.Записать();
+// МассивСообщений.Добавить("Добавлена"
+// +" в спринт ["+пСпринт+"] "
+// +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
+// Иначе
+// МассивСообщений.Добавить("Уже указана"
+// +" в спринте ["+пСпринт+"] "
+// +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
+// Конецесли;
+// ИначеЕсли ЭтоУдаление Тогда
+// пСпринт = пЗадачаСсылка.Спринт;
+// Если ЗначениеЗаполнено(пСпринт) Тогда
+// ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект();
+// ЗадачаОбъект.Спринт = Неопределено;
+// ЗадачаОбъект.Записать();
+// МассивСообщений.Добавить("Убрана"
+// +" из спринта ["+пСпринт+"] "
+// +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
+// Иначе
+// МассивСообщений.Добавить("Не указана в спринте"
+// +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]");
+// Конецесли;
+// Иначе
+// ВызватьИсключение "Неизвестный код операции " + КодОперации;
+// КонецЕсли;
+// Конеццикла;
+// РезультатФункции.Вставить("МассивСообщений",МассивСообщений);
+// РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Истина);
+// Возврат РезультатФункции;
+//КонецФункции
-&НаКлиенте
-Процедура КомандаУбратьИзСпринта(Команда)
- ДобавитьУбратьВСпринтНаКлиенте(-1);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаУбратьИзСпринта(Команда)
+// ДобавитьУбратьВСпринтНаКлиенте(-1);
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаСледитьЗаЗадачей(Команда)
- ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Истина);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаСледитьЗаЗадачей(Команда)
+// ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Истина);
+//КонецПроцедуры
-&НаКлиенте
-Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(ЭтоДобавлениеНаблюдателя)
- СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные;
- Если СтрокаТЧ = Неопределено тогда
- Сообщить("Выберите задачи, которые за которыми хотите следить");
- Возврат;
- Конецесли;
- МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки;
- Если МассивВыделенныхСтрок.Количество() = 0 Тогда
- Сообщить("Выберите задачи, которые за которыми хотите следить");
- Возврат;
- Конецесли;
- ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя);
- Оповестить("ДобавленУбранНаблюдатель");
-КонецПроцедуры
+//&НаКлиенте
+//Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(ЭтоДобавлениеНаблюдателя)
+// СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные;
+// Если СтрокаТЧ = Неопределено тогда
+// Сообщить("Выберите задачи, которые за которыми хотите следить");
+// Возврат;
+// Конецесли;
+// МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки;
+// Если МассивВыделенныхСтрок.Количество() = 0 Тогда
+// Сообщить("Выберите задачи, которые за которыми хотите следить");
+// Возврат;
+// Конецесли;
+// ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя);
+// Оповестить("ДобавленУбранНаблюдатель");
+//КонецПроцедуры
-&НаСервере
-Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя)
- МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок);
- ДопПараметры = Новый Структура();
- ДопПараметры.Вставить("Пользователь",Пользователи.ТекущийПользователь());
- ДопПараметры.Вставить("МассивЗадач",МассивЗадач);
- Если ЭтоДобавлениеНаблюдателя Тогда
- РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры);
- Иначе
- РегистрыСведений.узНаблюдателиЗаЗадачами.ПерестатьСледитьЗаЗадачей(ДопПараметры);
- Конецесли;
-КонецПроцедуры
+//&НаСервере
+//Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя)
+// МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок);
+// ДопПараметры = Новый Структура();
+// ДопПараметры.Вставить("Пользователь",Пользователи.ТекущийПользователь());
+// ДопПараметры.Вставить("МассивЗадач",МассивЗадач);
+// Если ЭтоДобавлениеНаблюдателя Тогда
+// РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры);
+// Иначе
+// РегистрыСведений.узНаблюдателиЗаЗадачами.ПерестатьСледитьЗаЗадачей(ДопПараметры);
+// Конецесли;
+//КонецПроцедуры
-&НаКлиенте
-Процедура КомандаНеСледитьЗаЗадачей(Команда)
- ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Ложь);
-КонецПроцедуры
+//&НаКлиенте
+//Процедура КомандаНеСледитьЗаЗадачей(Команда)
+// ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Ложь);
+//КонецПроцедуры
diff --git a/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl
index 7bc3cbe8e..9260d5056 100644
--- a/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl
+++ b/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl
@@ -123,7 +123,7 @@
УдалитьВременныеФайлы(РезультатВыгрузки);
КонецПроцедуры
-Функция ЗаполнитьТЧОбработки()
+Процедура ЗаполнитьТЧОбработки()
ИсторияХранилища.Очистить();
ИзмененныеОбъекты.Очистить();
@@ -176,7 +176,7 @@
Конеццикла;
ИсторияХранилища.Сортировать("Версия");
-КонецФункции
+КонецПроцедуры
Функция ПолучитьПолноеИмяМетаданных(ПолноеИмяМетаданных,СтрокамТЗHistory)
ИмяОбъекта = СтрокамТЗHistory.OBJNAME;
diff --git a/src/cf/DataProcessors/узРаботаСТелеграм/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узРаботаСТелеграм/Ext/ObjectModule.bsl
index 861cdfbef..1ef0a942e 100644
--- a/src/cf/DataProcessors/узРаботаСТелеграм/Ext/ObjectModule.bsl
+++ b/src/cf/DataProcessors/узРаботаСТелеграм/Ext/ObjectModule.bsl
@@ -18,9 +18,11 @@
пМассивНастроекПроксиСерверов = РегистрыСведений.узПроксиСерверы.ПолучитьМассивНастроекПроксиСерверов();
пМассивНастроекПроксиСерверовКоличество = пМассивНастроекПроксиСерверов.Количество();
- Если пМассивНастроекПроксиСерверовКоличество = 0 Тогда
- пВсеНастройкиПолучены = Ложь;
- КонецЕсли;
+ // + #232 Ruflex @RomanUpworksTeam
+ //Если пМассивНастроекПроксиСерверовКоличество = 0 Тогда
+ // пВсеНастройкиПолучены = Ложь;
+ //КонецЕсли;
+ // - #232 Ruflex @RomanUpworksTeam
пНастройкиДляРаботыСТелеграм.Вставить("ТокенТелеграмБота", пТокенТелеграмБота);
пНастройкиДляРаботыСТелеграм.Вставить("МассивНастроекПроксиСерверов", пМассивНастроекПроксиСерверов);
@@ -85,6 +87,8 @@
МассивResult = ОтветСоответсвие["result"];
ИДПоследнегоПринятогоСообщения = Неопределено;
+ ТЗПользователиТелеграмм = ПолучитьТЗПользователиТелеграмм();
+
Для Каждого СоответсвиеMessange Из МассивResult Цикл
ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
@@ -100,32 +104,69 @@
Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
MessageText = СоответсвиеMessange_message.Получить("text");
- Если Найти(MessageText, "/addwork") <> 0 Тогда
- Запрос = Новый Запрос;
- Запрос.Текст =
- "ВЫБРАТЬ ПЕРВЫЕ 1
- | Пользователи.Ссылка КАК Пользователь
- |ИЗ
- | Справочник.Пользователи КАК Пользователи
- |ГДЕ
- | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
-
- Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
-
- РезультатЗапроса = Запрос.Выполнить();
- Если РезультатЗапроса.Пустой() Тогда
- Продолжить;
- КонецЕсли;
-
- Выборка = РезультатЗапроса.Выбрать();
- Пока Выборка.Следующий() Цикл
- ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
- ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
- ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
- ТекущиеДелаОбъект.Записать();
- КонецЦикла;
-
+ // + Иванов А.Б. 2020-07-11
+ // Если Найти(MessageText, "/addwork") <> 0 Тогда
+ // Запрос = Новый Запрос;
+ // Запрос.Текст =
+ // "ВЫБРАТЬ ПЕРВЫЕ 1
+ // | Пользователи.Ссылка КАК Пользователь
+ // |ИЗ
+ // | Справочник.Пользователи КАК Пользователи
+ // |ГДЕ
+ // | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
+ //
+ // Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
+ //
+ // РезультатЗапроса = Запрос.Выполнить();
+ // Если РезультатЗапроса.Пустой() Тогда
+ // Продолжить;
+ // КонецЕсли;
+ //
+ // Выборка = РезультатЗапроса.Выбрать();
+ // Пока Выборка.Следующий() Цикл
+ // ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
+ // ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
+ // ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
+ // ТекущиеДелаОбъект.Записать();
+ // КонецЦикла;
+ //
+ // КонецЕсли;
+
+ Если Найти(MessageText, "/addwork") = 0 Тогда
+ Продолжить;
КонецЕсли;
+
+ пузИДПользователяТелеграмм = Число(пСhatИД);
+
+ ПараметрыОтбора=Новый Структура();
+ ПараметрыОтбора.Вставить("узИДПользователяТелеграмм",пузИДПользователяТелеграмм);
+ НайденныеСтроки = ТЗПользователиТелеграмм.НайтиСтроки(ПараметрыОтбора);
+ ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
+ ТекстОшибки = "";
+ Если ВсегоНайденныеСтроки = 1 тогда
+ СтрокаТЗПользователиТелеграмм = НайденныеСтроки[0];
+ ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
+ ТекстОшибки = "Ошибка! Найдено более 1 строки";
+ Иначе
+ ТекстОшибки = "Ошибка! Не найдена строка";
+ Конецесли;
+
+ Если ЗначениеЗаполнено(ТекстОшибки) Тогда
+ ТекстОшибки = ТекстОшибки
+ +" в ""ТЗПользователиТелеграмм"" для ";
+ Для каждого ЭлементОтбора из ПараметрыОтбора цикл
+ ТекстОшибки = ТекстОшибки
+ +" "+ ЭлементОтбора.Ключ + " = ["+ЭлементОтбора.Значение+"]";
+ Конеццикла;
+ ВызватьИсключение ТекстОшибки;
+ Конецесли;
+
+ ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
+ ТекущиеДелаОбъект.Автор = СтрокаТЗПользователиТелеграмм.Пользователь;
+ ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
+ ТекущиеДелаОбъект.Записать();
+ // - Иванов А.Б. 2020-07-11
+
ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
@@ -141,6 +182,26 @@
КонецПроцедуры
+Функция ПолучитьТЗПользователиТелеграмм()
+
+ Запрос = Новый Запрос;
+ Запрос.Текст = "ВЫБРАТЬ
+ | МАКСИМУМ(Пользователи.Ссылка) КАК Пользователь,
+ | Пользователи.узИДПользователяТелеграмм КАК узИДПользователяТелеграмм
+ |ИЗ
+ | Справочник.Пользователи КАК Пользователи
+ |ГДЕ
+ | Пользователи.узИДПользователяТелеграмм <> 0
+ |
+ |СГРУППИРОВАТЬ ПО
+ | Пользователи.узИДПользователяТелеграмм";
+
+ ТЗПользователиТелеграмм = Запрос.Выполнить().Выгрузить();
+
+ Возврат ТЗПользователиТелеграмм;
+
+КонецФункции
+
Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
@@ -265,16 +326,32 @@
Процедура ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON = Ложь)
Ответ = Неопределено;
- Если НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество() Тогда
- Возврат;
+
+ // + #232 Ruflex @RomanUpworksTeam
+ ///+Ruflex
+ ///-Ruflex
+ //Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) ) Тогда
+ // Возврат;
+ //КонецЕсли;
+
+ Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
+
+ Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) Тогда
+ Возврат;
+ КонецЕсли;
+
+ НастройкиПрокси = МассивНастроекПроксиСерверов[НомерТекущейНастройкиПрокси];
+ ИнтернетПрокси = Новый ИнтернетПрокси(Ложь);
+ ИнтернетПрокси.Установить("https",НастройкиПрокси.Адрес,НастройкиПрокси.Порт,НастройкиПрокси.Логин,НастройкиПрокси.Пароль,Ложь);
+ Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,ИнтернетПрокси,30,Новый ЗащищенноеСоединениеOpenSSL());
+
+ Иначе
+
+ Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,30,Новый ЗащищенноеСоединениеOpenSSL());
+
КонецЕсли;
-
- НастройкиПрокси = МассивНастроекПроксиСерверов[НомерТекущейНастройкиПрокси];
- ИнтернетПрокси = Новый ИнтернетПрокси(Ложь);
- ИнтернетПрокси.Установить("https",НастройкиПрокси.Адрес,НастройкиПрокси.Порт,НастройкиПрокси.Логин,НастройкиПрокси.Пароль,Ложь);
+ // + #232 Ruflex @RomanUpworksTeam
- Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,ИнтернетПрокси,,Новый ЗащищенноеСоединениеOpenSSL());
-
Попытка
Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
@@ -305,9 +382,20 @@
КонецЕсли;
Исключение
- НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
- РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
- ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
+
+ // + #232 Ruflex @RomanUpworksTeam
+ //НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
+ //РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
+ //ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
+
+ Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
+
+ НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
+ РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
+ ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
+
+ Конецесли;
+ // - #232 Ruflex @RomanUpworksTeam
КонецПопытки
КонецПроцедуры
diff --git a/src/cf/Enums/узВидыСобытий.xml b/src/cf/Enums/узВидыСобытий.xml
index b1f7ff6db..106d81ace 100644
--- a/src/cf/Enums/узВидыСобытий.xml
+++ b/src/cf/Enums/узВидыСобытий.xml
@@ -282,6 +282,38 @@
+
+
+ ИзмененОтвет
+
+
+ ru
+ Изменен ответ
+
+
+ en
+ Add question
+
+
+
+
+
+
+
+ ИзмененВопрос
+
+
+ ru
+ Изменен вопрос
+
+
+ en
+ Add question
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cf/Enums/узОтображениеФайловЗадачНаДоске.xml b/src/cf/Enums/узОтображениеФайловЗадачНаДоске.xml
index 043ee5adb..d10c8e76c 100644
--- a/src/cf/Enums/узОтображениеФайловЗадачНаДоске.xml
+++ b/src/cf/Enums/узОтображениеФайловЗадачНаДоске.xml
@@ -25,6 +25,60 @@
false
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
true
BothWays
diff --git a/src/cf/InformationRegisters/узАктивностиПользователей/Ext/ManagerModule.bsl b/src/cf/InformationRegisters/узАктивностиПользователей/Ext/ManagerModule.bsl
index d707b10e9..fa975a7fc 100644
--- a/src/cf/InformationRegisters/узАктивностиПользователей/Ext/ManagerModule.bsl
+++ b/src/cf/InformationRegisters/узАктивностиПользователей/Ext/ManagerModule.bsl
@@ -132,10 +132,14 @@
ВидыСобытий_ДобавленВопрос = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ДобавленВопрос");
ВидыСобытий_ЗакрытВопрос = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ЗакрытВопрос");
+ ВидыСобытий_ИзмененОтвет = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененОтвет");
+ ВидыСобытий_ИзмененВопрос = ПредопределенноеЗначение("Перечисление.узВидыСобытий.ИзмененВопрос");
МассивВидовСобытияДляРегистрацииАктивности = Новый Массив();
МассивВидовСобытияДляРегистрацииАктивности.Добавить(ВидыСобытий_ДобавленВопрос);
МассивВидовСобытияДляРегистрацииАктивности.Добавить(ВидыСобытий_ЗакрытВопрос);
+ МассивВидовСобытияДляРегистрацииАктивности.Добавить(ВидыСобытий_ИзмененОтвет);
+ МассивВидовСобытияДляРегистрацииАктивности.Добавить(ВидыСобытий_ИзмененВопрос);
Для каждого СтрокаТЗСобытия из ТЗСобытия цикл
пВидСобытия = СтрокаТЗСобытия.ВидСобытия;
diff --git a/src/cf/InformationRegisters/узНаблюдателиЗаЗадачами/Ext/ManagerModule.bsl b/src/cf/InformationRegisters/узНаблюдателиЗаЗадачами/Ext/ManagerModule.bsl
index b794351af..11620b901 100644
--- a/src/cf/InformationRegisters/узНаблюдателиЗаЗадачами/Ext/ManagerModule.bsl
+++ b/src/cf/InformationRegisters/узНаблюдателиЗаЗадачами/Ext/ManagerModule.bsl
@@ -69,4 +69,72 @@
Функция ЕстьЛиСлежениеЗаЗадачейУТекущегоПользователя(Задача) Экспорт
Возврат ЕстьЛиСлежениеЗаЗадачейУПользователя(Задача, Пользователи.ТекущийПользователь());
-КонецФункции
\ No newline at end of file
+КонецФункции
+
+Функция ПолучитьМассивНаблюдателей(Задача) Экспорт
+
+ МассивНаблюдателей = Новый Массив();
+
+ Запрос = Новый Запрос;
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | узНаблюдателиЗаЗадачами.Пользователь
+ |ИЗ
+ | РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами
+ |ГДЕ
+ | узНаблюдателиЗаЗадачами.Задача = &Задача
+ | И узНаблюдателиЗаЗадачами.Пользователь.узНеОтправлятьУведомленияНаПочту = ЛОЖЬ
+ | И узНаблюдателиЗаЗадачами.Пользователь <> &Исполнитель";
+
+
+ ТекущийПользователь = Пользователи.ТекущийПользователь();
+
+ Запрос.УстановитьПараметр("Исполнитель", Задача.Исполнитель);
+ Запрос.УстановитьПараметр("Задача", Задача);
+
+ РезультатЗапроса = Запрос.Выполнить();
+ Если НЕ РезультатЗапроса.Пустой() Тогда
+ Выборка = РезультатЗапроса.Выбрать();
+ Пока Выборка.Следующий() Цикл
+ МассивНаблюдателей.Добавить(Выборка.Пользователь);
+ КонецЦикла;
+ КонецЕсли;
+
+ ТЧСтатусНаблюдатели = Задача.Статус.Наблюдатели;
+
+ Для каждого СтрокаНаблюдатели из ТЧСтатусНаблюдатели цикл
+ Если МассивНаблюдателей.Найти(СтрокаНаблюдатели.Пользователь) <> Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Если СтрокаНаблюдатели.Пользователь = ТекущийПользователь
+ И НЕ СтрокаНаблюдатели.Пользователь.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Если НЕ СтрокаНаблюдатели.Контрагент.Пустая()
+ И НЕ Задача.Контрагент.Пустая()
+ И НЕ СтрокаНаблюдатели.Контрагент = Задача.Контрагент Тогда
+ Продолжить;
+ КонецЕсли;
+ МассивНаблюдателей.Добавить(СтрокаНаблюдатели.Пользователь);
+ КонецЦикла;
+
+ пНаблюдателиЗаОснЗадачей = Задача.ОсновнаяЗадача.НаблюдателиЗаОсновнойЗадачей;
+ Для каждого СтрокапНаблюдателиЗаОснЗадачей из пНаблюдателиЗаОснЗадачей цикл
+ пНаблюдатель = СтрокапНаблюдателиЗаОснЗадачей.Пользователь;
+ Если МассивНаблюдателей.Найти(пНаблюдатель) <> Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Если пНаблюдатель = ТекущийПользователь
+ И НЕ пНаблюдатель.узОтправлятьУведомленияОДействияхПользователяЕмуНаПочту Тогда
+ Продолжить;
+ КонецЕсли;
+
+ МассивНаблюдателей.Добавить(пНаблюдатель);
+ КонецЦикла;
+
+ Возврат МассивНаблюдателей;
+
+КонецФункции
\ No newline at end of file