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