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

31.10.20

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

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

Вводные:

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

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

 

Решение:

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

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

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

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

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

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

Код:

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

 

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

 

Вступайте в нашу телеграмм-группу Инфостарт

БСП

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    14606    51    30    

59

Файловый обмен (TXT, XML, DBF), FTP БСП (Библиотека стандартных подсистем) Разработчик 1С:Предприятие 8 1С:Библиотека стандартных подсистем Россия Бесплатно (free)

Продолжение истории о своём движке, который превращает CF в XML без базы и без платформы. Теперь БСП 3.1 выгружается полностью: 9 174 из 9 174 файлов совпадают со штатной выгрузкой байт в байт, ошибок ноль. Для разработчиков, которым интересен внутренний формат 1С и выгрузка конфигураций в файлы.

29.10.2026    2030    vanya_gonchar    21    

17

БСП (Библиотека стандартных подсистем) Разработчик 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Наиболее часто используемые методы БСП 3.1.12. На момент публикации БСП 3.1.12 - является последней версией, и на ней построены все новые типовые конфигурации.

28.09.2026    4853    SergMuravev    2    

20

БСП (Библиотека стандартных подсистем) Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Россия Абонемент ($m)

Все мы когда-то писали свои функции для получения реквизита через точку или парсинга строк. В этой статье собрана выжимка самых полезных и ежедневно необходимых процедур и функций БСП. Никакой сухой документации ИТС — только жизненные кейсы, чистый код и разбор ситуаций, когда стандартные подсистемы делают работу за нас.

1 стартмани

30.07.2026    10195    Elya_Elya    14    

23

БСП (Библиотека стандартных подсистем) Разработчик Стажер 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Часто требуется вывести понятное пользователю сообщение, ткнув его в конкретный проблемный реквизит, что называется, "носом"... И вот тут довольно часто приходится перечитывать параметры функции ОбщегоНазначения[Клиент].СообщениеПользователю. Решила написать для себя шпаргалку и поделиться с сообществом.

24.07.2026    3120    check2    2    

11

БСП (Библиотека стандартных подсистем) Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Каждый раз, когда разработчик 1С пишет очередной цикл для свертки массива или использует конструкцию Попытка / Исключение для проверки наличия реквизита, где-то грустит один архитектор фирмы «1С». Мы привыкли изобретать велосипеды там, где в Библиотеке стандартных подсистем (БСП) уже давно лежат готовые, оптимизированные и протестированные на тысячах баз решения. Ниже — практическая подборка из 8 методов актуальных релизов БСП (3.X), которые сделают ваш код чище, быстрее и профессиональнее. Разберем на примерах «Было / Стало».

04.06.2026    13944    Kaliostr0    21    

36

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    2762    4    0    

5

БСП (Библиотека стандартных подсистем) Универсальные функции Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Когда появляется необходимость сделать подключаемую внешнюю обработку, будь это печатная форма или отчет - нам всегда приходится прописывать сведения о внешней обработке для подключения их в соответствующий справочник. И это занимает некоторое время, что не очень удобно. Как для себя, так и для вас - я подготовил ряд примеров использования этой функции, можете выбрать один из них, чтобы в дальнейшем использовать их в шаблонах текста. Комментарии по дополнению и исправлению статьи - приветствуются.

06.02.2026    25336    manul1c    7    

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