Универсальная свертка БД

07.04.10

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

Универсальная свертка для 8.1 и 8.2. Свертка только регистров накопления (регистры бухгалтерии не поддерживаются).

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

Наименование Файл Версия Размер
Свертка базы.epf
.epf 29,54Kb
977
.epf 29,54Kb 977 Скачать

Данная обработка была написана год назад и немного модифицирована раза два. Задачей ставилось свернуть 3-х летнюю историю в сильномодифицированной конфигурации "Управление торговлей".

Проблема состояла в том, что из-за больших доработок обработка "Свертка для УТ" не могла обработать данные корректно. Первое с чего пришлось начать - это понять структуру БД, в которой прийдётся проводить свертку. Отсюда выстроилась структура обработки.

Т.к. задача свертки сводится к удалению документов и истории, сохраненной в регистрах, то просто пометить все на удаление и ввести остатки будет не совсем корректно. Например, будут помечены на удаление документы "Поступление товаров", которые хранятся в измерениях регистров.

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

1. Нельзя очищать подчиненные регистры сведений;

2. Нельзя очищать регистры сведений, в которых данный документ является измерением/реквизитом;

3. Нельзя очищать регистры накопления, в которых данный документ является измерением/реквизитом;

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

Так же в качестве подзадачи выступала возможность сворачивать часть БД. Например, мне необходимо свернуть данные об основных средствах, не трогая товары, и наоборот.

 

Доступный функционал:

  • Флажок "Просто сворачивать" отключает "интеллектуальную" пометку на удаление документов, т.е. перед пометкой на удаление не происходит поиска ссылок на документ;
  • Флажок "Показывать список удаляемых документов", если поставить, то после анализа будет выведен полный список документов подлежащих пометке на удаление;
  • Поле "Количество записей в одном документе ввода остатков", по умолчанию 5000, можете изменять как удобно, однако не рекомендую больше 30 тысяч;
  • Список "Сворачиваемые документы" указывает на те виды документов, которые можно свернуть;
  • Список "Не сворачиваемые документы" указывает те виды документов, которые при текущих настройках свернуть нельзя (подчиненные регистры сведений);
  • Список "Не важные подчиненные регистры сведений", это те регистры, которые буду чистится вместе с документами, прямо влияет на список сворачиваемых документов;
  • Список "Очищаемые не подчиненные регистры сведений", позволяет повысить коэффициент удаляемых докумнетов тем, что будут чиститься те регистры сведений, где подлежащий документы выступает в качестве измерения;
  • Меню "Снимок регистров" позволяет анализировать результаты свертки:
  • "Полный" - сохранить полный снимок всех остатковых регистров накопления в mxl файл;
  • "Сделать внутренний" - сохранить снимок остатков во внутреннем формате (быстрее);
  • "Сравнить с внутренним" - сравнивает текущее состояние остатковых регистров накопления с ранее сделанным снимком и показывает отклонения.
  • кнопка "Обновить списки видов документов" - при изменении списка "Не важные подчиненные регистры сведений" необходимо её нажать;
  • кнопка "Анализ" - проанализировать документы, которые подлежат удалению;
  • кнопка "Удалить документы" - используется ТОЛЬКО для отладки и тестов, не задумываясь помечает на удаление все документы до указанной даты;
  • кнопка "Выполнить" - выполняет свертку, в зависимости от указанного режима флажка "Просто сворачивать".

 

Дополнительные сведения

  •  
    • Довольно точно оценивает оставщееся время обработки;
    • показывает проценты сворачиваемости БД;
    • обрабтка выполняет без транзакций, т.е. либо все прошло успешно, либо загружаем бекап;
    • для корректной работы обработки требуется наличие документа "УниверсальныйДокумент", который зарегестрирован на все остатковые регистры накопления, и функция "ЗначениеНеЗаполнено" из типовой УТ (думаю она в любой типовой конфигурации есть).

 

Рекомендации по порядку проведения свертки БД

  1.  
    1. Сделать копию и первый раз пробовать все на копии;
    2. выполнить полное ТИИ;
    3. создать документ "УниверсальныйДокумент" и зарегестрировать его на все регистры накоплений, либо исправить название документа в программном коде в строках 784 и 753;
    4. сделать внутренний снимок остатков (при помощи кнопки "Сделать внутренний");
    5. найти "тяжелые" обработчики отмены проведения и удаления документов, разработать механизм отключения этого кода, на время свертки (например, при свертке документов "Заявка покупателя" в УТ позволило сократить время свертки с 23 часов до 8);
    6. определиться со структурой БД, т.е. понять что можно чистить, а что нет;
    7. заполнить списки "Не важные подчиненные регистры сведений" и "Очищаемые не подчиненные регистры сведений", заполнить список "Сворачиваемые документы";
    8. выполнить анализ;
    9. сделать копию (на случай неудачной обработки свертки);
    10. нажать кнопку "Выполнить";
    11. после успешного завершения (при выполнении обработки не возникло исключительных ситуаций), сделать сравнение с внутренним снимком;
    12. запуск удаления помеченных на удаления объектов;
    13. ТИИ.

P.S. как же глючит работа со списками при оформлении публикации... Как сделать междустрочный интервал побольше?

См. также

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

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

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

38400 руб.

08.02.2024    478    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    168400    350    395    

327

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

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

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

7200 руб.

27.03.2023    4165    11    2    

13

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

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

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

3 стартмани

вчера в 15:30    301    0    RustIG    0    

2

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

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

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

1 стартмани

18.03.2024    204    4    config    2    

2

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

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

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

5 стартмани

28.02.2024    1014    33    ivnik    16    

16

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

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

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

1 стартмани

13.02.2024    216    3    medm    0    

3

Свертка ЗУП 3

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

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

5 стартмани

16.01.2024    1163    32    AlexHelmer    1    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rabajaba 354 08.04.10 10:03 Сейчас в теме
Абалдеть, 40 скачиваний и ни комента, ни плюса ... :)
2. gaglo 14.04.10 08:47 Сейчас в теме
Оптимист... Многие (и я в том числе) не хотят ставить плюс без проверки работоспособности. Особенно когда обработка заявлена "универсальная". Ну на тебе плюс авансом. Проверить сильно охота, но и боязно: недавно у нас как раз сворачивали сильномодифицированную УПП, наскоками, частичными откатами, подчисткой хвостов занимались... с месяц. Так я думаю, у меня проверка займет с неделю...
3. Rabajaba 354 14.04.10 10:32 Сейчас в теме
(2) кончено, я после написания это обработки свою УТ неделю учился сворачивать так, чтобы данные корректность не потеряли. Но сама же обработка строго выполняет то, что её указали.
4. Delpass 28.04.10 11:19 Сейчас в теме
БУду испытывать сейчас :D
5. GrRusel 12.11.10 17:52 Сейчас в теме
Если у документа нет поля с датой, то вылетает с ошибкой :( вот в этом месте
Если Док.ДатаПоля = NULL Тогда
Продолжить;
КонецЕсли;

Надо ставить доп проверку...на существование поля
6. Rabajaba 354 12.11.10 18:47 Сейчас в теме
(5) Возможно я не понял вопрос, но как это документ без поля "Дата"?
7. GrRusel 12.11.10 18:58 Сейчас в теме
Возможно я не так выразился - сори :)
Вы делаете проверку
Если Док.ДатаПоля = NULL Тогда
Продолжить;
КонецЕсли;
что и как и зачем и откуда я не знаю - не вникал.
Док это у вас строкатаблицызначенией. в этой таблице есть поля:
ДатаПоля
ДокументПартии
регдата
регистратор

В какой-то момент у этой таблицы есть только поле Заказклиета и всё
Почему - не знаю - не вникал. Конфигурация не типовая, а Типография(УПП+Типография),купленная у армекса на ранних стадиях и именно на их документах обработка валится :(
8. GrRusel 12.11.10 19:14 Сейчас в теме
создать документ "УниверсальныйДокумент" и зарегестрировать его на все регистры накоплений

а так же создать в нём реквизит: Комментарий - иначе вылетает.
9. Serj1C 483 09.06.11 07:32 Сейчас в теме
(0) Спасибо. Обработка выручила! После обработки напильником все прошло очень хорошо!
- случай указанный в (7);
- замена универсального документа типовой КорректировкойРегистров
- установка доп. свойства для объектов, которое потом анализируется в модулях перед записью для оптимизации
- сокращение визуальных эффектов типа "состояние".

Кстати оставшееся время обработки действительно довольно точно оценивается!
Genneral; +1 Ответить
10. alexkl 09.12.11 08:08 Сейчас в теме
собираю все для проверки, т.к. итс-овская вылетает.
11. trustgros 9 14.12.11 18:15 Сейчас в теме
чет у меня не пошла. ошибку выкинуло
12. Genneral 04.01.12 17:14 Сейчас в теме
Спасибо, сильно облегчила жизнь при свертке не типовой УТ,спасибо Serj1C за идею
Serj1C пишет:
- замена универсального документа типовой КорректировкойРегистров
13. Гость 08.01.12 16:35
Очень жаль, что без свертки по регистру бухгалтерии, очень полезная свертка была бы. А так, очень даже ничего. Рекомендую!
14. _ink_ 12.01.12 11:53 Сейчас в теме
Добрый день. Подскажите, правильно ли понимаю. В ней можно свернуть базу допустим на 31,12,11 и документы введённые после этого останутся (если да, то как будет выглядеть привязка к документу-основанию в срезанном периоде). Или всё таки необходимо сворачивать на сейчас и с этого момента начинать работу? Заранее спасибо.
15. Rabajaba 354 12.01.12 14:12 Сейчас в теме
Если я правильно помню, то она оставляет те документы, которые нельзя удалить. Т.е. по идее возвраты по продажам прошлого года вводить можно будет, основание будет, однако я не помню снимет ли она их с проведения или нет - проверяйте :) это было почти 2 года назад, плохо помню.
16. pav_s45 16.01.12 13:20 Сейчас в теме
Свертка отличная, в моей УТ просто выбрал дату и нажал "Выполнить все". Пользуюсь второй год.
17. zhleonid8 01.02.12 01:44 Сейчас в теме
дорабатывай регистры
18. Akuji 22 21.01.13 16:28 Сейчас в теме
УТ 10.3 "практически типовая" добавлено парочка регистров накоплений...
настройки по умолчанию позволяют удалить 3000 из 103000 документов...
Это нормально?
19. Геннадьевич 18 22.01.13 18:49 Сейчас в теме
Не могу скачать, выдает ошибку:

Скачать "Свертка базы.epf" для 1С

Fatal error: Call-time pass-by-reference has been removed in /srv/www/core/bitrix/templates/.default/components/bitrix/asd.elements.list/is_buy_download_file/result_modifier.php on line 7
20. silver-747 17.10.13 20:32 Сейчас в теме
в УТ 10.3 под 1С 8.1 ничего почти не сделала из 3900 документов удалила только 277 и ничего не свернула. Что не так могу делать?
21. пользователь 18.10.13 13:27
Сообщение было скрыто модератором.
...
22. Rabajaba 354 18.10.13 13:50 Сейчас в теме
(21) dyak84, писал конкретно под самописную. база была существенно меньше, уже 2 года 1С не занимаюсь. удачи :)
23. corelius 4 18.06.15 15:42 Сейчас в теме
Непонятная обработина. Нужно сразу писать в описании, что она ничем не отличается от банальной пометки документов на удаление по периоду. Можно использовать стандартную обработку "групповая обработка справочников и документов" и помечать на удаление по дате. И ошибок много с регистрами.
24. ssn5810 79 21.02.16 15:26 Сейчас в теме
попробовал, - хрень, использовал стандартную, все получилось....
25. пользователь 17.04.22 17:42
Сообщение было скрыто модератором.
...
Оставьте свое сообщение