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

09.06.16

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

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

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

Наименование Файл Версия Размер
СверткаБазы.epf
.epf 13,42Kb
78
.epf 13,42Kb 78 Скачать

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

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

Оптимизированная свертка Бухгалтерии 3.0

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

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

38400 руб.

08.02.2024    480    7    0    

2

Многофункциональная выгрузка из 1С:УТ 11/ УТ 10 в 1С:БП2, БП3 (соответствия товаров, контрагентов, складов, статей ДДС)+Свёртка по НДС

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

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

10900 руб.

19.04.2013    168441    350    395    

327

Обрезание базы 1С

Свертка базы 8.3.8 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

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

7200 руб.

27.03.2023    4168    11    2    

13

Сравнение остатков по регистрам накопления

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

Внешняя обработка (для конфигураций на обычных формах) сравнивает остатки на дату и в разрезе организации по всем регистрам накопления. Сравнение происходит между базами по технологии Com-соединение. Используется при свертке базы.

3 стартмани

27.03.2024    315    0    RustIG    0    

3

Свертка остатков по 41 счету в корреспонденции с 91 счетом

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

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

1 стартмани

18.03.2024    209    5    config    3    

2

Свертка ЗУП 3.1 и ЗКГУ 3.1

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

Вопрос, который мучает всех: в связи с развитием возможностей программ 1С размеры/объем очень быстро растут (уже объем пустой базы более 1 Гб) и не секрет, что чем "тяжелее" база, тем она медленнее работает. Для БП-3.0 разработчики 1С сделали вшитый типовой механизм свертки базы, суть которого вывести остатки по счетам на дату свертки и удалить все документы/движения до этой даты. А вот для ЗУП пока ничего подобного нет, а база растет быстрее, чем на дрожжах. Я долго анализировал и искал возможные решения для свертки ЗУП, поиск в интернете дал кучу различных вариантов. А когда начинаешь их рассматривать, в основном – только "перенос" среднего заработка, а остальное – "доделай сам". Только фирмы-франчайзи предлагают что-то более серьезное, но за хорошую плату.

5 стартмани

28.02.2024    1017    34    ivnik    16    

16

Свертка выбранных остатков

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

Обработка позволяет свернуть выбранные остатки по счету на выбранный счет.

1 стартмани

13.02.2024    222    3    medm    0    

3

Свертка ЗУП 3

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

Свертка ЗУП 3.1 по трем регистрам с возможностью чистки базы от документов движения и чистки сотрудников от уволенных.

5 стартмани

16.01.2024    1163    32    AlexHelmer    1    

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