From 509ae68335ae911cad70f1acd1c9b0e62ff3b0a8 Mon Sep 17 00:00:00 2001
From: Anton Ivanov <iab@bk.ru>
Date: Sun, 28 May 2023 09:12:18 +0300
Subject: [PATCH] =?UTF-8?q?*=20#314=20=D0=9F=D1=80=D0=B8=20=D0=BE=D1=82?=
 =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B5=20=D1=8D=D0=BB=D0=B5=D0=BA?=
 =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=B8?=
 =?UTF-8?q?=D1=81=D1=8C=D0=BC=D0=B0=20=D0=BF=D0=BE=20=D1=88=D0=B0=D0=B1?=
 =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D1=83=20=D0=B4=D0=BB=D1=8F=20=D0=97=D0=B0?=
 =?UTF-8?q?=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B2=D1=8B=D0=B4=D0=B0=D0=B5=D1=82?=
 =?UTF-8?q?=D1=81=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 VERSIONS.md                                   |  8 ++++
 .../Catalogs/узЗадачи/Ext/ManagerModule.bsl   | 45 +++++++++++++++++--
 src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl | 24 +++++-----
 3 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/VERSIONS.md b/VERSIONS.md
index acaa76286..07dfe33c3 100644
--- a/VERSIONS.md
+++ b/VERSIONS.md
@@ -2,6 +2,14 @@
 Что сделать дополнительно: 
 * Обновить в файле настроек сонара новую версию релиза sonar.projectVersion=1.0.5.ххх
 
+
+**Выпущена версия 1.0.5.ххх (Обновление от хх.хх.2023)**
+
+**Изменения**
+
+* #314 При отправке электронного письма по шаблону для Задачи выдается ошибка 
+
+
 **Выпущена версия 1.0.5.018 (Обновление от 27.04.2023)**
 
 **Изменения**
diff --git a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
index d935fd7e4..9177b1839 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl
@@ -492,6 +492,38 @@
 КонецПроцедуры
 //_ГЕНА
 
+Функция ПолучитьДопПараметрыИзЗадачи(ЗадачаСсылка, ДопПараметры = Неопределено) Экспорт 
+	
+	ДопПараметрыИзЗадачи = Новый Структура;
+	ДопПараметрыИзЗадачи.Вставить("узТемаПисьмаСобытие", Неопределено); 
+	ДопПараметрыИзЗадачи.Вставить("узНомерЗадачи", Неопределено);
+	ДопПараметрыИзЗадачи.Вставить("узИзмененияПоКомментариям", Неопределено);
+	ДопПараметрыИзЗадачи.Вставить("узНавигационнаяСсылка", Неопределено);
+
+	Если ДопПараметры <> Неопределено Тогда
+		ДопПараметрыИзЗадачи.узТемаПисьмаСобытие = ДопПараметры.ТемаПисьмаСобытие;
+		ДопПараметрыИзЗадачи.узНомерЗадачи = ДопПараметры.НомерЗадачи;
+		ДопПараметрыИзЗадачи.узИзмененияПоКомментариям = ДопПараметры.ТекстИзмененнийПоКомментариям; 
+	Иначе     
+		
+		ДопПараметрыИзЗадачи.узНомерЗадачи = ПолучитьНомерЗадачи(ЗадачаСсылка);;
+		//ДопПараметрыИзЗадачи.узТемаПисьмаСобытие = 
+		//	"[#" + ДопПараметрыИзЗадачи.узНомерЗадачи + "] " + ЗадачаСсылка;   
+		
+	КонецЕсли;    
+	
+	ВнешняяНавигационнаяСсылка = узОбщийМодульСервер.ПолучитьВнешнююНавигационнуюСсылкуИБ();
+	Если ВнешняяНавигационнаяСсылка = "" Тогда
+		СтрокаСсылки = ПолучитьНавигационнуюСсылку(ЗадачаСсылка);
+	Иначе
+		СтрокаСсылки = ВнешняяНавигационнаяСсылка + "#" + ПолучитьНавигационнуюСсылку(ЗадачаСсылка);
+	КонецЕсли;
+	ДопПараметрыИзЗадачи.узНавигационнаяСсылка = СтрокаСсылки;
+	
+	Возврат ДопПараметрыИзЗадачи;
+	
+КонецФункции 
+
 //+ГЕНА
 // Вызывается в момент создания сообщений по шаблону для заполнения значений реквизитов и вложений.
 //
@@ -511,12 +543,18 @@
 //
 Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
 	
-	ПараметрыСообщения = ДополнительныеПараметры.ПараметрыСообщения;
+	ПараметрыСообщения = ДополнительныеПараметры.ПараметрыСообщения;     
+	
+	Если НЕ ПараметрыСообщения.Свойство("узНомерЗадачи") Тогда
+		ДопПараметрыИзЗадачи = Справочники.узЗадачи.ПолучитьДопПараметрыИзЗадачи(ПредметСообщения);
+		ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыСообщения, ДопПараметрыИзЗадачи, Истина);
+	КонецЕсли;
 	
 	Реквизиты = Сообщение.ЗначенияРеквизитов;
 	
 	Если ПараметрыСообщения.Свойство("узСообщенияСловаря") Тогда
-		СообщенияСловаря = ПараметрыСообщения.узСообщенияСловаря;
+		СообщенияСловаря = ПараметрыСообщения.узСообщенияСловаря;  
+		ПараметрыСообщения.Удалить("узСообщенияСловаря");	
 	Иначе
 		СообщенияСловаря = СловарьДляСообщений();
 	КонецЕсли;
@@ -527,7 +565,8 @@
 	КонецЦикла;
 	
 	Если ПараметрыСообщения.Свойство("узСообщенияДопПараметров") Тогда
-		СообщенияДопПараметров = ПараметрыСообщения.узСообщенияДопПараметров;
+		СообщенияДопПараметров = ПараметрыСообщения.узСообщенияДопПараметров; 
+		ПараметрыСообщения.Удалить("узСообщенияДопПараметров");
 	Иначе
 		СообщенияДопПараметров = ДополнительныеПараметрыДляСообщений();
 	КонецЕсли;
diff --git a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
index 7961b863d..e3459cba8 100644
--- a/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
+++ b/src/cf/Catalogs/узЗадачи/Ext/ObjectModule.bsl
@@ -1568,17 +1568,19 @@
 		ТекстИзмененнийПоКомментариям = Символы.ПС + " - " + СтрСоединить(ДопПараметры.МассивИзмененнийПоКомментариям, Символы.ПС + " - ");
 	КонецЕсли;
 	
-	ДопПараметрыИзЗадачи = Новый Структура;
-	ДопПараметрыИзЗадачи.Вставить("узТемаПисьмаСобытие", ДопПараметры.ТемаПисьмаСобытие);
-	ДопПараметрыИзЗадачи.Вставить("узНомерЗадачи", ДопПараметры.НомерЗадачи);
-	ДопПараметрыИзЗадачи.Вставить("узИзмененияПоКомментариям", ТекстИзмененнийПоКомментариям);
-	ВнешняяНавигационнаяСсылка = узОбщийМодульСервер.ПолучитьВнешнююНавигационнуюСсылкуИБ();
-	Если ВнешняяНавигационнаяСсылка = "" Тогда
-		СтрокаСсылки = ПолучитьНавигационнуюСсылку(Ссылка);
-	Иначе
-		СтрокаСсылки = ВнешняяНавигационнаяСсылка+"#"+ПолучитьНавигационнуюСсылку(Ссылка);
-	КонецЕсли;
-	ДопПараметрыИзЗадачи.Вставить("узНавигационнаяСсылка", СтрокаСсылки);
+	//ДопПараметрыИзЗадачи = Новый Структура;
+	//ДопПараметрыИзЗадачи.Вставить("узТемаПисьмаСобытие", ДопПараметры.ТемаПисьмаСобытие);
+	//ДопПараметрыИзЗадачи.Вставить("узНомерЗадачи", ДопПараметры.НомерЗадачи);
+	//ДопПараметрыИзЗадачи.Вставить("узИзмененияПоКомментариям", ТекстИзмененнийПоКомментариям);
+	//ВнешняяНавигационнаяСсылка = узОбщийМодульСервер.ПолучитьВнешнююНавигационнуюСсылкуИБ();
+	//Если ВнешняяНавигационнаяСсылка = "" Тогда
+	//	СтрокаСсылки = ПолучитьНавигационнуюСсылку(Ссылка);
+	//Иначе
+	//	СтрокаСсылки = ВнешняяНавигационнаяСсылка+"#"+ПолучитьНавигационнуюСсылку(Ссылка);
+	//КонецЕсли;
+	//ДопПараметрыИзЗадачи.Вставить("узНавигационнаяСсылка", СтрокаСсылки);  
+	
+	ДопПараметрыИзЗадачи = Справочники.узЗадачи.ПолучитьДопПараметрыИзЗадачи(Ссылка, ДопПараметры);
 	
 	ДополнительныеПараметры = Новый Структура;
 	ДополнительныеПараметры.Вставить("ПараметрыСообщения", ДопПараметрыИзЗадачи);