Свертка/обрезка базы 1С 8.1 под SQL. (Граната для обезьяны)

09.06.16

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

Возникла очередная необходимость свернуть/обрезать сильно распухшие базы 1С УПП и УТ. Первый раз это делалось в консоли самой SQL обрабатывая каждую таблицу вручную. Забыл упомянуть, предприятие работает в режиме 24/7, и потому необходимо было все делать на ходу и не сильно блокируя пользователей. Сначала написал простенькую обработку по формированию строки t-sql из 1С и её выполнению, а потом это разрослось до выложенной обработки. По-любому в ней полно косяков, но размеры баз удалось сократить на порядок с 200 до 20 гиг каждую.

Файлы

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

Наименование Скачано Купить файл
СверткаБазы.epf
.epf 13,42Kb
87 2 500 руб. Купить

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

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

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

В первый же строчках хочу предупредить, об опасности использования данной обработки, её действия деструктивны, испытывайте на кроликах или просто таскайте куски кода.

По первым четырем полям обработки наверняка все понятно, это соединение с базой на сервере.

Если эти поля заполнены верно, то после нажатия кнопки "Обновить" в табличную часть выведется информация по таблицам базы данных отсортированная в порядке уменьшения занимаемого размера в килобайтах. Сортировка позволяет оптимизировать ваше время и не заниматься легкили таблицами сразу взявшись за монстров и уменьнив базу за первый день в 2-3 раза.

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

Поле "Мин.дата для р.сведений" не сосвем соответвует названию. Именно на эту дату до времени 00:00 будут удалены записи в sql таблице.

Флаг переносить остатки активирует кусок кода, отвечающий за ввод сальдо по регистру остатков. А именно, в нашей конфигурации есть документ фактически без каких либо реквизитов, но являющийся регистратором для любого вида движений. На дату обрезки снимаются остатки, создается документ регистратора остатков, записываются сами остатки, как приходное движение и этот документ скидывается в корень диска "С:" вашего компа в виде xml файла. Сразу после записи файла движения документа удаляются, дабы нормализовать остатки и минимизировать время базы с неактуальными остатками. После удаления строк таблицы базы документ вновь водружается на свое законное место из файла вместе со своими остатками. А вот дальше есть неприятный момент, текущие остатки увеличились на количество документа введенного сальдо. Необходиме пересчитать итоги. И вновь в следствии минимальной блокировки пользователей, пришлось пересчитывать итоги постепенно, помесячно, с паузами. При не установленной галочке "Не пересчитывать итоги" обработка начнет помесячно устанавливать дату расчитанных итогов на минус 2 года назад и затем обратно на текущую дату. Если итоги вам не критичны, можете установить галочку "не пересчитывать итоги" и заняться этим позже, нажимая кнопки на нижней панели. 

Также, если вас вообще не интересуют остатки по текущему регистру накопления можете вообще не переносить остатки (не ставить галочку), бывают и такие регистры.

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

Само действие удаления строк таблиц базы данных sql запускается двойным кликом по строке.

Все запросы к sql выводятся в строку сообщений.

 

PS. Особо не ругайтесь, писал на коленке на скорую руку по мере обрезки базы. Ляпы есть, но они не привели к порче баз и предприятие спокойно продолжает работать со значительно меньшими затратами времени.

PPS. Для уменьшения времени блокировки базы записи удаляются по 1000 строк. И еще, в случае проблемы при обрезке (вылет, отключение света) если вы используете перенос остатков, то сохраненный xml можно без труда втягивать в базу при любой необходимости буквально двумя строчками кода (смотрите в обработке). Такое же водружение остатков на место можно сделать и из резервной базы, наверняка уже лежащей у вас рядом для страховки.

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

Свертка обрезка

См. также

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

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

24900 руб.

20.08.2024    57594    310    154    

282

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

Расширение позволяет за 1-2 дня свернуть информационную базу 1С Бухгалтерии 3.0 с десятками миллионов документов. Использует оптимизированный алгоритм определения документов, на которые нет ссылок, для последующего удаления 16 фоновыми заданиями. Не помечает документы на удаление.

43920 руб.

08.02.2024    3316    7    1    

8

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

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C:Управление торговлей (ред. 11 или 10) и 1С:Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

12900 руб.

19.04.2013    179225    390    407    

340

Свертка базы Системный администратор Программист 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    6776    33    30    

44

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

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

7320 руб.

27.03.2023    9910    20    4    

23

Чистка данных Инструменты администратора БД Свертка базы Программист Абонемент ($m)

Обработка предназначена для безопасного и управляемого “сжатия” документов в закрытых периодах за счёт очистки табличных частей, которые занимают основную долю объёма в базе. Это даёт быстрый и прогнозируемый эффект по уменьшению размера информационной базы и ускорению работы, в том числе там, где типовая свёртка либо невозможна, либо занимает недопустимо много времени. Для всех конфигураций.

10 стартмани

13.01.2026    649    9    zhuravl    4    

5

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

Обрезаем старую (с 2010г.) большую базу УТ 10.3, уменьшаем объем более чем в 100 раз, - файл выгрузки с 8Гб до 40 Мб (файловая база стала 300 Мб). Обработок и информации на эту тему много, - хочу поделиться своим опытом, - результат получился хороший и с минимальными затратами. Думаю, что будет актуально для небольших компаний, не обладающих специальными ИТ ресурсами. Нужен начальный навык работы с конфигурацией Конвертация данных 2.

13.01.2026    303    2ncom    6    

3

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

Внешняя обработка для подготовки базы к свёртке, которая одним кликом заполняет табличную часть «Ввод начальных остатков (собственные товары)» актуальными остатками со складов и себестоимостью по дате/складу/помещению, автоматически рассчитывая суммы и НДС без ручных отчетов по регистрам.

1 стартмани

07.01.2026    342    3    war41k    0    

0
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. astra94 42 26.02.14 05:24 Сейчас в теме
Спасибо за интересную идею ! а то при таких объемах, страшно было даже браться....
2. klel 26.02.14 08:42 Сейчас в теме
Большое спасибо за обработку, надо будет посмотреть и воспользоваться а то база уже за 200 перевалила, нужно что то делать =)
3. soap 67 28.02.14 15:55 Сейчас в теме
Спасибо оч. полезная идея.
4. sizeoff 19 26.03.14 17:33 Сейчас в теме
А под УФ такой обработки не планируется ?
Прикрепленные файлы:
5. mikls 21 04.04.14 09:18 Сейчас в теме
(4) sizeoff, Пока не планируется, но сам обычно для таких случаев завожу толстого админа и под ним пользуюсь старыми обработками.
Для отправки сообщения требуется регистрация/авторизация