Skip to main content

Очистить расширения в базе 1C

MSSQL

При чтении списка расширений в одном случае и при удалении любого из расширений в другом, возникает ошибка  "ошибка формата потока" в конфигураторе. Базу удалось запустить очистив таблицу _ExtensionsInfo. 

В MSSQL это можно сделать так:

USE [DB_NAME]
GO
DELETE FROM [dbo].[_ExtensionsInfo]
GO

Взято с инфостарта

Время показало, что профит от стирания таблицы _ExtensionsInfo носит временный характер (ошибка проявляется потом).
Очистка таблиц ConfigCAS и ConfigCASSave полностью удаляет расширения

USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCAS]
GO
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCASSave]
GO

Ещё ссылки по теме
https://www.online-ufa.ru/content/articles/oshibka-formata-potoka-1c/
https://www.online-ufa.ru/content/articles/1c-error-ef/

В клиентском приложении

Ошибка возникала при обновлении базы, в клиентском приложении (8-9%).
Помог следующий код;

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	ИдентификаторыОбъектовРасширений.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ИдентификаторыОбъектовРасширений КАК ИдентификаторыОбъектовРасширений";

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();	
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	О = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
	О.ОбменДанными.Загрузка = Истина;
	О.Удалить();
КонецЦикла;

Набор = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
Набор.Записать();