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