Сохранить рабочий каталог папки заменить пути регистре. Сохраняет в регистре сведений рабочий каталог папки и
// Сохраняет в регистре сведений рабочий каталог папки и
// заменяет пути в регистре сведений ФайлыВРабочемКаталоге.
//
// Параметры:
// СсылкаПапки - СправочникСсылка.ПапкиФайлов - владелец файла.
// РабочийКаталогПапки - Строка - рабочий каталог папки.
// ИмяКаталогаПрежнееЗначение - Строка - прежнее значение рабочего каталога.
//
Процедура СохранитьРабочийКаталогПапкиИЗаменитьПутиВРегистре(СсылкаПапки,
РабочийКаталогПапки,
ИмяКаталогаПрежнееЗначение) Экспорт
СохранитьРабочийКаталогПапки(СсылкаПапки, РабочийКаталогПапки);
// Ниже заменяем пути в регистре сведений ФайлыВРабочемКаталоге.
УстановитьПривилегированныйРежим(Истина);
СписокДляЗамены = Новый Массив;
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
// Для каждой нашей записи находим запись в регистре сведений - оттуда берем поле Версия и Редактирует.
ЗапросВРегистр = Новый Запрос;
ЗапросВРегистр.УстановитьПараметр("Пользователь", ТекущийПользователь);
ЗапросВРегистр.УстановитьПараметр("Путь", ИмяКаталогаПрежнееЗначение + "%");
ЗапросВРегистр.Текст =
"ВЫБРАТЬ
| ФайлыВРабочемКаталоге.Файл КАК Файл,
| ФайлыВРабочемКаталоге.Путь КАК Путь,
| ФайлыВРабочемКаталоге.Размер КАК Размер,
| ФайлыВРабочемКаталоге.ДатаПомещенияВРабочийКаталог КАК ДатаПомещенияВРабочийКаталог,
| ФайлыВРабочемКаталоге.НаЧтение КАК НаЧтение
|ИЗ
| РегистрСведений.ФайлыВРабочемКаталоге КАК ФайлыВРабочемКаталоге
|ГДЕ
| ФайлыВРабочемКаталоге.Пользователь = &Пользователь
| И ФайлыВРабочемКаталоге.ВРабочемКаталогеВладельца = ИСТИНА
| И ФайлыВРабочемКаталоге.Путь ПОДОБНО &Путь";
РезультатЗапроса = ЗапросВРегистр.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НовыйПуть = Выборка.Путь;
НовыйПуть = СтрЗаменить(НовыйПуть, ИмяКаталогаПрежнееЗначение, РабочийКаталогПапки);
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("Файл", Выборка.Файл);
СтруктураЗаписи.Вставить("Путь", НовыйПуть);
СтруктураЗаписи.Вставить("Размер", Выборка.Размер);
СтруктураЗаписи.Вставить("ДатаПомещенияВРабочийКаталог", Выборка.ДатаПомещенияВРабочийКаталог);
СтруктураЗаписи.Вставить("НаЧтение", Выборка.НаЧтение);
СписокДляЗамены.Добавить(СтруктураЗаписи);
КонецЦикла;
Для Каждого СтруктураЗаписи Из СписокДляЗамены Цикл
ВРабочемКаталогеВладельца = Истина;
ЗаписатьСтруктуруЗаписиВРегистр(
СтруктураЗаписи.Файл,
СтруктураЗаписи.Путь,
СтруктураЗаписи.Размер,
СтруктураЗаписи.ДатаПомещенияВРабочийКаталог,
СтруктураЗаписи.НаЧтение,
ВРабочемКаталогеВладельца);
КонецЦикла;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
СохранитьРабочийКаталогПапки (БСП)
ПолучитьФайлВерсииВРабочийКаталогПапкиПослеПроверкиДлиныПути (БСП)
ВыбратьПутьКРабочемуКаталогу (БСП)
ПолучитьПолноеИмяФайлаИзРегистра (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)