Что в этом коде нужно поменять что бы он работал в безопасном режиме?
&НаКлиенте
Процедура ЗагрузитьДанныеНаКлиенте(Результат, ДопПараметр) Экспорт
ЗагрузитьДанныеНаСервере(Результат, ДопПараметр)
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьДанныеНаСервере(Результат, ДопПараметр)
Если НЕ (Результат = Неопределено) Тогда
ИмяФайла = Результат[0];
Иначе
Сообщить("Не выбран файл!");
Возврат;
КонецЕсли;
Выборка = Справочники.ВнеоборотныеАктивы.Выбрать();
Пока Выборка.Следующий() Цикл
СправочникЗадачи = Выборка.ПолучитьОбъект();
СправочникЗадачи.Удалить();
КонецЦикла;
ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(ИмяФайла);
Для Строка = 2 По ТабДок.ВысотаТаблицы Цикл
ТипТабл = ТабДок.Область(Строка, 2).Текст;
Если не ТабДок.Область(Строка, 2).Текст = "" и не ТабДок.Область(Строка, 2).Текст = "Наименование" Тогда
Если Справочники.ВнеоборотныеАктивы.НайтиПоНаименованию(ТипТабл, Истина) = Справочники.ВнеоборотныеАктивы.ПустаяСсылка() Тогда
ЭлементыВнеоборотныеАктивы = Справочники.ВнеоборотныеАктивы.СоздатьЭлемент();
ЭлементыВнеоборотныеАктивы.Наименование = ТабДок.Область(Строка, 2).Текст;
ЭлементыВнеоборотныеАктивы.НачальнаяСтоимость = ТабДок.Область(Строка, 4).Текст;
ЭлементыВнеоборотныеАктивы.Записать();
Сообщить("В справочник была добавлена запись " + ЭлементыВнеоборотныеАктивы.Наименование);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Открытие файлов внешних обработок/отчетов без проблем с безопасным режимом в 1С 8.3 (Разрешаем доступ к привилегированному режиму исполнения кода для безопасного режима настройкой профиля безопасности кластера)
- Исправление ошибки "Преобразование значения к типу Число не может быть выполнено" в 1С:Розница 2.3
- Установлен безопасный режим. Выполнение операции запрещено
- Исправление ошибки в акте сверки в релизе Бухгалтерии государственного учреждения, редакция 2.0.94.37, 2.0.95.14
- Результаты ревью кода 1500+ решений каталога Инфостарт: наиболее частые ошибки разработчиков в коде
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл";
Диалог.ПолноеИмяФайла = "";
Фильтр = "MXL (*.mxl|*.mxl";
Диалог.Фильтр = Фильтр;
Диалог.МножественныйВыбор = Ложь;
Диалог.Показать(Новый ОписаниеОповещения("ЗагрузитьФайлЗавершение", ЭтаФорма, Новый Структура("Диалог", Диалог)));
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьФайлЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Диалог = ДополнительныеПараметры.Диалог;
Если (ВыбранныеФайлы <> Неопределено) Тогда
ТаблДокумент= Новый ТабличныйДокумент();
ТаблДокумент.Прочитать(Диалог.ПолноеИмяФайла);
АдресВХ = ПоместитьВоВременноеХранилище(ТаблДокумент);
ОбработатьФайлНаСервере(АдресВХ);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработатьФайлНаСервере(АдресВХ)
ТаблДокумент=ПолучитьИзВременногоХранилища(АдресВХ);
Для Строка = 1 По ТаблДокумент.ВысотаТаблицы Цикл
Сообщить(ТаблДокумент.Область(Строка, 2).Текст);
КонецЦикла;
КонецПроцедуры
Показать&НаСервере
Процедура РЧ2025_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
ДобавляемыеРеквизиты = Новый Массив;
НовыйРеквизит = Новый РеквизитФормы(
"РЧ2025_КолонкаКалендаря",
Новый ОписаниеТипов("СправочникСсылка.КолонкиКалендарейСотрудников"),,
"Колонка календаря");
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Поле = Элементы.Добавить("РЧ2025_КолонкаКалендаря", Тип("ПолеФормы"), Элементы.ЛеваяКолонка);
Поле.Вид = ВидПоляФормы.ПолеНадписи;
Поле.ЦветРамки = Новый Цвет(100,100,100);
Поле.ПутьКДанным = "РЧ2025_КолонкаКалендаря";
Группа = Элементы.Добавить("РЧ2025_ЦентральнаяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("РЧ2025_Проект", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_Проект";
Поле = Элементы.Добавить("РЧ2025_ИдентификаторGitLab", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ТолькоПросмотр = Истина;
Поле.ПутьКДанным = "Объект.РЧ2025_ИдентификаторGitLab";
Группа = Элементы.Добавить("РЧ2025_ПраваяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("РЧ2025_План", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_План";
Поле = Элементы.Добавить("РЧ2025_Факт", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_Факт";
Элементы.ГруппаВидИСостояние.Видимость = Ложь;
Элементы.ГруппаЗаданиеУтвердил.Видимость = Ложь;
Элементы.КоманднаяПанельРедактироватьСписком.Видимость = Ложь;
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
ЭтотОбъект["РЧ2025_КолонкаКалендаря"] = КолонкаКалендаряЗадачи(Объект.Ссылка, Объект.КалендарьСотрудника);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция КолонкаКалендаряЗадачи(Задача, Календарь)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаписиКалендаряСотрудника.КолонкаКалендаря КАК КолонкаКалендаря
|ИЗ
| Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
|ГДЕ
| ЗаписиКалендаряСотрудника.Календарь = &Календарь
| И ЗаписиКалендаряСотрудника.Источник = &Источник";
Запрос.УстановитьПараметр("Календарь", Календарь);
Запрос.УстановитьПараметр("Источник", Задача );
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.КолонкаКалендаря;
КонецЕсли;
Возврат Справочники.КолонкиКалендарейСотрудников.ПустаяСсылка();
КонецФункции
Показать&После("ПередЗаписью")
Процедура РЧ2025_ПередЗаписью(Отказ)
ВипЛимит = 3;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаписиКалендаряСотрудника.Источник) КАК КоличествоЗадачВКолонке
|ИЗ
| Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
|ГДЕ
| ЗаписиКалендаряСотрудника.Источник <> &Источник
| И ЗаписиКалендаряСотрудника.КолонкаКалендаря = &КолонкаКалендаря
| И ЗаписиКалендаряСотрудника.Календарь = &Календарь
| И ЗаписиКалендаряСотрудника.Ссылка <> &Ссылка
| И НЕ ЗаписиКалендаряСотрудника.ПометкаУдаления";
Запрос.УстановитьПараметр("Источник", Источник);
Запрос.УстановитьПараметр("КолонкаКалендаря", КолонкаКалендаря);
Запрос.УстановитьПараметр("Календарь", Календарь);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Если Выборка.КоличествоЗадачВКолонке >= ВипЛимит Тогда
Отказ = Истина;
ОбщегоНазначения.СообщитьПользователю("Превышено максимальное количество задач в колонке",,,,Отказ)
КонецЕсли;
КонецПроцедуры
ЗаписиКалендаряСотрудника модуль менеджера
Показать&После("ОбработкаЗаполнения")
Процедура РЧ2025_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если Не ЗначениеЗаполнено(Сотрудник) Тогда
Сотрудник = Константы.РЧ2025_СотрудникБэклог.Получить();
КонецЕсли;
КонецПроцедуры
Заднмодуль
Показать&Вместо("ПечатнаяФорма")
Функция РЧ2025_ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
ТабличныйДокумент = Новый ТабличныйДокумент;
ПервыйДокумент = Истина;
Для каждого ТекущийДокумент Из МассивОбъектов Цикл
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Ссылка", ТекущийДокумент);
Запрос.Текст =
"ВЫБРАТЬ
| ЗаданиеНаРаботу.Ссылка КАК Ссылка,
| ЗаданиеНаРаботу.Номер КАК Номер,
| ЗаданиеНаРаботу.Дата КАК Дата,
| ЗаданиеНаРаботу.Автор КАК Автор,
| ЗаданиеНаРаботу.Организация КАК Организация,
| ЗаданиеНаРаботу.РЧ2025_Проект КАК Проект,
| ЗаданиеНаРаботу.Работы.(
| Комментарий КАК Комментарий,
| Заказчик КАК Заказчик
| ) КАК Работы
|ИЗ
| Документ.ЗаданиеНаРаботу КАК ЗаданиеНаРаботу
|ГДЕ
| ЗаданиеНаРаботу.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаданиеНаРаботу_УнифицированнаяФорма";
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаданиеНаРаботу.ПФ_MXL_Задание");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
Требования = Макет.ПолучитьОбласть("Требования");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабличныйДокумент.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока РезультатЗапроса.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьЗаголовок.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(ОбластьЗаголовок, РезультатЗапроса.Уровень());
Шапка.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(Шапка, РезультатЗапроса.Уровень());
Требования.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(Требования, РезультатЗапроса.Уровень());
ТабличныйДокумент.Вывести(Подвал);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
ЗаднРМодульМ
ПоказатьПроцедура РЧ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;
КонецПроцедуры
Показать
&После("ПередЗаписью")
Процедура РЧ2025_ПередЗаписью(Отказ)
КолонкиКалендарейСотрудников = "Справочник.Ссылка.КолонкиКалендарейСотрудников";
НаименованиеКолонки = КолонкаКалендаря.Наименование;
//ВипЛимит = 4;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РЧ2025_ВипЛимит.ВипЛимит КАК ВипЛимит
|ИЗ
| РегистрСведений.РЧ2025_ВипЛимит КАК РЧ2025_ВипЛимит";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ВипЛимит = Выборка.ВипЛимит;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаписиКалендаряСотрудника.Источник) КАК КоличествоЗадачВКолонке
|ИЗ
| Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
|ГДЕ
| ЗаписиКалендаряСотрудника.Источник <> &Источник
| И ЗаписиКалендаряСотрудника.КолонкаКалендаря = &КолонкаКалендаря
| И ЗаписиКалендаряСотрудника.Календарь = &Календарь
| И ЗаписиКалендаряСотрудника.Ссылка <> &Ссылка
| И НЕ ЗаписиКалендаряСотрудника.ПометкаУдаления";
Запрос.УстановитьПараметр("Источник", Источник);
Запрос.УстановитьПараметр("КолонкаКалендаря", КолонкаКалендаря);
Запрос.УстановитьПараметр("Календарь", Календарь);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
КоличествоЗадачВКолонке = Выборка.КоличествоЗадачВКолонке;
Если Выборка.КоличествоЗадачВКолонке >= ВипЛимит Тогда
ОбщегоНазначения.СообщитьПользователю("Превышено максимальное количество задач в колонке '" + НаименованиеКолонки + "'",,,,Отказ);
КонецЕсли;
Элемент = Справочники.КолонкиКалендарейСотрудников.НайтиПоНаименованию("Анализ").ПолучитьОбъект();
КоличествоЗадачВКолонке = КоличествоЗадачВКолонке + 1;
Элемент.Наименование = "Анализ " + "(" + КоличествоЗадачВКолонке + ("/") + ВипЛимит + ")";
Элемент.Записать();
КонецПроцедуры
ПоказатьЗаписКалСотрудника МодульОб
&НаСервере
Процедура РЧ2025_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
ДобавляемыеРеквизиты = Новый Массив;
НовыйРеквизит = Новый РеквизитФормы(
"РЧ2025_КолонкаКалендаря",
Новый ОписаниеТипов("СправочникСсылка.КолонкиКалендарейСотрудников"),,
"Статус");
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Поле = Элементы.Добавить("РЧ2025_КолонкаКалендаря", Тип("ПолеФормы"), Элементы.ГруппаВидИСостояние);
Поле.Вид = ВидПоляФормы.ПолеНадписи;
Поле.ПутьКДанным = "РЧ2025_КолонкаКалендаря";
Группа = Элементы.Добавить("РЧ2025_ЦентральнаяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("РЧ2025_Проект", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_Проект";
Поле = Элементы.Добавить("РЧ2025_ИдентификаторGitLab", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ТолькоПросмотр = Истина;
Поле.ПутьКДанным = "Объект.РЧ2025_ИдентификаторGitLab";
Группа = Элементы.Добавить("РЧ2025_ПраваяКолонка", Тип("ГруппаФормы"), Элементы.Шапка);
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("РЧ2025_План", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_План";
Поле = Элементы.Добавить("РЧ2025_Факт", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "Объект.РЧ2025_Факт";
Элементы.ВидОперации.Видимость = Ложь;
Элементы.Состояние.Видимость = Ложь;
Элементы.Планирование.Видимость = Ложь;
Элементы.ЗаказчикРаботаУслуга.Видимость = Ложь;
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
ЭтотОбъект["РЧ2025_КолонкаКалендаря"] = КолонкаКалендаряЗадачи(Объект.Ссылка, Объект.КалендарьСотрудника)
КонецЕсли
КонецПроцедуры
&НаСервереБезКонтекста
Функция КолонкаКалендаряЗадачи(Задача, Календарь)
Возврат РЧ2025_ДанныеКалендаря.КолонкаКалендаряЗадачи(Задача, Календарь);
КонецФункции
ПоказатьЗаднРаботФорма
Функция КолонкаКалендаряЗадачи(Задача, Календарь) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаписиКалендаряСотрудника.КолонкаКалендаря КАК КолонкаКалендаря
|ИЗ
| Справочник.ЗаписиКалендаряСотрудника КАК ЗаписиКалендаряСотрудника
|ГДЕ
| ЗаписиКалендаряСотрудника.Календарь = &Календарь
| И ЗаписиКалендаряСотрудника.Источник = &Источник";
Запрос.УстановитьПараметр("Календарь", Календарь);
Запрос.УстановитьПараметр("Источник", Задача);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.КолонкаКалендаря;
КонецЕсли;
Возврат Справочники.КолонкиКалендарейСотрудников.ПустаяСсылка();
КонецФункции
ПоказатьОбщМодуль
ЗаднНаРаботуМодульОбь
&После("ОбработкаЗаполнения")
Процедура РЧ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;
КонецПроцедуры
Показать
ЗаднНаРаботуМодульМ
&Вместо("ПечатнаяФорма")
Функция РЧ2025_ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
ТабличныйДокумент = Новый ТабличныйДокумент;
ПервыйДокумент = Истина;
Для каждого ТекущийДокумент Из МассивОбъектов Цикл
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Ссылка", ТекущийДокумент);
Запрос.Текст =
"ВЫБРАТЬ
| ЗаданиеНаРаботу.Ссылка КАК Ссылка,
| ЗаданиеНаРаботу.Номер КАК Номер,
| ЗаданиеНаРаботу.Дата КАК Дата,
| ЗаданиеНаРаботу.Автор КАК Автор,
| ЗаданиеНаРаботу.Организация КАК Организация,
| ЗаданиеНаРаботу.РЧ2025_Проект КАК Проект,
| ЗаданиеНаРаботу.РЧ2025_Проект.Контрагент.Ссылка КАК Заказчик
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Документ.ЗаданиеНаРаботу КАК ЗаданиеНаРаботу
|ГДЕ
| ЗаданиеНаРаботу.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ЗаданиеНаРаботуРаботы.Комментарий КАК Комментарий
|ПОМЕСТИТЬ ВременнаяТаблица1
|ИЗ
| Документ.ЗаданиеНаРаботу.Работы КАК ЗаданиеНаРаботуРаботы
|ГДЕ
| ЗаданиеНаРаботуРаботы.Ссылка.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВременнаяТаблица.Ссылка КАК Ссылка,
| ВременнаяТаблица.Номер КАК Номер,
| ВременнаяТаблица.Дата КАК Дата,
| ВременнаяТаблица.Автор КАК Автор,
| ВременнаяТаблица.Организация КАК Организация,
| ВременнаяТаблица.Проект КАК Проект,
| ВременнаяТаблица.Заказчик КАК Заказчик,
| ВременнаяТаблица1.Комментарий КАК Комментарий
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица,
| ВременнаяТаблица1 КАК ВременнаяТаблица1";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаданиеНаРаботу_УнифицированнаяФорма";
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаданиеНаРаботу.ПФ_MXL_Задание");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
Требования = Макет.ПолучитьОбласть("Требования");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабличныйДокумент.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока РезультатЗапроса.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьЗаголовок.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(ОбластьЗаголовок, РезультатЗапроса.Уровень());
Шапка.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(Шапка, РезультатЗапроса.Уровень());
Требования.Параметры.Заполнить(РезультатЗапроса);
ТабличныйДокумент.Вывести(Требования, РезультатЗапроса.Уровень());
ТабличныйДокумент.Вывести(Подвал);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот