Стандартная свертка базы 1С:Розница не работает? Тогда вам сюда

07.09.22

База данных - Свертка базы

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Стандартная свертка базы 1С:Розница не работает? Тогда вам сюда.:
.epf 7,16Kb
38 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

Пара продовольственных розничных магазинов генерируют в год примерно 100 тысяч документов и миллионы записей регистров. Типовая свертка может продлиться 1 день и еще дольше будут удаляться помеченные на удаление документы. Если настроена распределенная база данных, то обмен тоже не будет работать до окончания прохождения огромных сообщений с удаленными объектами. А что делать магазинам несколько дней?

Если 1С:Розница используется как кассовая программа, то есть учет ведется в вышестоящей товароучетной системе (например, 1С:Управление торговлей), то свертку можно проводить почаще. Например, раз в месяц, оставляя документы за последний месяц.

Приложенная обработка производит следующие операции:

- удаляет непосредственно все документы ЧекККМ, а также все документы движений в регистры ТоварыНаСкладах, ЦеныНоменклатуры, БонусныеБаллы датой до начала предыдущего месяца (если запускаем 05.09.2022, то удаляются документы до 01.08.2022 00:00:00);

 

 

- формирует документ начальных остатков Корректировка регистров только по регистрам ТоварыНаСкладах, ЦеныНоменклатуры, БонусныеБаллы датой за секунду до начала предыдущего месяца (если запускаем 05.09.2022, то Корректировка регистров с датой 31.07.2022 23:59:59);

 

 

- создает лог-файл в папке C:\temp.

 

 

Внимание! Действия обработки необратимы! В обработке используется непосредственное удаление документов. Копия базы обязательна перед использованием!

Тестировалось на платформе 1С версии 8.3.21.1302, демо-базе конфигурации 1С:Розница версии 2.3.11.44. Код модуля объекта обработки представлен ниже.


#Область ПрограммныйИнтерфейс

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "22.09.05";
	
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Обработка использует временное хранилище.");
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Свертка базы'");
	НоваяКоманда.Идентификатор = "СверткаБазы";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции 

Функция ВыполнитьКоманду(Идентификатор, ПараметрыКоманды) Экспорт
	
	Если Идентификатор = "СверткаБазы" Тогда  
		
		СтруктураПараметров = Новый Структура;
		СтруктураПараметров.Вставить("ДатаСвертки", НачалоМесяца(ДобавитьМесяц(ТекущаяДата(), -1)));
		СтруктураПараметров.Вставить("ТолькоПосчитать", Ложь);
		СтруктураПараметров.Вставить("ОтправлятьВТелеграм", Ложь);
		СтруктураПараметров.Вставить("IDПользователяТелеграм", "0"); 
		СоздатьКаталог("C:\temp");
		СтруктураПараметров.Вставить("ПутьКЛогФайлу", "C:\temp\log1c.txt");
		
		СверткаБазы(СтруктураПараметров);
	КонецЕсли;
	
КонецФункции

#КонецОбласти


// Основные процедуры и функции
Процедура СверткаБазы(СтруктураПараметров, Параметр2 = Неопределено) Экспорт
	
	УстановитьДатуСверткиУзлов(СтруктураПараметров.ДатаСвертки);
	
	КорректировкаРегистровСсылка = СформироватьНачальныеОстаткиВажныхРегистров(СтруктураПараметров.ДатаСвертки);
	ЗаписатьЛог("Ввод начальных остатков.",,,СтруктураПараметров.ПутьКЛогФайлу);
	ЗаписатьЛог(Строка(КорректировкаРегистровСсылка), СтруктураПараметров.ОтправлятьВТелеграм, СтруктураПараметров.IDПользователяТелеграм, СтруктураПараметров.ПутьКЛогФайлу);
	
	Запрос = Новый Запрос;
	Запрос.Текст = ПолучитьТекстЗапроса(); 
	
	Запрос.УстановитьПараметр("ДатаСвертки", СтруктураПараметров.ДатаСвертки - 1);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	ЗаписатьЛог("Кол-во: " + ВыборкаДетальныеЗаписи.Количество(),,,СтруктураПараметров.ПутьКЛогФайлу);
	Если СтруктураПараметров.ТолькоПосчитать Тогда
		Возврат;
	КонецЕсли;
	
	КоличествоУдаленныхДокументов = 0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ЗаписатьЛог("Удалено документов " + КоличествоУдаленныхДокументов + " из " + ВыборкаДетальныеЗаписи.Количество()
			,,,СтруктураПараметров.ПутьКЛогФайлу);

		ТекущийОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
		
		Если ТекущийОбъект = Неопределено Тогда  
			УдалитьДвиженияВажныхРегистров(ВыборкаДетальныеЗаписи.Ссылка); 
			КоличествоУдаленныхДокументов = КоличествоУдаленныхДокументов + 1;
			Продолжить;
		КонецЕсли;   
		
		Если ТипЗнч(ТекущийОбъект) = Тип("ДокументОбъект.КорректировкаРегистров") И 
			ТекущийОбъект.Дата = СтруктураПараметров.ДатаСвертки-1 И 
			ТекущийОбъект.Комментарий = "Свертка" Тогда  
			Продолжить;	
		КонецЕсли; 
		
		ЗаписатьЛог(Строка(ВыборкаДетальныеЗаписи.Ссылка),,,СтруктураПараметров.ПутьКЛогФайлу); 
		
		Попытка 
			
			Для каждого НаборДвижений из ТекущийОбъект.Движения Цикл 
				НаборДвижений.Прочитать();
				Если НаборДвижений.Количество() > 0 Тогда
					НаборДвижений.Очистить();
					НаборДвижений.ОбменДанными.Загрузка = Истина; 
					НаборДвижений.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
					НаборДвижений.Записать();	 
				КонецЕсли;
			КонецЦикла;  
			ТекущийОбъект.ОбменДанными.Загрузка = Истина;
			ТекущийОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
			ТекущийОбъект.Удалить();
			КоличествоУдаленныхДокументов = КоличествоУдаленныхДокументов + 1;
			
		Исключение
			
			ЗаписатьЛог("====================",,,СтруктураПараметров.ПутьКЛогФайлу);
			ЗаписатьЛог("Ошибка! " + Строка(ВыборкаДетальныеЗаписи.Ссылка),,, СтруктураПараметров.ПутьКЛогФайлу);
			ЗаписатьЛог(ОписаниеОшибки(), СтруктураПараметров.ОтправлятьВТелеграм, СтруктураПараметров.IDПользователяТелеграм, СтруктураПараметров.ПутьКЛогФайлу);
			ЗаписатьЛог("====================",,,СтруктураПараметров.ПутьКЛогФайлу);
			
		КонецПопытки;
		
	КонецЦикла;
	
КонецПроцедуры

Функция ПолучитьТекстЗапроса();
	Возврат "ВЫБРАТЬ
	|	ЧекККМ.Ссылка КАК Ссылка,
	|	ЧекККМ.Дата КАК Период
	|ПОМЕСТИТЬ Документы
	|ИЗ
	|	Документ.ЧекККМ КАК ЧекККМ
	|ГДЕ
	|	ЧекККМ.Дата <= &ДатаСвертки
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТоварыНаСкладахОбороты.Регистратор,
	|	ТоварыНаСкладахОбороты.Период
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Обороты(, &ДатаСвертки, Регистратор, ) КАК ТоварыНаСкладахОбороты
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	БонусныеБаллыОбороты.Регистратор,
	|	БонусныеБаллыОбороты.Период
	|ИЗ
	|	РегистрНакопления.БонусныеБаллы.Обороты(, &ДатаСвертки, Регистратор, ) КАК БонусныеБаллыОбороты
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ЦеныНоменклатуры.Регистратор,
	|	ЦеныНоменклатуры.Период
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
	|ГДЕ
	|	ЦеныНоменклатуры.Период <= &ДатаСвертки
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Документы.Ссылка КАК Ссылка,
	|	Документы.Период КАК Период
	|ИЗ
	|	Документы КАК Документы
	|
	|УПОРЯДОЧИТЬ ПО
	|	Документы.Период";
КонецФункции

Процедура УстановитьДатуСверткиУзлов(ДатаСвертки)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПоМагазину.Ссылка КАК Ссылка
	|ИЗ
	|	ПланОбмена.ПоМагазину КАК ПоМагазину
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПоРабочемуМесту.Ссылка
	|ИЗ
	|	ПланОбмена.ПоРабочемуМесту КАК ПоРабочемуМесту";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		УзелОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
		УзелОбъект.ОбменДанными.Загрузка = Истина;
		УзелОбъект.ДатаНачалаВыгрузкиДокументов = ДатаСвертки;
		УзелОбъект.Записать();
	КонецЦикла;
	
КонецПроцедуры

Функция СформироватьНачальныеОстаткиВажныхРегистров(ДатаСвертки)
	
	ДатаНачальныхОстатков = ДатаСвертки - 1;
	
	Если НачальныеОстаткиСозданыРанее(ДатаНачальныхОстатков) Тогда
		Возврат "Начальные остатки созданы ранее!";
	КонецЕсли;
	
	КорректировкаРегистровОбъект = Документы.КорректировкаРегистров.СоздатьДокумент(); 
	КорректировкаРегистровОбъект.Ответственный = Пользователи.ТекущийПользователь();
	КорректировкаРегистровОбъект.Дата = ДатаНачальныхОстатков;
	КорректировкаРегистровОбъект.ОбменДанными.Загрузка = Истина;
	КорректировкаРегистровОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
	НоваяСтрокаТаблицыРегистров = КорректировкаРегистровОбъект.ТаблицаРегистров.Добавить();
	НоваяСтрокаТаблицыРегистров.Имя = "БонусныеБаллы";
	НоваяСтрокаТаблицыРегистров = КорректировкаРегистровОбъект.ТаблицаРегистров.Добавить();
	НоваяСтрокаТаблицыРегистров.Имя = "ЦеныНоменклатуры";
	НоваяСтрокаТаблицыРегистров = КорректировкаРегистровОбъект.ТаблицаРегистров.Добавить();
	НоваяСтрокаТаблицыРегистров.Имя = "ТоварыНаСкладах";
	КорректировкаРегистровОбъект.Комментарий = "Свертка"; // не менять
	КорректировкаРегистровОбъект.Записать(); 
	
	// Бонусы
	НаборЗаписейБонусы = РегистрыНакопления.БонусныеБаллы.СоздатьНаборЗаписей();
	НаборЗаписейБонусы.Отбор.Регистратор.Установить(КорректировкаРегистровОбъект.Ссылка);
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	БонусныеБаллыОстатки.ДисконтнаяКарта КАК ДисконтнаяКарта,
	|	БонусныеБаллыОстатки.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
	|	БонусныеБаллыОстатки.НачисленоОстаток КАК Начислено,
	|	БонусныеБаллыОстатки.КСписаниюОстаток КАК КСписанию
	|ИЗ
	|	РегистрНакопления.БонусныеБаллы.Остатки(&ДатаСвертки, ) КАК БонусныеБаллыОстатки";
	Запрос.УстановитьПараметр("ДатаСвертки", ДатаСвертки);
	
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		НоваяЗапись = НаборЗаписейБонусы.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаДетальныеЗаписи);
		Если НоваяЗапись.Начислено < 0 Тогда 
			НоваяЗапись.ВидДвижения = ВидДвиженияНакопления.Расход;
			НоваяЗапись.Начислено = -НоваяЗапись.Начислено;
		КонецЕсли;
		НоваяЗапись.Период = ДатаНачальныхОстатков;
		НоваяЗапись.Регистратор = КорректировкаРегистровОбъект.Ссылка;
	КонецЦикла; 
	НаборЗаписейБонусы.ОбменДанными.Загрузка = Истина;
	НаборЗаписейБонусы.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
	НаборЗаписейБонусы.Записать();
	
	
	// Цены номенклатуры
	НаборЗаписейЦены = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
	НаборЗаписейЦены.Отбор.Регистратор.Установить(КорректировкаРегистровОбъект.Ссылка);
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
	|	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	|	ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
	|	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	|	ЦеныНоменклатурыСрезПоследних.Упаковка КАК Упаковка,
	|	ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСвертки, ) КАК ЦеныНоменклатурыСрезПоследних";
	
	Запрос.УстановитьПараметр("ДатаСвертки", ДатаСвертки);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		НоваяЗапись = НаборЗаписейЦены.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаДетальныеЗаписи);
		НоваяЗапись.Период = ДатаНачальныхОстатков;
		НоваяЗапись.Регистратор = КорректировкаРегистровОбъект.Ссылка;
	КонецЦикла;
	НаборЗаписейЦены.ОбменДанными.Загрузка = Истина;
	НаборЗаписейЦены.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
	НаборЗаписейЦены.Записать();
	
	
	// Товары на складах
	НаборЗаписейТовары = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
	НаборЗаписейТовары.Отбор.Регистратор.Установить(КорректировкаРегистровОбъект.Ссылка);
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ТоварыНаСкладахОстатки.Склад КАК Склад,
	|	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	|	ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
	|	ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСвертки, ) КАК ТоварыНаСкладахОстатки";
	
	Запрос.УстановитьПараметр("ДатаСвертки", ДатаСвертки);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		НоваяЗапись = НаборЗаписейТовары.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаДетальныеЗаписи);
		Если НоваяЗапись.Количество < 0 Тогда 
			НоваяЗапись.ВидДвижения = ВидДвиженияНакопления.Расход;
			НоваяЗапись.Количество = -НоваяЗапись.Количество;
		КонецЕсли;
		НоваяЗапись.Период = ДатаНачальныхОстатков;
		НоваяЗапись.Регистратор = КорректировкаРегистровОбъект.Ссылка;
	КонецЦикла;
	
	НаборЗаписейТовары.ОбменДанными.Загрузка = Истина;
	НаборЗаписейТовары.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
	НаборЗаписейТовары.Записать();
	
	
	Возврат КорректировкаРегистровОбъект.Ссылка; 
КонецФункции

Функция НачальныеОстаткиСозданыРанее(ДатаНачальныхОстатков)
	Результат = Ложь;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	КорректировкаРегистров.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.КорректировкаРегистров КАК КорректировкаРегистров
	|ГДЕ
	|	КорректировкаРегистров.Дата = &ДатаНачальныхОстатков
	|	И КорректировкаРегистров.Комментарий ПОДОБНО &Комментарий";
	
	Запрос.УстановитьПараметр("ДатаНачальныхОстатков", ДатаНачальныхОстатков);
	Запрос.УстановитьПараметр("Комментарий", "Свертка");
	
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Если ВыборкаДетальныеЗаписи.Следующий() Тогда
		Результат = Истина;
	КонецЕсли;
	
	Возврат Результат;
КонецФункции

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

// Вспомогательные процедуры и функции
Процедура ЗаписатьЛог(Строка, ОтправитьВТелеграм = Ложь, IDПользователяТелеграм = "", ПутьКЛогФайлу)
	СтрокаКЗаписи = Строка(ТекущаяДата()) + ": " + Строка; 
	
	Если ОтправитьВТелеграм Тогда
		ОтправитьВТелеграм(СтрокаКЗаписи, IDПользователяТелеграм);		
	КонецЕсли;
	
	Файл = Новый ЗаписьТекста(ПутьКЛогФайлу,,,Истина);
	Файл.ЗаписатьСтроку(СтрокаКЗаписи);
	Файл.Закрыть();
	
	Сообщить(СтрокаКЗаписи);
КонецПроцедуры

Процедура ОтправитьВТелеграм(СтрокаКЗаписи, IDПользователяТелеграм);
// отправка в телеграм
КонецПроцедуры

 

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

свертка чистка базы удаление документы размер розница

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    79714    405    171    

341

Свертка базы Системный администратор Разработчик 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 Платные (руб)

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

6000 руб.

22.05.2024    9151    56    40    

64

Свертка базы Системный администратор Разработчик 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Россия Управленческий учет Платные (руб)

Механизм обрезки (свертки) базы 1С. Описан процесс переноса среза остатков в новую базу. Реализован способ обмена между базами без длительного отключения рабочей базы. Представлено прикладное решение - обработка по переносу данных. Есть 2 варианта запуска: на обычных и управляемых формах.

7320 руб.

27.03.2023    11897    22    4    

25

Свертка базы Разработчик 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 Управленческий учет Платные (руб)

Обработка свертки базы 1С УНФ 1.6 выполнена в виде расширения конфигурации, которое встраивается в вашу базу без снятия с поддержки, и адаптирована под релиз УНФ 1.6.

9760 руб.

20.04.2021    20618    58    34    

65

Свертка базы Системный администратор 1С:Предприятие 8 1С:Управление торговлей 10 Россия Платные (руб)

Свёртка базы для 1С:УТ 10 с дополнительными возможностями. Позволяет свернуть или удалить отдельные организации и удалить помеченные документы.

24400 руб.

18.09.2026    145    0    0    

0

Свертка базы Системный администратор Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Внешняя обработка для пошаговой свертки регистров на дату: ввод остатков через "Корректировка регистров", обязательная сверка 100% с эталоном и очистка старой истории только после подтверждения. Универсальный мастер без привязки к конкретной отраслевой конфигурации.

10 стартмани

14.09.2026    376    7    v_peroff    2    

2

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

Штатный НайтиПоСсылкам на шести объектах идёт 4 250 секунд. При этом места, где ссылка вообще может лежать, считаются из метаданных за одну пятую секунды, и цена проверки определяется их числом. Шесть боевых баз, шесть находок и три мои ошибки, которые поймала живая база.

03.09.2026    1128    nedomolkov.ivan    0    

2

Свертка базы Чистка данных Разработчик 1С 8.3 Абонемент ($m)

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

10 стартмани

03.09.2026    525    2    nedomolkov.ivan    0    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vital451 59 09.09.22 08:38 Сейчас в теме
А в реальных условиях работала ? С РИБами ?
2. niki295 30 07.10.22 20:24 Сейчас в теме
Тоже интересует данный вопрос
3. vasilievil 573 09.10.22 17:04 Сейчас в теме
Да, работала в реальных условиях с РИБами.
4. Stason13 25.10.22 12:20 Сейчас в теме
Сколько по времени занимает эта свертка?
5. Kopitsa.k 24 02.01.23 00:34 Сейчас в теме
Обработка без какого либо интерфейса, хотя логи можно было бы выводить на саму форму а не в файл, со ссылками на документы. Изначально даже впал в ступор когда при скачивании получил тот же код что и в описании, без всяких форм. Потом прочила детальнее описание и понял задумку.
Сейчас буду тестировать
6. ssn5810 26.06.23 21:19 Сейчас в теме
А форму с выбором даты свертки напряжно было сделать ?
Для отправки сообщения требуется регистрация/авторизация