Удаление данных из БД в MS-SQL

Публикация № 695855

Администрирование - Администрирование данных 1С - Свертка базы

удаление данных SQL

Обработка для удаления данных (документы, журналы, справочники, регистры сведения и накопления) напрямую в MS-SQL.

Тестировалось на платформе 8.3.9.х и MS-SQL 2016.

Алгоритм:

1) запускается обработка, заполняете поля для подключения к БД.

2) нажимаете Проверка, если все ок, то заполнятся соответствующие ТЧ.

3) выбираете нужные данные для удаления, нажимаете Удалить (работает в активной странице).

4) заходите в конфигуратор - Администрирование - Тестирование и исправление. Устанавливаете:

Проверка ссылочной и логической целостности ИБ, Тестирование и исправление, Очищать ссылки,

Удалять объект.

Код обработки (модуль формы):
 


#Область Флажки
&НаКлиенте
Процедура УстановитьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;	
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ИнвертироватьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
	КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры 

&НаКлиенте
Процедура СнятьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;	
	КонецЕсли;
КонецПроцедуры
#КонецОбласти

#Область Проверка
Функция ПодключениеSQL()
	
	СтрокаСоединения = ("Provider=SQLOLEDB;Driver={SQL Server}; Deleted=No; Data Source = ") + SQLСервер +
	(";UID=") + Логин + ("; PWD=") + Пароль + (";");
	
	Подключение = Новый ComObject("ADODB.Connection");
	Подключение.ConnectionString=СтрокаСоединения;
	Попытка
		Подключение.Open(СтрокаСоединения);
		//Сообщить("Подключение к серверу SQL");
		Возврат Подключение;
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	
КонецФункции

Функция ПроверкаБазы(ИмяТаблицы_)
	
	Подключение = ПодключениеSQL(); 
	Если Подключение=Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	ТекстSQL = "SELECT TOP (10) *
	|FROM ["+SQLБаза + "].[dbo].[" + ИмяТаблицы_ + "]";
	
	СоединениеSQL = Новый COMObject("ADODB.Command");
	СоединениеSQL.ActiveConnection = Подключение;
	СоединениеSQL.NamedParameters = True;
	СоединениеSQL.CommandText = ТекстSQL;
	СоединениеSQL.CommandType = 1;
	//СоединениеSQL.Prepared = Истина;
	
	//если надо параметры
	//Param1 = СоединениеSQL.CreateParameter("n",3,1,1,1);
	//СоединениеSQL.Parameters.Append(Param1);
	//
	//Param2 = СоединениеSQL.CreateParameter("ДатаПриходаС",200,1,8,Формат(НачалоПериода,"ДФ=ггггММдд"));//Формат(НачалоПериода,"ДФ=ггггММдд"));
	//СоединениеSQL.Parameters.Append(Param2);
	//
	//Param3 = СоединениеSQL.CreateParameter("ДатаПриходаПо",200,1,8,Формат(КонецПериода,"ДФ=ггггММдд"));
	//СоединениеSQL.Parameters.Append(Param3);
	//
	//СоединениеSQL.Parameters.Refresh();
	
	Попытка
		//Сообщить("Выполнение запроса SQL");
		ЗаписиSQL = Новый ComObject("ADODB.RecordSet");	
		ЗаписиSQL = СоединениеSQL.Execute();
		
		Таблица = Новый ТаблицаЗначений;
		//Сообщить ("Заполнение временной таблицы");
		Для НомерСтолбца = 0 По ЗаписиSQL.Fields.Count-1 Цикл //Создание и добавление колонок во временную таблицу
			ИмяСтолбца =ЗаписиSQL.Fields.Item(НомерСтолбца).Name;
			Таблица.Колонки.Добавить(ИмяСтолбца);
			//Сообщить(ИмяСтолбца);
		КонецЦикла;	
		
		Пока ЗаписиSQL.EOF = 0 Цикл // Заполнение созданной таблицы		
			НоваяСтрока =  Таблица.Добавить();
			Для НомерСтолбца = 0 По ЗаписиSQL.Fields.Count-1 Цикл
				ИмяСтолбца =ЗаписиSQL.Fields.Item(НомерСтолбца).Name;
				НоваяСтрока.Установить(НомерСтолбца,ЗаписиSQL.Fields(НомерСтолбца).Value);
				Сообщить ("" + ИмяСтолбца + " " + ЗаписиSQL.Fields(ИмяСтолбца).Value);
			КонецЦикла;		
			ЗаписиSQL.MoveNext();		
		КонецЦикла;
		
		//Сообщить("Закрываем соединение с SQL");
		ЗаписиSQL.Close();
		Подключение.Close();
		Возврат 1;
		
	Исключение	
		Сообщить("Ошибка при проверке! " + ОписаниеОшибки());
		Подключение.Close();
		Возврат Неопределено;
	КонецПопытки;
	
КонецФункции

&НаСервере
Процедура ПроверкаНаСервере()
	
	Подключение = ПодключениеSQL(); 
	Если Подключение=Неопределено Тогда
		Возврат;
	КонецЕсли;
	ДляТеста = "";
	
	ВыбрДокументы.Очистить();
	Сч = 1;
	Для Каждого Док из Метаданные.Документы Цикл
		//Сообщить(Док);
		НовСтр = ВыбрДокументы.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = Док.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
		МассивИменМетаданных.Добавить("Документ."+Док.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		ДляТеста = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;	
	
	ВыбрЖурДокументы.Очистить();
	Сч = 1;
	Для Каждого ЖДок из Метаданные.ЖурналыДокументов Цикл
		//Сообщить(жДок);
		НовСтр = ВыбрЖурДокументы.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = жДок.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
		МассивИменМетаданных.Добавить("ЖурналДокументов."+жДок.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;	
	
	ВыбрСправочники.Очистить();
	Сч = 1;
	Для Каждого Спр из Метаданные.Справочники Цикл
		//Сообщить(Спр);
		НовСтр = ВыбрСправочники.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = Спр.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Справочник.Номенклатура");
		МассивИменМетаданных.Добавить("Справочник."+Спр.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		ДляТеста = СтрукБД[0].ИмяТаблицыХранения; 
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	ВыбрРегистрыСведений.Очистить();
	Сч = 1;
	Для Каждого РегСв из Метаданные.РегистрыСведений Цикл
		//Сообщить(РегСв);
		НовСтр = ВыбрРегистрыСведений.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = РегСв.Имя;
		МассивИменМетаданных = Новый Массив();
		МассивИменМетаданных.Добавить("РегистрСведений.ШтрихкодыНоменклатуры");
		МассивИменМетаданных.Добавить("РегистрСведений."+РегСв.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	ВыбрРегистрыНакопления.Очистить();
	Сч = 1;
	Для Каждого РегНак из Метаданные.РегистрыНакопления Цикл
		//Сообщить(РегНак);
		НовСтр = ВыбрРегистрыНакопления.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = РегНак.Имя;
		МассивИменМетаданных = Новый Массив();
		МассивИменМетаданных.Добавить("РегистрНакопления.ДвижениеТоваров");
		МассивИменМетаданных.Добавить("РегистрНакопления."+РегНак.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	Если ПроверкаБазы(ДляТеста)=Неопределено Тогда
		ВыбрДокументы.Очистить();
		ВыбрЖурДокументы.Очистить();
		ВыбрСправочники.Очистить();
		ВыбрРегистрыСведений.Очистить();
		ВыбрРегистрыНакопления.Очистить();
	КонецЕсли;
	
	Подключение.Close();
	
КонецПроцедуры

&НаКлиенте
Процедура Проверка(Команда)
	ПроверкаНаСервере();
КонецПроцедуры
#КонецОбласти

#Область Удаление
&НаСервере
Функция УдалениеSQL(ИмяТаблицыSQL)	
	Подключение = ПодключениеSQL(); 
	
	Если Подключение=Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	ТекстSQL = "TRUNCATE TABLE [" + SQLБаза + "].[dbo].[" + ИмяТаблицыSQL + "]";
	
	СоединениеSQL = Новый COMObject("ADODB.Command");
	СоединениеSQL.ActiveConnection = Подключение;
	СоединениеSQL.NamedParameters = True;
	СоединениеSQL.CommandText = ТекстSQL;
	СоединениеSQL.CommandType = 1;
	
	Попытка
		//Сообщить("Выполнение запроса SQL");
		СоединениеSQL.Execute();
		Подключение.Close();
		Возврат "Удалили: " + ИмяТаблицыSQL;
	Исключение
		Сообщить(""+ОписаниеОшибки());
		Подключение.Close();
		Возврат Неопределено;
	КонецПопытки;
	
	Подключение.Close();	
КонецФункции

&НаСервере
Процедура УдалитьНаСервере()
	
	Сч = 0;
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("Документ."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);					
				КонецЦикла;				
			КонецЕсли;	
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("ЖурналДокументов."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;	
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				МассивИменМетаданных.Добавить("Справочник."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("РегистрСведений."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("РегистрНакопления."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;	
	КонецЕсли;
	
	Сообщить("Очистили: " + Сч);
	
КонецПроцедуры

&НаКлиенте
Процедура Удалить(Команда)
	Режим = РежимДиалогаВопрос.ДаНет;
	Текст = "Данные в базе " + SQLБаза + " будут уничтожены без возможности восстановления. Вы сделали резервную копию и хотите продолжить?";
	Ответ = Вопрос(Текст, Режим, 0);	
	Если Ответ = КодВозвратаДиалога.Да Тогда
		УдалитьНаСервере();
	КонецЕсли;
КонецПроцедуры
#КонецОбласти

Скачать файлы

Наименование Файл Версия Размер
Удаление данных из БД в SQL.:

.epf 11,26Kb
03.11.17
21
.epf 11,26Kb 21 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. nvv1970 07.11.17 01:57 Сейчас в теме
3) выбираете нужные данные для удаления, нажимаете Удалить (работает в активной странице).
4) заходите в конфигуратор - Администрирование - Тестирование и исправление. Устанавливаете:
Проверка ссылочной и логической целостности ИБ, Тестирование и исправление, Очищать ссылки, Удалять объект.
Брррр... Чего?
Я предполагал, что обработка должна ускорить работу, а не замедлить ее.
Удаление условно 1000 номенклатур через 1с: <МИНУТЫ написать в консоли запрос на поиск ссылок к удалению и написать алгоритм удаления (1строка).
Удаляться будет тяжело: удаляем основную таблицу, табличные части, ведущие измерения в РС, а их обычно ой как много. (ну пусть несколько минут).
Вы за несколько минут выполните удаление в sql и ТиИ на десятках-сотнях Гб ?? Чушь... )))

SQL запросами нужно пользоваться в среде sql с полным пониманием происходящего. И главное с пониманием в каком случае и почему операция в СУБД лучше чем в 1с.
2. jaroslav.h 08.11.17 17:13 Сейчас в теме
(1)
SQL запросами нужно пользоваться в среде sql с полным пониманием происходящего. И главное с пониманием в каком случае и почему операция в СУБД лучше чем в 1с.


+++
Оставьте свое сообщение

См. также

Очистка регистрации обмена Промо

Чистка базы v8 v8::ОУ УТ10 Абонемент ($m)

Данная обработка предназначена для очистки узла. Для очистки необходимо указать период,организацию.

1 стартмани

19.09.2017    15672    5    serg-lom89    0    

Сжатие (уменьшение размера) файлов изображений 1С без внешних компонент - для любой конфигурации на основе БСП > 2.3

Свертка базы Универсальные обработки v8 Розница ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Если в базу загружено большое количество изображений, картинок, фото товаров, размером более 2-3МБ, то в базе будут сильно тормозить все процессы, связанные с чтением-передачей файлов изображений: формирование прайса, отчетов с картинками, выгрузка изображений товаров на сайт и т.д. Данная обработка позволяет провести оптимизацию (уменьшение размера) загруженных картинок в базу 1С любой конфигурации на основе БСП >= 2.3 стандартными средствами 1С, сохраняя при этом достаточно хорошее качество сжатых картинок. Проверено на релизе УТ 11.4.11.71, для обработки понадобится также версия Платформы 1С >= 8.3.14.

1 стартмани

08.03.2020    5101    16    1sig    23    

Свертка базы и очистка таблиц

Свертка базы Чистка базы v8 1cv8.cf Россия Абонемент ($m)

Обработка написана с использованием БСП. Встраивается как внешняя. Работает в фоне. Позволяет средствами SQL очищать выборочно таблицы с настройками, заданными привычным образом через отбор СКД.

5 стартмани

05.03.2020    2610    9    YAGolova    5    

Свертка БД 1С: обрезка до выбранной даты средствами MS SQL

Свертка базы Чистка базы v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка, позволяющая произвести анализ размера БД и грубую обрезку данных до выбранной даты средствами MS SQL. Управляемые формы, 1С:Предприятие 8.3 (8.3.9.1818).

1 стартмани

15.11.2019    10070    116    dmitrydemenew    32    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Чистка базы Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    33690    358    Eugen-S    34    

Очистка базы данных 1С от данных по организациям прямыми SQL-запросами к СУБД

Чистка базы v8 1cv8.cf Абонемент ($m)

Работа с помощью прямых запросов в случае, когда нельзя, но очень необходимо.

10 стартмани

20.09.2019    9944    48    nomad_irk    54    

Быстрое удаление данных по организации, используя ADO

Чистка базы v8 1cv8.cf Абонемент ($m)

Время от времени возникают вопросы на форуме Инфостарта по сабжу. Данная обработка решает данную задачу.

1 стартмани

12.08.2019    5218    33    Fox-trot    26    

Удаление неиспользуемых элементов справочников в БП 3.0, УНФ 1.6, Розница 2.2, УТ 11.4, КА 2.4, 1С ERP 2.4

Обработка справочников Чистка базы v8 Розница УНФ БП3.0 Россия Абонемент ($m)

Данная обработка предназначена для удаления неиспользуемых элементов справочников в конфигурациях "1С: Бухгалтерия предприятия 3.0", "1С: Управление нашей фирмой 1.6", "1С: Розница 2.2", "1С: Управление торговлей 11.4", "1С: Комплексная автоматизация 2.4", "1С: ERP Управление предприятием 2.4"

1 стартмани

15.03.2019    6318    68    BurlakovIvan    0    

Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом Промо

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.

10 стартмани

31.10.2016    48109    566    m..adm    206    

Восстановление настроек плана счетов и очистка некорректных рабочих счетов в БГУ 1.0

Универсальные обработки Чистка базы v8 v8::БУ БГУ Россия БУ Госбюджет Абонемент ($m)

В плане счетов в БГУ 1.0 есть возможность восстановить настройки по умолчанию. Но при наличии некорректных рабочих счетов, восстановление настроек не выполняется. При этом даже нет информации, в каком именно счете проблема. Данная обработка находит некорректные рабочие счета и удаляет их.

1 стартмани

04.03.2019    15000    192    Sashares    36    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    19855    258    morozov.sv    34    

Очистка замеров производительности - даешь больше места на диске (= меньше хлама в базе)

Чистка базы v8 Розница УНФ БП3.0 УТ11 ЗУП3.x Абонемент ($m)

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

1 стартмани

31.10.2018    14645    161    1c.pro.fun    13    

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) Промо

Чистка базы v8 Абонемент ($m)

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    14547    19    Alexander.Shvets    9    

Перенос организации в отдельную базу, полная очистка базы от данных организации (версия от 25.07.2019)

Универсальные обработки Чистка базы v8 1cv8.cf Абонемент ($m)

Данная обработка позволяет удалить организацию и все связанные с ней данные – документы, элементы справочников, записи регистров сведений. Обработка полезна для выделения организации в отдельную базу. Доработано для ЗУП 3.1.

3 стартмани

14.08.2018    13761    267    serge_msk    39    

Свертка 1С: ЗУП 3

Свертка базы Зарплата Зарплата v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Свертка 1С: Зарплата и управление персоналом 3 по трем регистрам. Когда у всех полетел НДФЛ в начале 2018 года, решили сделать обработку свертки ЗУП 3 с сохранением данных о среднем заработке для расчета пособий. 

5 стартмани

11.07.2018    13727    110    Bortkevich    21    

Удаление движений непроведенных документов. УФ.

Закрытие периода Чистка базы v8 v8::УФ ERP2 УТ11 КА2 Абонемент ($m)

Обработка помогает в закрытии отчетных периодов в программах 1С.

3 стартмани

02.07.2018    9414    67    PSMNN    1    

Корректировка остатков регистров накопления (обычные и управляемые формы) Промо

Закрытие периода Свертка базы Чистка базы Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка, предназначенная для удобного и быстрого исправления остатков регистров накопления (посредством автоматического ввода документов "Корректировки записей регистров", "Операция", содержащих движения, приводящие существующие остатки к желаемым). Позволяет корректировать и обнулять по аналитике и суммам остатки регистров учета товаров, партий, взаиморасчетов, налогового учета по НДС, РАУЗ, и др.

2 стартмани

14.01.2012    74393    575    stvorl    76    

Помощник удаления и очистки объектов

Чистка базы v8 Розница УНФ БП3.0 УТ11 КА2 Абонемент ($m)

При удалении помеченных не всегда понятно, почему не удаляется например элемент справочника. Написано, что на него ссылается какой-то документ. Заходим в этот документ - и не понятно, где именно смотреть этот элемент, и как его почистить. Особенно, если это какой-то полуслужебный элемент типа "ключ аналитики". Данное расширение выводит информацию, где именно в документе или в движениях этого документа содержится ссылка на удаляемый объект. Второе расширение помогает удалять дополнительные реквизиты объектов, а именно убирает этот дополнительный реквизит из всех объектов, где он прописан в табличной части "Дополнительные реквизиты".

2 стартмани

04.06.2018    11635    72    Kutuzov    12    

Удаление данных средствами SQL, теория и практика

Чистка базы v8 1cv8.cf Абонемент ($m)

Методика быстрого удаления данных через SQL. Выбираем документ в 1С, добавляем простые условия - получаем готовый скрипт, удаляющий сами документы, их табличные части и движения по регистрам.

5 стартмани

25.04.2018    15145    110    METAL    31    

Очистка базы данных от данных по организации

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка генерирует SQL-скрипт, который очищает базу данных от документов выбранной организации. Проверялась на конфигурации Управление производственным предприятием на платформе 8.3. Но в принципе универсальная для стандартных конфигураций на платформе 8.3.

1 стартмани

23.01.2018    16338    107    mugr    26    

Переход с УСН на ОСНО. Формирование остатков НУ и данных по регистру затрат УчетЗатратРегл (РАУЗ) Промо

Свертка базы Универсальные обработки Учет ТМЦ Учет ТМЦ v8 КА1 Россия НУ Абонемент ($m)

Не знаете, как побороть сообщение "движения сформировались без суммовой оценки" при проведении документов после перехода на ОСНО - эта обработка для вас. Обработка выполняет закрытие остатков по счетам учета ТМЦ и формирование новых остатков на заданную пользователем дату с проверкой итоговых сумм и количества по БУ и НУ, а также закрытие остатков по старым ключам аналитики (без применения счетаНУ) и формирование новых остатков. Для конфигурации Комплексная Конфигурация 1.1

10 стартмани

30.01.2014    26502    20    buy_sale    7    

Удалить "ненужную организацию" в БП 3.0 (+ доп.обработка для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6)

Чистка базы v8 v8::УФ Розница УНФ ERP2 БП3.0 КА2 ЗУП3.x Абонемент ($m)

Обработка, способная удалить все данные по выбранной организации из конфигурации Бухгалтерия предприятия 3.0. (+ обработка "Универсал" для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6)

1 стартмани

06.11.2017    30071    767    Ant10    0    

Удаление данных напрямую в SQL

Сервисные утилиты Чистка базы v8 v8::СКД 1cv8.cf Абонемент ($m)

Порой так и хочется грохнуть что нить в скуле, но наталкиваешься на отсутствие понятных и функциональный инструментов. Вроде как что то и есть, но явно писанное для каких то конкретных простых целей. И так очередное творение в данной тематике. Особенности: удаление порциями, отображение готового текста запроса, отбор данных с помощью СКД (в отборе учитываются составные типы и обращения через точку).

1 стартмани

08.07.2017    14059    91    denacid    29    

Создание первоначального образа с файлами РИБ или быстрая очистка базы от документов и движений по регистрам

Свертка базы Распределенная БД (УРИБ, УРБД) Чистка базы v8 Розница Абонемент ($m)

В «большой» базе штатными средствами создать первоначальный образ узла не получается по причине «недостатка памяти на сервере»? А способы, описанные в статье https://its.1c.ru/db/metod8dev/content/2277/hdoc не подходят? ИЛИ Удаление всех документов или свёртка базы занимает продолжительное время?

1 стартмани

06.06.2017    19995    47    Dima_    7    

Очистка регистров накопления, сведений, расчета или бухгалтерии Промо

Сервисные утилиты Чистка базы Свертка базы v8 1cv8.cf Абонемент ($m)

Очистка регистров накопления, сведений, расчета или бухгалтерии (обычная и управляемая форма)

2 стартмани

25.12.2009    59271    256    sebe    20    

Просмотр и очистка регистра сведений (управляемые формы)

Универсальные обработки Чистка базы v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для очистки регистров сведений (как независимых, так и подчиненных регистратору), работает под управляемыми формами. Реализован предварительный просмотр удаляемых данных.

1 стартмани

09.05.2017    16157    292    stone_evil    21    

Что мешает удалению объектов?

Сервисные утилиты Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка, позволяющая просмотреть цепочки объектов (как ссылочных, так и регистров), препятствующих удалению помеченных на удаление объектов. Платформа 8.3, обычные формы, управляемые формы, интерфейс такси, возможность работы в Web.

1 стартмани

20.12.2016    16533    115    Alxby    17    

Задвоились предопределенные элементы справочников? Выход есть!

Обработка справочников Чистка базы v8 1cv8.cf Абонемент ($m)

Дублирование предопределенных элементов справочников может произойти как по причине того, что при обмене данными в режиме загрузки уникальность предопределенного элемента в пределах области информационной базы не проверяется, так и при объединении/обновлении конфигураций. При попытке переименовать, или, например, пометить на удаление 1С показывает сообщение «Предопределенный элемент не уникален». В этой статье мы напишем обработку, которая позволит избавиться от дублей предопределенных элементов справочника.

1 стартмани

02.11.2016    20002    93    Luchik    8    

Удаление организаций из базы Промо

Чистка базы v8 БП2.0 ЗУП2.5 Абонемент ($m)

У меня возникала потребность в удалении организаций и их следов из базы. Стандартными средствами этого не сделать. Кому необходимо сделать то же самое, это отличный вариант. Обработка проста и эффективна.

1 стартмани

19.06.2013    17357    52    IceEvgen    11    

Удаление неиспользуемых элементов справочника (простые и управляемые формы)

Обработка справочников Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка предназначена для удаления неиспользуемых элементов выбранного Вами справочника. Обработка конфигурационно-независима. UPD. Расширены возможности обработки

3 стартмани

02.08.2016    15701    75    roma_semenov79    6    

Удаление документов по организациям для 1С:Бухгалтерия Предприятия 3.0 и 2.0 (управляемые и простые формы)

Чистка базы v8 v8::БУ БП2.0 БП3.0 Россия Абонемент ($m)

Обработка удаляет документы по выбранной организации, либо по всем, кроме выбранной. UPD. Добавлена обработка для управляемых форм с возможностью подбора организаций в список. Условия остаются теми же - удалить по организациям из списка, или по всем, кроме подобранных в списке.

3 стартмани

31.07.2016    26794    340    Krasnyj    52    

Ошибка "Записи регистра сведений стали неуникальными"

Чистка базы v8 1cv8.cf Абонемент ($m)

При обновлении конфигурации периодически может возникать ошибка "Записи регистра сведений стали неуникальными" или "Имеются записи с одинаковыми измерениями". Что она означает и как ее исправить.

1 стартмани

21.07.2016    73394    813    ekaruk    40    

Универсальный редактор реквизитов объектов. Мультиобработчик Промо

Универсальные обработки Чистка базы Обработка документов Практика программирования Обработка справочников Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Объекты: Справочник, Документ, ПланОбмена, ПВХ, Бизнес-процесс, Задача, ПланСчетов, ПВР. Мультиобработчик: -Проведение, перенумерация, движения, копирование, создание на основании, подчиненность, статистика, удаление документов. -Регистрация изменений объекта(ов) в планах обмена. -Установка/Отключение ГлавногоУзла РИБ. -Поиск и восстановление "Битых" ссылок. -Недопустимые символы XML/Дерево XML. -Поиск и замена ссылок. -Ошибки ИБ, в т.ч XML. -Множество обработок справочников. -GUID. Дата и время создания объектов ссылочного типа. -Аналитика предопределенных, блокируемых реквизитов, ХранилищаЗначений. -История изменений объекта. -Активные пользователи. -Подписки на события, функциональные опции. -Загрузка пользователей ИБ из Windows, Active Directory. -Выгрузка/Загрузка пользователей ИБ в/из внешний XML-файл. -Поддержка различных режимов модальности. Файловый, Клиент-Серверный варианты. Обычная и Управляемая формы.

1 стартмани

28.12.2011    164234    2247    StepByStep    418    

Многопоточное удаление объектов

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка предназначена для ускорения процедуры удаления объектов

2 стартмани

02.06.2016    23986    53    zzz_natali    20    

Удаление помеченных объектов с отбором по метаданным

Чистка базы v8 1cv8.cf Абонемент ($m)

Это доработанная обработка с отбором по метаданным. По итогу общее время в сравнении со стандартной обработкой сокращено, если необходимо очистить только несколько типов документов/справочников.

1 стартмани

06.04.2016    23109    127    endym    7    

Зачистка ссылок на документы после свертки. 1С:Бухгалтерия 3.0

Свертка базы Чистка базы Обработка документов Дебиторская и кредиторская задолженность Учет ТМЦ Дебиторская и кредиторская задолженность Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

После стандартной свертки не удаляются документы из базы? Вы уже заметили, что они абсолютно во всех операциях по вводу начальных остатков? Эта обработка поможет решить вопрос!!! Все документы расчетов в виде старых документов будут заменены на новый документ расчетов, и Вы сможете избавиться от ненужных старых документов!

2 стартмани

05.04.2016    19654    72    katerinaUniv    8    

[БП 3.0] Свертка БП 2.0 или БП 3.0 документами "Ввод начальных остатков" в БП 3.0 beta

Свертка базы v8 v8::БУ v8::УФ БП2.0 БП3.0 Россия БУ Абонемент ($m)

Новое воплощение старой идеи http://infostart.ru/public/118486/ Много взято отсюда http://infostart.ru/public/303564/ Движок переноса данных http://infostart.ru/public/421541/ 13.03.2020 - Версия 6.5.1.2 - Платформа 8.3.16.1224, БП 3.0.75.109. Исправлен алгоритм получения счетов разделах для ввода остатков по остаткам в источнике, в случае, когда одному счету в базе приёмнике соответствуют несколько счетов в источнике. Исправлены замеченные ошибки.

2 стартмани

03.04.2016    49048    844    Alex_E    392    

Ещё один вариант свертки регистров учета НДФЛ (для ЗБУ/ЗКОУ/ЗКМУ ред. 1, ЗУП ред. 2.5)

Свертка базы Зарплата Зарплата v8 ЗУП2.5 ЗКБУ Россия НУ НДФЛ Абонемент ($m)

С появлением формы 6-НДФЛ вопрос правильного ведения исчисленного/удержанного/перечисленного НДФЛ встал не просто остро, а сверхостро! Поможем расчетчикам чем сможем...

1 стартмани

10.03.2016    33297    283    GlebHappy    50    

Свертка / обрезка баз украинских конфигураций УТ, БУ, УТП

Свертка базы v8 БП2.0 УТ10 Украина Абонемент ($m)

Начался еще один год. Возникла необходимость урезать накопленные данные. Стандартная обработка на украинских конфигурациях не работает. Пришлось внести поправки.

5 стартмани

23.02.2016    29923    96    Igortid    17    

Чистка регистров накопления {остатки и обороты} по закрытым движениям (обычные формы)

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка предназначена помочь очистить регистры накопления от ненужных записей. Иначе говоря, для удаления строк по измерениям регистра накопления, остатки по которым закрылись в 0.

1 стартмани

22.02.2016    26525    43    endym    14    

Непосредственное удаление объектов из базы (не монопольно - вся цепочка)

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка для непосредственного удаления объекта и всей сопутствующей цепочки объектов, в которых он участвует.

2 стартмани

07.02.2016    17316    238    maXon777    8    

Замена дублей средствами SQL (MS SQL, УФ, 8.2, 8.3)

Чистка базы Поиск данных Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная подсистема из 2-х справочников для выполнения замены дублей справочников средствами MS SQL (реализация на управляемых формах).

3 стартмани

02.02.2016    15635    74    v.krivenko    13    

Удаление организации из 1С. Чистка базы 1С. Удаление "не удаляемых" объектов

Чистка базы v8 1cv8.cf Абонемент ($m)

Удалить все документы, чтобы в базе осталась только одна организация со своими документами? Удалить всю информацию в регистрах, не связанную с указанной фирмой? Удалить "неудаляемую" номенклатуру? Легко! Используйте эту обработку.

10 стартмани

02.10.2015    51085    309    spy-83    84    

Версионирование объектов - отключение создания одинаковых версий + обработка по их удалению

Чистка базы v8 БП2.0 ERP2 Абонемент ($m)

Стандартная процедура версионирования объектов создает одинаковые версии при перепроведении / перезаписи объекта без изменения реквизитов. Следовательно, база пухнет от пустых версий, особенно при закрытии месяца (проведение документов).

1 стартмани

10.08.2015    19664    24    VovkaPutin    7    

Подсистема автоматического удаления дублей в справочниках (управляемые формы, любая конфигурация)

Чистка базы Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.07.2015    35305    86    primat    10