Ошибка безопасного режима

1. user2073132 28.03.24 05:07 Сейчас в теме
Что в этом коде нужно поменять что бы он работал в безопасном режиме?

&НаКлиенте
Процедура ЗагрузитьДанныеНаКлиенте(Результат, ДопПараметр) Экспорт
	ЗагрузитьДанныеНаСервере(Результат, ДопПараметр)
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьДанныеНаСервере(Результат, ДопПараметр) 
	Если НЕ (Результат = Неопределено) Тогда       
		ИмяФайла = Результат[0];
	Иначе
		Сообщить("Не выбран файл!");
		Возврат;
	КонецЕсли;
	
	Выборка = Справочники.ВнеоборотныеАктивы.Выбрать();           
    Пока Выборка.Следующий() Цикл   
        СправочникЗадачи = Выборка.ПолучитьОбъект();  
         СправочникЗадачи.Удалить();
    КонецЦикла;

	
	ТабДок = Новый ТабличныйДокумент;              	ТабДок.Прочитать(ИмяФайла);
	Для Строка = 2 По ТабДок.ВысотаТаблицы Цикл        
		ТипТабл = ТабДок.Область(Строка, 2).Текст;
		Если не ТабДок.Область(Строка, 2).Текст = "" и не ТабДок.Область(Строка, 2).Текст = "Наименование" Тогда
			Если Справочники.ВнеоборотныеАктивы.НайтиПоНаименованию(ТипТабл, Истина) = Справочники.ВнеоборотныеАктивы.ПустаяСсылка() Тогда	
			ЭлементыВнеоборотныеАктивы = Справочники.ВнеоборотныеАктивы.СоздатьЭлемент(); 
			ЭлементыВнеоборотныеАктивы.Наименование = ТабДок.Область(Строка, 2).Текст;
			ЭлементыВнеоборотныеАктивы.НачальнаяСтоимость = ТабДок.Область(Строка, 4).Текст;
			ЭлементыВнеоборотныеАктивы.Записать();  
			Сообщить("В справочник была добавлена запись " + ЭлементыВнеоборотныеАктивы.Наименование);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 28.03.24 08:04 Сейчас в теме
(1) Попробовать добавить разрешение на использование каталога файловой системы.
3. o.kovalev 117 29.03.24 08:43 Сейчас в теме
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
	
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
	Диалог.Заголовок = "Выберите файл";
	Диалог.ПолноеИмяФайла = ""; 
	Фильтр = "MXL (*.mxl|*.mxl"; 
	Диалог.Фильтр = Фильтр; 
	Диалог.МножественныйВыбор = Ложь;	
	Диалог.Показать(Новый ОписаниеОповещения("ЗагрузитьФайлЗавершение", ЭтаФорма, Новый Структура("Диалог", Диалог)));	
	
	
	
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьФайлЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт

	Диалог = ДополнительныеПараметры.Диалог;   
	
	
	Если (ВыбранныеФайлы <> Неопределено) Тогда				
		
		ТаблДокумент= Новый ТабличныйДокумент();
		ТаблДокумент.Прочитать(Диалог.ПолноеИмяФайла);
		АдресВХ = ПоместитьВоВременноеХранилище(ТаблДокумент);		
			
		ОбработатьФайлНаСервере(АдресВХ);
				
	КонецЕсли;
	
КонецПроцедуры


&НаСервере
Процедура ОбработатьФайлНаСервере(АдресВХ)

	ТаблДокумент=ПолучитьИзВременногоХранилища(АдресВХ);
	
  	Для Строка = 1 По ТаблДокумент.ВысотаТаблицы Цикл        
        Сообщить(ТаблДокумент.Область(Строка, 2).Текст);
	КонецЦикла;
 
	
КонецПроцедуры
Показать
4. user2073132 04.02.25 05:12 Сейчас в теме
&НаСервере
Процедура РЧ2025_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
  
  ДобавляемыеРеквизиты = Новый Массив;
  
  НовыйРеквизит = Новый РеквизитФормы(
    "РЧ2025_КолонкаКалендаря", 
    Новый ОписаниеТипов("СправочникСсылка.КолонкиКалендарейСотрудников"),, 
    "Колонка календаря");
    
  ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
  
  ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
  Поле = Элементы.Добавить("РЧ2025_КолонкаКалендаря", Тип("ПолеФормы"), Элементы.ЛеваяКолонка);
  Поле.Вид = ВидПоляФормы.ПолеНадписи;
  Поле.ЦветРамки = Новый Цвет(100,100,100);
  Поле.ПутьКДанным = "РЧ2025_КолонкаКалендаря";
  
  Группа = Элементы.Добавить("РЧ2025_ЦентральнаяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
  Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
  Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
  
  Поле = Элементы.Добавить("РЧ2025_Проект", Тип("ПолеФормы"), Группа);
  Поле.Вид = ВидПоляФормы.ПолеВвода;
  Поле.ПутьКДанным = "Объект.РЧ2025_Проект";
  
  Поле = Элементы.Добавить("РЧ2025_ИдентификаторGitLab", Тип("ПолеФормы"), Группа);
  Поле.Вид = ВидПоляФормы.ПолеВвода;
  Поле.ТолькоПросмотр = Истина;
  Поле.ПутьКДанным = "Объект.РЧ2025_ИдентификаторGitLab";
  
  Группа = Элементы.Добавить("РЧ2025_ПраваяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
  Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
  Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
  
  Поле = Элементы.Добавить("РЧ2025_План", Тип("ПолеФормы"), Группа);
  Поле.Вид = ВидПоляФормы.ПолеВвода;
  Поле.ПутьКДанным = "Объект.РЧ2025_План";
  
  Поле = Элементы.Добавить("РЧ2025_Факт", Тип("ПолеФормы"), Группа);
  Поле.Вид = ВидПоляФормы.ПолеВвода;
  Поле.ПутьКДанным = "Объект.РЧ2025_Факт";
  
  Элементы.ГруппаВидИСостояние.Видимость = Ложь;
  Элементы.ГруппаЗаданиеУтвердил.Видимость = Ложь;
  Элементы.КоманднаяПанельРедактироватьСписком.Видимость = Ложь;
  
  Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
    ЭтотОбъект["РЧ2025_КолонкаКалендаря"] = КолонкаКалендаряЗадачи(Объект.Ссылка, Объект.КалендарьСотрудника);
  КонецЕсли;
  
КонецПроцедуры

&НаСервереБезКонтекста
Функция КолонкаКалендаряЗадачи(Задача, Календарь)
  
  Запрос = Новый Запрос;
  Запрос.Текст = 
    "ВЫБРАТЬ
    |  ЗаписиКалендаряСотрудника.КолонкаКалендаря КАК КолонкаКалендаря
    |ИЗ
    |  Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
    |ГДЕ
    |  ЗаписиКалендаряСотрудника.Календарь = &Календарь
    |  И ЗаписиКалендаряСотрудника.Источник = &Источник";
  
  Запрос.УстановитьПараметр("Календарь", Календарь);
  Запрос.УстановитьПараметр("Источник", Задача );
  
  Выборка = Запрос.Выполнить().Выбрать();
  
  Если Выборка.Следующий() Тогда
    Возврат Выборка.КолонкаКалендаря;
  КонецЕсли;
  
  Возврат Справочники.КолонкиКалендарейСотрудников.ПустаяСсылка();
  
КонецФункции
Показать
5. user2073132 04.02.25 05:13 Сейчас в теме
&После("ПередЗаписью")
Процедура РЧ2025_ПередЗаписью(Отказ)
  
  ВипЛимит = 3;
  
  Запрос = Новый Запрос;
  Запрос.Текст = 
    "ВЫБРАТЬ
    |  КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаписиКалендаряСотрудника.Источник) КАК КоличествоЗадачВКолонке
    |ИЗ
    |  Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
    |ГДЕ
    |  ЗаписиКалендаряСотрудника.Источник <> &Источник
    |  И ЗаписиКалендаряСотрудника.КолонкаКалендаря = &КолонкаКалендаря
    |  И ЗаписиКалендаряСотрудника.Календарь = &Календарь
    |  И ЗаписиКалендаряСотрудника.Ссылка <> &Ссылка
    |  И НЕ ЗаписиКалендаряСотрудника.ПометкаУдаления";
  
  Запрос.УстановитьПараметр("Источник", Источник);
  Запрос.УстановитьПараметр("КолонкаКалендаря", КолонкаКалендаря);
  Запрос.УстановитьПараметр("Календарь", Календарь);
  Запрос.УстановитьПараметр("Ссылка", Ссылка);
  
  Выборка = Запрос.Выполнить().Выбрать();
  
  Выборка.Следующий();
  
  Если Выборка.КоличествоЗадачВКолонке >= ВипЛимит Тогда
    Отказ = Истина;
    ОбщегоНазначения.СообщитьПользователю("Превышено максимальное количество задач в колонке",,,,Отказ)
  КонецЕсли;
  
КонецПроцедуры

ЗаписиКалендаряСотрудника модуль менеджера
Показать
6. user2073132 04.02.25 05:14 Сейчас в теме
&После("ОбработкаЗаполнения")
Процедура РЧ2025_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
  
  Если Не ЗначениеЗаполнено(Сотрудник) Тогда
    Сотрудник = Константы.РЧ2025_СотрудникБэклог.Получить();
  КонецЕсли;  
КонецПроцедуры

Заднмодуль
Показать
7. user2073132 04.02.25 05:14 Сейчас в теме
&Вместо("ПечатнаяФорма")
Функция РЧ2025_ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
	ТабличныйДокумент 	= Новый ТабличныйДокумент;
	ПервыйДокумент 		= Истина;
	
	Для каждого ТекущийДокумент Из МассивОбъектов Цикл
	
		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		Запрос = Новый Запрос();
		
		
		Запрос.УстановитьПараметр("Ссылка", 	ТекущийДокумент);
		
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаданиеНаРаботу.Ссылка КАК Ссылка,
		|	ЗаданиеНаРаботу.Номер КАК Номер,
		|	ЗаданиеНаРаботу.Дата КАК Дата,
		|	ЗаданиеНаРаботу.Автор КАК Автор,
		|	ЗаданиеНаРаботу.Организация КАК Организация,
		|	ЗаданиеНаРаботу.РЧ2025_Проект КАК Проект,
		|	ЗаданиеНаРаботу.Работы.(
		|		Комментарий КАК Комментарий,
		|		Заказчик КАК Заказчик
		|	) КАК Работы
		|ИЗ
		|	Документ.ЗаданиеНаРаботу КАК ЗаданиеНаРаботу
		|ГДЕ
		|	ЗаданиеНаРаботу.Ссылка = &Ссылка";
		
		РезультатЗапроса	= Запрос.Выполнить().Выбрать();
		
		
		ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаданиеНаРаботу_УнифицированнаяФорма";
		
		Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаданиеНаРаботу.ПФ_MXL_Задание");
	
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	Требования = Макет.ПолучитьОбласть("Требования");
	Подвал = Макет.ПолучитьОбласть("Подвал");
	ТабличныйДокумент.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока РезультатЗапроса.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ОбластьЗаголовок.Параметры.Заполнить(РезультатЗапроса);
		ТабличныйДокумент.Вывести(ОбластьЗаголовок, РезультатЗапроса.Уровень());
		
		Шапка.Параметры.Заполнить(РезультатЗапроса);
		ТабличныйДокумент.Вывести(Шапка, РезультатЗапроса.Уровень());
		
		Требования.Параметры.Заполнить(РезультатЗапроса);
		ТабличныйДокумент.Вывести(Требования, РезультатЗапроса.Уровень());
		
	
		ТабличныйДокумент.Вывести(Подвал);

		ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
		
		//УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
	КонецЦикла;	
	
	
	Возврат ТабличныйДокумент;
КонецФункции

ЗаднРМодульМ
Показать
8. user2073132 04.02.25 05:20 Сейчас в теме
Еще
Прикрепленные файлы:
9. user2073132 04.02.25 05:32 Сейчас в теме
Процедура РЧ2025_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
		
	ТокенGitLab = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РЧ2025_Проект, "РЧ2025_ТокенGitLab");
	
	Если Не ЗначениеЗаполнено(ТокенGitLab)Тогда
		Возврат;
	КонецЕсли;
	
	Если ЗначениеЗаполнено(РЧ2025_ИдентификаторGitlab) Тогда
		Возврат;
	КонецЕсли;	
	
	АдресСервера = "gitlab.com";
	ПутьНаСервере = "/api/v4/projects/66689131/issues";
	
	Соединение = Новый HTTPСоединение(АдресСервера,,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	
	ДанныеЗапроса = Новый Структура;
	ДанныеЗапроса.Вставить("title", СтрШаблон("№%1 от %2", Номер, Формат(Дата, "ДЛФ=D")));
	ДанныеЗапроса.Вставить("labels", Строка(РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Ссылка, КалендарьСотрудника)));
	
	ТелоЗапроса = ЗаписатьЗначениеJSON(ДанныеЗапроса);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("PRIVATE-TOKEN", ТокенGitLab);
	Заголовки.Вставить("Content-Type", "application/json");
	
	Запрос = Новый HTTPЗапрос(ПутьНаСервере, Заголовки);
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
	
	Попытка
	Ответ = Соединение.ОтправитьДляОбработки(Запрос);
	Исключение
		ОбщегоНазначения.СообщитьПользователю("Не удалось отправить задачу в GitLab, повторная попытка будет выполнена при следующей записи");
		Возврат;
	КонецПопытки;
	
	Если Ответ.КодСостояния >= 300 Тогда
		ОбщегоНазначения.СообщитьПользователю("Не удалось отправить задачу в GitLab, повторная попытка будет выполнена при следующей записи");
		Возврат;
	КонецЕсли;
	
	ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
	
	ДанныеОтвета = ПрочитатьЗначениеJSON(ТелоОтвета);
	
	РЧ2025_ИдентификаторGitlab = ДанныеОтвета.iid;
	
КонецПроцедуры
Показать
10. user2073132 09.03.25 23:45 Сейчас в теме
&После("ПередЗаписью")
Процедура РЧ2025_ПередЗаписью(Отказ)
	
	КолонкиКалендарейСотрудников = "Справочник.Ссылка.КолонкиКалендарейСотрудников";
	НаименованиеКолонки = КолонкаКалендаря.Наименование;
	
	//ВипЛимит = 4; 
	
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	РЧ2025_ВипЛимит.ВипЛимит КАК ВипЛимит
		|ИЗ
		|	РегистрСведений.РЧ2025_ВипЛимит КАК РЧ2025_ВипЛимит";

	
	Выборка = Запрос.Выполнить().Выбрать();
	
	
  Если Выборка.Следующий() Тогда
    ВипЛимит = Выборка.ВипЛимит; 
  КонецЕсли;

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаписиКалендаряСотрудника.Источник) КАК КоличествоЗадачВКолонке
		|ИЗ
		|	Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
		|ГДЕ
		|	ЗаписиКалендаряСотрудника.Источник <> &Источник
		|	И ЗаписиКалендаряСотрудника.КолонкаКалендаря = &КолонкаКалендаря
		|	И ЗаписиКалендаряСотрудника.Календарь = &Календарь
		|	И ЗаписиКалендаряСотрудника.Ссылка <> &Ссылка
		|	И НЕ ЗаписиКалендаряСотрудника.ПометкаУдаления";
	
	Запрос.УстановитьПараметр("Источник", Источник);
	Запрос.УстановитьПараметр("КолонкаКалендаря", КолонкаКалендаря);
	Запрос.УстановитьПараметр("Календарь", Календарь);
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Выборка.Следующий();
	
	КоличествоЗадачВКолонке = Выборка.КоличествоЗадачВКолонке;
	
	
	Если Выборка.КоличествоЗадачВКолонке >= ВипЛимит Тогда
		ОбщегоНазначения.СообщитьПользователю("Превышено максимальное количество задач в колонке '" + НаименованиеКолонки + "'",,,,Отказ);
	КонецЕсли;
	
	Элемент = Справочники.КолонкиКалендарейСотрудников.НайтиПоНаименованию("Анализ").ПолучитьОбъект();
	КоличествоЗадачВКолонке = КоличествоЗадачВКолонке + 1;
	
	Элемент.Наименование = "Анализ " + "(" + КоличествоЗадачВКолонке + ("/") + ВипЛимит + ")";
	Элемент.Записать();
	
	
КонецПроцедуры
Показать


ЗаписКалСотрудника МодульОб
11. user2073132 09.03.25 23:47 Сейчас в теме
&НаСервере
Процедура РЧ2025_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	ДобавляемыеРеквизиты = Новый Массив;
	
	НовыйРеквизит = Новый РеквизитФормы(
		"РЧ2025_КолонкаКалендаря", 
		Новый ОписаниеТипов("СправочникСсылка.КолонкиКалендарейСотрудников"),,
		"Статус");
	
	ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
	
	ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	
	Поле = Элементы.Добавить("РЧ2025_КолонкаКалендаря", Тип("ПолеФормы"), Элементы.ГруппаВидИСостояние);
	Поле.Вид = ВидПоляФормы.ПолеНадписи;
	Поле.ПутьКДанным = "РЧ2025_КолонкаКалендаря";
	
	Группа = Элементы.Добавить("РЧ2025_ЦентральнаяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
	Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
	Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
	
	Поле = Элементы.Добавить("РЧ2025_Проект", Тип("ПолеФормы"), Группа);
	Поле.Вид = ВидПоляФормы.ПолеВвода;
	Поле.ПутьКДанным = "Объект.РЧ2025_Проект";
	
	Поле = Элементы.Добавить("РЧ2025_ИдентификаторGitLab", Тип("ПолеФормы"), Группа);
	Поле.Вид = ВидПоляФормы.ПолеВвода;
	Поле.ТолькоПросмотр = Истина;
	Поле.ПутьКДанным = "Объект.РЧ2025_ИдентификаторGitLab";
	
	Группа = Элементы.Добавить("РЧ2025_ПраваяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
	Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
	Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
	
	Поле = Элементы.Добавить("РЧ2025_План", Тип("ПолеФормы"), Группа);
	Поле.Вид = ВидПоляФормы.ПолеВвода;
	Поле.ПутьКДанным = "Объект.РЧ2025_План";
	
	Поле = Элементы.Добавить("РЧ2025_Факт", Тип("ПолеФормы"), Группа);
	Поле.Вид = ВидПоляФормы.ПолеВвода;
	Поле.ПутьКДанным = "Объект.РЧ2025_Факт";
	
	Элементы.ВидОперации.Видимость = Ложь;
	Элементы.Состояние.Видимость = Ложь;
	Элементы.Планирование.Видимость = Ложь;
	Элементы.ЗаказчикРаботаУслуга.Видимость = Ложь;
	
	Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
		ЭтотОбъект["РЧ2025_КолонкаКалендаря"] = КолонкаКалендаряЗадачи(Объект.Ссылка, Объект.КалендарьСотрудника)
	КонецЕсли
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция КолонкаКалендаряЗадачи(Задача, Календарь)
	
	Возврат РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Задача, Календарь);
	
КонецФункции
Показать


ЗаднРаботФорма
12. user2073132 09.03.25 23:47 Сейчас в теме
Функция КолонкаКалендаряЗадачи(Задача, Календарь) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ЗаписиКалендаряСотрудника.КолонкаКалендаря КАК КолонкаКалендаря
		|ИЗ
		|	Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
		|ГДЕ
		|	ЗаписиКалендаряСотрудника.Календарь = &Календарь
		|	И ЗаписиКалендаряСотрудника.Источник = &Источник";
	
	Запрос.УстановитьПараметр("Календарь", Календарь);
	Запрос.УстановитьПараметр("Источник", Задача);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда
		
		Возврат Выборка.КолонкаКалендаря;
	КонецЕсли;
	
	Возврат Справочники.КолонкиКалендарейСотрудников.ПустаяСсылка();
	
КонецФункции
Показать

ОбщМодуль
13. user2073132 10.03.25 05:01 Сейчас в теме
ЗаднНаРаботуМодульОбь


&После("ОбработкаЗаполнения")
Процедура РЧ2025_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
	
	Если Не ЗначениеЗаполнено (Сотрудник) Тогда
		Сотрудник = Константы.РЧ2025_СотрудникБэклог.Получить();
	КонецЕсли;
	
КонецПроцедуры

&После("ПередЗаписью")
Процедура РЧ2025_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	
	ТокенGitLab = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РЧ2025_Проект, "РЧ2025_ТокенGitLab");
	Колонка = РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Ссылка, КалендарьСотрудника);
	
	Если Не ЗначениеЗаполнено(ТокенGitLab) Тогда
		Возврат;
	КонецЕсли;
	
	Если ЗначениеЗаполнено(РЧ2025_ИдентификаторGitLab) Тогда
		Возврат;
	КонецЕсли;
	
	Если Найти(ВРег(Колонка.Наименование),"(") = 0 Тогда
		//Если Не ЗначениеЗаполнено(Колонка) Или Строка(Колонка) <> "Анализ" Тогда
		//	Возврат;
		//КонецЕсли;
		Возврат;
	КонецЕсли;
	
	АдресСервера = "gitlab.com";
	ПутьНаСервере = "/api/v4/projects/67786785/issues";
	
	Соединение = Новый HTTPСоединение(АдресСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	
	
	
	ДанныеЗапроса = Новый Структура;
	ДанныеЗапроса.Вставить("title", СтрШаблон("Задание на работу №%1 от %2", Номер, Формат(Дата, "ДЛФ=D")));
	ДанныеЗапроса.Вставить("description", ЭтотОбъект.Работы[0].Комментарий);
	//Строка(РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Ссылка, КалендарьСотрудника))
	ДанныеЗапроса.Вставить("labels", СтрШаблон("Анализ",,));
	//ДанныеЗапроса.Вставить("labels", Строка(РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Ссылка, КалендарьСотрудника)));
	
	ТелоЗапроса = ЗаписатьЗначениеJSON(ДанныеЗапроса);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("PRIVATE-TOKEN", ТокенGitLab);
	Заголовки.Вставить("Content-Type", "application/json"); 
	
	Запрос = Новый HTTPЗапрос(ПутьНаСервере, Заголовки);
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
	
	Попытка
		Ответ = Соединение.ОтправитьДляОбработки(Запрос);
	Исключение
		ОбщегоНазначения.СообщитьПользователю("Не удалось отправить задачу в GitLab, повторая попытка будет выполнена при следующей записи");
		Возврат;
	КонецПопытки;
	
	Если Ответ.КодСостояния >= 300 Тогда
		ОбщегоНазначения.СообщитьПользователю("Не удалось отправить задачу в GitLab, повторая попытка будет выполнена при следующей записи");
		Возврат;
	КонецЕсли;
	
	ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
	
	ДанныеОтвета = ПрочитатьЗначениеJSON(ТелоОтвета);
	
	РЧ2025_ИдентификаторGitLab = ДанныеОтвета.iid;
	
КонецПроцедуры
Показать
14. user2073132 10.03.25 05:02 Сейчас в теме
ЗаднНаРаботуМодульМ

&Вместо("ПечатнаяФорма")
Функция РЧ2025_ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
    ТабличныйДокумент     = Новый ТабличныйДокумент;
    ПервыйДокумент         = Истина;
    
    Для каждого ТекущийДокумент Из МассивОбъектов Цикл
    
        Если НЕ ПервыйДокумент Тогда
            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        ПервыйДокумент = Ложь;
        
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
        
        Запрос = Новый Запрос();
        
        
        Запрос.УстановитьПараметр("Ссылка",     ТекущийДокумент);
        
        Запрос.Текст = 
        "ВЫБРАТЬ
        |	ЗаданиеНаРаботу.Ссылка КАК Ссылка,
        |	ЗаданиеНаРаботу.Номер КАК Номер,
        |	ЗаданиеНаРаботу.Дата КАК Дата,
        |	ЗаданиеНаРаботу.Автор КАК Автор,
        |	ЗаданиеНаРаботу.Организация КАК Организация,
        |	ЗаданиеНаРаботу.РЧ2025_Проект КАК Проект,
        |	ЗаданиеНаРаботу.РЧ2025_Проект.Контрагент.Ссылка КАК Заказчик
        |ПОМЕСТИТЬ ВременнаяТаблица
        |ИЗ
        |	Документ.ЗаданиеНаРаботу КАК ЗаданиеНаРаботу
        |ГДЕ
        |	ЗаданиеНаРаботу.Ссылка = &Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |	ЗаданиеНаРаботуРаботы.Комментарий КАК Комментарий
        |ПОМЕСТИТЬ ВременнаяТаблица1
        |ИЗ
        |	Документ.ЗаданиеНаРаботу.Работы КАК ЗаданиеНаРаботуРаботы
        |ГДЕ
        |	ЗаданиеНаРаботуРаботы.Ссылка.Ссылка = &Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |	ВременнаяТаблица.Ссылка КАК Ссылка,
        |	ВременнаяТаблица.Номер КАК Номер,
        |	ВременнаяТаблица.Дата КАК Дата,
        |	ВременнаяТаблица.Автор КАК Автор,
        |	ВременнаяТаблица.Организация КАК Организация,
        |	ВременнаяТаблица.Проект КАК Проект,
        |	ВременнаяТаблица.Заказчик КАК Заказчик,
        |	ВременнаяТаблица1.Комментарий КАК Комментарий
        |ИЗ
        |	ВременнаяТаблица КАК ВременнаяТаблица,
        |	ВременнаяТаблица1 КАК ВременнаяТаблица1";
        
        РезультатЗапроса    = Запрос.Выполнить().Выбрать();
        
        
        ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаданиеНаРаботу_УнифицированнаяФорма";
        
        Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаданиеНаРаботу.ПФ_MXL_Задание");
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Требования = Макет.ПолучитьОбласть("Требования");
    Подвал = Макет.ПолучитьОбласть("Подвал");
    ТабличныйДокумент.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока РезультатЗапроса.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ОбластьЗаголовок.Параметры.Заполнить(РезультатЗапроса);
        ТабличныйДокумент.Вывести(ОбластьЗаголовок, РезультатЗапроса.Уровень());
        
        Шапка.Параметры.Заполнить(РезультатЗапроса);
        ТабличныйДокумент.Вывести(Шапка, РезультатЗапроса.Уровень());
        
        Требования.Параметры.Заполнить(РезультатЗапроса);
        ТабличныйДокумент.Вывести(Требования, РезультатЗапроса.Уровень());
        
    
        ТабличныйДокумент.Вывести(Подвал);

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
        
        //УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
    КонецЦикла;    
    
    
    Возврат ТабличныйДокумент;
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот