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

09.06.16

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
СверткаБазы.epf
.epf 13,42Kb
85
85 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

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

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

8400 руб.

20.08.2024    21956    148    82    

146

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

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

12900 руб.

19.04.2013    173280    376    400    

337

Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Платные (руб)

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

38400 руб.

08.02.2024    1805    4    0    

5

Свертка базы Системный администратор Программист Платформа 1С v8.3 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    3777    21    9    

30

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

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

7200 руб.

27.03.2023    6935    17    2    

20

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

Обработка позволяет сделать процесс свертки базы данных намного более быстрым и удобным.

8400 руб.

31.01.2022    9260    13    6    

16

Свертка базы Программист Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Управленческий учет Платные (руб)

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

4800 руб.

20.04.2021    17418    52    34    

59

Свертка базы Программист Платформа 1С v8.3 1С:Управление торговлей 10 Россия Управленческий учет Абонемент ($m)

Когда база большая и старая или по каким-то причинам хотелось бы начать с чистого листа, но с переходящими остатками, фирма 1С предлагает механизм свертки ИБ. Всё хорошо, но при этом в новую базу тащится куча ненужного, а зачастую просто куча ошибок и лишнего. Альтернатива: загрузка остатков товаров по партиям и взаиморасчётов по документам.

3 стартмани

13.12.2024    577    2    Farpost    2    

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 18 26.03.14 17:33 Сейчас в теме
А под УФ такой обработки не планируется ?
Прикрепленные файлы:
5. mikls 20 04.04.14 09:18 Сейчас в теме
(4) sizeoff, Пока не планируется, но сам обычно для таких случаев завожу толстого админа и под ним пользуюсь старыми обработками.
Оставьте свое сообщение