Перенос файлов из томов в информационную базу для конфигураций на БСП 2.4+

31.10.20

Разработка - БСП (Библиотека стандартных подсистем)

В публикации опишу вариант переноса файлов для БСП 2.4+

Вводные:

Нужно перенести файлы из томов в базу

Есть работающая некорректно обработка //infostart.ru/public/536028/ с отключенными комментариями

 

Решение:

Перебираем все ПрисоединенныеФайлы с ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске

1. Получаем двоичные данные

2. Получаем объект, записываем

  • ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе
  • Том = Неопределено

2.1 Записываем объект

3. Записываем двоичные данные в РегистрыСведений.ДвоичныеДанныеФайлов

Код:

&НаСервере
Процедура КомандаЗагрузитьНаСервере()    	
	
	МассивТиповДляОбновленияФайлов = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы();	
	
	Для Каждого ТипДляОбновленияФайлов из МассивТиповДляОбновленияФайлов Цикл 
		
		ПолноеИмяОбъектаМетаданных = "";
		
		Попытка
			//Получаем строковые представления объектов метаданных типа "Справочник.ВходящийДокументПрисоединенныеФайлы"				
			ПолноеИмяОбъектаМетаданных = Метаданные.НайтиПоТипу(ТипДляОбновленияФайлов).ПолноеИмя(); 
		Исключение
			
			Сообщение = Новый СообщениеПользователю;
			Сообщение.Текст = "Тип" + ТипДляОбновленияФайлов + ", " + ОписаниеОшибки();
			Сообщение.Сообщить();
			Прервать; // Специфичные типы (например, строка) не обрабатываем
		КонецПопытки;
		
		//Получаем имя конкретного справочника
		ИмяОбъектаМетаданных = Прав(ПолноеИмяОбъектаМетаданных, СтрДлина(ПолноеИмяОбъектаМетаданных)- Найти(ПолноеИмяОбъектаМетаданных, "."));    	
		
		Выборка = Справочники[ИмяОбъектаМетаданных].Выбрать();		
		
		Пока Выборка.Следующий() Цикл
			Если НЕ Выборка.ЭтоГруппа
				И Выборка.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда			                
				
				ДД = РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.Ссылка);
				
				Если ДД <> Неопределено Тогда
					
					обПрисоединенныеФайлы = Выборка.Ссылка.ПолучитьОбъект();
					обПрисоединенныеФайлы.Том = Неопределено;
					обПрисоединенныеФайлы.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе;
					обПрисоединенныеФайлы.Записать();
					
					МенеджерЗаписи = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьМенеджерЗаписи();
					МенеджерЗаписи.Файл = Выборка.Ссылка;
					МенеджерЗаписи.ДвоичныеДанныеФайла = Новый ХранилищеЗначения(ДД);
					МенеджерЗаписи.Записать();
					
				КонецЕсли;
				
			КонецЕсли;		
			
		КонецЦикла;       	
	КонецЦикла;
	
КонецПроцедуры

 

UPD 02.05.2020: В БСП 3.1 добавили функционал переноса файлов

 

БСП

См. также

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1295    dimanich70    6    

13

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    690    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2354    YA_418728146    11    

40

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    5188    PROSTO-1C    5    

45

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

БСП (Библиотека стандартных подсистем) Мероприятия Бесплатно (free)

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3799    0    Infostart    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4836    mrXoxot    11    

99
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Zerga 26.03.20 15:42 Сейчас в теме
Хм... А обязательно использовать выборку и героически фильровать группы и тип хранения в коде?
И что будет если на менеджере записи РС вылетит ошибка? Справочник так и останется с хранением в ИБ?
2. malikov_pro 1292 26.03.20 22:00 Сейчас в теме
(1) Не обязательно, можно сделать и через запрос, с метаданными почти не работаю, взял из прошлого варианта.
В данной реализации да, останется с хранением в ИБ, можно решить через попытку либо запись с РС поставить до смены типа хранения.
Оставьте свое сообщение