Подготовить данные для создания серверного начального образа. Подготовка параметров и предварительные проверки перед созданием серверного начального образа.
// Подготовка параметров и предварительные проверки перед созданием серверного начального образа.
//
Функция ПодготовитьДанныеДляСозданияСерверногоНачальногоОбраза(СтруктураПараметров) Экспорт
Результат = Новый Структура("ДанныеПодготовлены, ТребуетсяПодтверждение, ТекстВопроса", Истина, Ложь, "");
ПутьКАрхивуСФайламиТомовWindows = СтруктураПараметров.ПутьКАрхивуСФайламиТомовWindows;
ПутьКАрхивуСФайламиТомовLinux = СтруктураПараметров.ПутьКАрхивуСФайламиТомовLinux;
ПутьКАрхивуСФайламиТомов = "";
ЕстьФайлыВТомах = Ложь;
Если РаботаСФайлами.ЕстьТомаХраненияФайлов() Тогда
ЕстьФайлыВТомах = ЕстьФайлыВТомах();
КонецЕсли;
Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
ПутьКАрхивуСФайламиТомов = ПутьКАрхивуСФайламиТомовWindows;
Если ЕстьФайлыВТомах Тогда
Если Не ПустаяСтрока(ПутьКАрхивуСФайламиТомов)
И (Лев(ПутьКАрхивуСФайламиТомов, 2) <> "\\"
ИЛИ СтрНайти(ПутьКАрхивуСФайламиТомов, ":") <> 0) Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Путь к архиву с файлами томов должен быть
|в формате UNC (\\servername\resource).'"),
,
"ПутьКАрхивуСФайламиТомовWindows");
Результат.ДанныеПодготовлены = Ложь;
КонецЕсли;
КонецЕсли;
Иначе
ПутьКАрхивуСФайламиТомов = ПутьКАрхивуСФайламиТомовLinux;
КонецЕсли;
Если Результат.ДанныеПодготовлены Тогда
Если ЕстьФайлыВТомах И ПустаяСтрока(ПутьКАрхивуСФайламиТомов) Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Укажите полное имя архива с файлами томов (файл *.zip)'"),
,
"ПутьКАрхивуСФайламиТомовWindows");
Результат.ДанныеПодготовлены = Ложь;
Иначе
Если ЕстьФайлыВТомах Тогда
Файл = Новый Файл(ПутьКАрхивуСФайламиТомов);
Если Файл.Существует() Тогда
Результат.ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Файл ""%1"" уже существует.
|Заменить существующий файл?'"), ПутьКАрхивуСФайламиТомов);
Результат.ТребуетсяПодтверждение = Истина;
КонецЕсли;
КонецЕсли;
// Создать временный каталог.
ИмяКаталога = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ИмяКаталога);
// Создать временный каталог для файлов.
ИмяКаталогаФайлов = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ИмяКаталогаФайлов);
// Для передачи пути каталога файлов в обработчик ПриОтправкеДанныхФайла.
СохранитьНастройку("ОбменФайлами", "ВременныйКаталог", ИмяКаталогаФайлов);
// Добавляем в параметры переменные, которые потребуются для создания начального образа.
СтруктураПараметров.Вставить("ЕстьФайлыВТомах", ЕстьФайлыВТомах);
СтруктураПараметров.Вставить("ПутьФайла", ПутьКАрхивуСФайламиТомов);
СтруктураПараметров.Вставить("ИмяКаталога", ИмяКаталога);
СтруктураПараметров.Вставить("ИмяКаталогаФайлов", ИмяКаталогаФайлов);
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПодготовитьДанныеДляСозданияФайловогоНачальногоОбраза (БСП)
СоздатьСерверныйНачальныйОбразНаСервере (БСП)
ЗавершитьСозданиеНачальногоОбраза (БСП)
СоздатьФайловыйНачальныйОбразНаСервере (БСП)
СоздатьНачальныйОбразАвтономногоРабочегоМеста (БСП)
ДобавитьПослеВыбораРежимаСоздания (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)